Combine logic so we aren't constantly duplicating it

This commit is contained in:
Dane Everitt 2019-03-10 14:50:44 -07:00
parent 25621f4c1c
commit d6630341b4
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
3 changed files with 40 additions and 62 deletions

View file

@ -32,7 +32,7 @@
<div class="flex-none w-1/6">Actions</div>
</div>
<div v-for="directory in directories">
<FolderRow :directory="directory" :key="directory.name"/>
<FileRow :file="directory" v-on:deleted="folderRowDeleted(directory)" :key="`dir-${directory.name}`"/>
</div>
<div v-for="file in files">
<FileRow :file="file" :editable="editableFiles" v-on:deleted="fileRowDeleted(file)" :key="file.name"/>
@ -60,7 +60,6 @@
import {map} from 'lodash';
import getDirectoryContents from "@/api/server/getDirectoryContents";
import FileRow from "@/components/server/components/filemanager/FileRow.vue";
import FolderRow from "@/components/server/components/filemanager/FolderRow.vue";
import CreateFolderModal from '../components/filemanager/modals/CreateFolderModal.vue';
import RenameModal from '../components/filemanager/modals/RenameModal.vue';
import DeleteFileModal from '../components/filemanager/modals/DeleteFileModal.vue';
@ -77,7 +76,7 @@
export default Vue.extend({
name: 'FileManager',
components: {CreateFolderModal, DeleteFileModal, FileRow, FolderRow, RenameModal},
components: {CreateFolderModal, DeleteFileModal, FileRow, RenameModal},
computed: {
...mapState('server', ['server', 'credentials']),
...mapState('socket', ['connected']),
@ -185,6 +184,10 @@
this.files = this.files.filter(data => data !== file);
},
folderRowDeleted: function (file: DirectoryContentObject) {
this.directories = this.directories.filter(data => data !== file);
},
directoryCreated: function (directory: string) {
this.$router.push({ name: 'server-files', params: { path: join(this.currentDirectory, directory) }});
},