Skip to content

Commit bfa2152

Browse files
authored
Merge pull request #1 from mattmezza/arabakevin-add_confirmation_when_we_remove_a_message
Removed extra panel in favor of standard confirm.
2 parents 1964b76 + a7a219b commit bfa2152

File tree

2 files changed

+21
-35
lines changed

2 files changed

+21
-35
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Vue.use(Chat)
5757
:showFile="true"
5858
:showEdition="true"
5959
:showDeletion="true"
60-
:showConfirmationDeletion="true"
60+
:deletionConfirmation="true"
6161
:showTypingIndicator="showTypingIndicator"
6262
:showLauncher="true"
6363
:showCloseButton="true"

src/messages/TextMessage.vue

Lines changed: 20 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="sc-message--text" :class="{'confirm-delete' : confirmDeletion}" :style="messageColors">
2+
<div class="sc-message--text" :style="messageColors">
33
<template>
44
<div class="sc-message--toolbox" :style="{background: messageColors.backgroundColor}">
55
<button v-if="showEdition && me && message.id" @click="edit" :disabled="isEditing">
@@ -8,28 +8,11 @@
88
</IconBase>
99
</button>
1010
<div v-if="showDeletion">
11-
<div v-if="showConfirmationDeletion">
12-
<div v-if="confirmDeletion"> <!-- is used only when you display the message before deleting message -->
13-
<div class="message-deletion-confirmation" @mouseleave="refuseDelete">
14-
<span>Confirm?</span>
15-
<a :style="{color: messageColors.color}" href="javascript:void(0);" @click="$emit('remove')">Yes</a>
16-
</div>
17-
</div>
18-
<div v-else>
19-
<button v-if="me && message.id" @click="clickOnDelete">
20-
<IconBase :style="{color: messageColors.color}" width="10" icon-name="remove">
21-
<IconCross />
22-
</IconBase>
23-
</button>
24-
</div>
25-
</div>
26-
<div v-else>
27-
<button v-if="showDeletion && me && message.id != null && message.id != undefined" @click="$emit('remove')">
28-
<IconBase :color="messageColors.color" width="10" icon-name="remove">
29-
<IconCross />
30-
</IconBase>
31-
</button>
32-
</div>
11+
<button v-if="me && message.id != null && message.id != undefined" @click="ifelse(showConfirmationDeletion, withConfirm('Do you really want to delete the message?', () => $emit('remove')), () => $emit('remove'))()">
12+
<IconBase :color="messageColors.color" width="10" icon-name="remove">
13+
<IconCross />
14+
</IconBase>
15+
</button>
3316
</div>
3417
<slot name="text-message-toolbox" :message="message" :me="me"> </slot>
3518
</div>
@@ -61,7 +44,6 @@ const fmt = require('msgdown')
6144
export default {
6245
data() {
6346
return {
64-
confirmDeletion: false,
6547
store
6648
}
6749
},
@@ -89,7 +71,7 @@ export default {
8971
showConfirmationDeletion: {
9072
type: Boolean,
9173
required: true
92-
}
74+
},
9375
},
9476
computed: {
9577
messageText() {
@@ -111,17 +93,25 @@ export default {
11193
edit() {
11294
this.store.editMessage = this.message
11395
},
114-
clickOnDelete() {
115-
this.confirmDeletion = true
96+
ifelse(cond, funcIf, funcElse) {
97+
return () => {
98+
if (funcIf && cond) funcIf()
99+
else if (funcElse) funcElse()
100+
}
116101
},
117-
refuseDelete() {
118-
this.confirmDeletion = false
102+
withConfirm(msg, func) {
103+
return () => {
104+
if (confirm(msg)) {
105+
console.log(func)
106+
func()
107+
}
108+
}
119109
},
120110
},
121111
components:{
122112
IconBase,
123113
IconCross,
124-
IconEdit
114+
IconEdit,
125115
}
126116
}
127117
</script>
@@ -130,8 +120,4 @@ export default {
130120
a.chatLink {
131121
color: inherit !important;
132122
}
133-
.message-deletion-confirmation {
134-
padding: 0px 10px;
135-
136-
}
137123
</style>

0 commit comments

Comments
 (0)