TSCORE.metaFileList.forEach(function(element, index) { if (element.name.indexOf(name) >= 0) { if (newFileName) { var pathOld = TSCORE.Utils.dirName(oldFileName); var pathNew = TSCORE.Utils.dirName(newFileName); var path = TSCORE.currentPath; if (pathNew.lastIndexOf(TSCORE.dirSeparator) === 0) { pathOld += TSCORE.dirSeparator; } if (pathOld != pathNew) { path = pathNew; } var newName = TSCORE.Utils.baseName(newFileName) + "." + element.name.split('.').pop(); var newFilePath = path + TSCORE.dirSeparator + TSCORE.metaFolder + TSCORE.dirSeparator + newName; TSCORE.IO.renameFilePromise(element.path, newFilePath); if (pathOld == TSCORE.currentPath) { element.name = newName; element.path = newFilePath; } else { TSCORE.metaFileList.splice(index, 1); } } else { TSCORE.IO.deleteFilePromise(element.path).then(function() { TSCORE.metaFileList.splice(index, 1); }); } } });
function renameFile(filePath, newFilePath) { console.log("tagutils.renameFile " + filePath); TSCORE.IO.renameFilePromise(filePath, newFilePath).then(function(success) { TSCORE.hideWaitingDialog(); TSPOSTIO.renameFile(filePath, newFilePath); }, function(err) { TSCORE.hideWaitingDialog(); TSCORE.showAlertDialog(err); }); }
$('#renameFileButton').click(function() { var initialFilePath = $('#renamedFileName').attr('filepath'); var containingDir = TSCORE.TagUtils.extractContainingDirectoryPath(initialFilePath); var newFilePath = containingDir + TSCORE.dirSeparator + $('#renamedFileName').val(); TSCORE.IO.renameFilePromise(initialFilePath, newFilePath).then(function(success) { TSCORE.hideWaitingDialog(); TSPOSTIO.renameFile(initialFilePath, newFilePath); }, function(err) { TSCORE.hideWaitingDialog(); TSCORE.showAlertDialog(err); }); });
drop: function(event, ui) { ui.draggable.detach(); var filePath = ui.draggable.attr('filepath'); var fileName = TSCORE.TagUtils.extractFileName(filePath); var targetDir = $(this).attr('key'); console.log('Moving file: ' + filePath + ' to ' + targetDir); var newFilePath = targetDir + TSCORE.dirSeparator + fileName; TSCORE.IO.renameFilePromise(filePath, newFilePath).then(function(success) { TSCORE.hideWaitingDialog(); TSPOSTIO.renameFile(filePath, newFilePath); }, function(err) { TSCORE.hideWaitingDialog(); TSCORE.showAlertDialog(err); }); $(ui.helper).remove(); }
drop: function(event, ui) { ui.draggable.detach(); // Fixing issue with dropping on stacked/overlapped directories if ($(this).parent().parent().parent().hasClass('in')) { var filePath = ui.draggable.attr('filepath'); var fileName = TSCORE.TagUtils.extractFileName(filePath); var targetDir = $(this).attr('key'); console.log('Moving file: ' + filePath + ' to ' + targetDir); var newFilePath = targetDir + TSCORE.dirSeparator + fileName; TSCORE.IO.renameFilePromise(filePath, newFilePath).then(function(success) { TSCORE.hideWaitingDialog(); TSPOSTIO.renameFile(filePath, newFilePath); }, function(err) { TSCORE.hideWaitingDialog(); TSCORE.showAlertDialog(err); }); $(ui.helper).remove(); } }
$('#moveFilesButton').click(function(e) { e.preventDefault(); // TODO move to ioutils TSCORE.showWaitingDialog('Please wait, while files are being renamed.'); var newFilePath, filePath; var fileOperations = []; for (var i = 0; i < TSCORE.selectedFiles.length; i++) { newFilePath = $('#moveCopyDirectoryPath').val() + TSCORE.dirSeparator + TSCORE.TagUtils.extractFileName(TSCORE.selectedFiles[i]); filePath = TSCORE.selectedFiles[i]; fileOperations.push(TSCORE.IO.renameFilePromise(filePath, newFilePath)); } if (TSCORE.IO.stopWatchingDirectories) { TSCORE.IO.stopWatchingDirectories(); } Promise.all(fileOperations).then(function(success) { // TODO handle moving sidecar files TSCORE.hideWaitingDialog(); TSCORE.navigateToDirectory(TSCORE.currentPath); TSCORE.showSuccessDialog("Files successfully moved"); }, function(err) { TSCORE.hideWaitingDialog(); TSCORE.showAlertDialog("Renaming files failed"); }); });