@nixweb/nixloc-ui 0.0.128 → 0.0.129

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.
Files changed (84) hide show
  1. package/package.json +87 -79
  2. package/src/App.vue +13 -13
  3. package/src/component/forms/Button.vue +171 -170
  4. package/src/component/forms/ButtonGroup.vue +57 -0
  5. package/src/component/forms/ButtonSub.vue +98 -0
  6. package/src/component/forms/CheckboxGroup.vue +73 -72
  7. package/src/component/forms/CheckboxSimple.vue +46 -46
  8. package/src/component/forms/Color.vue +38 -38
  9. package/src/component/forms/DateTime.vue +167 -167
  10. package/src/component/forms/Dropdown.vue +242 -218
  11. package/src/component/forms/EditorHtml.vue +126 -126
  12. package/src/component/forms/FileUpload.vue +185 -185
  13. package/src/component/forms/IncrementDecrement.vue +7 -2
  14. package/src/component/forms/InputDecimal.vue +150 -142
  15. package/src/component/forms/InputDecimalDiscount.vue +92 -0
  16. package/src/component/forms/InputNumber.vue +160 -154
  17. package/src/component/forms/InputPassword.vue +135 -135
  18. package/src/component/forms/InputText.vue +174 -162
  19. package/src/component/forms/InputTextEdit.vue +68 -0
  20. package/src/component/forms/Modal.vue +65 -65
  21. package/src/component/forms/RadioGroup.vue +50 -50
  22. package/src/component/forms/Select.vue +351 -349
  23. package/src/component/forms/SelectStatic.vue +127 -127
  24. package/src/component/forms/Slider.vue +18 -18
  25. package/src/component/forms/TextArea.vue +126 -126
  26. package/src/component/forms/Toggle.vue +3 -1
  27. package/src/component/layout/Account.vue +3 -3
  28. package/src/component/layout/Alert.vue +92 -92
  29. package/src/component/layout/Badge.vue +104 -103
  30. package/src/component/layout/FixedBar.vue +100 -100
  31. package/src/component/layout/Gantt.vue +130 -0
  32. package/src/component/layout/Header.vue +38 -38
  33. package/src/component/layout/IconMolded.vue +48 -0
  34. package/src/component/layout/LoadingFullPage.vue +27 -27
  35. package/src/component/layout/Menu.vue +213 -210
  36. package/src/component/layout/Molded.vue +28 -28
  37. package/src/component/layout/Panel.vue +140 -140
  38. package/src/component/layout/Popover.vue +126 -126
  39. package/src/component/layout/ScrollBar.vue +42 -42
  40. package/src/component/layout/Wizard.vue +211 -211
  41. package/src/component/rental/DisplayCalculatePeriod.vue +49 -0
  42. package/src/component/rental/DisplayPeriodRent.vue +19 -44
  43. package/src/component/rental/DisplayTotalization.vue +11 -2
  44. package/src/component/shared/Collapse.vue +131 -131
  45. package/src/component/shared/Confirmation.vue +21 -2
  46. package/src/component/shared/DocumentPreview.vue +2 -1
  47. package/src/component/shared/ExportPDF.vue +116 -116
  48. package/src/component/shared/FullCalendar.vue +159 -0
  49. package/src/component/shared/HorizontalFilter.vue +59 -59
  50. package/src/component/shared/Loading.vue +107 -107
  51. package/src/component/shared/LoadingMoreButton.vue +23 -23
  52. package/src/component/shared/Messages.vue +81 -81
  53. package/src/component/shared/PDFViewer.vue +22 -22
  54. package/src/component/shared/Pagination.vue +52 -52
  55. package/src/component/shared/ProgressBar.vue +22 -22
  56. package/src/component/shared/QueryButton.vue +66 -66
  57. package/src/component/shared/SaveCancel.vue +3 -2
  58. package/src/component/shared/Search.vue +154 -154
  59. package/src/component/shared/Table.vue +163 -163
  60. package/src/component/shared/TableButton.vue +36 -36
  61. package/src/component/shared/TableTotalization.vue +47 -47
  62. package/src/component/shared/TimeLine.vue +47 -0
  63. package/src/component/shared/Tip.vue +42 -42
  64. package/src/component/shared/Toast.vue +54 -54
  65. package/src/component/shared/VerticalFilter.vue +97 -97
  66. package/src/component/shared/query-builder/AddRule.vue +181 -181
  67. package/src/component/shared/query-builder/DynamicComponentList.vue +73 -73
  68. package/src/component/shared/query-builder/QueryBuilder.vue +69 -69
  69. package/src/component/shared/query-builder/utilities.js +21 -21
  70. package/src/component/template/ListViewWithDataHandler.vue +260 -260
  71. package/src/component/template/ViewTemplateConfiguration.vue +64 -64
  72. package/src/component/template/ViewTemplateReportList.vue +1 -1
  73. package/src/component/template/ViewTemplateReportPreview.vue +0 -1
  74. package/src/component/template/ViewTemplateWithSalveCancel.vue +32 -32
  75. package/src/component/template/ViewTemplateWithTable.vue +56 -56
  76. package/src/config/axios.js +9 -9
  77. package/src/config/dicas.js +14 -14
  78. package/src/config/router.js +13 -13
  79. package/src/config/token.js +14 -14
  80. package/src/main.js +23 -23
  81. package/src/store/modules/generic.js +543 -512
  82. package/src/store/modules/user.js +3 -0
  83. package/src/store/modules/validation.js +38 -38
  84. package/src/store/store.js +13 -13
@@ -0,0 +1,159 @@
1
+ <template>
2
+ <div>
3
+ <Loading type="line" :center="false" v-show="loading" />
4
+ <FullCalendar ref="cc" :options="calendarOptions" />
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ import "@fullcalendar/core/vdom"; // solves problem with Vite
10
+ import FullCalendar from "@fullcalendar/vue";
11
+ import dayGridPlugin from "@fullcalendar/daygrid";
12
+ import timeGridPlugin from "@fullcalendar/timegrid";
13
+ import listPlugin from "@fullcalendar/list";
14
+
15
+ import interactionPlugin from "@fullcalendar/interaction";
16
+ import Loading from "@nixweb/nixloc-ui/src/component/shared/Loading.vue";
17
+
18
+ import { mapGetters } from "vuex";
19
+
20
+ export default {
21
+ components: {
22
+ FullCalendar,
23
+ Loading,
24
+ },
25
+ props: {
26
+ changedCalendar: Function,
27
+ clickedCalendar: Function,
28
+ clickedEvent: Function,
29
+ loading: Boolean,
30
+ },
31
+ data() {
32
+ return {
33
+ calendarOptions: {
34
+ plugins: [dayGridPlugin, timeGridPlugin, listPlugin, interactionPlugin],
35
+ initialView: "dayGridMonth",
36
+ locale: "pt-br",
37
+ allDayText: "Dia inteiro",
38
+ headerToolbar: {
39
+ start: "today prev,next",
40
+ center: "title",
41
+ end: "timeGridDay,dayGridWeek,dayGridMonth,listYear",
42
+ },
43
+ buttonText: {
44
+ today: "Hoje",
45
+ month: "Mês",
46
+ week: "Semana",
47
+ day: "Dia",
48
+ list: "Ano",
49
+ },
50
+ dateClick: this.handleDateClick,
51
+ eventClick: this.handleEventClick,
52
+ viewDidMount: this.handleEventRender,
53
+ datesSet: this.handleChange,
54
+ events: [],
55
+ },
56
+ };
57
+ },
58
+ computed: {
59
+ ...mapGetters("generic", ["event"]),
60
+ },
61
+ methods: {
62
+ handleChange(arg) {
63
+ if (this.changedCalendar) this.changedCalendar(arg);
64
+ },
65
+ handleEventRender(arg) {},
66
+ handleDateClick: function (arg) {
67
+ if (this.clickedCalendar) this.clickedCalendar(arg);
68
+ },
69
+ handleEventClick: function (arg) {
70
+ if (this.clickedEvent) this.clickedEvent(arg.event._def);
71
+ },
72
+ },
73
+ watch: {
74
+ event: {
75
+ handler(event) {
76
+ if (event.name == "updateCalendar")
77
+ this.calendarOptions.events = event.data;
78
+ },
79
+ deep: true,
80
+ },
81
+ },
82
+ };
83
+ </script>
84
+ <style>
85
+ .fc .fc-daygrid-day.fc-day-today {
86
+ background-color: #f1f3f4;
87
+ }
88
+
89
+ .fc-button-primary {
90
+ background-color: #4bb4e2 !important;
91
+ border-color: white !important;
92
+ border: 0px !important;
93
+ margin-left: 5px !important;
94
+ border-radius: 15px !important;
95
+ font-size: 13px !important;
96
+ cursor: pointer !important;
97
+ border: none !important;
98
+ min-width: 33px !important;
99
+ font-weight: normal !important;
100
+ font-style: normal !important;
101
+ letter-spacing: 1px !important;
102
+ -webkit-box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%) !important;
103
+ -moz-box-shadow: 0px 10px 20px -6px rgba(0, 0, 0, 0.12) !important;
104
+ box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%) !important;
105
+ }
106
+
107
+ .fc-timeGridDay-button {
108
+ background-color: #577696 !important;
109
+ border-color: white !important;
110
+ }
111
+
112
+ .fc-dayGridWeek-button {
113
+ background-color: #577696 !important;
114
+ border-color: white !important;
115
+ }
116
+
117
+ .fc-dayGridMonth-button {
118
+ background-color: #577696 !important;
119
+ border-color: white !important;
120
+ }
121
+
122
+ .fc-listYear-button {
123
+ background-color: #577696 !important;
124
+ border-color: white !important;
125
+ }
126
+
127
+ .fc .fc-daygrid-day-number {
128
+ font-size: 16px !important;
129
+ }
130
+
131
+ .fc-button-active {
132
+ background-color: #89ceeb !important;
133
+ }
134
+
135
+ .fc-event-title {
136
+ color: black !important;
137
+ cursor: pointer !important;
138
+ }
139
+
140
+ .fc-list-day-side-text {
141
+ color: black !important;
142
+ }
143
+
144
+ .fc-list-day-text {
145
+ color: black !important;
146
+ }
147
+
148
+ .fc-col-header-cell-cushion {
149
+ color: black !important;
150
+ }
151
+
152
+ .fc-daygrid-day-number {
153
+ color: black !important;
154
+ }
155
+
156
+ .fc-button-primary:hover {
157
+ background: #3e90b3 !important;
158
+ }
159
+ </style>
@@ -1,59 +1,59 @@
1
- <template>
2
- <div class="filter-horizontal">
3
- <Collapse
4
- :buttonShow="{
5
- title: 'Mais filtros',
6
- icon: 'fas fa-arrow-alt-circle-down',
7
- type: 'info',
8
- }"
9
- :buttonHide="{
10
- title: 'Menos filtros',
11
- icon: 'fas fa-arrow-alt-circle-up',
12
- type: 'warning',
13
- }"
14
- >
15
- <b-row>
16
- <b-col :sm="showTotalPerPage ? 10 : 12">
17
- <slot name="content-filter-horizontal"></slot>
18
- </b-col>
19
- <b-col xs="12" sm="12" md="12" lg="2" xl="2" v-if="showTotalPerPage">
20
- <SelectStatic
21
- title="Mostrar"
22
- fieldTarget="totalPerPage"
23
- :initialValue="{ content: '10', id: 10 }"
24
- :data="[
25
- { content: '10', id: 10 },
26
- { content: '20', id: 20 },
27
- { content: '30', id: 30 },
28
- { content: '50', id: 50 },
29
- { content: '100', id: 100 },
30
- ]"
31
- />
32
- </b-col>
33
- </b-row>
34
- </Collapse>
35
- </div>
36
- </template>
37
-
38
- <script>
39
- import Collapse from "./Collapse.vue";
40
- import SelectStatic from "../forms/SelectStatic.vue";
41
- import Select from "../forms/Select";
42
-
43
- export default {
44
- name: "ListViewWithHandlerData",
45
- components: { Select, SelectStatic, Collapse },
46
- props: {
47
- showTotalPerPage: {
48
- type: Boolean,
49
- default: true,
50
- },
51
- },
52
- };
53
- </script>
54
-
55
- <style scoped>
56
- .filter-horizontal {
57
- margin-bottom: 5px;
58
- }
59
- </style>
1
+ <template>
2
+ <div class="filter-horizontal">
3
+ <Collapse
4
+ :buttonShow="{
5
+ title: 'Mais filtros',
6
+ icon: 'fas fa-arrow-alt-circle-down',
7
+ type: 'info',
8
+ }"
9
+ :buttonHide="{
10
+ title: 'Menos filtros',
11
+ icon: 'fas fa-arrow-alt-circle-up',
12
+ type: 'warning',
13
+ }"
14
+ >
15
+ <b-row>
16
+ <b-col :sm="showTotalPerPage ? 10 : 12">
17
+ <slot name="content-filter-horizontal"></slot>
18
+ </b-col>
19
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2" v-if="showTotalPerPage">
20
+ <SelectStatic
21
+ title="Mostrar"
22
+ fieldTarget="totalPerPage"
23
+ :initialValue="{ content: '10', id: 10 }"
24
+ :data="[
25
+ { content: '10', id: 10 },
26
+ { content: '20', id: 20 },
27
+ { content: '30', id: 30 },
28
+ { content: '50', id: 50 },
29
+ { content: '100', id: 100 },
30
+ ]"
31
+ />
32
+ </b-col>
33
+ </b-row>
34
+ </Collapse>
35
+ </div>
36
+ </template>
37
+
38
+ <script>
39
+ import Collapse from "./Collapse.vue";
40
+ import SelectStatic from "../forms/SelectStatic.vue";
41
+ import Select from "../forms/Select";
42
+
43
+ export default {
44
+ name: "ListViewWithHandlerData",
45
+ components: { Select, SelectStatic, Collapse },
46
+ props: {
47
+ showTotalPerPage: {
48
+ type: Boolean,
49
+ default: true,
50
+ },
51
+ },
52
+ };
53
+ </script>
54
+
55
+ <style scoped>
56
+ .filter-horizontal {
57
+ margin-bottom: 5px;
58
+ }
59
+ </style>
@@ -1,107 +1,107 @@
1
- <template>
2
- <div>
3
- <div v-if="type == 'bubbles'" :class="{ loading: center }">
4
- <vue-loading
5
- type="bubbles"
6
- :color="color"
7
- :size="{ width: width + 'px', height: height + 'px' }"
8
- ></vue-loading>
9
- </div>
10
- <div v-if="type == 'line'">
11
- <div class="loader">
12
- <div class="loader__element"></div>
13
- </div>
14
- </div>
15
- <div :class="{ 'loading-text': center }">
16
- <div>
17
- <div class="message">{{ message }}</div>
18
- </div>
19
- </div>
20
- </div>
21
- </template>
22
-
23
- <script>
24
- export default {
25
- name: "Loading",
26
- props: {
27
- height: {
28
- type: Number,
29
- default: 70,
30
- },
31
- width: {
32
- type: Number,
33
- default: 70,
34
- },
35
- center: {
36
- type: Boolean,
37
- default: true,
38
- },
39
- color: {
40
- type: String,
41
- default: "#D98621",
42
- },
43
- type: {
44
- type: String,
45
- default: "bubbles",
46
- },
47
- message: String,
48
- },
49
- };
50
- </script>
51
-
52
- <style scoped>
53
- .loading {
54
- position: absolute;
55
- left: 50%;
56
- top: 50%;
57
- -webkit-transform: translate(-50%, -50%);
58
- transform: translate(-50%, -50%);
59
- }
60
-
61
- .loading-text {
62
- position: absolute;
63
- left: 50%;
64
- top: 45%;
65
- -webkit-transform: translate(-50%, -50%);
66
- transform: translate(-50%, -50%);
67
- }
68
-
69
- .message {
70
- font-size: 15px;
71
- margin-top: 5px;
72
- }
73
-
74
- .loader {
75
- overflow: hidden;
76
- width: 100%;
77
- height: 100%;
78
- top: 0;
79
- left: 0;
80
- display: flex;
81
- align-items: center;
82
- align-content: center;
83
- justify-content: flex-start;
84
- z-index: 100000;
85
- }
86
-
87
- .loader__element {
88
- height: 3px;
89
- width: 100%;
90
- background: #fbf2e8;
91
- }
92
-
93
- .loader__element:before {
94
- content: "";
95
- display: block;
96
- background-color: #fca944;
97
- height: 3px;
98
- width: 0;
99
- animation: getWidth 1s ease-in infinite;
100
- }
101
-
102
- @keyframes getWidth {
103
- 100% {
104
- width: 100%;
105
- }
106
- }
107
- </style>
1
+ <template>
2
+ <div>
3
+ <div v-if="type == 'bubbles'" :class="{ loading: center }">
4
+ <vue-loading
5
+ type="bubbles"
6
+ :color="color"
7
+ :size="{ width: width + 'px', height: height + 'px' }"
8
+ ></vue-loading>
9
+ </div>
10
+ <div v-if="type == 'line'">
11
+ <div class="loader">
12
+ <div class="loader__element"></div>
13
+ </div>
14
+ </div>
15
+ <div :class="{ 'loading-text': center }">
16
+ <div>
17
+ <div class="message">{{ message }}</div>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </template>
22
+
23
+ <script>
24
+ export default {
25
+ name: "Loading",
26
+ props: {
27
+ height: {
28
+ type: Number,
29
+ default: 70,
30
+ },
31
+ width: {
32
+ type: Number,
33
+ default: 70,
34
+ },
35
+ center: {
36
+ type: Boolean,
37
+ default: true,
38
+ },
39
+ color: {
40
+ type: String,
41
+ default: "#D98621",
42
+ },
43
+ type: {
44
+ type: String,
45
+ default: "bubbles",
46
+ },
47
+ message: String,
48
+ },
49
+ };
50
+ </script>
51
+
52
+ <style scoped>
53
+ .loading {
54
+ position: absolute;
55
+ left: 50%;
56
+ top: 50%;
57
+ -webkit-transform: translate(-50%, -50%);
58
+ transform: translate(-50%, -50%);
59
+ }
60
+
61
+ .loading-text {
62
+ position: absolute;
63
+ left: 50%;
64
+ top: 45%;
65
+ -webkit-transform: translate(-50%, -50%);
66
+ transform: translate(-50%, -50%);
67
+ }
68
+
69
+ .message {
70
+ font-size: 15px;
71
+ margin-top: 5px;
72
+ }
73
+
74
+ .loader {
75
+ overflow: hidden;
76
+ width: 100%;
77
+ height: 100%;
78
+ top: 0;
79
+ left: 0;
80
+ display: flex;
81
+ align-items: center;
82
+ align-content: center;
83
+ justify-content: flex-start;
84
+ z-index: 100000;
85
+ }
86
+
87
+ .loader__element {
88
+ height: 3px;
89
+ width: 100%;
90
+ background: #fbf2e8;
91
+ }
92
+
93
+ .loader__element:before {
94
+ content: "";
95
+ display: block;
96
+ background-color: #fca944;
97
+ height: 3px;
98
+ width: 0;
99
+ animation: getWidth 1s ease-in infinite;
100
+ }
101
+
102
+ @keyframes getWidth {
103
+ 100% {
104
+ width: 100%;
105
+ }
106
+ }
107
+ </style>
@@ -1,23 +1,23 @@
1
- <template>
2
- <div>
3
- <Button
4
- key="loadingMore"
5
- eventName="loadingMore"
6
- type="warning"
7
- title="Carregar mais..."
8
- classIcon="fas fa-redo"
9
- size="medium"
10
- />
11
- </div>
12
- </template>
13
- <script>
14
- import Button from "../forms/Button.vue";
15
- export default {
16
- name: "LoadingMoreButton",
17
- components: { Button },
18
- data() {
19
- return {};
20
- },
21
- methods: {},
22
- };
23
- </script>
1
+ <template>
2
+ <div>
3
+ <Button
4
+ key="loadingMore"
5
+ eventName="loadingMore"
6
+ type="warning"
7
+ title="Carregar mais..."
8
+ classIcon="fas fa-redo"
9
+ size="medium"
10
+ />
11
+ </div>
12
+ </template>
13
+ <script>
14
+ import Button from "../forms/Button.vue";
15
+ export default {
16
+ name: "LoadingMoreButton",
17
+ components: { Button },
18
+ data() {
19
+ return {};
20
+ },
21
+ methods: {},
22
+ };
23
+ </script>