fix: Filename issue while editing a macro with attachment action (#5775)

This commit is contained in:
Fayaz Ahmed
2022-11-01 16:20:09 +05:30
committed by GitHub
parent f8d9a27d7a
commit be516a5ea6
7 changed files with 78 additions and 3 deletions

View File

@@ -3,6 +3,7 @@
<div class="small-8 columns with-right-space macros-canvas">
<macro-nodes
v-model="macro.actions"
:files="files"
@addNewNode="appendNode"
@deleteNode="deleteNode"
@resetAction="resetNode"
@@ -46,6 +47,12 @@ export default {
macro: this.macroData,
};
},
computed: {
files() {
if (this.macro && this.macro.files) return this.macro.files;
return [];
},
},
watch: {
$route: {
handler() {

View File

@@ -20,6 +20,7 @@
:show-remove-button="false"
:is-macro="true"
:v="$v.macro.actions.$each[index]"
:initial-file-name="fileName"
@resetAction="$emit('resetAction')"
/>
<macro-action-button
@@ -60,6 +61,10 @@ export default {
type: Number,
default: 0,
},
fileName: {
type: String,
default: '',
},
},
computed: {
...mapGetters({

View File

@@ -15,6 +15,13 @@
class="macros__node-action"
type="add"
:index="i"
:file-name="
fileName(
actionData[i].action_params[0],
actionData[i].action_name,
files
)
"
:single-node="actionData.length === 1"
@resetAction="$emit('resetAction', i)"
@deleteNode="$emit('deleteNode', i)"
@@ -37,7 +44,7 @@ import MacrosPill from './Pill.vue';
import Draggable from 'vuedraggable';
import MacroNode from './MacroNode.vue';
import MacroActionButton from './ActionButton.vue';
import { getFileName } from './macroHelper';
export default {
components: {
Draggable,
@@ -50,6 +57,10 @@ export default {
type: Array,
default: () => [],
},
files: {
type: Array,
default: () => [],
},
},
computed: {
actionData: {
@@ -61,6 +72,11 @@ export default {
},
},
},
methods: {
fileName() {
return getFileName(...arguments);
},
},
};
</script>

View File

@@ -31,3 +31,12 @@ export const resolveLabels = (labels, ids) => {
})
.join(', ');
};
export const getFileName = (id, actionType, files) => {
if (!id || !files) return '';
if (actionType === 'send_attachment') {
const file = files.find(item => item.blob_id === id);
if (file) return file.filename.toString();
}
return '';
};