mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-09 10:50:24 +00:00
[lib] modified new dir/file
This commit is contained in:
@@ -123,7 +123,8 @@ define([
|
||||
user_perm: user_perm,
|
||||
encrypted: dir.encrypted,
|
||||
path: dir.path,
|
||||
repo_id: dir.repo_id
|
||||
repo_id: dir.repo_id,
|
||||
enable_upload_folder: app.globalState.enable_upload_folder
|
||||
})));
|
||||
},
|
||||
|
||||
@@ -152,16 +153,16 @@ define([
|
||||
$('#simplemodal-container').css({'height':'auto'});
|
||||
|
||||
form.submit(function() {
|
||||
var dirent_name = $.trim($('input[name="name"]', form).val()),
|
||||
post_data = {'dirent_name': dirent_name},
|
||||
post_url = Common.getUrl({name: "new_dir", repo_id: dir.repo_id})
|
||||
+ '?parent_dir=' + encodeURIComponent(dir.path);
|
||||
var dirent_name = $.trim($('input[name="name"]', form).val());
|
||||
|
||||
if (!dirent_name) {
|
||||
Common.showFormError(form_id, gettext("It is required."));
|
||||
return false;
|
||||
};
|
||||
|
||||
var post_data = {'dirent_name': dirent_name},
|
||||
post_url = Common.getUrl({name: "new_dir", repo_id: dir.repo_id})
|
||||
+ '?parent_dir=' + encodeURIComponent(dir.path);
|
||||
var after_op_success = function(data) {
|
||||
$.modal.close();
|
||||
|
||||
@@ -174,7 +175,7 @@ define([
|
||||
}, {silent:true});
|
||||
|
||||
var view = new DirentView({model: new_dirent, dirView: dirView});
|
||||
$('tr:first', dirView.$dirent_list).before(view.render().el); // put the new dir as the first one
|
||||
dirView.$dirent_list.prepend(view.render().el); // put the new dir as the first one
|
||||
};
|
||||
|
||||
Common.ajaxPost({
|
||||
@@ -196,29 +197,64 @@ define([
|
||||
dir = this.dir,
|
||||
dirView = this;
|
||||
|
||||
form.modal({appendTo:'#main'});
|
||||
form.modal({
|
||||
appendTo: '#main',
|
||||
focus: false,
|
||||
containerCss: {'padding':'20px 25px'}
|
||||
});
|
||||
$('#simplemodal-container').css({'height':'auto'});
|
||||
|
||||
form.find('.set-file-type').on('click', function() {
|
||||
$('.set-file-type', form).click(function() {
|
||||
file_name.val('.' + $(this).data('filetype'));
|
||||
Common.setCaretPos(file_name[0], 0);
|
||||
file_name.focus();
|
||||
});
|
||||
|
||||
form.submit(function() {
|
||||
var dirent_name = $.trim(file_name.val()),
|
||||
post_data = {'dirent_name': dirent_name},
|
||||
post_url = Common.getUrl({name: "new_file", repo_id: dir.repo_id})
|
||||
+ '?parent_dir=' + encodeURIComponent(dir.path);
|
||||
var dirent_name = $.trim(file_name.val());
|
||||
|
||||
if (!dirent_name) {
|
||||
Common.showFormError(form_id, gettext("It is required."));
|
||||
return false;
|
||||
};
|
||||
|
||||
// if it has an extension, make sure it has a name
|
||||
if (dirent_name.lastIndexOf('.') != -1 && dirent_name.substr(0, dirent_name.lastIndexOf('.')).length == 0) {
|
||||
Common.showFormError(form_id, gettext("Only an extension there, please input a name."));
|
||||
return false;
|
||||
}
|
||||
|
||||
var post_data = {'dirent_name': dirent_name},
|
||||
post_url = Common.getUrl({name: "new_file", repo_id: dir.repo_id})
|
||||
+ '?parent_dir=' + encodeURIComponent(dir.path);
|
||||
var after_op_success = function(data) {
|
||||
location.href = Common.getUrl({name: "repo_new_file", repo_id: dir.repo_id})
|
||||
+ '?p=' + encodeURIComponent(dir.path) + encodeURIComponent(data['name']);
|
||||
$.modal.close();
|
||||
var new_dirent = dir.add({
|
||||
'is_file': true,
|
||||
'obj_name': data['name'],
|
||||
'file_size': Common.fileSizeFormat(0),
|
||||
'obj_id': '0000000000000000000000000000000000000000',
|
||||
'file_icon': 'file.png',
|
||||
'starred': false,
|
||||
'last_modified': new Date().getTime() / 1000,
|
||||
'last_update': gettext("Just now"),
|
||||
'sharelink': '',
|
||||
'sharetoken': ''
|
||||
}, {silent: true});
|
||||
var view = new DirentView({model: new_dirent, dirView: dirView});
|
||||
var new_file = view.render().el;
|
||||
// put the new file as the first file
|
||||
if ($('tr', dirView.$dirent_list).length == 0) {
|
||||
dirView.$dirent_list.append(new_file);
|
||||
} else {
|
||||
var dirs = dir.where({'is_dir':true});
|
||||
if (dirs.length == 0) {
|
||||
dirView.$dirent_list.prepend(new_file);
|
||||
} else {
|
||||
// put the new file after the last dir
|
||||
$($('tr', dirView.$dirent_list)[dirs.length - 1]).after(new_file);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Common.ajaxPost({
|
||||
|
@@ -53,7 +53,6 @@ define([
|
||||
case 'cp_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/cp/';
|
||||
case 'new_dir': return siteRoot + 'ajax/repo/' + options.repo_id + '/dir/new/';
|
||||
case 'new_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/new/';
|
||||
case 'repo_new_file': return siteRoot + 'repo/' + options.repo_id + '/files/';
|
||||
case 'del_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/delete/';
|
||||
case 'mv_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/move/';
|
||||
case 'cp_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/copy/';
|
||||
@@ -207,7 +206,7 @@ define([
|
||||
});
|
||||
},
|
||||
|
||||
HTMLescape: function(html){
|
||||
HTMLescape: function(html) {
|
||||
return document.createElement('div')
|
||||
.appendChild(document.createTextNode(html))
|
||||
.parentNode
|
||||
@@ -223,6 +222,34 @@ define([
|
||||
result += '/' + array[i];
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
fileSizeFormat: function (bytes, precision) {
|
||||
var kilobyte = 1024;
|
||||
var megabyte = kilobyte * 1024;
|
||||
var gigabyte = megabyte * 1024;
|
||||
var terabyte = gigabyte * 1024;
|
||||
|
||||
var precision = precision || 0;
|
||||
|
||||
if ((bytes >= 0) && (bytes < kilobyte)) {
|
||||
return bytes + ' B';
|
||||
|
||||
} else if ((bytes >= kilobyte) && (bytes < megabyte)) {
|
||||
return (bytes / kilobyte).toFixed(precision) + ' KB';
|
||||
|
||||
} else if ((bytes >= megabyte) && (bytes < gigabyte)) {
|
||||
return (bytes / megabyte).toFixed(precision) + ' MB';
|
||||
|
||||
} else if ((bytes >= gigabyte) && (bytes < terabyte)) {
|
||||
return (bytes / gigabyte).toFixed(precision) + ' GB';
|
||||
|
||||
} else if (bytes >= terabyte) {
|
||||
return (bytes / terabyte).toFixed(precision) + ' TB';
|
||||
|
||||
} else {
|
||||
return bytes + ' B';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<span>{% trans "Upload" %}</span>
|
||||
<input type="file" name="file" multiple />
|
||||
</div>
|
||||
{% if enable_upload_folder %}
|
||||
<% if (enable_upload_folder) { %>
|
||||
<ul id="upload-menu" class="hide">
|
||||
<li class="item">
|
||||
<span>{% trans "Upload Files" %}</span>
|
||||
@@ -15,7 +15,7 @@
|
||||
<input type="file" name="file" multiple directory webkitdirectory />
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
<% } %>
|
||||
<button id="add-new-dir" class="op-btn">{% trans "New Directory" %}</button>
|
||||
<button id="add-new-file" class="op-btn">{% trans "New File" %}</button>
|
||||
<% } %>
|
||||
|
@@ -226,7 +226,9 @@ app["pageOptions"] = {
|
||||
csrfToken: "{{ csrf_token }}",
|
||||
reposUrl: "{% url 'api2-repos' %}"
|
||||
};
|
||||
app.globalState = {};
|
||||
app.globalState = {
|
||||
enable_upload_folder: {% if enable_upload_folder %} true {% else %} false {% endif %}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript" data-main="{{ MEDIA_URL }}scripts/myhome" src="{{ MEDIA_URL }}scripts/lib/require.js"></script>
|
||||
{% endblock %}
|
||||
|
@@ -1175,6 +1175,7 @@ def myhome(request):
|
||||
"sub_lib_enabled": sub_lib_enabled,
|
||||
"sub_repos": sub_repos,
|
||||
"repo_create_url": repo_create_url,
|
||||
'enable_upload_folder': settings.ENABLE_UPLOAD_FOLDER,
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
@login_required
|
||||
|
Reference in New Issue
Block a user