diff options
author | Vincent Petry <vincent@nextcloud.com> | 2022-07-27 11:23:44 +0300 |
---|---|---|
committer | Vincent Petry <vincent@nextcloud.com> | 2022-07-27 11:23:44 +0300 |
commit | 8be9b04981c4f0bdf0a2b8d424f55c797ad90a32 (patch) | |
tree | fb6783d017fc73e0f54435f464eda71ce0ebb169 /apps | |
parent | 97462295587f4016066264edb6eed5d5e17903f3 (diff) |
Remove legacy #dir element in files list
Removed legacy "#dir" input element in the DOM.
Apps should use OCA.Files.App.currentFileList or
OCA.Sharing.PublicApp.fileList and call getCurrentDirectory() to
retrieve the current directory and changeDirectory() to change it.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/js/filelist.js | 10 | ||||
-rw-r--r-- | apps/files/templates/list.php | 1 | ||||
-rw-r--r-- | apps/files/templates/recentlist.php | 2 | ||||
-rw-r--r-- | apps/files/templates/simplelist.php | 2 | ||||
-rw-r--r-- | apps/files/tests/js/favoritesfilelistspec.js | 1 | ||||
-rw-r--r-- | apps/files/tests/js/fileactionsSpec.js | 4 | ||||
-rw-r--r-- | apps/files/tests/js/fileactionsmenuSpec.js | 4 | ||||
-rw-r--r-- | apps/files/tests/js/filelistSpec.js | 30 | ||||
-rw-r--r-- | apps/files_external/js/statusmanager.js | 2 | ||||
-rw-r--r-- | apps/files_external/templates/list.php | 2 | ||||
-rw-r--r-- | apps/files_external/tests/js/mountsfilelistSpec.js | 1 | ||||
-rw-r--r-- | apps/files_sharing/js/public.js | 3 | ||||
-rw-r--r-- | apps/files_sharing/templates/list.php | 2 | ||||
-rw-r--r-- | apps/files_sharing/templates/public.php | 2 | ||||
-rw-r--r-- | apps/files_sharing/tests/js/publicAppSpec.js | 5 | ||||
-rw-r--r-- | apps/files_trashbin/templates/index.php | 2 | ||||
-rw-r--r-- | apps/files_trashbin/tests/js/filelistSpec.js | 8 | ||||
-rw-r--r-- | apps/systemtags/templates/list.php | 1 | ||||
-rw-r--r-- | apps/systemtags/tests/js/systemtagsfilelistSpec.js | 1 |
19 files changed, 32 insertions, 51 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index ac590fe2d74..038082a1fd6 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -231,6 +231,7 @@ * @param options.dragOptions drag options, disabled by default * @param options.folderDropOptions folder drop options, disabled by default * @param options.scrollTo name of file to scroll to after the first load + * @param [options.dir='/'] current directory * @param {OC.Files.Client} [options.filesClient] files API client * @param {OC.Backbone.Model} [options.filesConfig] files app configuration * @private @@ -414,6 +415,10 @@ }); } + if (!_.isUndefined(options.dir)) { + this._setCurrentDir(options.dir || '/', false); + } + if(options.openFile) { // Wait for some initialisation process to be over before triggering the default action. _.defer(() => { @@ -2049,7 +2054,7 @@ * @return current directory */ getCurrentDirectory: function(){ - return this._currentDirectory || this.$el.find('#dir').val() || '/'; + return this._currentDirectory || '/'; }, /** * Returns the directory permissions @@ -2131,9 +2136,6 @@ } this._currentDirectory = targetDir; - // legacy stuff - this.$el.find('#dir').val(targetDir); - if (changeUrl !== false) { var params = { dir: targetDir, diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php index 19365c67722..1b45129195b 100644 --- a/apps/files/templates/list.php +++ b/apps/files/templates/list.php @@ -71,7 +71,6 @@ </tfoot> </table> <div class="filelist-footer"></div> -<input type="hidden" name="dir" id="dir" value="" /> <div class="hiddenuploadfield"> <input type="file" id="file_upload_start" class="hiddenuploadfield" name="files[]" /> </div> diff --git a/apps/files/templates/recentlist.php b/apps/files/templates/recentlist.php index 925201e5df6..994dadc2ba4 100644 --- a/apps/files/templates/recentlist.php +++ b/apps/files/templates/recentlist.php @@ -2,8 +2,6 @@ <div class="emptyfilelist emptycontent hidden"></div> -<input type="hidden" name="dir" value="" id="dir"> - <div class="nofilterresults emptycontent hidden"> <div class="icon-search"></div> <h2><?php p($l->t('No entries found in this folder')); ?></h2> diff --git a/apps/files/templates/simplelist.php b/apps/files/templates/simplelist.php index 9e67d4cd0b2..fc0a9fb38c9 100644 --- a/apps/files/templates/simplelist.php +++ b/apps/files/templates/simplelist.php @@ -4,8 +4,6 @@ <p><?php p($l->t('Files and folders you mark as favorite will show up here')); ?></p> </div> -<input type="hidden" name="dir" value="" id="dir"> - <div class="nofilterresults emptycontent hidden"> <div class="icon-search"></div> <h2><?php p($l->t('No entries found in this folder')); ?></h2> diff --git a/apps/files/tests/js/favoritesfilelistspec.js b/apps/files/tests/js/favoritesfilelistspec.js index 1049553c5bd..6cfc078cf26 100644 --- a/apps/files/tests/js/favoritesfilelistspec.js +++ b/apps/files/tests/js/favoritesfilelistspec.js @@ -30,7 +30,6 @@ describe('OCA.Files.FavoritesFileList tests', function() { $('#testArea').append( '<div id="app-content-container">' + // init horrible parameters - '<input type="hidden" id="dir" value="/"></input>' + '<input type="hidden" id="permissions" value="31"></input>' + // dummy controls '<div class="files-controls">' + diff --git a/apps/files/tests/js/fileactionsSpec.js b/apps/files/tests/js/fileactionsSpec.js index 536688d291d..7ec9efc43d0 100644 --- a/apps/files/tests/js/fileactionsSpec.js +++ b/apps/files/tests/js/fileactionsSpec.js @@ -33,7 +33,6 @@ describe('OCA.Files.FileActions tests', function() { clock = sinon.useFakeTimers(); // init horrible parameters var $body = $('#testArea'); - $body.append('<input type="hidden" id="dir" value="/subdir"></input>'); $body.append('<input type="hidden" id="permissions" value="31"></input>'); $body.append('<table class="files-filestable list-container view-grid"><tbody class="files-fileList"></tbody></table>'); // dummy files table @@ -66,13 +65,14 @@ describe('OCA.Files.FileActions tests', function() { fileList = new OCA.Files.FileList($body, { fileActions: fileActions }); + fileList.changeDirectory('/subdir', false, true); }); afterEach(function() { fileActions = null; fileList.destroy(); fileList = undefined; clock.restore(); - $('#dir, #permissions, .files-filestable').remove(); + $('#permissions, .files-filestable').remove(); }); it('calling clear() clears file actions', function() { fileActions.clear(); diff --git a/apps/files/tests/js/fileactionsmenuSpec.js b/apps/files/tests/js/fileactionsmenuSpec.js index 4ede99dc333..a252e75c5e2 100644 --- a/apps/files/tests/js/fileactionsmenuSpec.js +++ b/apps/files/tests/js/fileactionsmenuSpec.js @@ -31,7 +31,6 @@ describe('OCA.Files.FileActionsMenu tests', function() { beforeEach(function() { // init horrible parameters var $body = $('#testArea'); - $body.append('<input type="hidden" id="dir" value="/subdir"></input>'); $body.append('<input type="hidden" id="permissions" value="31"></input>'); // dummy files table actionStub = sinon.stub(); @@ -39,6 +38,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { fileList = new OCA.Files.FileList($body, { fileActions: fileActions }); + fileList.changeDirectory('/subdir', false, true); fileActions.registerAction({ name: 'Testdropdown', @@ -100,7 +100,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { fileList.destroy(); fileList = undefined; menu.remove(); - $('#dir, #permissions, .files-filestable').remove(); + $('#permissions, .files-filestable').remove(); }); describe('rendering', function() { diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 9b7c785ca44..e69a62c0c3e 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -104,7 +104,6 @@ describe('OCA.Files.FileList tests', function() { $('#testArea').append( '<div id="app-content-files">' + // init horrible parameters - '<input type="hidden" id="dir" value="/subdir"/>' + '<input type="hidden" id="permissions" value="31"/>' + // dummy controls '<div class="files-controls">' + @@ -186,6 +185,7 @@ describe('OCA.Files.FileList tests', function() { fileList = new OCA.Files.FileList($('#app-content-files'), { filesClient: filesClient, config: filesConfig, + dir: '/subdir', enableUpload: true, multiSelectMenu: [{ name: 'copyMove', @@ -218,7 +218,7 @@ describe('OCA.Files.FileList tests', function() { }); describe('Getters', function() { it('Returns the current directory', function() { - $('#dir').val('/one/two/three'); + fileList.changeDirectory('/one/two/three', false, true); expect(fileList.getCurrentDirectory()).toEqual('/one/two/three'); }); it('Returns the directory permissions as int', function() { @@ -553,7 +553,7 @@ describe('OCA.Files.FileList tests', function() { $summary = $('.files-filestable .summary'); expect($summary.hasClass('hidden')).toEqual(true); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true); - expect($('.emptycontent').hasClass('hidden')).toEqual(false); + expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false); expect(fileList.isEmpty).toEqual(true); }); }); @@ -612,7 +612,7 @@ describe('OCA.Files.FileList tests', function() { expect($summary.find('.filesize').text()).toEqual('57 KB'); expect(fileList.isEmpty).toEqual(false); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false); - expect($('.emptycontent').hasClass('hidden')).toEqual(true); + expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true); expect(notificationStub.notCalled).toEqual(true); }).then(done, done); @@ -682,7 +682,7 @@ describe('OCA.Files.FileList tests', function() { expect(fileList.isEmpty).toEqual(true); expect(fileList.files.length).toEqual(0); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true); - expect($('.emptycontent').hasClass('hidden')).toEqual(false); + expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false); }).then(done, done); }); it('bring back deleted item when delete call failed', function(done) { @@ -1143,22 +1143,22 @@ describe('OCA.Files.FileList tests', function() { it('shows headers, summary and hide empty content message after setting files', function(){ fileList.setFiles(testFiles); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false); - expect($('.emptycontent').hasClass('hidden')).toEqual(true); + expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true); expect(fileList.$el.find('.summary').hasClass('hidden')).toEqual(false); }); it('hides headers, summary and show empty content message after setting empty file list', function(){ fileList.setFiles([]); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true); - expect($('.emptycontent').hasClass('hidden')).toEqual(false); - expect($('.emptycontent .uploadmessage').hasClass('hidden')).toEqual(false); + expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false); + expect($('.emptyfilelist.emptycontent .uploadmessage').hasClass('hidden')).toEqual(false); expect(fileList.$el.find('.summary').hasClass('hidden')).toEqual(true); }); it('hides headers, upload message, and summary when list is empty and user has no creation permission', function(){ $('#permissions').val(0); fileList.setFiles([]); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true); - expect($('.emptycontent').hasClass('hidden')).toEqual(false); - expect($('.emptycontent .uploadmessage').hasClass('hidden')).toEqual(true); + expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false); + expect($('.emptyfilelist.emptycontent .uploadmessage').hasClass('hidden')).toEqual(true); expect(fileList.$el.find('.summary').hasClass('hidden')).toEqual(true); }); it('calling findFileEl() can find existing file element', function() { @@ -1170,7 +1170,7 @@ describe('OCA.Files.FileList tests', function() { expect(fileList.findFileEl('unexist.dat').length).toEqual(0); }); it('only add file if in same current directory', function() { - $('#dir').val('/current dir'); + fileList.changeDirectory('/current dir', false, true); var fileData = { type: 'file', name: 'testFile.txt', @@ -1313,7 +1313,7 @@ describe('OCA.Files.FileList tests', function() { expect(fileList.files).toEqual([]); fileList.setFiles([]); var $summary = $('.files-filestable .summary'); - var $emptycontent = fileList.$el.find(".emptycontent"); + var $emptycontent = fileList.$el.find(".emptyfilelist.emptycontent"); var $nofilterresults = fileList.$el.find(".nofilterresults"); expect($emptycontent.length).toEqual(1); expect($nofilterresults.length).toEqual(1); @@ -1343,7 +1343,7 @@ describe('OCA.Files.FileList tests', function() { expect(fileList.files).toEqual([]); fileList.showMask(); fileList.setFiles(testFiles); - var $emptycontent = fileList.$el.find(".emptycontent"); + var $emptycontent = fileList.$el.find(".emptyfilelist.emptycontent"); var $nofilterresults = fileList.$el.find(".nofilterresults"); expect($emptycontent.length).toEqual(1); expect($nofilterresults.length).toEqual(1); @@ -1942,7 +1942,7 @@ describe('OCA.Files.FileList tests', function() { .toEqual(OC.getRootPath() + '/remote.php/webdav/subdir/some%20file.txt'); expect(fileList.getDownloadUrl('some file.txt', '/anotherpath/abc')) .toEqual(OC.getRootPath() + '/remote.php/webdav/anotherpath/abc/some%20file.txt'); - $('#dir').val('/'); + fileList.changeDirectory('/', false, true); expect(fileList.getDownloadUrl('some file.txt')) .toEqual(OC.getRootPath() + '/remote.php/webdav/some%20file.txt'); }); @@ -2346,7 +2346,7 @@ describe('OCA.Files.FileList tests', function() { redirectStub.restore(); }); it('Downloads root folder when all selected in root folder', function() { - $('#dir').val('/'); + fileList.changeDirectory('/', false, true); $('.select-all').click(); $('.selectedActions .filesSelectMenu .download').click(); expect(redirectStub.calledOnce).toEqual(true); diff --git a/apps/files_external/js/statusmanager.js b/apps/files_external/js/statusmanager.js index 0ffaad9fe40..5f94192ea35 100644 --- a/apps/files_external/js/statusmanager.js +++ b/apps/files_external/js/statusmanager.js @@ -584,7 +584,7 @@ OCA.Files_External.StatusManager.Utils = { isCorrectViewAndRootFolder: function () { // correct views = files & extstoragemounts if (OCA.Files.App.getActiveView() === 'files' || OCA.Files.App.getActiveView() === 'extstoragemounts') { - return OCA.Files.App.getCurrentAppContainer().find('#dir').val() === '/'; + return OCA.Files.App.currentFileList.getCurrentDirectory() === '/'; } return false; }, diff --git a/apps/files_external/templates/list.php b/apps/files_external/templates/list.php index cccf667f7c3..8f68157652b 100644 --- a/apps/files_external/templates/list.php +++ b/apps/files_external/templates/list.php @@ -8,8 +8,6 @@ <h2><?php p($l->t('No external storage configured or you don\'t have the permission to configure them')); ?></h2> </div> -<input type="hidden" name="dir" value="" id="dir"> - <table class="files-filestable list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>"> <thead> <tr> diff --git a/apps/files_external/tests/js/mountsfilelistSpec.js b/apps/files_external/tests/js/mountsfilelistSpec.js index ec6ebe1bf11..598eff25d89 100644 --- a/apps/files_external/tests/js/mountsfilelistSpec.js +++ b/apps/files_external/tests/js/mountsfilelistSpec.js @@ -33,7 +33,6 @@ describe('OCA.Files_External.FileList tests', function() { $('#testArea').append( '<div id="app-content-container">' + // init horrible parameters - '<input type="hidden" id="dir" value="/"></input>' + '<input type="hidden" id="permissions" value="31"></input>' + // dummy controls '<div class="files-controls">' + diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js index c08d72d6e05..91883138845 100644 --- a/apps/files_sharing/js/public.js +++ b/apps/files_sharing/js/public.js @@ -45,7 +45,8 @@ OCA.Sharing.PublicApp = { OCA.Files.fileActions = fileActions; this._initialized = true; - this.initialDir = $('#dir').val(); + var urlParams = OC.Util.History.parseUrlQuery(); + this.initialDir = urlParams.path || '/'; var token = $('#sharingToken').val(); var hideDownload = $('#hideDownload').val(); diff --git a/apps/files_sharing/templates/list.php b/apps/files_sharing/templates/list.php index 023726c6833..066736013b9 100644 --- a/apps/files_sharing/templates/list.php +++ b/apps/files_sharing/templates/list.php @@ -2,8 +2,6 @@ <div class="emptyfilelist emptycontent hidden"></div> -<input type="hidden" name="dir" value="" id="dir"> - <div class="nofilterresults emptycontent hidden"> <div class="icon-search"></div> <h2><?php p($l->t('No entries found in this folder')); ?></h2> diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php index 0e8f59e9f2a..7e6289784ae 100644 --- a/apps/files_sharing/templates/public.php +++ b/apps/files_sharing/templates/public.php @@ -10,7 +10,6 @@ <input type="hidden" id="sharingUserId" value="<?php p($_['owner']) ?>"> <input type="hidden" id="filesApp" name="filesApp" value="1"> <input type="hidden" id="isPublic" name="isPublic" value="1"> -<input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir"> <?php if (!$_['hideDownload']): ?> <input type="hidden" name="downloadURL" value="<?php p($_['downloadURL']) ?>" id="downloadURL"> <?php endif; ?> @@ -140,7 +139,6 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size); <?php } ?> <?php if (!isset($_['hideFileList']) || (isset($_['hideFileList']) && $_['hideFileList'] !== true)): ?> - <input type="hidden" name="dir" id="dir" value="" /> <div class="hiddenuploadfield"> <input type="file" id="file_upload_start" class="hiddenuploadfield" name="files[]" data-url="<?php p(\OC::$server->getURLGenerator()->linkTo('files', 'ajax/upload.php')); ?>" /> diff --git a/apps/files_sharing/tests/js/publicAppSpec.js b/apps/files_sharing/tests/js/publicAppSpec.js index e8e5f0a5109..59ac4bd7bbd 100644 --- a/apps/files_sharing/tests/js/publicAppSpec.js +++ b/apps/files_sharing/tests/js/publicAppSpec.js @@ -51,12 +51,12 @@ describe('OCA.Sharing.PublicApp tests', function() { }); describe('File list', function() { + var parseUrlQueryStub // TODO: this should be moved to a separate file once the PublicFileList is extracted from public.js beforeEach(function() { $preview.append( '<div id="app-content-files">' + // init horrible parameters - '<input type="hidden" id="dir" value="/subdir"/>' + '<input type="hidden" id="permissions" value="31"/>' + // dummy controls '<div class="files-controls">' + @@ -88,10 +88,13 @@ describe('OCA.Sharing.PublicApp tests', function() { '</div>' ); + parseUrlQueryStub = sinon.stub(OC.Util.History, 'parseUrlQuery'); + parseUrlQueryStub.returns({path: '/subdir'}); App.initialize($('#preview')); }); afterEach(function() { App._initialized = false; + parseUrlQueryStub.restore(); }); it('Uses public webdav endpoint', function() { diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php index 441768288fe..5fe2fab4333 100644 --- a/apps/files_trashbin/templates/index.php +++ b/apps/files_trashbin/templates/index.php @@ -9,8 +9,6 @@ <p><?php p($l->t('You will be able to recover deleted files from here')); ?></p> </div> -<input type="hidden" name="dir" value="" id="dir"> - <div class="nofilterresults emptycontent hidden"> <div class="icon-search"></div> <h2><?php p($l->t('No entries found in this folder')); ?></h2> diff --git a/apps/files_trashbin/tests/js/filelistSpec.js b/apps/files_trashbin/tests/js/filelistSpec.js index 4b75e2a14fd..90eba960196 100644 --- a/apps/files_trashbin/tests/js/filelistSpec.js +++ b/apps/files_trashbin/tests/js/filelistSpec.js @@ -43,8 +43,6 @@ describe('OCA.Trashbin.FileList tests', function () { // init parameters and test table elements $('#testArea').append( '<div id="app-content-trashbin">' + - // init horrible parameters - '<input type="hidden" id="dir" value="/"></input>' + // set this but it shouldn't be used (could be the one from the // files app) '<input type="hidden" id="permissions" value="31"></input>' + @@ -129,7 +127,6 @@ describe('OCA.Trashbin.FileList tests', function () { fileList.destroy(); fileList = undefined; - $('#dir').remove(); notificationStub.restore(); alertStub.restore(); }); @@ -174,7 +171,6 @@ describe('OCA.Trashbin.FileList tests', function () { describe('Rendering rows', function () { it('renders rows with the correct data when in root', function () { // dir listing is false when in root - $('#dir').val('/'); fileList.setFiles(testFiles); var $rows = fileList.$el.find('tbody tr'); var $tr = $rows.eq(0); @@ -195,7 +191,6 @@ describe('OCA.Trashbin.FileList tests', function () { }); it('renders rows with the correct data when in root after calling setFiles with the same data set', function () { // dir listing is false when in root - $('#dir').val('/'); fileList.setFiles(testFiles); fileList.setFiles(fileList.files); var $rows = fileList.$el.find('tbody tr'); @@ -216,9 +211,6 @@ describe('OCA.Trashbin.FileList tests', function () { expect(fileList.findFileEl('One.txt.d11111')[0]).toEqual($tr[0]); }); it('renders rows with the correct data when in subdirectory', function () { - // dir listing is true when in a subdir - $('#dir').val('/subdir'); - fileList.setFiles(testFiles.map(function (file) { file.name = file.displayName; return file; diff --git a/apps/systemtags/templates/list.php b/apps/systemtags/templates/list.php index b6298ef2d23..6e4ef04ee8b 100644 --- a/apps/systemtags/templates/list.php +++ b/apps/systemtags/templates/list.php @@ -34,5 +34,4 @@ <tfoot> </tfoot> </table> -<input type="hidden" name="dir" id="dir" value="" /> diff --git a/apps/systemtags/tests/js/systemtagsfilelistSpec.js b/apps/systemtags/tests/js/systemtagsfilelistSpec.js index 66272320e1d..ab831e7f849 100644 --- a/apps/systemtags/tests/js/systemtagsfilelistSpec.js +++ b/apps/systemtags/tests/js/systemtagsfilelistSpec.js @@ -30,7 +30,6 @@ describe('OCA.SystemTags.FileList tests', function() { $('#testArea').append( '<div id="app-content-container">' + // init horrible parameters - '<input type="hidden" id="dir" value="/"></input>' + '<input type="hidden" id="permissions" value="31"></input>' + '<div class="files-controls"></div>' + // dummy table |