diff --git a/app/Repositories/Daemon/FileRepository.php b/app/Repositories/Daemon/FileRepository.php index 83d6916a5..73c3e8644 100644 --- a/app/Repositories/Daemon/FileRepository.php +++ b/app/Repositories/Daemon/FileRepository.php @@ -136,7 +136,7 @@ class FileRepository * * @param string $file * @param string $content - * @return boolean + * @return bool */ public function saveFileContents($file, $content) { @@ -149,23 +149,6 @@ class FileRepository $file->dirname = (in_array($file->dirname, ['.', './', '/'])) ? null : trim($file->dirname, '/') . '/'; - $res = $this->client->request('GET', '/server/files/stat/' . rawurlencode($file->dirname.$file->basename) , [ - 'headers' => $this->headers - ]); - - $stat = json_decode($res->getBody()); - if($res->getStatusCode() !== 200 || !isset($stat->size)) { - throw new DisplayException('The daemon provided a non-200 error code on stat lookup: HTTP\\' . $res->getStatusCode()); - } - - if (!in_array($stat->mime, HelperRepository::editableFiles())) { - throw new DisplayException('You cannot edit that type of file (' . $stat->mime . ') through the panel.'); - } - - if ($stat->size > 5000000) { - throw new DisplayException('That file is too large to save in the browser, consider using a SFTP client.'); - } - $res = $this->client->request('POST', '/server/file/' . rawurlencode($file->dirname.$file->basename), [ 'headers' => $this->headers, 'json' => [ diff --git a/resources/views/server/files/add.blade.php b/resources/views/server/files/add.blade.php index eadb7bc09..1cd106be9 100644 --- a/resources/views/server/files/add.blade.php +++ b/resources/views/server/files/add.blade.php @@ -40,14 +40,44 @@

/home/container/{{ $directory }}

-
- -
+
-
- - +
+
+ + +
+
+ +
@@ -66,6 +96,8 @@ @endcan
+{!! Theme::js('js/vendor/ace/ace.js') !!} +{!! Theme::js('js/vendor/ace/ext-modelist.js') !!} diff --git a/resources/views/server/files/edit.blade.php b/resources/views/server/files/edit.blade.php index 6e5d45187..ed6c38637 100644 --- a/resources/views/server/files/edit.blade.php +++ b/resources/views/server/files/edit.blade.php @@ -50,7 +50,7 @@ $(document).ready(function () { const Editor = ace.edit('editor'); const Modelist = ace.require('ace/ext/modelist') - Editor.setTheme('ace/theme/github'); + Editor.setTheme('ace/theme/chrome'); Editor.getSession().setMode(Modelist.getModeForPath('{{ $stat->name }}').mode); Editor.getSession().setUseWrapMode(true); Editor.setShowPrintMargin(false); diff --git a/resources/views/server/js/filemanager/actions.blade.php b/resources/views/server/js/filemanager/actions.blade.php index 6a0820304..eb4089f04 100644 --- a/resources/views/server/js/filemanager/actions.blade.php +++ b/resources/views/server/js/filemanager/actions.blade.php @@ -99,7 +99,11 @@ class ActionsClass { inputField.focus(); inputField.on('blur keypress', e => { // Save Field - if (e.type === 'blur' || (e.type === 'keypress' && e.which === 27) || currentName === inputField.val()) { + if ( + (e.type === 'keypress' && e.which === 27) + || e.type === 'blur' + || (e.type === 'keypress' && e.which === 13 && currentName === inputField.val()) + ) { if (!_.isEmpty(currentLink)) { nameBlock.html(currentLink); } else { @@ -110,6 +114,10 @@ class ActionsClass { return; } + if (e.type === 'keypress' && e.which !== 13) return; + + console.log('did not'); + inputLoader.show(); const currentPath = decodeURIComponent(nameBlock.data('path'));