vue-intergrall-plugins 0.0.282 → 0.0.283

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.
@@ -12355,6 +12355,7 @@ var script$5 = {
12355
12355
  created: function created() {
12356
12356
  if (!this.$root.$refs.chatMessages) this.$root.$refs.chatMessages = this;
12357
12357
  },
12358
+ mixins: [mixin_1],
12358
12359
  data: function data() {
12359
12360
  return {
12360
12361
  strTooltipAux: "",
@@ -12383,7 +12384,9 @@ var script$5 = {
12383
12384
  rotateControl: false,
12384
12385
  fullscreenControl: false,
12385
12386
  disableDefaultUI: false
12386
- }
12387
+ },
12388
+ isMenuOpen: false,
12389
+ showMenuOptions: false
12387
12390
  };
12388
12391
  },
12389
12392
  computed: {
@@ -12438,6 +12441,33 @@ var script$5 = {
12438
12441
  this.validadeUrlToMsg();
12439
12442
  },
12440
12443
  methods: {
12444
+ closeMenu: function closeMenu() {
12445
+ this.isMenuOpen = false;
12446
+ },
12447
+ toggleIsMenuOpen: function toggleIsMenuOpen() {
12448
+ this.isMenuOpen = !this.isMenuOpen;
12449
+ },
12450
+ responderMensagemHandler: function responderMensagemHandler() {
12451
+ if (this.isMenuOpen) this.closeMenu();
12452
+ this.$emit('responder-mensagem', {
12453
+ messageIndex: this.messageIndex,
12454
+ autor: this.autor,
12455
+ origem: this.origem,
12456
+ msg: this.msg,
12457
+ anexo: this.anexo,
12458
+ imgAnexo: this.imgAnexo,
12459
+ tipoDoc: this.tipoDoc,
12460
+ docAnexo: this.docAnexo,
12461
+ nomeArquivo: this.nomeArquivo,
12462
+ audio: this.audio,
12463
+ video: this.video,
12464
+ seq: this.seq,
12465
+ mapa: this.mapa,
12466
+ anexos: this.anexos,
12467
+ interatividade: this.interatividade,
12468
+ referenceSelector: this.referenceSelector
12469
+ });
12470
+ },
12441
12471
  validateInterativity: function validateInterativity() {
12442
12472
  try {
12443
12473
  if (this.interatividade && this.interatividade.formulario && this.interatividade.formulario.length || this.interatividade.list && this.interatividade.tipo == 'listItem') {
@@ -12889,7 +12919,60 @@ var __vue_render__$5 = function __vue_render__() {
12889
12919
  domProps: {
12890
12920
  "innerHTML": _vm._s(_vm.autor)
12891
12921
  }
12892
- })], 2)], 1) : _vm._e();
12922
+ }), _vm._v(" "), _c('div', {
12923
+ staticClass: "menu-primario",
12924
+ class: _vm.origem
12925
+ }, [_c('span', {
12926
+ directives: [{
12927
+ name: "tippy",
12928
+ rawName: "v-tippy"
12929
+ }],
12930
+ staticClass: "menu-mensagem",
12931
+ attrs: {
12932
+ "content": "Mais"
12933
+ },
12934
+ on: {
12935
+ "click": _vm.toggleIsMenuOpen
12936
+ }
12937
+ }, [_c('fa-icon', {
12938
+ attrs: {
12939
+ "icon": ['fas', 'chevron-down']
12940
+ }
12941
+ })], 1), _vm._v(" "), _c('span', {
12942
+ directives: [{
12943
+ name: "tippy",
12944
+ rawName: "v-tippy"
12945
+ }],
12946
+ staticClass: "menu-mensagem",
12947
+ attrs: {
12948
+ "content": _vm.dictionary.tit_responder_msg
12949
+ },
12950
+ on: {
12951
+ "click": _vm.responderMensagemHandler
12952
+ }
12953
+ }, [_c('fa-icon', {
12954
+ attrs: {
12955
+ "icon": ['fas', 'reply']
12956
+ }
12957
+ })], 1)]), _vm._v(" "), _vm.isMenuOpen ? _c('transition', {
12958
+ attrs: {
12959
+ "name": "fade",
12960
+ "mode": "out-in"
12961
+ }
12962
+ }, [_c('ul', {
12963
+ directives: [{
12964
+ name: "on-clickaway",
12965
+ rawName: "v-on-clickaway",
12966
+ value: _vm.closeMenu,
12967
+ expression: "closeMenu"
12968
+ }],
12969
+ staticClass: "menu-flutuante",
12970
+ class: _vm.origem
12971
+ }, [_c('li', {
12972
+ on: {
12973
+ "click": _vm.responderMensagemHandler
12974
+ }
12975
+ }, [_c('span', [_vm._v(" " + _vm._s(_vm.dictionary.tit_responder_msg) + " ")])])])]) : _vm._e()], 2)], 1) : _vm._e();
12893
12976
  };
12894
12977
 
12895
12978
  var __vue_staticRenderFns__$5 = [];
@@ -12897,8 +12980,8 @@ var __vue_staticRenderFns__$5 = [];
12897
12980
 
12898
12981
  var __vue_inject_styles__$5 = function __vue_inject_styles__(inject) {
12899
12982
  if (!inject) return;
12900
- inject("data-v-46fa6d7c_0", {
12901
- source: ":root{--message-color:#373737;--text-color:#FFF;--files-bg:rgba(255, 255, 255, 0.1);--files-bg-hover:rgba(255, 255, 255, 0.1);--light:80;--threshold:60}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.mensagem-reply{padding:5px 10px;font-size:.75rem;color:#666;transition:background-color 150ms ease-in-out;border-radius:5px;margin:5px 0;overflow:hidden;max-width:100%}.mensagem-reply p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-reply-principal{border-left:3px solid transparent;background-color:rgba(100,100,100,.1)}.message-reply-principal:hover{background-color:rgba(100,100,100,.2)}.message-reply-outros{background-color:#f5f5f5;border-left:3px solid var(--message-color)}.message-reply-outros:hover{background-color:#ebebeb}.mensagem-reply-vazia{display:flex;align-items:center}.mensagem-reply-vazia svg{margin-right:5px;color:#ba181b}.mensagem{padding:14px 7px;border-radius:5px;min-width:150px;min-height:60px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;max-width:80%;margin-bottom:10px;font-size:.75rem;word-break:break-word;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-moz-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mensagem.max-w-60{max-width:60%}.mensagem.mapa{width:100%}.mensagem.hist-msg{animation:show 1s}.mensagem a{margin-right:5px;font-weight:550;color:inherit;text-decoration:none}.mensagem a:hover{text-decoration:underline}.message p{white-space:pre-wrap}.mensagem-anexo a,.mensagem-div-mapa a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reply{cursor:pointer;position:absolute;right:53px;bottom:5px;font-size:.6rem;color:#67a332;width:.9rem;height:.9rem;display:flex;justify-content:center;align-items:center;border-radius:50%;background-color:#fff}.reply svg{margin-top:-1px;margin-right:-1px}.reply-with-2-icons{right:30px}.check{cursor:pointer;position:absolute;right:10px;bottom:2px;font-size:.7rem}.check.visualizado,.check.visualizado svg{color:#006daa}.check.verde,.check.verde svg{color:#4f772d}.check.vermelho,.check.vermelho svg{color:#ba181b}.check.cinza,.check.cinza svg{color:#999}.check.preto,.check.preto svg{color:#666}.star{cursor:pointer;position:absolute;right:30px;bottom:2px;font-size:.4rem;width:11.2px}.default-stick-size{width:180px;height:auto}.horario-envio{margin-right:15px;font-size:.7rem;position:absolute;left:10px;bottom:2px}.autor-mensagem{position:absolute;font-size:.6rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:90%;font-weight:700;top:2px}.mensagem__principal{width:100%;display:flex;justify-content:flex-end}.mensagem__principal>.mensagem::after{content:\"\";width:0;height:0;position:absolute;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--message-color);bottom:5px;right:-10px;transform:rotate(-90deg)}.mensagem__principal>.mensagem{background-color:var(--message-color);color:var(--text-color)}.mensagem__principal>.mensagem .horario-envio{color:var(--text-color)}.mensagem__principal>.mensagem .autor-mensagem{right:5px;color:var(--text-color)}.mensagem__outros{width:100%;display:flex}.mensagem__outros>.mensagem{background-color:#fff;color:#333}.mensagem__outros>.mensagem::after{content:\"\";width:0;height:0;position:absolute;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #fff;bottom:5px;left:-10px;transform:rotate(90deg)}.mensagem__outros>.autor-mensagem{left:5px;color:#333}.mensagem-div-mapa{width:100%;display:flex;justify-content:center;align-items:center;flex-direction:column;margin-bottom:5px}.msg-mapa{width:100%;min-height:225px;height:100%;box-sizing:initial}.msg-mapa img{max-width:none!important}.info-mapa{list-style-type:none}.info-mapa li.title{font-size:.85em}.info-mapa li.address,.info-mapa li.url{font-size:.85em}.info-mapa li.url{font-size:.85em}.tooltip-list{margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}",
12983
+ inject("data-v-08bbf94d_0", {
12984
+ source: ":root{--message-color:#373737;--text-color:#FFF;--files-bg:rgba(255, 255, 255, 0.1);--files-bg-hover:rgba(255, 255, 255, 0.1);--light:80;--threshold:60}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.mensagem-reply{padding:5px 10px;font-size:.75rem;color:#666;transition:background-color 150ms ease-in-out;border-radius:5px;margin:5px 0;overflow:hidden;max-width:100%}.mensagem-reply p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-reply-principal{border-left:3px solid transparent;background-color:rgba(100,100,100,.1)}.message-reply-principal:hover{background-color:rgba(100,100,100,.2)}.message-reply-outros{background-color:#f5f5f5;border-left:3px solid var(--message-color)}.message-reply-outros:hover{background-color:#ebebeb}.mensagem-reply-vazia{display:flex;align-items:center}.mensagem-reply-vazia svg{margin-right:5px;color:#ba181b}.mensagem{padding:14px 7px;border-radius:5px;min-width:150px;min-height:60px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;max-width:80%;margin-bottom:10px;font-size:.75rem;word-break:break-word;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-moz-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mensagem.max-w-60{max-width:60%}.mensagem.mapa{width:100%}.mensagem.hist-msg{animation:show 1s}.mensagem a{margin-right:5px;font-weight:550;color:inherit;text-decoration:none}.mensagem a:hover{text-decoration:underline}.message p{white-space:pre-wrap}.mensagem:hover .menu-primario{visibility:visible;opacity:1}.mensagem-anexo a,.mensagem-div-mapa a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reply{cursor:pointer;position:absolute;right:53px;bottom:5px;font-size:.6rem;color:#67a332;width:.9rem;height:.9rem;display:flex;justify-content:center;align-items:center;border-radius:50%;background-color:#fff}.reply svg{margin-top:-1px;margin-right:-1px}.reply-with-2-icons{right:30px}.check{cursor:pointer;position:absolute;right:10px;bottom:2px;font-size:.7rem}.check.visualizado,.check.visualizado svg{color:#006daa}.check.verde,.check.verde svg{color:#4f772d}.check.vermelho,.check.vermelho svg{color:#ba181b}.check.cinza,.check.cinza svg{color:#999}.check.preto,.check.preto svg{color:#666}.star{cursor:pointer;position:absolute;right:30px;bottom:2px;font-size:.4rem;width:11.2px}.default-stick-size{width:180px;height:auto}.horario-envio{margin-right:15px;font-size:.7rem;position:absolute;left:10px;bottom:2px}.autor-mensagem{position:absolute;font-size:.6rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:90%;font-weight:700;top:2px}.menu-primario{visibility:hidden;opacity:0;transition:opacity 150ms ease-in-out;position:absolute;font-size:.7rem;top:4px;display:flex;gap:5px}.menu-primario.principal{left:4px;color:var(--text-color)}.menu-primario.outros{right:4px;color:var(--text-color)}.menu-primario.outros>span:nth-child(1){order:10}.menu-mensagem{cursor:pointer;padding:1px}.menu-flutuante{background-color:#fff;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-moz-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-radius:10px;position:absolute;top:20px;width:200px;min-height:100px;height:100px;max-height:100px;overflow-x:hidden;overflow-y:auto;margin:0;padding:0;display:flex;flex-direction:column}.menu-flutuante.principal{left:3px}.menu-flutuante.outros{right:3px}.menu-flutuante li{transition:background-color .3s ease-in-out;width:100%;cursor:pointer;padding:5px 10px;display:flex;align-items:center}.menu-flutuante li:hover{background-color:#e9e9e9}.mensagem__principal{width:100%;display:flex;justify-content:flex-end}.mensagem__principal>.mensagem::after{content:\"\";width:0;height:0;position:absolute;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--message-color);bottom:5px;right:-10px;transform:rotate(-90deg)}.mensagem__principal>.mensagem{background-color:var(--message-color);color:var(--text-color)}.mensagem__principal>.mensagem .horario-envio{color:var(--text-color)}.mensagem__principal>.mensagem .autor-mensagem{right:5px;color:var(--text-color)}.mensagem__outros{width:100%;display:flex}.mensagem__outros>.mensagem{background-color:#fff;color:#333}.mensagem__outros>.mensagem::after{content:\"\";width:0;height:0;position:absolute;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #fff;bottom:5px;left:-10px;transform:rotate(90deg)}.mensagem__outros>.autor-mensagem{left:5px;color:#333}.mensagem-div-mapa{width:100%;display:flex;justify-content:center;align-items:center;flex-direction:column;margin-bottom:5px}.msg-mapa{width:100%;min-height:225px;height:100%;box-sizing:initial}.msg-mapa img{max-width:none!important}.info-mapa{list-style-type:none}.info-mapa li.title{font-size:.85em}.info-mapa li.address,.info-mapa li.url{font-size:.85em}.info-mapa li.url{font-size:.85em}.tooltip-list{margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}",
12902
12985
  map: undefined,
12903
12986
  media: undefined
12904
12987
  });
@@ -12909,7 +12992,7 @@ var __vue_inject_styles__$5 = function __vue_inject_styles__(inject) {
12909
12992
  var __vue_scope_id__$5 = undefined;
12910
12993
  /* module identifier */
12911
12994
 
12912
- var __vue_module_identifier__$5 = "data-v-46fa6d7c";
12995
+ var __vue_module_identifier__$5 = "data-v-08bbf94d";
12913
12996
  /* functional template */
12914
12997
 
12915
12998
  var __vue_is_functional_template__$5 = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-intergrall-plugins",
3
- "version": "0.0.282",
3
+ "version": "0.0.283",
4
4
  "description": "",
5
5
  "main": "dist/vue-intergrall-plugins.ssr.js",
6
6
  "browser": "dist/vue-intergrall-plugins.esm.js",
@@ -1,5 +1,7 @@
1
1
  <template>
2
- <div :class="'mensagem__'+origem" v-if="origem && !erro" :id="`a${messageIndex ? messageIndex : randomizeValue}`">
2
+ <div
3
+ :class="'mensagem__'+origem" v-if="origem && !erro" :id="`a${messageIndex ? messageIndex : randomizeValue}`"
4
+ >
3
5
  <InteratividadeFormulario
4
6
  v-if="interatividade && validateInterativity()"
5
7
  :interatividade="interatividade"
@@ -8,7 +10,12 @@
8
10
  :anexos="anexos"
9
11
  :dictionary="dictionary"
10
12
  />
11
- <div v-else class="mensagem" :class="{mapa, 'hist-msg' : histMsg, 'max-w-60' : link && !mapa}">
13
+ <div
14
+ v-else
15
+ class="mensagem"
16
+ :class="{mapa, 'hist-msg' : histMsg, 'max-w-60' : link && !mapa}"
17
+ >
18
+ <!-- Estilo da mensagem do tipo reply (que foi respondida) -->
12
19
  <div v-if="isReply && replyMessage" class="mensagem-reply" :class="`message-reply-${origem}`">
13
20
  <p v-if="replyMessage" v-html="replyMessage"></p>
14
21
  <span v-else class="mensagem-reply-vazia">
@@ -16,12 +23,15 @@
16
23
  {{ defaultReplyMessage ? defaultReplyMessage : dictionary.mensagem_reply_padrao }}
17
24
  </span>
18
25
  </div>
26
+ <!-- Anexos -->
19
27
  <template v-if="anexos && anexos.length">
20
28
  <div class="mensagem-anexo" v-for="(anexo, index) in anexos" :key="index">
21
29
  <AnexoMensagem :showControlFiles="showControlFiles" :referenceSelector="referenceSelector" :dictionary="dictionary" :anexo="anexo" :origemExterna="origemExterna" :dominio="dominio" @abrir-imagem="abrirImagem" @download-all="$emit('download-all')"/>
22
30
  </div>
23
31
  </template>
32
+ <!-- sticker -->
24
33
  <img class="default-stick-size" v-if="urlSticker" :src="urlSticker" :title="urlFileName">
34
+ <!-- Mapa -->
25
35
  <div v-if="mapa" class="mensagem-div-mapa">
26
36
  <GmapMap
27
37
  :id="`mapa_${seq}`"
@@ -39,16 +49,22 @@
39
49
  </li>
40
50
  </ul>
41
51
  </div>
52
+ <!-- Preview do link -->
42
53
  <LinkPreview v-if="link && !mapa && status != 'O'" :message="message" />
54
+ <!-- Mensagem -->
43
55
  <p v-html="validateInterativity() ? '' : formatMsg(message)"></p>
56
+ <!-- Botoes da interatividade -->
44
57
  <InteratividadeBotoes
45
58
  v-if="interatividade"
46
59
  :interatividade="interatividade"
47
60
  />
61
+ <!-- Horario da mensagem -->
48
62
  <span class="horario-envio" v-text="horario"></span>
63
+ <!-- Reenviar mensagem -->
49
64
  <transition name="fade" mode="out-in">
50
65
  <span :class="reply" v-if="hasReply && (status == 'C' || status == 'T' || status == 'ERRO')" v-tippy :content="msgReply ? msgReply : 'Fazer reenvio da mensagem'" @click="$emit('replyMsg')"> <fa-icon :icon="['fas', 'reply']" /> </span>
51
66
  </transition>
67
+ <!-- ?? -->
52
68
  <transition name="fade" mode="out-in" v-if="validadeSeq">
53
69
  <span class="star dourado" v-if="iniDialogo > 0" :content="contentTooltipStar" v-tippy key="star-padrao-dourado">
54
70
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
@@ -61,6 +77,7 @@
61
77
  </svg>
62
78
  </span>
63
79
  </transition>
80
+ <!-- Status da mensagem -->
64
81
  <transition name="fade" mode="out-in">
65
82
  <span class="check" v-if="status == 'D'" :content="contentTooltip" v-tippy key="check-padrao"> <fa-icon :icon="['fas', 'check']" /> </span>
66
83
  <span class="check cinza" v-else-if="status == 'Q'" :content="contentTooltip" v-tippy key="check-cinza"> <fa-icon :icon="['fas', 'check']" /> </span>
@@ -71,8 +88,24 @@
71
88
  <span class="check vermelho" v-else-if="status == 'T'" :content="contentTooltip" v-tippy key="hourglass"> <fa-icon :icon="['fas', 'hourglass']" /> </span> <!-- Status finalizador -->
72
89
  <span class="check vermelho" v-else-if="status == 'O'" :content="contentTooltip" v-tippy key="deleted"> <fa-icon :icon="['fas', 'times']" /> </span> <!-- Status de mensagem deletada -->
73
90
  </transition>
74
-
91
+ <!-- Autor da mensagem -->
75
92
  <span class="autor-mensagem" v-html="autor"></span>
93
+ <!-- Menu de opcoes da mensagem -->
94
+ <div class="menu-primario" :class="origem">
95
+ <span class="menu-mensagem" @click="toggleIsMenuOpen" v-tippy content="Mais">
96
+ <fa-icon :icon="['fas', 'chevron-down']" />
97
+ </span>
98
+ <span class="menu-mensagem" @click="responderMensagemHandler" v-tippy :content="dictionary.tit_responder_msg">
99
+ <fa-icon :icon="['fas', 'reply']" />
100
+ </span>
101
+ </div>
102
+ <transition name="fade" mode="out-in" v-if="isMenuOpen">
103
+ <ul class="menu-flutuante" :class="origem" v-on-clickaway="closeMenu">
104
+ <li @click="responderMensagemHandler">
105
+ <span> {{ dictionary.tit_responder_msg }} </span>
106
+ </li>
107
+ </ul>
108
+ </transition>
76
109
  </div>
77
110
  </div>
78
111
  </template>
@@ -83,6 +116,7 @@ import InteratividadeBotoes from "./InteratividadeBotoes"
83
116
  import InteratividadeFormulario from "./InteratividadeFormulario"
84
117
  import { formataTimezoneData } from "../../services/textFormatting"
85
118
  import LinkPreview from './LinkPreview'
119
+ import { mixin as clickaway } from 'vue-clickaway'
86
120
 
87
121
  export default {
88
122
  components: { AnexoMensagem, InteratividadeBotoes, InteratividadeFormulario, LinkPreview },
@@ -90,6 +124,7 @@ export default {
90
124
  created() {
91
125
  if(!this.$root.$refs.chatMessages) this.$root.$refs.chatMessages = this
92
126
  },
127
+ mixins: [clickaway],
93
128
  data(){
94
129
  return{
95
130
  strTooltipAux: "",
@@ -110,7 +145,9 @@ export default {
110
145
  rotateControl: false,
111
146
  fullscreenControl: false,
112
147
  disableDefaultUI: false
113
- }
148
+ },
149
+ isMenuOpen: false,
150
+ showMenuOptions: false
114
151
  }
115
152
  },
116
153
  computed: {
@@ -164,6 +201,33 @@ export default {
164
201
  this.validadeUrlToMsg()
165
202
  },
166
203
  methods: {
204
+ closeMenu() {
205
+ this.isMenuOpen = false
206
+ },
207
+ toggleIsMenuOpen() {
208
+ this.isMenuOpen = !this.isMenuOpen
209
+ },
210
+ responderMensagemHandler() {
211
+ if(this.isMenuOpen) this.closeMenu()
212
+ this.$emit('responder-mensagem', {
213
+ messageIndex: this.messageIndex,
214
+ autor: this.autor,
215
+ origem: this.origem,
216
+ msg: this.msg,
217
+ anexo: this.anexo,
218
+ imgAnexo: this.imgAnexo,
219
+ tipoDoc: this.tipoDoc,
220
+ docAnexo: this.docAnexo,
221
+ nomeArquivo: this.nomeArquivo,
222
+ audio: this.audio,
223
+ video: this.video,
224
+ seq: this.seq,
225
+ mapa: this.mapa,
226
+ anexos: this.anexos,
227
+ interatividade: this.interatividade,
228
+ referenceSelector: this.referenceSelector,
229
+ })
230
+ },
167
231
  validateInterativity(){
168
232
  try {
169
233
  if(this.interatividade && (this.interatividade.formulario && this.interatividade.formulario.length) || (this.interatividade.list && this.interatividade.tipo == 'listItem')){
@@ -388,6 +452,10 @@ export default {
388
452
  .message p {
389
453
  white-space: pre-wrap;
390
454
  }
455
+ .mensagem:hover .menu-primario {
456
+ visibility: visible;
457
+ opacity: 1;
458
+ }
391
459
 
392
460
  .mensagem-anexo a, .mensagem-div-mapa a {
393
461
  white-space: nowrap;
@@ -470,6 +538,76 @@ export default {
470
538
  font-weight: bold;
471
539
  top: 2px;
472
540
  }
541
+
542
+ .menu-primario {
543
+ visibility: hidden;
544
+ opacity: 0;
545
+ transition: opacity 150ms ease-in-out;
546
+ position: absolute;
547
+ font-size: 0.7rem;
548
+ top: 4px;
549
+ display: flex;
550
+ gap: 5px;
551
+ }
552
+ .menu-primario.principal {
553
+ left: 4px;
554
+ color: var(--text-color)
555
+ }
556
+ .menu-primario.outros {
557
+ right: 4px;
558
+ color: var(--text-color);
559
+ }
560
+
561
+ .menu-primario.outros > span:nth-child(1) {
562
+ order: 10;
563
+ }
564
+
565
+ .menu-mensagem {
566
+ cursor: pointer;
567
+ padding: 1px;
568
+ }
569
+
570
+ .menu-flutuante {
571
+ background-color: #FFF;
572
+ -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
573
+ -moz-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
574
+ box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
575
+ border-radius: 10px;
576
+ position: absolute;
577
+ top: 20px;
578
+ width: 200px;
579
+ min-height: 100px;
580
+ height: 100px;
581
+ max-height: 100px;
582
+ overflow-x: hidden;
583
+ overflow-y: auto;
584
+ margin: 0;
585
+ padding: 0;
586
+ display: flex;
587
+ flex-direction: column;
588
+ }
589
+
590
+ .menu-flutuante.principal {
591
+ left: 3px
592
+ }
593
+
594
+ .menu-flutuante.outros {
595
+ right: 3px
596
+ }
597
+
598
+ .menu-flutuante li {
599
+ transition: background-color 300ms ease-in-out;
600
+ width: 100%;
601
+ cursor: pointer;
602
+ padding: 5px 10px;
603
+ display: flex;
604
+ align-items: center;
605
+ }
606
+
607
+ .menu-flutuante li:hover {
608
+ background-color: #e9e9e9;
609
+ }
610
+
473
611
  /* Principal */
474
612
  .mensagem__principal {
475
613
  width: 100%;