diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 0be7452f5..1ad5e907d 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -142,12 +142,14 @@ define(function () { out.fm_templateName = "Modèles"; out.fm_newButton = "Nouveau"; out.fm_newFolder = "Nouveau dossier"; + out.fm_newFile = "Nouveau document"; out.fm_folder = "Dossier"; out.fm_folderName = "Nom du dossier"; out.fm_numberOfFolders = "# de dossiers"; out.fm_numberOfFiles = "# de fichiers"; out.fm_fileName = "Nom du fichier"; out.fm_title = "Titre"; + out.fm_type = "Type"; out.fm_lastAccess = "Dernier accès"; out.fm_creation = "Création"; out.fm_forbidden = "Action interdite"; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 85ac47340..30b051634 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -145,12 +145,14 @@ define(function () { out.fm_templateName = "Templates"; out.fm_newButton = "New"; out.fm_newFolder = "New folder"; + out.fm_newFile = "New document"; out.fm_folder = "Folder"; out.fm_folderName = "Folder name"; out.fm_numberOfFolders = "# of folders"; out.fm_numberOfFiles = "# of files"; out.fm_fileName = "File name"; out.fm_title = "Title"; + out.fm_type = "Type"; out.fm_lastAccess = "Last access"; out.fm_creation = "Creation"; out.fm_forbidden = "Forbidden action"; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index c03664036..b98c947f4 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -706,6 +706,7 @@ define([ common.initialName = sessionStorage[newPadNameKey]; delete sessionStorage[newPadNameKey]; } + // Deprecated if (sessionStorage[newPadPathKey]) { common.initialPath = sessionStorage[newPadPathKey]; delete sessionStorage[newPadPathKey]; diff --git a/www/common/fileObject.js b/www/common/fileObject.js index 4986c1a57..272517ec8 100644 --- a/www/common/fileObject.js +++ b/www/common/fileObject.js @@ -17,6 +17,7 @@ define([ var FILES_DATA = Cryptpad.storageKey; var NEW_FOLDER_NAME = Messages.fm_newFolder; + var NEW_FILE_NAME = Messages.fm_newFile; var DEBUG = config.DEBUG || false; var logging = function () { @@ -579,6 +580,28 @@ define([ }); }; + var pushNewFileData = function (href, title) { + files[FILES_DATA].push({ + href: href, + title: title, + atime: new Date().toISOString(), + ctime: new Date().toISOString() + }); + }; + var createNewFile = exp.createNewFile = function (filePath, name, type, cb) { + var parentEl = findElement(files, filePath); + var fileName = getAvailableName(parentEl, name || NEW_FILE_NAME); + var href = '/' + type + '/#' + Cryptpad.createRandomHash(); + parentEl[fileName] = href; + + pushNewFileData(href, fileName); + + var newPath = filePath.slice(); + newPath.push(fileName); + cb({ + newPath: newPath + }); + }; // Remove an element from the trash root var removeFromTrashArray = function (element, name) { diff --git a/www/drive/file.css b/www/drive/file.css index 461a4658f..bc9755009 100644 --- a/www/drive/file.css +++ b/www/drive/file.css @@ -229,6 +229,7 @@ span.fa-folder-open { width: 140px; text-align: center; vertical-align: top; + overflow: hidden; } #content div.grid li .name { width: 100%; diff --git a/www/drive/file.less b/www/drive/file.less index ade482e58..f2f3a5ea6 100644 --- a/www/drive/file.less +++ b/www/drive/file.less @@ -274,6 +274,7 @@ span { width: 140px; text-align: center; vertical-align: top; + overflow: hidden; .name { width: 100%; diff --git a/www/drive/inner.html b/www/drive/inner.html index 1b54746e8..9f337f5ff 100644 --- a/www/drive/inner.html +++ b/www/drive/inner.html @@ -39,6 +39,7 @@