@nixweb/nixloc-ui 0.0.128 → 0.0.130

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 (87) hide show
  1. package/package.json +87 -79
  2. package/src/App.vue +13 -13
  3. package/src/component/forms/Button.vue +178 -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 +52 -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/DocumentEditor.vue +19 -11
  47. package/src/component/shared/DocumentPreview.vue +5 -4
  48. package/src/component/shared/ExportPDF.vue +116 -116
  49. package/src/component/shared/FullCalendar.vue +168 -0
  50. package/src/component/shared/HorizontalFilter.vue +59 -59
  51. package/src/component/shared/Loading.vue +107 -107
  52. package/src/component/shared/LoadingMoreButton.vue +23 -23
  53. package/src/component/shared/Messages.vue +81 -81
  54. package/src/component/shared/PDFViewer.vue +22 -22
  55. package/src/component/shared/Pagination.vue +52 -52
  56. package/src/component/shared/ParameterLegend.vue +24 -17
  57. package/src/component/shared/ProgressBar.vue +22 -22
  58. package/src/component/shared/QueryButton.vue +66 -66
  59. package/src/component/shared/SaveCancel.vue +3 -2
  60. package/src/component/shared/Search.vue +154 -154
  61. package/src/component/shared/Table.vue +163 -163
  62. package/src/component/shared/TableButton.vue +36 -36
  63. package/src/component/shared/TableTotalization.vue +47 -47
  64. package/src/component/shared/TimeLine.vue +47 -0
  65. package/src/component/shared/Tip.vue +42 -42
  66. package/src/component/shared/Toast.vue +54 -54
  67. package/src/component/shared/VerticalFilter.vue +97 -97
  68. package/src/component/shared/query-builder/AddRule.vue +181 -181
  69. package/src/component/shared/query-builder/DynamicComponentList.vue +73 -73
  70. package/src/component/shared/query-builder/QueryBuilder.vue +69 -69
  71. package/src/component/shared/query-builder/utilities.js +21 -21
  72. package/src/component/template/ListViewWithDataHandler.vue +260 -260
  73. package/src/component/template/ViewTemplateConfiguration.vue +64 -64
  74. package/src/component/template/ViewTemplateDocumentView.vue +7 -2
  75. package/src/component/template/ViewTemplateReportList.vue +1 -1
  76. package/src/component/template/ViewTemplateReportPreview.vue +0 -1
  77. package/src/component/template/ViewTemplateWithSalveCancel.vue +32 -32
  78. package/src/component/template/ViewTemplateWithTable.vue +56 -56
  79. package/src/config/axios.js +9 -9
  80. package/src/config/dicas.js +14 -14
  81. package/src/config/router.js +13 -13
  82. package/src/config/token.js +14 -14
  83. package/src/main.js +23 -23
  84. package/src/store/modules/generic.js +563 -512
  85. package/src/store/modules/user.js +3 -0
  86. package/src/store/modules/validation.js +38 -38
  87. package/src/store/store.js +13 -13
package/package.json CHANGED
@@ -1,79 +1,87 @@
1
- {
2
- "name": "@nixweb/nixloc-ui",
3
- "version": "0.0.128",
4
- "description": "Componentes UI",
5
- "author": "Fábio Ávila <fabio@nixweb.com.br>",
6
- "private": false,
7
- "scripts": {
8
- "serve": "vue-cli-service serve",
9
- "build": "vue-cli-service build",
10
- "lint": "vue-cli-service lint"
11
- },
12
- "dependencies": {
13
- "@babel/polyfill": "^7.12.1",
14
- "@ckeditor/ckeditor5-vue2": "^2.0.0",
15
- "axios": "^0.24.0",
16
- "bootstrap-vue": "^2.0.0-rc.11",
17
- "core-js": "^3.6.5",
18
- "sass-loader": "^10.1.1",
19
- "v-runtime-template": "^1.10.0",
20
- "vodal": "^2.4.0",
21
- "vue": "^2.6.11",
22
- "vue-color": "^2.7.0",
23
- "vue-currency-filter": "^3.3.0",
24
- "vue-html2pdf": "^1.8.0",
25
- "vue-image-crop-upload": "^3.0.3",
26
- "vue-js-toggle-button": "^1.3.0",
27
- "vue-json-excel": "^0.3.0",
28
- "vue-loading-template": "^1.3.0",
29
- "vue-moment": "^4.0.0",
30
- "vue-multiselect": "^2.1.0",
31
- "vue-numeric": "^2.4.1",
32
- "vue-print-nb": "^1.7.5",
33
- "vue-router": "^3.0.1",
34
- "vue-simple-progress": "^1.1.1",
35
- "vue-the-mask": "^0.11.1",
36
- "vue-toasted": "^1.1.28",
37
- "vue-toggles": "^1.1.4",
38
- "vue-upload-file": "^1.1.0",
39
- "vue2-datepicker": "^2.13.0",
40
- "vue2-editor": "^2.6.6",
41
- "vuedraggable": "^2.24.3",
42
- "vuejs-ace-editor": "^1.0.1",
43
- "vuex": "^3.6.2",
44
- "vuex-persistedstate": "^4.0.0"
45
- },
46
- "devDependencies": {
47
- "@vue/cli-plugin-babel": "~4.5.0",
48
- "@vue/cli-service": "~4.5.0",
49
- "babel-eslint": "^10.1.0",
50
- "eslint": "^6.7.2",
51
- "eslint-plugin-vue": "^6.2.2",
52
- "script-loader": "^0.7.2",
53
- "vue-template-compiler": "^2.6.11"
54
- },
55
- "eslintConfig": {
56
- "root": true,
57
- "env": {
58
- "node": true
59
- },
60
- "extends": [
61
- "plugin:vue/essential",
62
- "eslint:recommended"
63
- ],
64
- "parserOptions": {
65
- "parser": "babel-eslint"
66
- },
67
- "rules": {}
68
- },
69
- "engines": {
70
- "node": "16.14.2",
71
- "npm": ">= 3.0.0"
72
- },
73
- "browserslist": [
74
- "> 1%",
75
- "last 2 versions",
76
- "not dead"
77
- ],
78
- "main": "babel.config.js"
79
- }
1
+ {
2
+ "name": "@nixweb/nixloc-ui",
3
+ "version": "0.0.130",
4
+ "description": "Componentes UI",
5
+ "author": "Fábio Ávila <fabio@nixweb.com.br>",
6
+ "private": false,
7
+ "scripts": {
8
+ "serve": "vue-cli-service serve",
9
+ "build": "vue-cli-service build",
10
+ "lint": "vue-cli-service lint"
11
+ },
12
+ "dependencies": {
13
+ "@babel/polyfill": "^7.12.1",
14
+ "@ckeditor/ckeditor5-vue2": "^2.0.0",
15
+ "@fullcalendar/core": "^5.11.3",
16
+ "@fullcalendar/daygrid": "^5.11.3",
17
+ "@fullcalendar/interaction": "^5.11.3",
18
+ "@fullcalendar/list": "^5.11.3",
19
+ "@fullcalendar/timegrid": "^5.11.3",
20
+ "@fullcalendar/vue": "^5.11.2",
21
+ "axios": "^0.24.0",
22
+ "bootstrap-vue": "^2.0.0-rc.11",
23
+ "core-js": "^3.6.5",
24
+ "frappe-gantt": "^0.6.1",
25
+ "sass-loader": "^10.1.1",
26
+ "timeline-vuejs": "^1.1.7",
27
+ "v-runtime-template": "^1.10.0",
28
+ "vodal": "^2.4.0",
29
+ "vue": "^2.6.11",
30
+ "vue-color": "^2.7.0",
31
+ "vue-currency-filter": "^3.3.0",
32
+ "vue-html2pdf": "^1.8.0",
33
+ "vue-image-crop-upload": "^3.0.3",
34
+ "vue-js-toggle-button": "^1.3.0",
35
+ "vue-json-excel": "^0.3.0",
36
+ "vue-loading-template": "^1.3.0",
37
+ "vue-moment": "^4.0.0",
38
+ "vue-multiselect": "^2.1.0",
39
+ "vue-numeric": "^2.4.1",
40
+ "vue-print-nb": "^1.7.5",
41
+ "vue-router": "^3.0.1",
42
+ "vue-simple-progress": "^1.1.1",
43
+ "vue-the-mask": "^0.11.1",
44
+ "vue-toasted": "^1.1.28",
45
+ "vue-toggles": "^1.1.4",
46
+ "vue-upload-file": "^1.1.0",
47
+ "vue2-datepicker": "^2.13.0",
48
+ "vue2-editor": "^2.6.6",
49
+ "vuedraggable": "^2.24.3",
50
+ "vuejs-ace-editor": "^1.0.1",
51
+ "vuex": "^3.6.2",
52
+ "vuex-persistedstate": "^4.0.0"
53
+ },
54
+ "devDependencies": {
55
+ "@vue/cli-plugin-babel": "~4.5.0",
56
+ "@vue/cli-service": "~4.5.0",
57
+ "babel-eslint": "^10.1.0",
58
+ "eslint": "^6.7.2",
59
+ "eslint-plugin-vue": "^6.2.2",
60
+ "script-loader": "^0.7.2",
61
+ "vue-template-compiler": "^2.6.11"
62
+ },
63
+ "eslintConfig": {
64
+ "root": true,
65
+ "env": {
66
+ "node": true
67
+ },
68
+ "extends": [
69
+ "plugin:vue/essential",
70
+ "eslint:recommended"
71
+ ],
72
+ "parserOptions": {
73
+ "parser": "babel-eslint"
74
+ },
75
+ "rules": {}
76
+ },
77
+ "engines": {
78
+ "node": "16.14.2",
79
+ "npm": ">= 3.0.0"
80
+ },
81
+ "browserslist": [
82
+ "> 1%",
83
+ "last 2 versions",
84
+ "not dead"
85
+ ],
86
+ "main": "babel.config.js"
87
+ }
package/src/App.vue CHANGED
@@ -1,13 +1,13 @@
1
- <template>
2
- <div id="app">
3
- <router-view :key="$route.fullPath"></router-view>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: "App",
10
- };
11
- </script>
12
-
13
- <style></style>
1
+ <template>
2
+ <div id="app">
3
+ <router-view :key="$route.fullPath"></router-view>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: "App",
10
+ };
11
+ </script>
12
+
13
+ <style></style>
@@ -1,170 +1,178 @@
1
- <template>
2
- <div class="c-div-button">
3
- <button
4
- class="button"
5
- :class="{
6
- small: size === 'small',
7
- medium: size === 'medium',
8
- large: size === 'large',
9
- primary: type === 'primary',
10
- success: type === 'success',
11
- warning: type === 'warning',
12
- info: type === 'info',
13
- edit: type === 'edit',
14
- danger: type === 'danger',
15
- disabled: disabled,
16
- }"
17
- :disabled="disabled"
18
- @click="execute()"
19
- >
20
- <i class="title" :class="classIcon" v-if="!isLoading(this._key) && classIcon"></i>
21
- <span v-if="!isLoading(this._key)">{{ title }}</span>
22
- <vue-loading
23
- v-if="isLoading(this._key)"
24
- type="bubbles"
25
- color="#fff"
26
- :size="{ width: '26px', height: '26px' }"
27
- ></vue-loading>
28
- </button>
29
- </div>
30
- </template>
31
-
32
- <script>
33
- import { mapGetters, mapMutations } from "vuex";
34
-
35
- export default {
36
- name: "Button",
37
- props: {
38
- _key: String,
39
- title: String,
40
- type: String,
41
- size: String,
42
- eventName: String,
43
- eventData: Object,
44
- classIcon: String,
45
- disabled: Boolean,
46
- params: Object,
47
- clicked: Function,
48
- },
49
- computed: {
50
- ...mapGetters("generic", ["isLoading"]),
51
- },
52
- methods: {
53
- ...mapMutations("generic", ["addLoading", "addEvent"]),
54
- execute() {
55
- if (this.eventName)
56
- this.addEvent({
57
- name: this.eventName,
58
- data: this.eventData,
59
- });
60
- this.addLoading(this._key);
61
- if (this.clicked) this.clicked(this.params);
62
- },
63
- },
64
- };
65
- </script>
66
- <style scoped>
67
- .c-div-button {
68
- display: inline-block;
69
- margin-left: 5px;
70
- }
71
-
72
- .title {
73
- margin: 2px;
74
- }
75
-
76
- .button {
77
- padding: 8px 12px;
78
- cursor: pointer;
79
- border: none;
80
- border-radius: 40px !important;
81
- font-size: 13px !important;
82
- font-weight: normal;
83
- font-style: normal !important;
84
- letter-spacing: 1px !important;
85
- -webkit-box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
86
- -moz-box-shadow: 0px 10px 20px -6px rgba(0, 0, 0, 0.12);
87
- box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
88
- }
89
-
90
- .small {
91
- padding: 3px 7px;
92
- font-size: 13px;
93
- }
94
-
95
- .medium {
96
- padding: 7px 12px;
97
- font-size: 14px;
98
- }
99
-
100
- .large {
101
- padding: 10px 15px;
102
- font-size: 14px;
103
- }
104
-
105
- .disabled {
106
- background: #bbbbbb !important;
107
- border-color: #bbbbbb !important;
108
- color: #fff;
109
- }
110
-
111
- .primary {
112
- background: #577696;
113
- border-color: #577696;
114
- color: #fff;
115
- }
116
-
117
- .primary:hover {
118
- background: #355472;
119
- }
120
-
121
- .success {
122
- color: #fff;
123
- background: #94aa2a;
124
- border-color: #94aa2a;
125
- }
126
-
127
- .success:hover {
128
- background: #6d7e1c;
129
- }
130
-
131
- .info {
132
- color: #fff;
133
- border-color: #4ab4e2;
134
- background: #4ab4e2;
135
- }
136
-
137
- .info:hover {
138
- background: #3e90b3;
139
- }
140
-
141
- .edit {
142
- color: #fff;
143
- border-color: #7b7f83;
144
- background: #7b7f83;
145
- }
146
-
147
- .edit:hover {
148
- background: #595c5f;
149
- }
150
-
151
- .warning {
152
- color: #fff;
153
- border-color: #f1bc31;
154
- background: #f1bc31;
155
- }
156
-
157
- .warning:hover {
158
- background: #a37d1b;
159
- }
160
-
161
- .danger {
162
- color: #fff;
163
- border-color: #f0134d;
164
- background: #f0134d;
165
- }
166
-
167
- .danger:hover {
168
- background: #c70f40;
169
- }
170
- </style>
1
+ <template>
2
+ <div class="c-div-button">
3
+ <button
4
+ :style="'background-color:' + backroundColor + ';color:' + color"
5
+ class="button"
6
+ :class="{
7
+ small: size === 'small',
8
+ medium: size === 'medium',
9
+ large: size === 'large',
10
+ primary: type === 'primary',
11
+ success: type === 'success',
12
+ warning: type === 'warning',
13
+ info: type === 'info',
14
+ edit: type === 'edit',
15
+ danger: type === 'danger',
16
+ disabled: disabled,
17
+ }"
18
+ :disabled="disabled"
19
+ @click="execute()"
20
+ >
21
+ <i
22
+ class="title"
23
+ :class="classIcon"
24
+ v-if="!isLoading(this._key) && classIcon"
25
+ ></i>
26
+ <span v-if="!isLoading(this._key)">{{ title }}</span>
27
+ <vue-loading
28
+ v-if="isLoading(this._key)"
29
+ type="bubbles"
30
+ color="#fff"
31
+ :size="{ width: '26px', height: '26px' }"
32
+ ></vue-loading>
33
+ </button>
34
+ </div>
35
+ </template>
36
+
37
+ <script>
38
+ import { mapGetters, mapMutations } from "vuex";
39
+
40
+ export default {
41
+ name: "Button",
42
+ props: {
43
+ _key: String,
44
+ title: String,
45
+ type: String,
46
+ size: String,
47
+ color: String,
48
+ backroundColor: String,
49
+ eventName: String,
50
+ eventData: Object,
51
+ classIcon: String,
52
+ disabled: Boolean,
53
+ params: Object,
54
+ clicked: Function,
55
+ },
56
+ computed: {
57
+ ...mapGetters("generic", ["isLoading"]),
58
+ },
59
+ methods: {
60
+ ...mapMutations("generic", ["addLoading", "addEvent"]),
61
+ execute() {
62
+ if (this.eventName)
63
+ this.addEvent({
64
+ name: this.eventName,
65
+ data: this.eventData,
66
+ });
67
+ this.addLoading(this._key);
68
+ if (this.clicked) this.clicked(this.params);
69
+ },
70
+ },
71
+ };
72
+ </script>
73
+ <style scoped>
74
+ .c-div-button {
75
+ display: inline-block;
76
+ margin-left: 5px;
77
+ }
78
+
79
+ .title {
80
+ margin: 2px;
81
+ }
82
+
83
+ .button {
84
+ padding: 8px 12px;
85
+ cursor: pointer;
86
+ border: none;
87
+ min-width: 33px;
88
+ border-radius: 40px !important;
89
+ font-size: 13px !important;
90
+ font-weight: normal;
91
+ font-style: normal !important;
92
+ letter-spacing: 1px !important;
93
+ -webkit-box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
94
+ -moz-box-shadow: 0px 10px 20px -6px rgba(0, 0, 0, 0.12);
95
+ box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
96
+ }
97
+
98
+ .small {
99
+ padding: 3px 7px;
100
+ font-size: 13px;
101
+ }
102
+
103
+ .medium {
104
+ padding: 7px 12px;
105
+ font-size: 14px;
106
+ }
107
+
108
+ .large {
109
+ padding: 10px 15px;
110
+ font-size: 14px;
111
+ }
112
+
113
+ .disabled {
114
+ background: #bbbbbb !important;
115
+ border-color: #bbbbbb !important;
116
+ color: #fff;
117
+ }
118
+
119
+ .primary {
120
+ background: #577696;
121
+ border-color: #577696;
122
+ color: #fff;
123
+ }
124
+
125
+ .primary:hover {
126
+ background: #355472;
127
+ }
128
+
129
+ .success {
130
+ color: #fff;
131
+ background: #94aa2a;
132
+ border-color: #94aa2a;
133
+ }
134
+
135
+ .success:hover {
136
+ background: #6d7e1c;
137
+ }
138
+
139
+ .info {
140
+ color: #fff;
141
+ border-color: #4ab4e2;
142
+ background: #4ab4e2;
143
+ }
144
+
145
+ .info:hover {
146
+ background: #3e90b3;
147
+ }
148
+
149
+ .edit {
150
+ color: #fff;
151
+ border-color: #7b7f83;
152
+ background: #7b7f83;
153
+ }
154
+
155
+ .edit:hover {
156
+ background: #595c5f;
157
+ }
158
+
159
+ .warning {
160
+ color: #fff;
161
+ border-color: #f1bc31;
162
+ background: #f1bc31;
163
+ }
164
+
165
+ .warning:hover {
166
+ background: #a37d1b;
167
+ }
168
+
169
+ .danger {
170
+ color: #fff;
171
+ border-color: #f0134d;
172
+ background: #f0134d;
173
+ }
174
+
175
+ .danger:hover {
176
+ background: #c70f40;
177
+ }
178
+ </style>
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <div>
3
+ <div>
4
+ <b-button-group size="sm">
5
+ <b-button
6
+ v-for="option in options"
7
+ :class="{ selected: option.title == selected }"
8
+ class="btn-group"
9
+ @click="execute(option)"
10
+ :key="option.title"
11
+ >
12
+ {{ option.title }}
13
+ </b-button>
14
+ </b-button-group>
15
+ </div>
16
+ </div>
17
+ </template>
18
+ <script>
19
+ import { mapMutations } from "vuex";
20
+
21
+ export default {
22
+ name: "ButtonGroup",
23
+ props: {
24
+ initialOption: String,
25
+ options: {
26
+ type: Array,
27
+ default: [],
28
+ },
29
+ },
30
+ data() {
31
+ return {
32
+ selected: "",
33
+ };
34
+ },
35
+ created() {
36
+ this.selected = this.initialOption;
37
+ },
38
+ methods: {
39
+ ...mapMutations("generic", ["addEvent"]),
40
+ execute(option) {
41
+ this.selected = option.title;
42
+ this.addEvent({ name: option.eventName, data: option });
43
+ },
44
+ },
45
+ };
46
+ </script>
47
+ <style scoped>
48
+ .btn-group {
49
+ background-color: white !important;
50
+ color: black !important;
51
+ border-color: #e9e9e9 !important;
52
+ outline: none !important;
53
+ }
54
+ .selected {
55
+ background-color: #f5f5f5 !important;
56
+ }
57
+ </style>