Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/ChatView.vue3
-rw-r--r--src/components/NewMessageForm/NewMessageForm.vue3
-rw-r--r--src/components/UploadEditor.vue3
-rw-r--r--src/store/fileUploadStore.js21
-rw-r--r--src/utils/fileUpload.js25
5 files changed, 23 insertions, 32 deletions
diff --git a/src/components/ChatView.vue b/src/components/ChatView.vue
index 105fafa88..2a76975db 100644
--- a/src/components/ChatView.vue
+++ b/src/components/ChatView.vue
@@ -59,7 +59,6 @@
<script>
import MessagesList from './MessagesList/MessagesList'
import NewMessageForm from './NewMessageForm/NewMessageForm'
-import { processFiles } from '../utils/fileUpload'
import { CONVERSATION } from '../constants'
export default {
@@ -140,7 +139,7 @@ export default {
// Create a unique id for the upload operation
const uploadId = new Date().getTime()
// Uploads and shares the files
- processFiles(files, this.token, uploadId)
+ this.$store.dispatch('initialiseUpload', { files, token: this.token, uploadId })
},
setScrollStatus(payload) {
diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue
index 548740494..dad481a64 100644
--- a/src/components/NewMessageForm/NewMessageForm.vue
+++ b/src/components/NewMessageForm/NewMessageForm.vue
@@ -125,7 +125,6 @@ import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker'
import { EventBus } from '../../services/EventBus'
import { shareFile } from '../../services/filesSharingServices'
-import { processFiles } from '../../utils/fileUpload'
import { CONVERSATION } from '../../constants'
import createTemporaryMessage from '../../utils/temporaryMessage'
import EmoticonOutline from 'vue-material-design-icons/EmoticonOutline'
@@ -457,7 +456,7 @@ export default {
// Create a unique id for the upload operation
const uploadId = new Date().getTime()
// Uploads and shares the files
- await processFiles(files, this.token, uploadId, rename)
+ this.$store.dispatch('initialiseUpload', { files, token: this.token, uploadId, rename })
},
/**
diff --git a/src/components/UploadEditor.vue b/src/components/UploadEditor.vue
index 359e5dcb2..5a95d02eb 100644
--- a/src/components/UploadEditor.vue
+++ b/src/components/UploadEditor.vue
@@ -70,7 +70,6 @@
import Modal from '@nextcloud/vue/dist/Components/Modal'
import FilePreview from './MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue'
import Plus from 'vue-material-design-icons/Plus'
-import { processFiles } from '../utils/fileUpload'
export default {
name: 'UploadEditor',
@@ -138,7 +137,7 @@ export default {
handleFileInput(event) {
const files = Object.values(event.target.files)
- processFiles(files, this.token, this.currentUploadId)
+ this.$store.dispatch('initialiseUpload', { files, token: this.token, uploadId: this.currentUploadId })
},
handleRemoveFileFromSelection(id) {
diff --git a/src/store/fileUploadStore.js b/src/store/fileUploadStore.js
index ad182f3a0..315419598 100644
--- a/src/store/fileUploadStore.js
+++ b/src/store/fileUploadStore.js
@@ -24,7 +24,8 @@ import Vue from 'vue'
import client from '../services/DavClient'
import { showError } from '@nextcloud/dialogs'
import fromStateOr from './helper'
-import { findUniquePath } from '../utils/fileUpload'
+import { findUniquePath, getFileExtension } from '../utils/fileUpload'
+import moment from '@nextcloud/moment'
import createTemporaryMessage from '../utils/temporaryMessage'
import { EventBus } from '../services/EventBus'
import { shareFile } from '../services/filesSharingServices'
@@ -186,7 +187,23 @@ const mutations = {
const actions = {
- initialiseUpload({ commit, dispatch }, { uploadId, token, files }) {
+ /**
+ * Initialises uploads and shares files to a conversation
+ *
+ * @param {object} files the files to be processed
+ * @param {string} token the conversation's token where to share the files
+ * @param {number} uploadId a unique id for the upload operation indexing
+ * @param {bool} rename whether to rename the files (usually after pasting)
+ */
+ initialiseUpload({ commit, dispatch }, { uploadId, token, files, rename = false }) {
+ if (rename) {
+ files.forEach(file => {
+ // note: can't overwrite the original read-only name attribute
+ file.newName = moment(file.lastModified || file.lastModifiedDate).format('YYYYMMDD_HHmmss')
+ + getFileExtension(file.name)
+ })
+ }
+
// Set last upload id
commit('setCurrentUploadId', uploadId)
diff --git a/src/utils/fileUpload.js b/src/utils/fileUpload.js
index 90edd01ae..e07ea9f48 100644
--- a/src/utils/fileUpload.js
+++ b/src/utils/fileUpload.js
@@ -20,9 +20,6 @@
*
*/
-import store from '../store/index'
-import moment from '@nextcloud/moment'
-
/**
* Returns the file extension for the given path
*
@@ -71,27 +68,7 @@ const findUniquePath = async function(client, userRoot, path) {
}
}
-/**
- * Uploads and shares files to a conversation
- * @param {object} files the files to be processed
- * @param {string} token the conversation's token where to share the files
- * @param {number} uploadId a unique id for the upload operation indexing
- * @param {bool} rename whether to rename the files (usually after pasting)
- */
-const processFiles = async function(files, token, uploadId, rename) {
- if (rename) {
- files.forEach(file => {
- // note: can't overwrite the original read-only name attribute
- file.newName = moment(file.lastModified || file.lastModifiedDate).format('YYYYMMDD_HHmmss')
- + getFileExtension(file.name)
- })
- }
-
- // Process these files in the store
- await store.dispatch('initialiseUpload', { uploadId, token, files })
-}
-
export {
findUniquePath,
- processFiles,
+ getFileExtension,
}