vue-intergrall-plugins 1.0.31 → 1.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +208 -173
- package/dist/vue-intergrall-plugins.esm.js +225 -221
- package/dist/vue-intergrall-plugins.min.js +1 -1
- package/dist/vue-intergrall-plugins.ssr.js +202 -220
- package/package.json +2 -3
- package/src/lib-components/Chat/BtnEmojis.vue +9 -10
- package/src/lib-components/Chat/BtnFiles.vue +41 -103
- package/src/lib-components/Chat/ExpandTextarea.vue +26 -37
- package/src/lib-components/Chat/TextFooter.vue +5 -3
- package/src/lib-components/Email/EmailFrom.vue +4 -13
- package/src/lib-components/Email/EmailItem.vue +197 -74
- package/src/lib-components/Email/EmailTo.vue +0 -12
- package/src/lib-components/Messages/ChatMessages.vue +8 -6
- package/src/lib-components/Messages/InteratividadePopup.vue +10 -23
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-intergrall-plugins",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/vue-intergrall-plugins.ssr.js",
|
|
6
6
|
"browser": "dist/vue-intergrall-plugins.esm.js",
|
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
"core-js": "^3.18.1",
|
|
51
51
|
"postcss": "^8.3.8",
|
|
52
52
|
"vue": "^2.6.14",
|
|
53
|
-
"vue-clickaway": "^2.2.2",
|
|
54
53
|
"vue-select": "^3.13.0",
|
|
55
54
|
"vue-tippy": "^4.12.0",
|
|
56
55
|
"vue-toasted": "^1.1.28",
|
|
@@ -64,4 +63,4 @@
|
|
|
64
63
|
"kind-of": "^6.0.3",
|
|
65
64
|
"vue-sanitize": "^0.2.3"
|
|
66
65
|
}
|
|
67
|
-
}
|
|
66
|
+
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="emoji-text-container" v-
|
|
3
|
-
<div
|
|
4
|
-
class="emoji-text-btn"
|
|
5
|
-
@click="toggleEmojiSelection()"
|
|
6
|
-
v-text="String.fromCodePoint(0x1f61c)"
|
|
7
|
-
></div>
|
|
2
|
+
<div class="emoji-text-container" v-clickaway="away">
|
|
3
|
+
<div class="emoji-text-btn" @click="toggleEmojiSelection()" v-text="String.fromCodePoint(0x1f61c)"></div>
|
|
8
4
|
<transition name="show-y">
|
|
9
5
|
<Picker v-show="showEmojis" ref="sm-emoji-picker" @insert-emoji="insertEmoji" />
|
|
10
6
|
</transition>
|
|
@@ -13,11 +9,13 @@
|
|
|
13
9
|
|
|
14
10
|
<script>
|
|
15
11
|
import Picker from "./Picker";
|
|
16
|
-
import
|
|
12
|
+
import Clickaway from '@/directives/clickaway';
|
|
17
13
|
|
|
18
14
|
export default {
|
|
19
15
|
components: { Picker },
|
|
20
|
-
|
|
16
|
+
directives: {
|
|
17
|
+
clickaway: Clickaway
|
|
18
|
+
},
|
|
21
19
|
props: {
|
|
22
20
|
emojiId: {
|
|
23
21
|
type: String,
|
|
@@ -81,8 +79,8 @@ export default {
|
|
|
81
79
|
? this.$refs[refId].$el
|
|
82
80
|
: this.$refs[refId]
|
|
83
81
|
: this.$refs[refId]
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
? this.$refs[refId]
|
|
83
|
+
: false;
|
|
86
84
|
if (elem) {
|
|
87
85
|
elem.style.position = "absolute";
|
|
88
86
|
elem.style.top = `${this.top}px`;
|
|
@@ -112,6 +110,7 @@ export default {
|
|
|
112
110
|
.emoji-text-container {
|
|
113
111
|
position: relative;
|
|
114
112
|
}
|
|
113
|
+
|
|
115
114
|
.emoji-text-container .emoji-text-btn {
|
|
116
115
|
font-size: 19.2px;
|
|
117
116
|
cursor: pointer;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<span
|
|
3
|
-
|
|
4
|
-
:class="{ 'files-activated': openFiles || file.name }"
|
|
5
|
-
@click="openFilesByClip()"
|
|
6
|
-
>
|
|
2
|
+
<span class="text-footer-actions--btn" :class="{ 'files-activated': openFiles || file.name }"
|
|
3
|
+
@click="openFilesByClip()">
|
|
7
4
|
<!-- || file.length -->
|
|
8
5
|
<!-- <transition name="fade">
|
|
9
6
|
<span v-if="fileSize > 0" @click.stop="toggleFilePreview" v-tippy :content="`Visualizar ${fileSize} arquivo(s)`" class="files-counter">
|
|
@@ -12,19 +9,11 @@
|
|
|
12
9
|
</transition> -->
|
|
13
10
|
<fa-icon :icon="['fas', 'paperclip']" :title="dictionary.title_selecionar_anexo" />
|
|
14
11
|
<transition name="fade">
|
|
15
|
-
<span
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
!fileSettings.handleFilePreview
|
|
21
|
-
? dictionary.msg_abrir_anexos
|
|
22
|
-
: `${file.length} anexo(s) selecionado(s)`
|
|
23
|
-
"
|
|
24
|
-
:class="`${
|
|
25
|
-
fileSettings.filePreviewStyle == 2 ? 'files-counter-2' : 'files-counter'
|
|
26
|
-
}`"
|
|
27
|
-
>
|
|
12
|
+
<span v-if="fileSize > 0" @click.stop="toggleFilePreview" v-tippy :content="!fileSettings.handleFilePreview
|
|
13
|
+
? dictionary.msg_abrir_anexos
|
|
14
|
+
: `${file.length} anexo(s) selecionado(s)`
|
|
15
|
+
" :class="`${fileSettings.filePreviewStyle == 2 ? 'files-counter-2' : 'files-counter'
|
|
16
|
+
}`">
|
|
28
17
|
<template v-if="fileSettings.filePreviewStyle == 1">
|
|
29
18
|
{{ fileSize }}
|
|
30
19
|
</template>
|
|
@@ -34,103 +23,45 @@
|
|
|
34
23
|
</span>
|
|
35
24
|
</transition>
|
|
36
25
|
<transition name="show">
|
|
37
|
-
<div
|
|
38
|
-
|
|
39
|
-
class="text-footer-files-container"
|
|
40
|
-
:class="{ horizontal: cssStyle.outsideButtons }"
|
|
41
|
-
>
|
|
26
|
+
<div v-if="openFiles && hasButtonFiles" class="text-footer-files-container"
|
|
27
|
+
:class="{ horizontal: cssStyle.outsideButtons }">
|
|
42
28
|
<template v-if="!fileSettings.multiple">
|
|
43
|
-
<div
|
|
44
|
-
|
|
45
|
-
:class="{ 'margin-bottom': cssStyle.outsideButtons }"
|
|
46
|
-
:title="dictionary.title_anexo_img"
|
|
47
|
-
@click="openSelectFileHandler('img')"
|
|
48
|
-
>
|
|
29
|
+
<div class="files-btn images" :class="{ 'margin-bottom': cssStyle.outsideButtons }"
|
|
30
|
+
:title="dictionary.title_anexo_img" @click="openSelectFileHandler('img')">
|
|
49
31
|
<fa-icon :icon="['fas', 'image']" />
|
|
50
32
|
</div>
|
|
51
|
-
<div
|
|
52
|
-
class="files-btn docs"
|
|
53
|
-
:title="dictionary.title_anexo_doc"
|
|
54
|
-
@click="openSelectFileHandler('doc')"
|
|
55
|
-
>
|
|
33
|
+
<div class="files-btn docs" :title="dictionary.title_anexo_doc" @click="openSelectFileHandler('doc')">
|
|
56
34
|
<fa-icon :icon="['fas', 'file-alt']" />
|
|
57
35
|
</div>
|
|
58
36
|
</template>
|
|
59
|
-
<div
|
|
60
|
-
v-else
|
|
61
|
-
class="files-btn both"
|
|
62
|
-
:title="dictionary.title_anexo_arq"
|
|
63
|
-
@click="openSelectFileHandler('both')"
|
|
64
|
-
>
|
|
37
|
+
<div v-else class="files-btn both" :title="dictionary.title_anexo_arq" @click="openSelectFileHandler('both')">
|
|
65
38
|
<fa-icon :icon="['fas', 'image']" />
|
|
66
39
|
<fa-icon :icon="['fas', 'file-alt']" />
|
|
67
40
|
</div>
|
|
68
|
-
<div
|
|
69
|
-
|
|
70
|
-
class="files-btn system"
|
|
71
|
-
:title="dictionary.title_anexo_sistema"
|
|
72
|
-
@click="openSelectFileHandler('system')"
|
|
73
|
-
>
|
|
41
|
+
<div v-if="fileSettings.systemButton" class="files-btn system" :title="dictionary.title_anexo_sistema"
|
|
42
|
+
@click="openSelectFileHandler('system')">
|
|
74
43
|
<fa-icon :icon="['fas', 'server']" />
|
|
75
44
|
</div>
|
|
76
45
|
</div>
|
|
77
46
|
</transition>
|
|
78
47
|
<div class="files-pointers d-none">
|
|
79
|
-
<input
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
@change="fileUpload($event, 'both')"
|
|
86
|
-
/>
|
|
87
|
-
<input
|
|
88
|
-
v-if="!fileSettings.multiple"
|
|
89
|
-
type="file"
|
|
90
|
-
:id="`img-${textId}`"
|
|
91
|
-
:accept="acceptedExtensions"
|
|
92
|
-
@change="fileUpload($event, 'img')"
|
|
93
|
-
/>
|
|
94
|
-
<input
|
|
95
|
-
v-if="!fileSettings.multiple"
|
|
96
|
-
type="file"
|
|
97
|
-
:id="`doc-${textId}`"
|
|
98
|
-
:accept="acceptedExtensions"
|
|
99
|
-
@change="fileUpload($event, 'doc')"
|
|
100
|
-
/>
|
|
48
|
+
<input v-if="fileSettings.multiple" type="file" :id="`both-${textId}`" :accept="acceptedExtensions" multiple
|
|
49
|
+
@change="fileUpload($event, 'both')" />
|
|
50
|
+
<input v-if="!fileSettings.multiple" type="file" :id="`img-${textId}`" :accept="acceptedExtensions"
|
|
51
|
+
@change="fileUpload($event, 'img')" />
|
|
52
|
+
<input v-if="!fileSettings.multiple" type="file" :id="`doc-${textId}`" :accept="acceptedExtensions"
|
|
53
|
+
@change="fileUpload($event, 'doc')" />
|
|
101
54
|
</div>
|
|
102
55
|
<transition name="fade">
|
|
103
|
-
<div
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
:dictionary="dictionary"
|
|
113
|
-
:file="file"
|
|
114
|
-
:isDoc="isDoc"
|
|
115
|
-
:fileFormatError="fileFormatError"
|
|
116
|
-
:validFileFormats="validFileFormats"
|
|
117
|
-
:imagePreview="imagePreview"
|
|
118
|
-
:textId="textId"
|
|
119
|
-
@delete-file="deleteFile"
|
|
120
|
-
@open-image="openImage"
|
|
121
|
-
@close="away"
|
|
122
|
-
/>
|
|
123
|
-
<MultipleFilePreview
|
|
124
|
-
v-else-if="fileSettings.multiple && showFilePreview"
|
|
125
|
-
:dictionary="dictionary"
|
|
126
|
-
:file="file"
|
|
127
|
-
:fileFormatError="fileFormatError"
|
|
128
|
-
:validFileFormats="validFileFormats"
|
|
129
|
-
@delete-file="deleteFile"
|
|
130
|
-
@delete-specific-file="deleteSpecificFile"
|
|
131
|
-
@open-image="openImage"
|
|
132
|
-
@close="away"
|
|
133
|
-
/>
|
|
56
|
+
<div class="text-footer-preview-container" @click.stop v-show="showFilePreview" :class="[previewContainerClass]"
|
|
57
|
+
v-clickaway="away">
|
|
58
|
+
<SingleFilePreview v-if="!fileSettings.multiple && showFilePreview" :dictionary="dictionary" :file="file"
|
|
59
|
+
:isDoc="isDoc" :fileFormatError="fileFormatError" :validFileFormats="validFileFormats"
|
|
60
|
+
:imagePreview="imagePreview" :textId="textId" @delete-file="deleteFile" @open-image="openImage"
|
|
61
|
+
@close="away" />
|
|
62
|
+
<MultipleFilePreview v-else-if="fileSettings.multiple && showFilePreview" :dictionary="dictionary" :file="file"
|
|
63
|
+
:fileFormatError="fileFormatError" :validFileFormats="validFileFormats" @delete-file="deleteFile"
|
|
64
|
+
@delete-specific-file="deleteSpecificFile" @open-image="openImage" @close="away" />
|
|
134
65
|
</div>
|
|
135
66
|
</transition>
|
|
136
67
|
</span>
|
|
@@ -141,6 +72,7 @@
|
|
|
141
72
|
.fade-leave-active {
|
|
142
73
|
transition: opacity 0.3s;
|
|
143
74
|
}
|
|
75
|
+
|
|
144
76
|
.fade-enter,
|
|
145
77
|
.fade-leave-to {
|
|
146
78
|
opacity: 0;
|
|
@@ -165,9 +97,11 @@
|
|
|
165
97
|
color: #fff;
|
|
166
98
|
font-weight: 900;
|
|
167
99
|
}
|
|
100
|
+
|
|
168
101
|
.files-counter:hover {
|
|
169
102
|
opacity: 1;
|
|
170
103
|
}
|
|
104
|
+
|
|
171
105
|
.files-counter-2 {
|
|
172
106
|
transform: translate(-15px, 28px);
|
|
173
107
|
opacity: 0.9;
|
|
@@ -178,9 +112,11 @@
|
|
|
178
112
|
color: #888;
|
|
179
113
|
font-size: 12.8px;
|
|
180
114
|
}
|
|
115
|
+
|
|
181
116
|
.files-counter-2 svg {
|
|
182
117
|
margin-left: 5px;
|
|
183
118
|
}
|
|
119
|
+
|
|
184
120
|
.files-counter-2:hover {
|
|
185
121
|
opacity: 1;
|
|
186
122
|
text-decoration: underline;
|
|
@@ -188,13 +124,15 @@
|
|
|
188
124
|
</style>
|
|
189
125
|
|
|
190
126
|
<script>
|
|
191
|
-
import
|
|
127
|
+
import Clickaway from '@/directives/clickaway';
|
|
192
128
|
import MultipleFilePreview from "./MultipleFilePreview";
|
|
193
129
|
import SingleFilePreview from "./SingleFilePreview";
|
|
194
130
|
|
|
195
131
|
export default {
|
|
196
132
|
components: { SingleFilePreview, MultipleFilePreview },
|
|
197
|
-
|
|
133
|
+
directives: {
|
|
134
|
+
clickaway: Clickaway
|
|
135
|
+
},
|
|
198
136
|
props: {
|
|
199
137
|
textId: {
|
|
200
138
|
type: String,
|
|
@@ -449,8 +387,8 @@ export default {
|
|
|
449
387
|
this.validFileFormats = `Imagens: ${this.fileSettings.imagesExtensions
|
|
450
388
|
.split("|")
|
|
451
389
|
.join(", ")} - Documentos: ${this.fileSettings.docsExtensions
|
|
452
|
-
|
|
453
|
-
|
|
390
|
+
.split("|")
|
|
391
|
+
.join(", ")}`;
|
|
454
392
|
}
|
|
455
393
|
});
|
|
456
394
|
|
|
@@ -1,43 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="
|
|
4
|
-
|
|
5
|
-
@dragenter.prevent
|
|
6
|
-
@dragover.prevent
|
|
7
|
-
v-on-clickaway="away"
|
|
8
|
-
>
|
|
9
|
-
<fa-icon
|
|
10
|
-
:icon="['fas', 'times-circle']"
|
|
11
|
-
class="sc-icone-fechar sc-icone-fechar--externo"
|
|
12
|
-
@click="$emit('fechar-expand')"
|
|
13
|
-
/>
|
|
2
|
+
<div class="expand-textarea" @drop.stop="dropFile" @dragenter.prevent @dragover.prevent v-clickaway="away">
|
|
3
|
+
<fa-icon :icon="['fas', 'times-circle']" class="sc-icone-fechar sc-icone-fechar--externo"
|
|
4
|
+
@click="$emit('fechar-expand')" />
|
|
14
5
|
<div class="expand-textarea-content">
|
|
15
6
|
<h1 class="expand-textarea-title" v-text="textareaSettings.title"></h1>
|
|
16
|
-
<textarea
|
|
17
|
-
|
|
18
|
-
:placeholder="textareaSettings.placeholderMessage"
|
|
19
|
-
v-model="message"
|
|
20
|
-
@input="sendFinalMessage"
|
|
21
|
-
@paste="pasteImage"
|
|
22
|
-
>
|
|
7
|
+
<textarea :ref="identifier" :placeholder="textareaSettings.placeholderMessage" v-model="message"
|
|
8
|
+
@input="sendFinalMessage" @paste="pasteImage">
|
|
23
9
|
</textarea>
|
|
24
10
|
<div class="expand-textarea-footer">
|
|
25
|
-
<BtnEmojis
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
:
|
|
29
|
-
:left="false"
|
|
30
|
-
@insert-emoji="insertEmoji"
|
|
31
|
-
/>
|
|
32
|
-
<BtnFiles
|
|
33
|
-
v-if="buttons.hasFiles"
|
|
34
|
-
:textId="identifier"
|
|
35
|
-
:dictionary="dictionary"
|
|
36
|
-
:fileSettings="fileSettings"
|
|
37
|
-
:ref="`${identifier}-file`"
|
|
38
|
-
@set-file-vars="setFileVars"
|
|
39
|
-
@open-image="openImage"
|
|
40
|
-
/>
|
|
11
|
+
<BtnEmojis v-show="buttons.hasEmojis" :ref="`${identifier}-emojis`" :emojiId="`${identifier}-em`" :left="false"
|
|
12
|
+
@insert-emoji="insertEmoji" />
|
|
13
|
+
<BtnFiles v-if="buttons.hasFiles" :textId="identifier" :dictionary="dictionary" :fileSettings="fileSettings"
|
|
14
|
+
:ref="`${identifier}-file`" @set-file-vars="setFileVars" @open-image="openImage" />
|
|
41
15
|
<slot name="btn-1"></slot>
|
|
42
16
|
<slot name="btn-2"></slot>
|
|
43
17
|
<!-- "expand-textarea-button" -->
|
|
@@ -47,14 +21,16 @@
|
|
|
47
21
|
</template>
|
|
48
22
|
|
|
49
23
|
<script>
|
|
50
|
-
import
|
|
24
|
+
import Clickaway from '@/directives/clickaway';
|
|
51
25
|
import BtnEmojis from "./BtnEmojis";
|
|
52
26
|
import BtnFiles from "./BtnFiles";
|
|
53
27
|
import { returnMessageWithHexa } from "../../services/textFormatting";
|
|
54
28
|
|
|
55
29
|
export default {
|
|
56
30
|
components: { BtnEmojis, BtnFiles },
|
|
57
|
-
|
|
31
|
+
directives: {
|
|
32
|
+
clickaway: Clickaway
|
|
33
|
+
},
|
|
58
34
|
props: {
|
|
59
35
|
identifier: {
|
|
60
36
|
type: String,
|
|
@@ -313,6 +289,7 @@ export default {
|
|
|
313
289
|
top: -10px;
|
|
314
290
|
right: -10px;
|
|
315
291
|
}
|
|
292
|
+
|
|
316
293
|
.sc-icone-fechar.sc-icone-fechar--interno {
|
|
317
294
|
top: 10px;
|
|
318
295
|
right: 10px;
|
|
@@ -334,6 +311,7 @@ export default {
|
|
|
334
311
|
display: flex;
|
|
335
312
|
flex-direction: column;
|
|
336
313
|
}
|
|
314
|
+
|
|
337
315
|
.expand-textarea-title {
|
|
338
316
|
padding: 2.5px 8px;
|
|
339
317
|
min-height: 38px;
|
|
@@ -344,6 +322,7 @@ export default {
|
|
|
344
322
|
background-color: #222;
|
|
345
323
|
color: #fff;
|
|
346
324
|
}
|
|
325
|
+
|
|
347
326
|
.expand-textarea-content textarea {
|
|
348
327
|
padding: 10px;
|
|
349
328
|
flex: 1;
|
|
@@ -353,10 +332,12 @@ export default {
|
|
|
353
332
|
outline: none;
|
|
354
333
|
overflow-x: hidden;
|
|
355
334
|
}
|
|
335
|
+
|
|
356
336
|
.expand-textarea-content textarea:hover,
|
|
357
337
|
.expand-textarea-content textarea:active {
|
|
358
338
|
outline: none;
|
|
359
339
|
}
|
|
340
|
+
|
|
360
341
|
.expand-textarea-footer {
|
|
361
342
|
display: flex;
|
|
362
343
|
justify-content: flex-end;
|
|
@@ -365,6 +346,7 @@ export default {
|
|
|
365
346
|
background-color: #f7f7f7;
|
|
366
347
|
position: relative;
|
|
367
348
|
}
|
|
349
|
+
|
|
368
350
|
.expand-textarea-footer .text-footer-preview-container {
|
|
369
351
|
position: absolute;
|
|
370
352
|
top: -200px;
|
|
@@ -372,6 +354,7 @@ export default {
|
|
|
372
354
|
height: 200px;
|
|
373
355
|
background: #f7f7f7;
|
|
374
356
|
}
|
|
357
|
+
|
|
375
358
|
.expand-textarea-footer .text-footer-actions--btn {
|
|
376
359
|
width: 36px;
|
|
377
360
|
height: 36px;
|
|
@@ -388,6 +371,7 @@ export default {
|
|
|
388
371
|
opacity: 0.9;
|
|
389
372
|
transition: all 300ms;
|
|
390
373
|
}
|
|
374
|
+
|
|
391
375
|
.expand-textarea-footer .text-footer-actions--btn:hover {
|
|
392
376
|
opacity: 1;
|
|
393
377
|
background-color: rgba(30, 30, 30, 0.1);
|
|
@@ -411,18 +395,22 @@ export default {
|
|
|
411
395
|
border-radius: 2.5px;
|
|
412
396
|
position: relative;
|
|
413
397
|
}
|
|
398
|
+
|
|
414
399
|
.expand-textarea-button.green {
|
|
415
400
|
background-color: #2a963a;
|
|
416
401
|
color: #fff;
|
|
417
402
|
margin-right: 10px;
|
|
418
403
|
}
|
|
404
|
+
|
|
419
405
|
.expand-textarea-button.red {
|
|
420
406
|
background-color: #e74c3c;
|
|
421
407
|
color: #fff;
|
|
422
408
|
}
|
|
409
|
+
|
|
423
410
|
.expand-textarea-button:hover {
|
|
424
411
|
opacity: 1;
|
|
425
412
|
}
|
|
413
|
+
|
|
426
414
|
.expand-textarea-button:active {
|
|
427
415
|
opacity: 1;
|
|
428
416
|
box-shadow: inset 0 -1px rgba(0, 0, 0, 0.2);
|
|
@@ -432,6 +420,7 @@ export default {
|
|
|
432
420
|
-ms-transform: translateY(1px);
|
|
433
421
|
transform: translateY(1px);
|
|
434
422
|
}
|
|
423
|
+
|
|
435
424
|
.expand-textarea-button.carregando {
|
|
436
425
|
background-color: #777;
|
|
437
426
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="text-footer-container" :class="{ bigger: cssStyle.height }" v-
|
|
2
|
+
<div class="text-footer-container" :class="{ bigger: cssStyle.height }" v-clickaway="away" v-if="textId"
|
|
3
3
|
@drop.stop="dropFile" @dragenter.prevent @dragover.prevent>
|
|
4
4
|
<div class="text-footer" :class="cssStyle.width ? cssStyle.width : ''"
|
|
5
5
|
:style="`background-color: ${cssStyle.backgroundColor}`">
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
</template>
|
|
80
80
|
|
|
81
81
|
<script>
|
|
82
|
-
import
|
|
82
|
+
import Clickaway from '@/directives/clickaway';
|
|
83
83
|
import { resetTargets, setResizeListeners } from "../../services/autoResize";
|
|
84
84
|
import { returnMessageWithHexa } from "../../services/textFormatting";
|
|
85
85
|
|
|
@@ -107,7 +107,9 @@ export default {
|
|
|
107
107
|
BtnScreenShare,
|
|
108
108
|
BtnDownloadAllFiles,
|
|
109
109
|
},
|
|
110
|
-
|
|
110
|
+
directives: {
|
|
111
|
+
clickaway: Clickaway
|
|
112
|
+
},
|
|
111
113
|
props: {
|
|
112
114
|
buttons: {
|
|
113
115
|
type: Object,
|
|
@@ -2,15 +2,13 @@
|
|
|
2
2
|
<div class="email-from">
|
|
3
3
|
<p class="from" v-if="currentName" v-text="currentName" :title="currentName"></p>
|
|
4
4
|
<div v-if="showMail" class="additional-container">
|
|
5
|
-
<span class="additional" v-text="
|
|
5
|
+
<span class="additional" v-text="`${mail}`" :title="mail"></span>
|
|
6
6
|
</div>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<style scoped>
|
|
11
11
|
.email-from {
|
|
12
|
-
width: 100%;
|
|
13
|
-
flex: 1;
|
|
14
12
|
display: flex;
|
|
15
13
|
align-items: center;
|
|
16
14
|
}
|
|
@@ -19,6 +17,8 @@
|
|
|
19
17
|
font-size: .75rem;
|
|
20
18
|
font-weight: bold;
|
|
21
19
|
white-space: nowrap;
|
|
20
|
+
text-overflow: ellipsis;
|
|
21
|
+
overflow: hidden;
|
|
22
22
|
margin: 0;
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
margin-left: 5px;
|
|
35
35
|
font-size: .75rem;
|
|
36
36
|
color: gray;
|
|
37
|
+
text-overflow: ellipsis;
|
|
37
38
|
}
|
|
38
39
|
</style>
|
|
39
40
|
|
|
@@ -54,16 +55,6 @@ export default {
|
|
|
54
55
|
type: Boolean,
|
|
55
56
|
required: false,
|
|
56
57
|
default: true
|
|
57
|
-
},
|
|
58
|
-
isLastIndex: {
|
|
59
|
-
type: Boolean,
|
|
60
|
-
required: false,
|
|
61
|
-
default: false
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
computed: {
|
|
65
|
-
filteredName() {
|
|
66
|
-
return !this.isLastIndex ? `${this.currentName}, ` : this.currentName
|
|
67
58
|
}
|
|
68
59
|
}
|
|
69
60
|
}
|