vue-intergrall-plugins 0.0.140 → 0.0.141

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-intergrall-plugins",
3
- "version": "0.0.140",
3
+ "version": "0.0.141",
4
4
  "description": "",
5
5
  "main": "dist/vue-intergrall-plugins.ssr.js",
6
6
  "browser": "dist/vue-intergrall-plugins.esm.js",
@@ -45,10 +45,20 @@
45
45
  v-text="`${chipInfos.desc} (${chipInfos.cod})`" :title="`${chipInfos.desc} (${chipInfos.cod})`">
46
46
  </p>
47
47
  <p class="card-message" v-html="formattedMessage"></p>
48
- <div class="card-footer" v-if="files && files.length">
49
- <div class="card-file" v-for="(file, index) in files" :key="`${index}`">
50
- <CardFile :file="file" :dictionary="dictionary" :domain="domain" />
51
- </div>
48
+ <div class="card-footer">
49
+ <template v-if="files && files.length">
50
+ <div class="card-file" v-for="(file, index) in files" :key="`${index}`">
51
+ <CardFile :file="file" :dictionary="dictionary" :domain="domain" />
52
+ </div>
53
+ </template>
54
+ <CardCheck
55
+ v-if="messageStatus"
56
+ :messageStatus="messageStatus"
57
+ :hasReply="hasReply"
58
+ :replyMessage="replyMessage"
59
+ :tooltipContent="tooltipContent"
60
+ @reply-msg="$emit('reply-msg')"
61
+ />
52
62
  </div>
53
63
  </div>
54
64
  </div>
@@ -58,9 +68,10 @@
58
68
  import { textoLongo } from "@/mixins/formatarTexto"
59
69
  import { formataTimezoneData, formataDataHora } from "../../services/textFormatting"
60
70
  import CardFile from "./CardFile"
71
+ import CardCheck from "./CardCheck"
61
72
 
62
73
  export default {
63
- components: { CardFile },
74
+ components: { CardFile, CardCheck },
64
75
  props: {
65
76
  dictionary: {
66
77
  type: Object,
@@ -103,6 +114,18 @@ export default {
103
114
  },
104
115
  newMessage: {
105
116
  type: Boolean
117
+ },
118
+ hasReply: {
119
+ type: Boolean
120
+ },
121
+ replyMessage: {
122
+ type: String
123
+ },
124
+ messageStatus: {
125
+ type: String
126
+ },
127
+ tooltipContent: {
128
+ type: String
106
129
  }
107
130
  },
108
131
  mixins: [textoLongo],
@@ -156,7 +179,7 @@ export default {
156
179
  }
157
180
  </script>
158
181
 
159
- <style scoped>
182
+ <style>
160
183
  .fade-enter-active,
161
184
  .fade-leave-active {
162
185
  transition: opacity 200ms;
@@ -274,6 +297,7 @@ export default {
274
297
  border-top: 1px solid #ddd;
275
298
  display: flex;
276
299
  flex-wrap: wrap;
300
+ min-height: 25px;
277
301
  }
278
302
 
279
303
 
@@ -313,98 +337,58 @@ export default {
313
337
  }
314
338
 
315
339
  .card-file {
316
- width: 50px;
340
+ width: 60px;
317
341
  height: 50px;
318
342
  margin-right: 5px;
319
343
  display: flex;
320
344
  justify-content: center;
321
345
  align-items: center;
322
346
  }
323
- .file-item {
324
- width: 100%;
325
- height: 100%;
326
- display: flex;
327
- justify-content: center;
328
- align-items: center;
329
- position: relative;
330
- }
331
- .file-item-transition {
332
- max-width: 100%;
333
- max-height: 100%;
334
- }
335
- .file-item .req-loader {
336
- position: absolute;
337
- top: calc(50% - 12.5px);
338
- right: calc(50% - 12.5px);
339
- }
340
- .file-item-transition img {
341
- max-width: 45px;
342
- max-height: 45px;
343
- }
344
347
 
345
- .file-icon {
346
- opacity: .9;
347
- transition: opacity 200ms;
348
- color: #222;
348
+ .card-reply {
349
349
  cursor: pointer;
350
+ position: absolute;
351
+ right: 30px;
352
+ bottom: 5px;
353
+ font-size: .6rem;
354
+ color: #67a332;
355
+ width: .9rem;
356
+ height: .9rem;
350
357
  display: flex;
351
358
  justify-content: center;
352
359
  align-items: center;
360
+ border-radius: 50%;
361
+ background-color: #FFF;
353
362
  }
354
- .file-icon:hover {
355
- opacity: 1
356
- }
357
- .file-icon:visited {
358
- color: inherit;
359
- }
360
- svg {
361
- font-size: 30px;
362
- z-index: 1;
363
- }
364
- .file-icon.pdf {
365
- position: relative;
366
- }
367
- .file-icon.pdf svg {
368
- color: rgb(231, 76, 60);
369
- }
370
- .file-icon.pdf::after {
371
- content: "";
363
+ .card-reply svg {
364
+ margin-top: -1px;
365
+ margin-right: -1px;
366
+ }
367
+
368
+ .card-check{
372
369
  position: absolute;
373
- bottom: 2px;
374
- transform: translateY(2px);
375
- width: 20px;
376
- height: 20px;
377
- background-color: #FFF;
370
+ bottom: 5px;
371
+ right: 5px;
372
+ cursor: pointer;
373
+ font-size: 0.7rem;
378
374
  }
379
- .file-icon.doc {
380
- color: #15517F;
375
+ .card-check svg {
376
+ font-size: 0.8rem;
381
377
  }
382
- .file-icon.doc::after {
383
- content: "";
384
- position: absolute;
385
- width: 20px;
386
- height: 20px;
387
- background-color: #FFF;
378
+ .card-check.seen, .card-check.seen svg{
379
+ color: #006DAA
388
380
  }
389
- .file-img {
390
- display: flex;
391
- justify-content: center;
392
- align-items: center;
393
- width: 100%;
394
- height: 100%;
395
- overflow: hidden;
396
- background-color: rgba(0, 0, 0, .2);
397
- border-radius: 2.5px;
398
- cursor: pointer;
399
- opacity: .9;
400
- transition: opacity 150ms;
381
+ .card-check.green, .card-check.green svg{
382
+ color: #4f772d
401
383
  }
402
-
403
- .file-img:hover {
404
- opacity: 1;
384
+ .card-check.red, .card-check.red svg{
385
+ color: #ba181b
405
386
  }
406
- .file-img img {
407
- width: 95%;
387
+ .card-check.gray, .card-check.gray svg{
388
+ color: #999
389
+ }
390
+ .card-check.black, .card-check.black svg{
391
+ color: #666
408
392
  }
409
393
 
410
394
  </style>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <div>
3
+ <transition name="fade" mode="out-in">
4
+ <span class="card-reply" v-if="hasReply && (messageStatus == 'C' || messageStatus == 'T')" v-tippy :content="replyMessage ? replyMessage : 'Fazer reenvio da mensagem'" @click="$emit('reply-msg')"> <fa-icon :icon="['fas', 'reply']" /> </span>
5
+ </transition>
6
+ <transition name="fade" mode="out-in">
7
+ <span class="card-check" v-if="messageStatus == 'D'" :content="tooltipContent" v-tippy key="check-padrao"> <fa-icon :icon="['fas', 'check']" /> </span>
8
+ <span class="card-check gray" v-else-if="messageStatus == 'Q'" :content="tooltipContent" v-tippy key="check-gray"> <fa-icon :icon="['fas', 'check']" /> </span>
9
+ <span class="card-check black" v-else-if="messageStatus == 'G'" :content="tooltipContent" v-tippy key="check-black"> <fa-icon :icon="['fas', 'check']" /> </span>
10
+ <span class="card-check black" v-else-if="messageStatus == 'E'" :content="tooltipContent" v-tippy key="double-check-black"> <fa-icon :icon="['fas', 'check-double']" /> </span>
11
+ <span class="card-check seen" v-else-if="messageStatus == 'L'" :content="tooltipContent" v-tippy key="double-check-seen"> <fa-icon :icon="['fas', 'check-double']" /> </span> <!-- messageStatus finalizador -->
12
+ <span class="card-check red" v-else-if="messageStatus == 'C'" :content="tooltipContent" v-tippy key="times-circle"> <fa-icon :icon="['fas', 'times-circle']" /> </span> <!-- messageStatus finalizador -->
13
+ <span class="card-check red" v-else-if="messageStatus == 'T'" :content="tooltipContent" v-tippy key="hourglass"> <fa-icon :icon="['fas', 'hourglass']" /> </span> <!-- Status finalizador -->
14
+ </transition>
15
+ </div>
16
+ </template>
17
+
18
+ <script>
19
+ export default {
20
+ props: {
21
+ hasReply: {
22
+ type: Boolean
23
+ },
24
+ messageStatus: {
25
+ type: String
26
+ },
27
+ replyMessage: {
28
+ type: String
29
+ },
30
+ tooltipContent: {
31
+ type: String
32
+ }
33
+ }
34
+ }
35
+ </script>
@@ -115,3 +115,99 @@ export default {
115
115
  }
116
116
  }
117
117
  </script>
118
+
119
+ <style>
120
+ .file-item {
121
+ width: 100%;
122
+ height: 100%;
123
+ display: flex;
124
+ justify-content: center;
125
+ align-items: center;
126
+ position: relative;
127
+ }
128
+ .file-item-transition {
129
+ max-width: 100%;
130
+ max-height: 100%;
131
+ display: flex;
132
+ justify-content: center;
133
+ align-items: center;
134
+ position: relative;
135
+ }
136
+ .file-item .req-loader {
137
+ position: absolute;
138
+ top: calc(50% - 12.5px);
139
+ right: calc(50% - 12.5px);
140
+ }
141
+ .file-item-transition img {
142
+ max-width: 45px;
143
+ max-height: 45px;
144
+ }
145
+ .file-item a {
146
+ margin-left: 5px;
147
+ text-decoration: none;
148
+ color: #333;
149
+ }
150
+
151
+ .file-icon {
152
+ display: flex;
153
+ justify-content: center;
154
+ align-items: center;
155
+ font-size: 30px;
156
+ cursor: pointer;
157
+ }
158
+ .file-icon:hover {
159
+ opacity: 1
160
+ }
161
+ .file-icon:visited {
162
+ color: inherit;
163
+ }
164
+ svg {
165
+ font-size: 30px;
166
+ z-index: 1;
167
+ }
168
+ .file-icon.pdf {
169
+ position: relative;
170
+ }
171
+ .file-icon.pdf svg {
172
+ color: rgb(231, 76, 60);
173
+ }
174
+ .file-icon.pdf::after {
175
+ content: "";
176
+ position: absolute;
177
+ bottom: 2px;
178
+ transform: translateY(2px);
179
+ width: 20px;
180
+ height: 20px;
181
+ background-color: #FFF;
182
+ }
183
+ .file-icon.doc {
184
+ color: #15517F;
185
+ }
186
+ .file-icon.doc::after {
187
+ content: "";
188
+ position: absolute;
189
+ width: 20px;
190
+ height: 20px;
191
+ background-color: #FFF;
192
+ }
193
+ .file-img {
194
+ display: flex;
195
+ justify-content: center;
196
+ align-items: center;
197
+ width: 100%;
198
+ height: 100%;
199
+ overflow: hidden;
200
+ background-color: rgba(0, 0, 0, .2);
201
+ border-radius: 2.5px;
202
+ cursor: pointer;
203
+ opacity: .9;
204
+ transition: opacity 150ms;
205
+ }
206
+
207
+ .file-img:hover {
208
+ opacity: 1;
209
+ }
210
+ .file-img img {
211
+ width: 95%;
212
+ }
213
+ </style>