@nixweb/nixloc-ui 0.0.294 → 0.0.295
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 +1 -1
- package/src/component/layout/NewHeader.vue +2 -2
- package/src/component/layout/NewMenu.vue +67 -53
- package/src/component/layout/Panel.vue +19 -3
- package/src/component/shared/DocumentEditor.vue +0 -1
- package/src/component/shared/Messages.vue +56 -30
- package/src/component/shared/SaveCancel.vue +10 -3
- package/src/component/shared/Table.vue +2 -2
package/package.json
CHANGED
|
@@ -5,78 +5,69 @@
|
|
|
5
5
|
<span class="header-logo" @click="editProfile">
|
|
6
6
|
<img class="photo" :src="urlPhoto" />
|
|
7
7
|
</span>
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<i v-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
<div v-if="menuCollapsed">
|
|
16
|
-
<br><br>
|
|
8
|
+
<div :style="'margin-left:' + (menuCollapsed ? 55 : 170) + 'px'" class="div-menu-toggle"
|
|
9
|
+
@click="toggleSidebar">
|
|
10
|
+
<div class="icon-menu-arrow">
|
|
11
|
+
<i v-if="menuCollapsed" class="fa-solid fa-angle-right "></i>
|
|
12
|
+
<i v-else class="fa-solid fa-angle-left"></i>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
17
15
|
</div>
|
|
16
|
+
|
|
18
17
|
<ScrollBar :minHeight="pageSize" :maxHeight="pageSize">
|
|
19
18
|
<div :class="{ 'sub': menuCollapsed }">
|
|
20
19
|
<div v-for="(item, index) in menuFilter(true)">
|
|
21
|
-
<div>
|
|
20
|
+
<div @mouseover="handleMouseOver(item.title, item.module)">
|
|
22
21
|
<div :ref="item.title" v-if="menuCollapsed" class="molded-icon text-center" :class="{
|
|
23
22
|
'menu-active': moduleActive === item.module,
|
|
24
23
|
'module-selected': module === item.module
|
|
25
|
-
}"
|
|
26
|
-
<i :class="item.icon"></i>
|
|
24
|
+
}">
|
|
25
|
+
<i :style="'font-size:18px'" :class="item.icon"></i>
|
|
26
|
+
<div v-if="false" :style="'margin-top:-16px'">
|
|
27
|
+
<span class="title-menu-collapsed">{{ item.abbreviatedTitle }}</span>
|
|
28
|
+
</div>
|
|
27
29
|
</div>
|
|
28
30
|
<div class="molded-icon-open" :class="{
|
|
29
31
|
'menu-active': moduleActive === item.module
|
|
30
|
-
}" v-else @
|
|
32
|
+
}" v-else @mouseover="handleMouseOver(item.title, item.module)">
|
|
31
33
|
<b-row>
|
|
32
|
-
<b-col sm="
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
:class="{ 'rotate': titleSubMenu == item.title }"></i>
|
|
42
|
-
|
|
43
|
-
<i v-else class="fa-sharp fa-solid fa-angle-down"
|
|
44
|
-
:class="{ 'rotate-down': titleSubMenu != item.title }"></i>
|
|
45
|
-
</div>
|
|
34
|
+
<b-col sm="12">
|
|
35
|
+
<b-row>
|
|
36
|
+
<b-col sm="2">
|
|
37
|
+
<i :class="item.icon"></i>
|
|
38
|
+
</b-col>
|
|
39
|
+
<b-col sm="10">
|
|
40
|
+
<span class="title-menu">{{ item.title }} </span>
|
|
41
|
+
</b-col>
|
|
42
|
+
</b-row>
|
|
46
43
|
</b-col>
|
|
47
44
|
</b-row>
|
|
48
45
|
</div>
|
|
49
46
|
</div>
|
|
50
47
|
|
|
51
|
-
<transition name="slide-fade">
|
|
52
|
-
<div class="sub-menu" v-if="!menuCollapsed && titleSubMenu == item.title">
|
|
53
|
-
<div v-for="(item, index) in subMenuFilter(false)" :key="index">
|
|
54
|
-
<div v-if="item.title" class="sub-menu-title"
|
|
55
|
-
@click.prevent="navegateTo(item, item.module)">
|
|
56
|
-
<b-row>
|
|
57
|
-
<b-col sm="3"> <i :class="item.icon"></i></b-col>
|
|
58
|
-
<span> {{ item.title }}</span>
|
|
59
|
-
</b-row>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
</transition>
|
|
64
|
-
|
|
65
48
|
<transition name="slide-fade">
|
|
66
49
|
<div :ref="item.title + 'sub'" class="sub-menu-collapsed sub-menu"
|
|
67
|
-
|
|
50
|
+
:style="'margin-left:' + (menuCollapsed ? 85 : 200) + 'px'"
|
|
51
|
+
v-if="titleSubMenuCollapsed == item.title">
|
|
68
52
|
<div v-for="(item, index) in subMenuFilter(false)" :key="index">
|
|
69
53
|
<div :class="{ 'sub-menu-title-collapsed': item.title }"
|
|
70
54
|
@click.prevent="navegateTo(item, item.module)">
|
|
71
55
|
<b-row>
|
|
72
56
|
<b-col sm="2" v-if="item.title">
|
|
73
57
|
<i :class="item.icon"></i>
|
|
58
|
+
|
|
74
59
|
</b-col>
|
|
75
60
|
<b-col sm="9">
|
|
76
61
|
<div v-if="item.groupName" class="div-group">
|
|
77
62
|
{{ item.groupName }}
|
|
78
63
|
</div>
|
|
79
|
-
|
|
64
|
+
|
|
65
|
+
<span>
|
|
66
|
+
{{ item.title }}
|
|
67
|
+
<span class="div-support" v-if="item.isVisible == 'support'">
|
|
68
|
+
Suporte
|
|
69
|
+
</span>
|
|
70
|
+
</span>
|
|
80
71
|
</b-col>
|
|
81
72
|
</b-row>
|
|
82
73
|
</div>
|
|
@@ -89,7 +80,6 @@
|
|
|
89
80
|
<br>
|
|
90
81
|
</div>
|
|
91
82
|
</ScrollBar>
|
|
92
|
-
|
|
93
83
|
</div>
|
|
94
84
|
</div>
|
|
95
85
|
</template>
|
|
@@ -246,7 +236,7 @@ export default {
|
|
|
246
236
|
position: fixed;
|
|
247
237
|
top: 0;
|
|
248
238
|
left: 0;
|
|
249
|
-
width:
|
|
239
|
+
width: 200px;
|
|
250
240
|
height: 100vh;
|
|
251
241
|
border-radius: 0px 20px 0px 0px;
|
|
252
242
|
background-color: #577696;
|
|
@@ -278,7 +268,7 @@ export default {
|
|
|
278
268
|
.sidebar-header .sidebar-toggler,
|
|
279
269
|
.sidebar-menu-button {
|
|
280
270
|
position: absolute;
|
|
281
|
-
|
|
271
|
+
left: 70px;
|
|
282
272
|
height: 30px;
|
|
283
273
|
width: 30px;
|
|
284
274
|
color: #151A2D;
|
|
@@ -296,6 +286,19 @@ export default {
|
|
|
296
286
|
transform: translate(-4px, 65px);
|
|
297
287
|
}
|
|
298
288
|
|
|
289
|
+
.div-menu-toggle {
|
|
290
|
+
position: fixed;
|
|
291
|
+
font-size: 18px;
|
|
292
|
+
top: 25px;
|
|
293
|
+
width: 20px;
|
|
294
|
+
height: 20px;
|
|
295
|
+
background-color: #D98621;
|
|
296
|
+
border-radius: 50%;
|
|
297
|
+
cursor: pointer;
|
|
298
|
+
z-index: 2000;
|
|
299
|
+
transition: all 0.4s ease;
|
|
300
|
+
}
|
|
301
|
+
|
|
299
302
|
.molded-icon-open {
|
|
300
303
|
padding-left: 10px;
|
|
301
304
|
cursor: pointer;
|
|
@@ -322,16 +325,17 @@ export default {
|
|
|
322
325
|
}
|
|
323
326
|
|
|
324
327
|
.icon-menu-arrow {
|
|
325
|
-
font-size:
|
|
326
|
-
margin-top:
|
|
328
|
+
font-size: 14px;
|
|
329
|
+
margin-top: -4px;
|
|
330
|
+
margin-left: 6px;
|
|
331
|
+
color: white;
|
|
327
332
|
}
|
|
328
333
|
|
|
329
334
|
.molded-icon {
|
|
330
335
|
cursor: pointer;
|
|
331
|
-
padding: 1px;
|
|
332
336
|
color: white;
|
|
333
337
|
font-size: 18px;
|
|
334
|
-
margin:
|
|
338
|
+
margin: 13px;
|
|
335
339
|
border-radius: 10px;
|
|
336
340
|
transition: all 0.3s ease;
|
|
337
341
|
}
|
|
@@ -339,7 +343,6 @@ export default {
|
|
|
339
343
|
.molded-icon:hover {
|
|
340
344
|
background-color: white;
|
|
341
345
|
color: #2C3453;
|
|
342
|
-
margin: 10px;
|
|
343
346
|
border-radius: 10px;
|
|
344
347
|
transition: all 0.8s ease;
|
|
345
348
|
}
|
|
@@ -377,10 +380,10 @@ export default {
|
|
|
377
380
|
.sub-menu-collapsed {
|
|
378
381
|
width: 260px;
|
|
379
382
|
margin-top: -100px;
|
|
380
|
-
margin-left: 85px;
|
|
381
383
|
position: absolute;
|
|
382
384
|
border-radius: 0px 15px 15px 0px;
|
|
383
385
|
background-color: #2C3453;
|
|
386
|
+
cursor: pointer;
|
|
384
387
|
}
|
|
385
388
|
|
|
386
389
|
.sub-menu-title-collapsed {
|
|
@@ -406,7 +409,10 @@ export default {
|
|
|
406
409
|
|
|
407
410
|
.title-menu {
|
|
408
411
|
font-size: 14px;
|
|
409
|
-
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.title-menu-collapsed {
|
|
415
|
+
font-size: 11.5px;
|
|
410
416
|
}
|
|
411
417
|
|
|
412
418
|
.div-arrow {
|
|
@@ -438,4 +444,12 @@ export default {
|
|
|
438
444
|
margin-left: 10px;
|
|
439
445
|
padding: 5px;
|
|
440
446
|
}
|
|
447
|
+
|
|
448
|
+
.div-support {
|
|
449
|
+
background-color: #0A36DB;
|
|
450
|
+
font-size: 11px;
|
|
451
|
+
border-radius: 20px;
|
|
452
|
+
padding: 2px;
|
|
453
|
+
color: white !important;
|
|
454
|
+
}
|
|
441
455
|
</style>
|
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
</VerticalFilter>
|
|
10
10
|
</div>
|
|
11
11
|
<div class="local-container" :class="{ 'layout-small': layout == 'small' }">
|
|
12
|
-
<
|
|
12
|
+
<div v-if="!modal.open && !vodal.open" class="div-message-panel">
|
|
13
|
+
<Messages />
|
|
14
|
+
</div>
|
|
15
|
+
<br>
|
|
16
|
+
<br>
|
|
13
17
|
<div class="row">
|
|
14
18
|
<div class="col-10">
|
|
15
19
|
<div class="div-title">
|
|
@@ -94,7 +98,7 @@ export default {
|
|
|
94
98
|
},
|
|
95
99
|
computed: {
|
|
96
100
|
...mapGetters("generic", ["isLoading", "event"]),
|
|
97
|
-
...mapState("generic", ["modal", "menuCollapsed"]),
|
|
101
|
+
...mapState("generic", ["modal", "vodal", "menuCollapsed"]),
|
|
98
102
|
},
|
|
99
103
|
methods: {
|
|
100
104
|
...mapMutations("generic", ["addLoading"]),
|
|
@@ -144,7 +148,7 @@ export default {
|
|
|
144
148
|
|
|
145
149
|
.panel {
|
|
146
150
|
padding-right: 30px;
|
|
147
|
-
margin-left:
|
|
151
|
+
margin-left: 130px;
|
|
148
152
|
}
|
|
149
153
|
|
|
150
154
|
.panel.collapsed {
|
|
@@ -166,4 +170,16 @@ export default {
|
|
|
166
170
|
.div-back:hover {
|
|
167
171
|
color: #505050;
|
|
168
172
|
}
|
|
173
|
+
|
|
174
|
+
.div-message-panel {
|
|
175
|
+
width: calc(100% - 60px);
|
|
176
|
+
position: fixed;
|
|
177
|
+
top: -55px;
|
|
178
|
+
left: 30px;
|
|
179
|
+
right: 30px;
|
|
180
|
+
margin: 0;
|
|
181
|
+
z-index: 2000 !important;
|
|
182
|
+
transition: top 0.5s ease;
|
|
183
|
+
}
|
|
184
|
+
|
|
169
185
|
</style>
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<div :class="{ 'div-message': !modal.open }" v-if="storageNotification.length > 0">
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
<div class="side-by-side
|
|
7
|
-
|
|
8
|
-
{{ notification.message }}
|
|
9
|
-
</div>
|
|
4
|
+
<Alert type="danger">
|
|
5
|
+
<div class="side-by-side" v-for="(notification, index) in storageNotification" :key="index">
|
|
6
|
+
<div class="side-by-side text">
|
|
7
|
+
{{ notification.message }}
|
|
10
8
|
</div>
|
|
11
|
-
</
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
</
|
|
9
|
+
</div>
|
|
10
|
+
<div class="progress-bar-container">
|
|
11
|
+
<div class="progress-bar" :style="{ width: progressWidth + '%' }"></div>
|
|
12
|
+
</div>
|
|
13
|
+
</Alert>
|
|
16
14
|
</div>
|
|
17
15
|
</div>
|
|
18
16
|
</template>
|
|
@@ -26,9 +24,10 @@ export default {
|
|
|
26
24
|
name: "Messages",
|
|
27
25
|
data() {
|
|
28
26
|
return {
|
|
29
|
-
maxSeconds:
|
|
30
|
-
countdown:
|
|
27
|
+
maxSeconds: 10,
|
|
28
|
+
countdown: 10,
|
|
31
29
|
storageNotification: [],
|
|
30
|
+
progressWidth: 100,
|
|
32
31
|
};
|
|
33
32
|
},
|
|
34
33
|
computed: {
|
|
@@ -38,11 +37,13 @@ export default {
|
|
|
38
37
|
notifications() {
|
|
39
38
|
if (this.notifications.length > 0) {
|
|
40
39
|
this.storageNotification = this.notifications;
|
|
41
|
-
this.countdown =
|
|
40
|
+
this.countdown = this.maxSeconds;
|
|
41
|
+
this.progressWidth = 100;
|
|
42
|
+
this.startCountdown();
|
|
42
43
|
}
|
|
43
44
|
},
|
|
44
|
-
countdown() {
|
|
45
|
-
if (
|
|
45
|
+
countdown(newCountdown) {
|
|
46
|
+
if (newCountdown === 0) {
|
|
46
47
|
this.storageNotification = [];
|
|
47
48
|
this.removeNotificarions();
|
|
48
49
|
}
|
|
@@ -50,34 +51,59 @@ export default {
|
|
|
50
51
|
},
|
|
51
52
|
methods: {
|
|
52
53
|
...mapMutations("generic", ["removeNotificarions"]),
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
|
|
55
|
+
startCountdown() {
|
|
56
|
+
this.countdownInterval = setInterval(() => {
|
|
57
|
+
if (this.countdown > 0) {
|
|
58
|
+
this.countdown--;
|
|
59
|
+
this.updateProgressBar();
|
|
60
|
+
} else {
|
|
61
|
+
clearInterval(this.countdownInterval);
|
|
62
|
+
}
|
|
63
|
+
}, 1000);
|
|
55
64
|
},
|
|
56
|
-
messages(notifications) {
|
|
57
|
-
var message = "";
|
|
58
|
-
notifications.forEach(function (notification) {
|
|
59
|
-
message += notification.message + " ";
|
|
60
|
-
});
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
updateProgressBar() {
|
|
67
|
+
// Atualiza a largura da barra de progresso
|
|
68
|
+
this.progressWidth = (this.countdown / this.maxSeconds) * 100;
|
|
63
69
|
},
|
|
64
70
|
},
|
|
65
71
|
};
|
|
66
72
|
</script>
|
|
73
|
+
|
|
67
74
|
<style scoped>
|
|
68
75
|
.div-message {
|
|
69
76
|
margin-top: 50px;
|
|
77
|
+
transition: all 0.5s ease !important;
|
|
78
|
+
z-index: 2000;
|
|
70
79
|
}
|
|
71
80
|
|
|
72
|
-
.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
.invalid {
|
|
77
|
-
color: #f0134d;
|
|
81
|
+
.side-by-side {
|
|
82
|
+
display: flex;
|
|
83
|
+
justify-content: space-between;
|
|
78
84
|
}
|
|
79
85
|
|
|
80
86
|
.text {
|
|
81
87
|
margin-right: 10px;
|
|
82
88
|
}
|
|
89
|
+
|
|
90
|
+
.progress-bar-container {
|
|
91
|
+
width: 100%;
|
|
92
|
+
height: 3px;
|
|
93
|
+
background-color: #e0e0e0;
|
|
94
|
+
border-radius: 5px;
|
|
95
|
+
margin-top: 10px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.progress-bar {
|
|
99
|
+
height: 100%;
|
|
100
|
+
background-color: #FF0201;
|
|
101
|
+
border-radius: 50px;
|
|
102
|
+
transition: width 1s ease-out;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.div-countdown {
|
|
106
|
+
margin-top: 10px;
|
|
107
|
+
font-size: 16px;
|
|
108
|
+
}
|
|
83
109
|
</style>
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<FixedBar :position="positionFixedBar" backgroundColor="#FAFAFC"
|
|
4
4
|
v-show="formDirty && !modal.open && on || showFixed">
|
|
5
|
-
<div class="
|
|
5
|
+
<div :class="{ collapsed: menuCollapsed, notCollapsed: !menuCollapsed }"
|
|
6
|
+
:style="'margin-bottom:' + marginBottom + 'px'">
|
|
6
7
|
<Button _key="cancelSaveCancel" eventName="cancelSaveCancel" title="Cancelar" type="danger" size="small"
|
|
7
8
|
:clicked="cancel" />
|
|
8
9
|
<Button _key="saveSaveCancel" :eventName="eventName" classIcon="fa-solid fa-floppy-disk" title="Salvar"
|
|
@@ -67,7 +68,7 @@ export default {
|
|
|
67
68
|
...mapState("generic", ["loading"]),
|
|
68
69
|
...mapGetters("generic", ["event"]),
|
|
69
70
|
...mapGetters("validation", ["isFormValid"]),
|
|
70
|
-
...mapState("generic", ["modal"]),
|
|
71
|
+
...mapState("generic", ["modal", "menuCollapsed"]),
|
|
71
72
|
},
|
|
72
73
|
methods: {
|
|
73
74
|
...mapMutations("validation", ["updateFormDirty", "resetValidation"]),
|
|
@@ -86,7 +87,13 @@ export default {
|
|
|
86
87
|
};
|
|
87
88
|
</script>
|
|
88
89
|
<style scoped>
|
|
89
|
-
.
|
|
90
|
+
.collapsed {
|
|
90
91
|
margin-left: 0px;
|
|
92
|
+
transition: all 0.4s ease;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.notCollapsed {
|
|
96
|
+
margin-left: 130px;
|
|
97
|
+
transition: all 0.4s ease;
|
|
91
98
|
}
|
|
92
99
|
</style>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<div class="icon-print" v-print="'#
|
|
3
|
+
<div class="icon-print" v-print="'#printTable'">
|
|
4
4
|
<i title="Imprimir" class="fas fa-print"></i>
|
|
5
5
|
</div>
|
|
6
|
-
<table id="
|
|
6
|
+
<table id="printTable" class="table table-responsive-xs">
|
|
7
7
|
<thead>
|
|
8
8
|
<tr>
|
|
9
9
|
<th class="td-checkbox" v-if="showChecks">
|