mirror of
https://github.com/misterunknown/ifm.git
synced 2025-08-11 10:34:00 +02:00
Add hint before overwrite files
Signed-off-by: Marco Dickert <marco@misterunknown.de>
This commit is contained in:
@@ -102,6 +102,8 @@
|
|||||||
"upload": "Hochladen",
|
"upload": "Hochladen",
|
||||||
"upload_drop": "Dateien zum hochladen hier ablegen",
|
"upload_drop": "Dateien zum hochladen hier ablegen",
|
||||||
"upload_file": "Datei hochladen",
|
"upload_file": "Datei hochladen",
|
||||||
|
"upload_overwrite_hint": "Die folgenden Dateien würden überschrieben:",
|
||||||
|
"upload_overwrite_confirm": "Sollen die Dateien dennoch hochgeladen werden?",
|
||||||
"upload_remote": "Hochladen von ausserhalb",
|
"upload_remote": "Hochladen von ausserhalb",
|
||||||
"upload_remote_url": "Entfernte URL zum hochladen",
|
"upload_remote_url": "Entfernte URL zum hochladen",
|
||||||
"username": "Benutzername",
|
"username": "Benutzername",
|
||||||
|
@@ -103,6 +103,8 @@
|
|||||||
"upload": "Upload",
|
"upload": "Upload",
|
||||||
"upload_drop": "Drop files to upload",
|
"upload_drop": "Drop files to upload",
|
||||||
"upload_file": "Upload File",
|
"upload_file": "Upload File",
|
||||||
|
"upload_overwrite_hint": "The following files would be overwritten:",
|
||||||
|
"upload_overwrite_confirm": "Upload anyway?",
|
||||||
"upload_remote": "Remote Upload",
|
"upload_remote": "Remote Upload",
|
||||||
"upload_remote_url": "Remote Upload URL",
|
"upload_remote_url": "Remote Upload URL",
|
||||||
"username": "Username",
|
"username": "Username",
|
||||||
|
36
src/ifm.js
36
src/ifm.js
@@ -951,13 +951,23 @@ function IFM(params) {
|
|||||||
form.addEventListener( 'click', function( e ) {
|
form.addEventListener( 'click', function( e ) {
|
||||||
if( e.target.id == 'buttonUpload' ) {
|
if( e.target.id == 'buttonUpload' ) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
var newfilename = form.elements.newfilename.value;
|
||||||
var files = Array.prototype.slice.call( form.elements.files.files );
|
var files = Array.prototype.slice.call( form.elements.files.files );
|
||||||
if( files.length > 1 )
|
var existing_files = [];
|
||||||
|
if (files.length > 1)
|
||||||
|
existing_files = files.map(x => x.name).filter(item => self.fileCache.map(x => x.name).includes(item));
|
||||||
|
else
|
||||||
|
existing_files = self.fileCache.map(x => x.name).includes(newfilename);
|
||||||
|
if (existing_files.length > 0)
|
||||||
|
self.showUploadConfirmOverwrite(files, existing_files, newfilename);
|
||||||
|
else {
|
||||||
|
if (files.length == 1)
|
||||||
|
self.uploadFile(files[0], newfilename);
|
||||||
|
else
|
||||||
files.forEach( function( file ) {
|
files.forEach( function( file ) {
|
||||||
self.uploadFile( file );
|
self.uploadFile( file );
|
||||||
});
|
});
|
||||||
else
|
}
|
||||||
self.uploadFile( files[0], form.elements.newfilename.value );
|
|
||||||
self.hideModal();
|
self.hideModal();
|
||||||
} else if( e.target.id == 'buttonCancel' ) {
|
} else if( e.target.id == 'buttonCancel' ) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@@ -966,6 +976,26 @@ function IFM(params) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.showUploadConfirmOverwrite = function(files, existing_files, newfilename="") {
|
||||||
|
self.showModal(Mustache.render(self.templates.uploadconfirmoverwrite, {files: existing_files, i18n: self.i18n}));
|
||||||
|
var form = document.forms.formUploadConfirmOverwrite;
|
||||||
|
form.addEventListener('click', function(e) {
|
||||||
|
if (e.target.id == "buttonConfirm") {
|
||||||
|
e.preventDefault();
|
||||||
|
if (files.length == 1)
|
||||||
|
self.uploadFile(files[0], newfilename);
|
||||||
|
else
|
||||||
|
files.forEach(function(file) {
|
||||||
|
self.uploadFile(file);
|
||||||
|
});
|
||||||
|
self.hideModal();
|
||||||
|
} else if (e.target.id == 'buttonCancel') {
|
||||||
|
e.preventDefault();
|
||||||
|
self.hideModal();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Uploads a file
|
* Uploads a file
|
||||||
*/
|
*/
|
||||||
|
@@ -176,6 +176,9 @@ f00bar;
|
|||||||
f00bar;
|
f00bar;
|
||||||
$templates['uploadfile'] = <<<'f00bar'
|
$templates['uploadfile'] = <<<'f00bar'
|
||||||
@@@file:src/templates/modal.uploadfile.html@@@
|
@@@file:src/templates/modal.uploadfile.html@@@
|
||||||
|
f00bar;
|
||||||
|
$templates['uploadconfirmoverwrite'] = <<<'f00bar'
|
||||||
|
@@@file:src/templates/modal.uploadconfirmoverwrite.html@@@
|
||||||
f00bar;
|
f00bar;
|
||||||
$this->templates = $templates;
|
$this->templates = $templates;
|
||||||
|
|
||||||
|
15
src/templates/modal.uploadconfirmoverwrite.html
Normal file
15
src/templates/modal.uploadconfirmoverwrite.html
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<form id="formUploadConfirmOverwrite">
|
||||||
|
<div class="modal-body">
|
||||||
|
{{i18n.upload_overwrite_hint}}
|
||||||
|
<ul>
|
||||||
|
{{#files}}
|
||||||
|
<li>{{.}}</li>
|
||||||
|
{{/files}}
|
||||||
|
</ul>
|
||||||
|
{{i18n.upload_overwrite_confirm}}
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-primary" id="buttonConfirm">{{i18n.upload}}</button>
|
||||||
|
<button class="btn btn-danger" id="buttonCancel">{{i18n.cancel}}</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
Reference in New Issue
Block a user