Copy isFileNameValid function, so the filepicker works without the files app

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-02-19 12:42:54 +01:00
parent 4cc017d52e
commit e05362959f
No known key found for this signature in database
GPG key ID: 7076EA9751AACDDA
8 changed files with 32 additions and 2 deletions

View file

@ -130,6 +130,8 @@
* @return true if the file name is valid.
* Throws a string exception with an error message if
* the file name is not valid
*
* NOTE: This function is duplicated in the filepicker inside core/src/OC/dialogs.js
*/
isFileNameValid: function (name) {
var trimmedName = name.trim();

BIN
core/js/dist/login.js vendored

Binary file not shown.

Binary file not shown.

BIN
core/js/dist/main.js vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -336,11 +336,39 @@ const Dialogs = {
$form.submit()
})
/**
* Checks whether the given file name is valid.
*
* @param name file name to check
* @return true if the file name is valid.
* @throws a string exception with an error message if
* the file name is not valid
*
* NOTE: This function is duplicated in the files app:
* https://github.com/nextcloud/server/blob/b9bc2417e7a8dc81feb0abe20359bedaf864f790/apps/files/js/files.js#L127-L148
*/
var isFileNameValid = function (name) {
var trimmedName = name.trim();
if (trimmedName === '.' || trimmedName === '..')
{
throw t('files', '"{name}" is an invalid file name.', {name: name})
} else if (trimmedName.length === 0) {
throw t('files', 'File name cannot be empty.')
} else if (trimmedName.indexOf('/') !== -1) {
throw t('files', '"/" is not allowed inside a file name.')
} else if (!!(trimmedName.match(OC.config.blacklist_files_regex))) {
throw t('files', '"{name}" is not an allowed filetype', {name: name})
}
return true
}
var checkInput = function() {
var filename = $input.val()
try {
if (!Files.isFileNameValid(filename)) {
// Files.isFileNameValid(filename) throws an exception itself
if (!isFileNameValid(filename)) {
// isFileNameValid(filename) throws an exception itself
} else if (self.filelist.find(function(file) {
return file.name === this
}, filename)) {