@bildvitta/quasar-ui-asteroid 3.0.0-alpha.3 → 3.0.0-beta.3
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/dist/api/QasBtn.json +5 -2
- package/dist/api/QasDelete.json +5 -0
- package/dist/api/QasFilters.json +4 -0
- package/dist/api/QasFormView.json +6 -4
- package/dist/api/QasInput.json +16 -1
- package/dist/api/QasPasswordInput.json +2 -1
- package/dist/api/QasSignatureUploader.json +7 -0
- package/dist/asteroid.cjs.css +1 -1
- package/dist/asteroid.cjs.js +792 -653
- package/dist/asteroid.cjs.min.js +2 -2
- package/dist/asteroid.esm.css +1 -1
- package/dist/asteroid.esm.js +794 -654
- package/dist/asteroid.esm.min.js +2 -2
- package/dist/asteroid.umd.css +1 -1
- package/dist/asteroid.umd.js +794 -654
- package/dist/asteroid.umd.min.js +2 -2
- package/dist/vetur/asteroid-attributes.json +31 -3
- package/dist/vetur/asteroid-tags.json +11 -4
- package/package.json +1 -1
- package/src/asteroid.js +1 -0
- package/src/components/actions/QasActions.vue +1 -5
- package/src/components/actions-menu/QasActionsMenu.vue +3 -5
- package/src/components/app-menu/QasAppMenu.vue +1 -4
- package/src/components/btn/QasBtn.vue +12 -11
- package/src/components/btn/QasBtn.yml +4 -1
- package/src/components/delete/QasDelete.vue +23 -1
- package/src/components/delete/QasDelete.yml +4 -0
- package/src/components/dialog/QasDialog.vue +4 -8
- package/src/components/field/QasField.vue +1 -2
- package/src/components/filters/QasFilters.vue +6 -2
- package/src/components/filters/QasFilters.yml +4 -0
- package/src/components/form-view/QasFormView.vue +14 -14
- package/src/components/form-view/QasFormView.yml +8 -3
- package/src/components/gallery/QasGallery.vue +4 -8
- package/src/components/input/QasInput.vue +43 -2
- package/src/components/input/QasInput.yml +13 -1
- package/src/components/nested-fields/QasNestedFields.vue +47 -35
- package/src/components/page-header/QasPageHeader.vue +4 -2
- package/src/components/password-input/QasPasswordInput.vue +17 -26
- package/src/components/password-input/QasPasswordInput.yml +1 -1
- package/src/components/profile/QasProfile.vue +2 -5
- package/src/components/search-box/QasSearchBox.vue +6 -1
- package/src/components/select-list/QasSelectList.vue +12 -13
- package/src/components/signature-uploader/QasSignatureUploader.vue +35 -2
- package/src/components/signature-uploader/QasSignatureUploader.yml +5 -0
- package/src/components/table-generator/QasTableGenerator.vue +3 -6
- package/src/components/text-truncate/QasTextTruncate.vue +1 -4
- package/src/components/transfer/QasTransfer.vue +12 -13
- package/src/components/uploader/QasUploader.vue +1 -2
- package/src/composables/index.js +1 -0
- package/src/composables/useForm.js +3 -0
- package/src/composables/useHistory.js +46 -0
- package/src/css/design-system/button.scss +6 -0
- package/src/css/design-system/index.scss +2 -0
- package/src/css/design-system/typography.scss +91 -0
- package/src/directives/Test.js +13 -0
- package/src/helpers/filter-list-by-handle.js +31 -0
- package/src/helpers/filter-object-to-array.js +29 -0
- package/src/helpers/filter-object.js +2 -3
- package/src/helpers/index.js +2 -0
- package/src/index.scss +4 -2
- package/src/mixins/index.js +1 -3
- package/src/mixins/view.js +2 -0
- package/src/pages/Forbidden.vue +12 -0
- package/src/pages/NotFound.vue +12 -0
- package/src/plugins/index.js +2 -0
- package/src/plugins/screen/Screen.js +35 -0
- package/src/plugins/screen/Screen.yml +16 -0
- package/src/vue-plugin.js +12 -3
- package/src/css/transitions.scss +0 -12
- package/src/mixins/screen.js +0 -34
- package/src/store/history.js +0 -43
- package/src/store/index.js +0 -1
package/dist/asteroid.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @bildvitta/quasar-ui-asteroid v3.0.0-
|
|
2
|
+
* @bildvitta/quasar-ui-asteroid v3.0.0-beta.3
|
|
3
3
|
* (c) 2022 Bild & Vitta <systemteam@bild.com.br>
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -7,15 +7,14 @@
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
9
|
|
|
10
|
-
var humps = require('humps');
|
|
11
10
|
var vue = require('vue');
|
|
11
|
+
var humps = require('humps');
|
|
12
12
|
var dateFns = require('date-fns');
|
|
13
13
|
var locale = require('date-fns/locale');
|
|
14
14
|
var quasar = require('quasar');
|
|
15
|
+
var lodashEs = require('lodash-es');
|
|
15
16
|
var AutoNumeric = require('autonumeric');
|
|
16
17
|
var Pica = require('pica');
|
|
17
|
-
var api = require('axios');
|
|
18
|
-
var lodashEs = require('lodash-es');
|
|
19
18
|
var SignaturePad = require('signature_pad');
|
|
20
19
|
var vueRouter = require('vue-router');
|
|
21
20
|
var Fuse = require('fuse.js');
|
|
@@ -26,346 +25,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
26
25
|
|
|
27
26
|
var AutoNumeric__default = /*#__PURE__*/_interopDefaultLegacy(AutoNumeric);
|
|
28
27
|
var Pica__default = /*#__PURE__*/_interopDefaultLegacy(Pica);
|
|
29
|
-
var api__default = /*#__PURE__*/_interopDefaultLegacy(api);
|
|
30
28
|
var SignaturePad__default = /*#__PURE__*/_interopDefaultLegacy(SignaturePad);
|
|
31
29
|
var Fuse__default = /*#__PURE__*/_interopDefaultLegacy(Fuse);
|
|
32
30
|
var Sortable__default = /*#__PURE__*/_interopDefaultLegacy(Sortable);
|
|
33
31
|
var VueGoogleMaps__default = /*#__PURE__*/_interopDefaultLegacy(VueGoogleMaps);
|
|
34
32
|
|
|
35
|
-
var contextMixin = {
|
|
36
|
-
computed: {
|
|
37
|
-
mx_context () {
|
|
38
|
-
const { limit, ordering, page, search, ...filters } = this.$route.query;
|
|
39
|
-
return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const irregularClasses = ['col', 'col-auto', 'fit'];
|
|
45
|
-
|
|
46
|
-
var generatorMixin = {
|
|
47
|
-
props: {
|
|
48
|
-
columns: {
|
|
49
|
-
default: () => [],
|
|
50
|
-
type: [Array, String, Object]
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
fields: {
|
|
54
|
-
default: () => ({}),
|
|
55
|
-
type: Object
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
gutter: {
|
|
59
|
-
default: 'md',
|
|
60
|
-
type: [String, Boolean],
|
|
61
|
-
validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
computed: {
|
|
66
|
-
mx_classes () {
|
|
67
|
-
const classes = ['row'];
|
|
68
|
-
|
|
69
|
-
if (this.gutter) {
|
|
70
|
-
classes.push(`q-col-gutter-${this.gutter}`);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return classes
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
methods: {
|
|
78
|
-
mx_getBreakpoint (columns) {
|
|
79
|
-
const classes = [];
|
|
80
|
-
const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
|
|
81
|
-
const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
|
|
82
|
-
|
|
83
|
-
for (const key in formattedColumns) {
|
|
84
|
-
const value = formattedColumns[key];
|
|
85
|
-
classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return [...classes, renamedClasses]
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
mx_getFieldClass (index, isGridGenerator) {
|
|
92
|
-
if (typeof this.columns === 'string') {
|
|
93
|
-
return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return Array.isArray(this.columns)
|
|
97
|
-
? this.mx_handleColumnsByIndex(index, isGridGenerator)
|
|
98
|
-
: this.mx_handleColumnsByField(index, isGridGenerator)
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
mx_handleColumnsByField (index, isGridGenerator) {
|
|
102
|
-
if (!this.columns[index]) {
|
|
103
|
-
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return this.mx_getBreakpoint(this.columns[index])
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
mx_handleColumnsByIndex (index, isGridGenerator) {
|
|
110
|
-
const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
|
|
111
|
-
|
|
112
|
-
if (!Array.isArray(fields)) {
|
|
113
|
-
index = Object.keys(fields).findIndex(field => field === index);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
const length = this.columns.length;
|
|
117
|
-
|
|
118
|
-
if (!length) {
|
|
119
|
-
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return this.mx_getBreakpoint(this.columns[index])
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
mx_setDefaultColumnClass (isGridGenerator) {
|
|
126
|
-
return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
const levels = {
|
|
132
|
-
0: {
|
|
133
|
-
color: 'negative',
|
|
134
|
-
label: 'Muito fraco',
|
|
135
|
-
progress: 0.05,
|
|
136
|
-
textClass: 'text-negative'
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
1: {
|
|
140
|
-
color: 'warning',
|
|
141
|
-
label: 'Fraco',
|
|
142
|
-
progress: 0.25,
|
|
143
|
-
textClass: 'text-warning'
|
|
144
|
-
},
|
|
145
|
-
|
|
146
|
-
2: {
|
|
147
|
-
color: 'warning',
|
|
148
|
-
label: 'Bom',
|
|
149
|
-
progress: 0.5,
|
|
150
|
-
textClass: 'text-warning'
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
3: {
|
|
154
|
-
color: 'positive',
|
|
155
|
-
label: 'Forte',
|
|
156
|
-
progress: 0.75,
|
|
157
|
-
textClass: 'text-positive'
|
|
158
|
-
},
|
|
159
|
-
|
|
160
|
-
4: {
|
|
161
|
-
color: 'positive',
|
|
162
|
-
label: 'Muito forte',
|
|
163
|
-
progress: 1,
|
|
164
|
-
textClass: 'text-positive'
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
var passwordMixin = {
|
|
169
|
-
props: {
|
|
170
|
-
levels: {
|
|
171
|
-
default: () => levels,
|
|
172
|
-
type: Object
|
|
173
|
-
},
|
|
174
|
-
|
|
175
|
-
// https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
|
|
176
|
-
minlength: {
|
|
177
|
-
default: 8,
|
|
178
|
-
type: [Number, String]
|
|
179
|
-
},
|
|
180
|
-
|
|
181
|
-
specials: {
|
|
182
|
-
default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
|
|
183
|
-
type: RegExp
|
|
184
|
-
},
|
|
185
|
-
|
|
186
|
-
trackColor: {
|
|
187
|
-
default: 'blue-grey-1',
|
|
188
|
-
type: String
|
|
189
|
-
},
|
|
190
|
-
|
|
191
|
-
useLowercase: {
|
|
192
|
-
default: true,
|
|
193
|
-
type: Boolean
|
|
194
|
-
},
|
|
195
|
-
|
|
196
|
-
useNumbers: {
|
|
197
|
-
default: true,
|
|
198
|
-
type: Boolean
|
|
199
|
-
},
|
|
200
|
-
|
|
201
|
-
useSpecial: {
|
|
202
|
-
default: true,
|
|
203
|
-
type: Boolean
|
|
204
|
-
},
|
|
205
|
-
|
|
206
|
-
useUppercase: {
|
|
207
|
-
default: true,
|
|
208
|
-
type: Boolean
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
|
|
213
|
-
var screenMixin = {
|
|
214
|
-
// TODO: Esses nomes precisam ser alterados para algo mais inteligente.
|
|
215
|
-
|
|
216
|
-
computed: {
|
|
217
|
-
mx_isSmall () {
|
|
218
|
-
// until 599
|
|
219
|
-
return this.$q.screen.xs
|
|
220
|
-
},
|
|
221
|
-
|
|
222
|
-
mx_isMedium () {
|
|
223
|
-
// from 600 until 1023
|
|
224
|
-
return this.$q.screen.sm
|
|
225
|
-
},
|
|
226
|
-
|
|
227
|
-
mx_isLarge () {
|
|
228
|
-
// from 1024 until the limit
|
|
229
|
-
return this.$q.screen.gt.sm
|
|
230
|
-
},
|
|
231
|
-
|
|
232
|
-
mx_untilMedium () {
|
|
233
|
-
// from 0 until 599
|
|
234
|
-
return this.$q.screen.lt.sm
|
|
235
|
-
},
|
|
236
|
-
|
|
237
|
-
mx_untilLarge () {
|
|
238
|
-
// from 0 until 1023
|
|
239
|
-
return this.$q.screen.lt.md
|
|
240
|
-
},
|
|
241
|
-
|
|
242
|
-
mx_isMobile () {
|
|
243
|
-
return this.$q.platform.is.mobile
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
var viewMixin = {
|
|
249
|
-
props: {
|
|
250
|
-
dialog: {
|
|
251
|
-
type: Boolean
|
|
252
|
-
},
|
|
253
|
-
|
|
254
|
-
entity: {
|
|
255
|
-
required: true,
|
|
256
|
-
type: String
|
|
257
|
-
},
|
|
258
|
-
|
|
259
|
-
url: {
|
|
260
|
-
default: '',
|
|
261
|
-
type: String
|
|
262
|
-
},
|
|
263
|
-
|
|
264
|
-
fields: {
|
|
265
|
-
default: () => ({}),
|
|
266
|
-
type: Object
|
|
267
|
-
},
|
|
268
|
-
|
|
269
|
-
errors: {
|
|
270
|
-
default: () => ({}),
|
|
271
|
-
type: Object
|
|
272
|
-
},
|
|
273
|
-
|
|
274
|
-
metadata: {
|
|
275
|
-
default: () => ({}),
|
|
276
|
-
type: Object
|
|
277
|
-
},
|
|
278
|
-
|
|
279
|
-
fetching: {
|
|
280
|
-
type: Boolean
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
|
|
284
|
-
emits: [
|
|
285
|
-
'update:fields',
|
|
286
|
-
'update:errors',
|
|
287
|
-
'update:metadata',
|
|
288
|
-
'update:fetching'
|
|
289
|
-
],
|
|
290
|
-
|
|
291
|
-
data () {
|
|
292
|
-
return {
|
|
293
|
-
mx_errors: {},
|
|
294
|
-
mx_fields: {},
|
|
295
|
-
mx_metadata: {},
|
|
296
|
-
|
|
297
|
-
mx_isFetching: false
|
|
298
|
-
}
|
|
299
|
-
},
|
|
300
|
-
|
|
301
|
-
watch: {
|
|
302
|
-
mx_isFetching (value) {
|
|
303
|
-
this.$emit('update:fetching', value);
|
|
304
|
-
}
|
|
305
|
-
},
|
|
306
|
-
|
|
307
|
-
computed: {
|
|
308
|
-
mx_componentTag () {
|
|
309
|
-
return this.dialog ? 'div' : 'q-page'
|
|
310
|
-
},
|
|
311
|
-
|
|
312
|
-
mx_componentClass () {
|
|
313
|
-
return !this.dialog && 'container spaced'
|
|
314
|
-
},
|
|
315
|
-
|
|
316
|
-
mx_hasFooterSlot () {
|
|
317
|
-
return !!(this.$slots.footer)
|
|
318
|
-
},
|
|
319
|
-
|
|
320
|
-
mx_hasHeaderSlot () {
|
|
321
|
-
return !!(this.$slots.header)
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
|
|
325
|
-
methods: {
|
|
326
|
-
mx_fetchError (error) {
|
|
327
|
-
const { response } = error;
|
|
328
|
-
const exception = response?.data?.exception || error.message;
|
|
329
|
-
|
|
330
|
-
this.$qas.error('Ops! Erro ao obter os dados.', exception);
|
|
331
|
-
|
|
332
|
-
const status = response?.status;
|
|
333
|
-
const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
|
|
334
|
-
|
|
335
|
-
if (redirect) {
|
|
336
|
-
this.$router.replace({ name: redirect });
|
|
337
|
-
}
|
|
338
|
-
},
|
|
339
|
-
|
|
340
|
-
mx_setErrors (errors = {}) {
|
|
341
|
-
this.mx_errors = vue.markRaw(errors);
|
|
342
|
-
},
|
|
343
|
-
|
|
344
|
-
mx_setFields (fields = {}) {
|
|
345
|
-
for (const field in fields) {
|
|
346
|
-
fields[field].name = humps.camelize(fields[field].name);
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
this.mx_fields = vue.markRaw(fields);
|
|
350
|
-
},
|
|
351
|
-
|
|
352
|
-
mx_setMetadata (metadata = {}) {
|
|
353
|
-
this.mx_metadata = vue.markRaw(metadata);
|
|
354
|
-
},
|
|
355
|
-
|
|
356
|
-
mx_updateModels (models) {
|
|
357
|
-
for (const key in models) {
|
|
358
|
-
this.$emit(`update:${key}`, models[key]);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
};
|
|
363
|
-
|
|
364
33
|
var script$L = {
|
|
365
34
|
name: 'QasActions',
|
|
366
35
|
|
|
367
|
-
mixins: [screenMixin],
|
|
368
|
-
|
|
369
36
|
props: {
|
|
370
37
|
align: {
|
|
371
38
|
default: 'end',
|
|
@@ -385,7 +52,7 @@ var script$L = {
|
|
|
385
52
|
return [
|
|
386
53
|
`justify-${this.align}`,
|
|
387
54
|
`q-col-gutter-${this.gutter}`,
|
|
388
|
-
this.
|
|
55
|
+
this.$qas.screen.isSmall ? 'column reverse' : 'row'
|
|
389
56
|
]
|
|
390
57
|
}
|
|
391
58
|
}
|
|
@@ -413,28 +80,31 @@ script$L.__file = "src/components/actions/QasActions.vue";
|
|
|
413
80
|
var script$K = {
|
|
414
81
|
name: 'QasBtn',
|
|
415
82
|
|
|
416
|
-
mixins: [screenMixin],
|
|
417
|
-
|
|
418
|
-
inheritAttrs: false,
|
|
419
|
-
|
|
420
83
|
props: {
|
|
421
84
|
hideLabelOnSmallScreen: {
|
|
422
85
|
type: Boolean
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
label: {
|
|
89
|
+
type: String,
|
|
90
|
+
default: ''
|
|
423
91
|
}
|
|
424
92
|
},
|
|
425
93
|
|
|
426
94
|
computed: {
|
|
427
95
|
attributes () {
|
|
428
|
-
|
|
429
|
-
|
|
96
|
+
return {
|
|
97
|
+
...(this.showLabel && { label: this.label }),
|
|
98
|
+
...this.$attrs
|
|
99
|
+
}
|
|
430
100
|
},
|
|
431
101
|
|
|
432
102
|
hasLabel () {
|
|
433
|
-
return !!(this
|
|
103
|
+
return !!(this.label || this.$slots.default)
|
|
434
104
|
},
|
|
435
105
|
|
|
436
106
|
showLabel () {
|
|
437
|
-
return this.hasLabel && !(this.hideLabelOnSmallScreen && this.
|
|
107
|
+
return this.hasLabel && !(this.hideLabelOnSmallScreen && this.$qas.screen.isSmall)
|
|
438
108
|
},
|
|
439
109
|
|
|
440
110
|
slots () {
|
|
@@ -454,9 +124,7 @@ function render$K(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
454
124
|
}, $options.attributes), vue.createSlots({
|
|
455
125
|
default: vue.withCtx(() => [
|
|
456
126
|
($options.showLabel)
|
|
457
|
-
? vue.renderSlot(_ctx.$slots, "default", { key: 0 }
|
|
458
|
-
vue.createTextVNode(vue.toDisplayString(_ctx.$attrs.label), 1 /* TEXT */)
|
|
459
|
-
])
|
|
127
|
+
? vue.renderSlot(_ctx.$slots, "default", { key: 0 })
|
|
460
128
|
: vue.createCommentVNode("v-if", true)
|
|
461
129
|
]),
|
|
462
130
|
_: 2 /* DYNAMIC */
|
|
@@ -554,10 +222,10 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
554
222
|
"hide-label-on-small-screen": "",
|
|
555
223
|
icon: $props.icon,
|
|
556
224
|
label: $props.label,
|
|
557
|
-
outline: ""
|
|
225
|
+
outline: "",
|
|
226
|
+
padding: "md"
|
|
558
227
|
}, {
|
|
559
228
|
default: vue.withCtx(() => [
|
|
560
|
-
vue.createElementVNode("span", null, vue.toDisplayString($props.label), 1 /* TEXT */),
|
|
561
229
|
vue.createVNode(_component_q_menu, { class: "qas-actions-menu__menu" }, {
|
|
562
230
|
default: vue.withCtx(() => [
|
|
563
231
|
vue.createVNode(_component_q_list, {
|
|
@@ -580,8 +248,8 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
580
248
|
vue.createElementVNode("div", _hoisted_1$r, [
|
|
581
249
|
vue.createVNode(_component_q_icon, {
|
|
582
250
|
name: item.icon,
|
|
583
|
-
size:
|
|
584
|
-
}, null, 8 /* PROPS */, ["name"
|
|
251
|
+
size: "sm"
|
|
252
|
+
}, null, 8 /* PROPS */, ["name"]),
|
|
585
253
|
vue.createElementVNode("div", null, vue.toDisplayString(item.label), 1 /* TEXT */)
|
|
586
254
|
])
|
|
587
255
|
]),
|
|
@@ -603,7 +271,10 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
603
271
|
vue.createVNode(_component_q_item_section, null, {
|
|
604
272
|
default: vue.withCtx(() => [
|
|
605
273
|
vue.createElementVNode("div", _hoisted_2$k, [
|
|
606
|
-
vue.createVNode(_component_q_icon, {
|
|
274
|
+
vue.createVNode(_component_q_icon, {
|
|
275
|
+
name: $props.deleteIcon,
|
|
276
|
+
size: "sm"
|
|
277
|
+
}, null, 8 /* PROPS */, ["name"]),
|
|
607
278
|
vue.createElementVNode("div", null, vue.toDisplayString($props.deleteLabel), 1 /* TEXT */)
|
|
608
279
|
])
|
|
609
280
|
]),
|
|
@@ -764,11 +435,10 @@ function constructObject (name, object) {
|
|
|
764
435
|
}
|
|
765
436
|
|
|
766
437
|
/**
|
|
767
|
-
*
|
|
768
|
-
* Função para filtrar propriedades espessificas dentro de um objeto
|
|
438
|
+
* Função para filtrar propriedades especificas dentro de um objeto
|
|
769
439
|
*
|
|
770
440
|
* @param {object} fields objeto com propriedades
|
|
771
|
-
* @param {array} models array de string com nomes das
|
|
441
|
+
* @param {array} models array de string com nomes das propriedades que serão filtradas
|
|
772
442
|
* @returns {object} objeto com propriedades filtradas
|
|
773
443
|
*
|
|
774
444
|
* @example
|
|
@@ -1348,7 +1018,7 @@ const _hoisted_10$1 = { class: "q-pa-lg text-center" };
|
|
|
1348
1018
|
const _hoisted_11$1 = { class: "ellipsis q-mt-lg qs-lh-sm text-bold text-subtitle1" };
|
|
1349
1019
|
const _hoisted_12$1 = { class: "ellipsis q-mt-xs text-caption" };
|
|
1350
1020
|
const _hoisted_13$1 = { class: "q-mt-sm" };
|
|
1351
|
-
const _hoisted_14 = { class: "q-mt-sm" };
|
|
1021
|
+
const _hoisted_14$1 = { class: "q-mt-sm" };
|
|
1352
1022
|
|
|
1353
1023
|
function render$F(_ctx, _cache, $props, $setup, $data, $options) {
|
|
1354
1024
|
const _component_q_ajax_bar = vue.resolveComponent("q-ajax-bar");
|
|
@@ -1494,7 +1164,7 @@ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1494
1164
|
to: $props.user.to
|
|
1495
1165
|
}, null, 8 /* PROPS */, ["to"])
|
|
1496
1166
|
]),
|
|
1497
|
-
vue.createElementVNode("div", _hoisted_14, [
|
|
1167
|
+
vue.createElementVNode("div", _hoisted_14$1, [
|
|
1498
1168
|
vue.withDirectives(vue.createVNode(_component_qas_btn, {
|
|
1499
1169
|
class: "q-px-lg q-py-xs",
|
|
1500
1170
|
dense: "",
|
|
@@ -1529,8 +1199,6 @@ script$F.__file = "src/components/app-bar/QasAppBar.vue";
|
|
|
1529
1199
|
var script$E = {
|
|
1530
1200
|
name: 'QasAppMenu',
|
|
1531
1201
|
|
|
1532
|
-
mixins: [screenMixin],
|
|
1533
|
-
|
|
1534
1202
|
props: {
|
|
1535
1203
|
items: {
|
|
1536
1204
|
default: () => [],
|
|
@@ -1632,7 +1300,7 @@ var script$E = {
|
|
|
1632
1300
|
},
|
|
1633
1301
|
|
|
1634
1302
|
beforeHide () {
|
|
1635
|
-
if (this.
|
|
1303
|
+
if (this.$qas.screen.isLarge) {
|
|
1636
1304
|
this.model = true;
|
|
1637
1305
|
this.miniMode = !this.miniMode;
|
|
1638
1306
|
}
|
|
@@ -2531,8 +2199,6 @@ var script$x = {
|
|
|
2531
2199
|
QasActions: script$L
|
|
2532
2200
|
},
|
|
2533
2201
|
|
|
2534
|
-
mixins: [screenMixin],
|
|
2535
|
-
|
|
2536
2202
|
props: {
|
|
2537
2203
|
actionsProps: {
|
|
2538
2204
|
default: () => ({}),
|
|
@@ -2615,8 +2281,8 @@ var script$x = {
|
|
|
2615
2281
|
|
|
2616
2282
|
style () {
|
|
2617
2283
|
return {
|
|
2618
|
-
maxWidth: this.maxWidth || (this.
|
|
2619
|
-
minWidth: this.minWidth || (this.
|
|
2284
|
+
maxWidth: this.maxWidth || (this.$qas.screen.isSmall ? '' : '600px'),
|
|
2285
|
+
minWidth: this.minWidth || (this.$qas.screen.isSmall ? '' : '400px')
|
|
2620
2286
|
}
|
|
2621
2287
|
},
|
|
2622
2288
|
|
|
@@ -2637,12 +2303,12 @@ var script$x = {
|
|
|
2637
2303
|
this.useForm && this.$emit('validate', await this.$refs.form.validate());
|
|
2638
2304
|
},
|
|
2639
2305
|
|
|
2640
|
-
//
|
|
2306
|
+
// método para funcionar como plugin
|
|
2641
2307
|
show () {
|
|
2642
2308
|
this.$refs.dialog.show();
|
|
2643
2309
|
},
|
|
2644
2310
|
|
|
2645
|
-
//
|
|
2311
|
+
// método para funcionar como plugin
|
|
2646
2312
|
hide () {
|
|
2647
2313
|
this.$refs.dialog.hide();
|
|
2648
2314
|
},
|
|
@@ -2778,9 +2444,87 @@ quasar.Notify.registerType('success', {
|
|
|
2778
2444
|
progress: true
|
|
2779
2445
|
});
|
|
2780
2446
|
|
|
2781
|
-
var NotifySuccess = (message, caption) => {
|
|
2782
|
-
quasar.Notify?.create({ caption, message, type: 'success' });
|
|
2783
|
-
};
|
|
2447
|
+
var NotifySuccess = (message, caption) => {
|
|
2448
|
+
quasar.Notify?.create({ caption, message, type: 'success' });
|
|
2449
|
+
};
|
|
2450
|
+
|
|
2451
|
+
var Screen = () => {
|
|
2452
|
+
const screensModel = {
|
|
2453
|
+
// até 599px
|
|
2454
|
+
isSmall: () => quasar.Screen.xs,
|
|
2455
|
+
// de 600 até 1023px
|
|
2456
|
+
isMedium: () => quasar.Screen.sm,
|
|
2457
|
+
// de 600 até 1023px
|
|
2458
|
+
isLarge: () => quasar.Screen.gt.sm,
|
|
2459
|
+
// de 0 até 599px
|
|
2460
|
+
untilMedium: () => quasar.Screen.lt.sm,
|
|
2461
|
+
// de 0 ate 1023px
|
|
2462
|
+
untilLarge: () => quasar.Screen.lt.md,
|
|
2463
|
+
|
|
2464
|
+
// Plataforma
|
|
2465
|
+
isMobile: () => quasar.Platform.is.mobile || false
|
|
2466
|
+
};
|
|
2467
|
+
|
|
2468
|
+
const screens = {};
|
|
2469
|
+
|
|
2470
|
+
for (const key in screensModel) {
|
|
2471
|
+
// infelizmente esta é a única forma que conseguimos para que nossa função se tornasse reativa na view
|
|
2472
|
+
// é como o próprio quasar implementa
|
|
2473
|
+
Object.defineProperty(screens, key, {
|
|
2474
|
+
get () {
|
|
2475
|
+
return screensModel[key]()
|
|
2476
|
+
},
|
|
2477
|
+
|
|
2478
|
+
enumerable: true
|
|
2479
|
+
});
|
|
2480
|
+
}
|
|
2481
|
+
|
|
2482
|
+
return screens
|
|
2483
|
+
};
|
|
2484
|
+
|
|
2485
|
+
const history$2 = vue.reactive({ list: [] });
|
|
2486
|
+
|
|
2487
|
+
function useHistory () {
|
|
2488
|
+
const hasPreviousRoute = vue.computed(() => history$2.list.length > 1);
|
|
2489
|
+
|
|
2490
|
+
function getPreviousRoute (currentRoute) {
|
|
2491
|
+
const index = lodashEs.findLastIndex(history$2.list, item => item.name === currentRoute.name);
|
|
2492
|
+
|
|
2493
|
+
if (~index) {
|
|
2494
|
+
history$2.list.splice(index, 1);
|
|
2495
|
+
}
|
|
2496
|
+
|
|
2497
|
+
return history$2.list[history$2.list.length - 1]
|
|
2498
|
+
}
|
|
2499
|
+
|
|
2500
|
+
function addRoute (route) {
|
|
2501
|
+
const routeExistsInList = history$2.list?.[history$2.list?.length - 1]?.name === route.name;
|
|
2502
|
+
|
|
2503
|
+
if (routeExistsInList) return
|
|
2504
|
+
|
|
2505
|
+
history$2.list.push(route);
|
|
2506
|
+
}
|
|
2507
|
+
|
|
2508
|
+
function destroyRoutes (routes) {
|
|
2509
|
+
if (!history$2.list.length) return null
|
|
2510
|
+
|
|
2511
|
+
routes.forEach(route => {
|
|
2512
|
+
const index = history$2.list.findIndex(item => item.name === route.name);
|
|
2513
|
+
|
|
2514
|
+
if (~index) {
|
|
2515
|
+
history$2.list.splice(index, 1);
|
|
2516
|
+
}
|
|
2517
|
+
});
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
return {
|
|
2521
|
+
history: history$2,
|
|
2522
|
+
hasPreviousRoute,
|
|
2523
|
+
getPreviousRoute,
|
|
2524
|
+
addRoute,
|
|
2525
|
+
destroyRoutes
|
|
2526
|
+
}
|
|
2527
|
+
}
|
|
2784
2528
|
|
|
2785
2529
|
var script$w = {
|
|
2786
2530
|
name: 'QasDelete',
|
|
@@ -2818,6 +2562,11 @@ var script$w = {
|
|
|
2818
2562
|
|
|
2819
2563
|
deleting: {
|
|
2820
2564
|
type: Boolean
|
|
2565
|
+
},
|
|
2566
|
+
|
|
2567
|
+
useAutoDeleteRoute: {
|
|
2568
|
+
default: true,
|
|
2569
|
+
type: Boolean
|
|
2821
2570
|
}
|
|
2822
2571
|
},
|
|
2823
2572
|
|
|
@@ -2865,9 +2614,21 @@ var script$w = {
|
|
|
2865
2614
|
this.$emit('update:deleting', true);
|
|
2866
2615
|
|
|
2867
2616
|
try {
|
|
2617
|
+
const { destroyRoutes, history } = useHistory();
|
|
2618
|
+
|
|
2868
2619
|
await this.$store.dispatch(`${this.entity}/destroy`, { id: this.id, url: this.url });
|
|
2620
|
+
|
|
2869
2621
|
NotifySuccess('Item deletado com sucesso!');
|
|
2622
|
+
|
|
2623
|
+
if (this.useAutoDeleteRoute) {
|
|
2624
|
+
// remove todas rotas que possuem o id do item excluído.
|
|
2625
|
+
const routesToBeDeleted = this.getRoutesToBeDeletedById(history.list);
|
|
2626
|
+
destroyRoutes(routesToBeDeleted);
|
|
2627
|
+
}
|
|
2628
|
+
|
|
2629
|
+
// cria um evento para notificar que o item foi excluído no "window".
|
|
2870
2630
|
this.createDeleteSuccessEvent();
|
|
2631
|
+
|
|
2871
2632
|
this.$emit('success');
|
|
2872
2633
|
} catch (error) {
|
|
2873
2634
|
NotifyError('Ops! Não foi possível deletar o item.');
|
|
@@ -2878,6 +2639,10 @@ var script$w = {
|
|
|
2878
2639
|
}
|
|
2879
2640
|
},
|
|
2880
2641
|
|
|
2642
|
+
getRoutesToBeDeletedById (routes = []) {
|
|
2643
|
+
return routes.filter(({ params }) => params.id === this.id)
|
|
2644
|
+
},
|
|
2645
|
+
|
|
2881
2646
|
createDeleteSuccessEvent () {
|
|
2882
2647
|
const event = new CustomEvent('delete-success', {
|
|
2883
2648
|
bubbles: false,
|
|
@@ -3036,7 +2801,7 @@ var script$u = {
|
|
|
3036
2801
|
props: {
|
|
3037
2802
|
modelValue: {
|
|
3038
2803
|
default: '',
|
|
3039
|
-
type: String
|
|
2804
|
+
type: [String, Number]
|
|
3040
2805
|
},
|
|
3041
2806
|
|
|
3042
2807
|
unmaskedValue: {
|
|
@@ -3047,11 +2812,31 @@ var script$u = {
|
|
|
3047
2812
|
outlined: {
|
|
3048
2813
|
default: true,
|
|
3049
2814
|
type: Boolean
|
|
2815
|
+
},
|
|
2816
|
+
|
|
2817
|
+
removeErrorOnType: {
|
|
2818
|
+
type: Boolean
|
|
2819
|
+
},
|
|
2820
|
+
|
|
2821
|
+
error: {
|
|
2822
|
+
type: Boolean
|
|
2823
|
+
},
|
|
2824
|
+
|
|
2825
|
+
errorMessage: {
|
|
2826
|
+
type: String,
|
|
2827
|
+
default: ''
|
|
3050
2828
|
}
|
|
3051
2829
|
},
|
|
3052
2830
|
|
|
3053
2831
|
emits: ['update:modelValue'],
|
|
3054
2832
|
|
|
2833
|
+
data () {
|
|
2834
|
+
return {
|
|
2835
|
+
errorData: false,
|
|
2836
|
+
messageErrorData: ''
|
|
2837
|
+
}
|
|
2838
|
+
},
|
|
2839
|
+
|
|
3055
2840
|
computed: {
|
|
3056
2841
|
hasError () {
|
|
3057
2842
|
return this.inputReference.hasError
|
|
@@ -3084,6 +2869,11 @@ var script$u = {
|
|
|
3084
2869
|
},
|
|
3085
2870
|
|
|
3086
2871
|
set (value) {
|
|
2872
|
+
if (this.removeErrorOnType && this.error) {
|
|
2873
|
+
this.errorData = false;
|
|
2874
|
+
this.errorMessageData = '';
|
|
2875
|
+
}
|
|
2876
|
+
|
|
3087
2877
|
return this.$emit('update:modelValue', value)
|
|
3088
2878
|
}
|
|
3089
2879
|
}
|
|
@@ -3096,6 +2886,22 @@ var script$u = {
|
|
|
3096
2886
|
requestAnimationFrame(() => {
|
|
3097
2887
|
input.selectionStart = input.value ? input.value.length : '';
|
|
3098
2888
|
});
|
|
2889
|
+
},
|
|
2890
|
+
|
|
2891
|
+
error: {
|
|
2892
|
+
handler (value) {
|
|
2893
|
+
this.errorData = value;
|
|
2894
|
+
},
|
|
2895
|
+
|
|
2896
|
+
immediate: true
|
|
2897
|
+
},
|
|
2898
|
+
|
|
2899
|
+
errorMessage: {
|
|
2900
|
+
handler (value) {
|
|
2901
|
+
this.errorMessageData = value;
|
|
2902
|
+
},
|
|
2903
|
+
|
|
2904
|
+
immediate: true
|
|
3099
2905
|
}
|
|
3100
2906
|
},
|
|
3101
2907
|
|
|
@@ -3127,8 +2933,10 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3127
2933
|
ref: "input",
|
|
3128
2934
|
modelValue: $options.model,
|
|
3129
2935
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
|
|
3130
|
-
"bottom-slots": ""
|
|
2936
|
+
"bottom-slots": "",
|
|
2937
|
+
error: $data.errorData
|
|
3131
2938
|
}, _ctx.$attrs, {
|
|
2939
|
+
"error-message": _ctx.errorMessageData,
|
|
3132
2940
|
mask: $options.mask,
|
|
3133
2941
|
outlined: $props.outlined,
|
|
3134
2942
|
"unmasked-value": $props.unmaskedValue
|
|
@@ -3141,7 +2949,7 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3141
2949
|
])
|
|
3142
2950
|
}
|
|
3143
2951
|
})
|
|
3144
|
-
]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "mask", "outlined", "unmasked-value"])
|
|
2952
|
+
]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "error", "error-message", "mask", "outlined", "unmasked-value"])
|
|
3145
2953
|
]))
|
|
3146
2954
|
}
|
|
3147
2955
|
|
|
@@ -3296,6 +3104,88 @@ function render$t(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3296
3104
|
script$t.render = render$t;
|
|
3297
3105
|
script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
|
|
3298
3106
|
|
|
3107
|
+
const levels = {
|
|
3108
|
+
0: {
|
|
3109
|
+
color: 'negative',
|
|
3110
|
+
label: 'Muito fraco',
|
|
3111
|
+
progress: 0.05,
|
|
3112
|
+
textClass: 'text-negative'
|
|
3113
|
+
},
|
|
3114
|
+
|
|
3115
|
+
1: {
|
|
3116
|
+
color: 'warning',
|
|
3117
|
+
label: 'Fraco',
|
|
3118
|
+
progress: 0.25,
|
|
3119
|
+
textClass: 'text-warning'
|
|
3120
|
+
},
|
|
3121
|
+
|
|
3122
|
+
2: {
|
|
3123
|
+
color: 'warning',
|
|
3124
|
+
label: 'Bom',
|
|
3125
|
+
progress: 0.5,
|
|
3126
|
+
textClass: 'text-warning'
|
|
3127
|
+
},
|
|
3128
|
+
|
|
3129
|
+
3: {
|
|
3130
|
+
color: 'positive',
|
|
3131
|
+
label: 'Forte',
|
|
3132
|
+
progress: 0.75,
|
|
3133
|
+
textClass: 'text-positive'
|
|
3134
|
+
},
|
|
3135
|
+
|
|
3136
|
+
4: {
|
|
3137
|
+
color: 'positive',
|
|
3138
|
+
label: 'Muito forte',
|
|
3139
|
+
progress: 1,
|
|
3140
|
+
textClass: 'text-positive'
|
|
3141
|
+
}
|
|
3142
|
+
};
|
|
3143
|
+
|
|
3144
|
+
var passwordMixin = {
|
|
3145
|
+
props: {
|
|
3146
|
+
levels: {
|
|
3147
|
+
default: () => levels,
|
|
3148
|
+
type: Object
|
|
3149
|
+
},
|
|
3150
|
+
|
|
3151
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
|
|
3152
|
+
minlength: {
|
|
3153
|
+
default: 8,
|
|
3154
|
+
type: [Number, String]
|
|
3155
|
+
},
|
|
3156
|
+
|
|
3157
|
+
specials: {
|
|
3158
|
+
default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
|
|
3159
|
+
type: RegExp
|
|
3160
|
+
},
|
|
3161
|
+
|
|
3162
|
+
trackColor: {
|
|
3163
|
+
default: 'blue-grey-1',
|
|
3164
|
+
type: String
|
|
3165
|
+
},
|
|
3166
|
+
|
|
3167
|
+
useLowercase: {
|
|
3168
|
+
default: true,
|
|
3169
|
+
type: Boolean
|
|
3170
|
+
},
|
|
3171
|
+
|
|
3172
|
+
useNumbers: {
|
|
3173
|
+
default: true,
|
|
3174
|
+
type: Boolean
|
|
3175
|
+
},
|
|
3176
|
+
|
|
3177
|
+
useSpecial: {
|
|
3178
|
+
default: true,
|
|
3179
|
+
type: Boolean
|
|
3180
|
+
},
|
|
3181
|
+
|
|
3182
|
+
useUppercase: {
|
|
3183
|
+
default: true,
|
|
3184
|
+
type: Boolean
|
|
3185
|
+
}
|
|
3186
|
+
}
|
|
3187
|
+
};
|
|
3188
|
+
|
|
3299
3189
|
var script$s = {
|
|
3300
3190
|
name: 'QasPasswordStrengthChecker',
|
|
3301
3191
|
|
|
@@ -3400,9 +3290,8 @@ var script$r = {
|
|
|
3400
3290
|
mixins: [passwordMixin],
|
|
3401
3291
|
|
|
3402
3292
|
props: {
|
|
3403
|
-
|
|
3404
|
-
type: Boolean
|
|
3405
|
-
default: true
|
|
3293
|
+
hideStrengthChecker: {
|
|
3294
|
+
type: Boolean
|
|
3406
3295
|
},
|
|
3407
3296
|
|
|
3408
3297
|
iconColor: {
|
|
@@ -3420,7 +3309,6 @@ var script$r = {
|
|
|
3420
3309
|
|
|
3421
3310
|
data () {
|
|
3422
3311
|
return {
|
|
3423
|
-
key: 'error',
|
|
3424
3312
|
toggleType: true
|
|
3425
3313
|
}
|
|
3426
3314
|
},
|
|
@@ -3450,15 +3338,6 @@ var script$r = {
|
|
|
3450
3338
|
}
|
|
3451
3339
|
},
|
|
3452
3340
|
|
|
3453
|
-
watch: {
|
|
3454
|
-
modelValue () {
|
|
3455
|
-
if (this.$attrs.error) {
|
|
3456
|
-
this.$attrs.error = false;
|
|
3457
|
-
this.$attrs.errorMessage = '';
|
|
3458
|
-
}
|
|
3459
|
-
}
|
|
3460
|
-
},
|
|
3461
|
-
|
|
3462
3341
|
methods: {
|
|
3463
3342
|
toggle () {
|
|
3464
3343
|
this.toggleType = !this.toggleType;
|
|
@@ -3471,39 +3350,43 @@ function render$r(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3471
3350
|
const _component_qas_password_strength_checker = vue.resolveComponent("qas-password-strength-checker");
|
|
3472
3351
|
const _component_qas_input = vue.resolveComponent("qas-input");
|
|
3473
3352
|
|
|
3474
|
-
return (vue.openBlock(), vue.
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
($props.useStrengthChecker)
|
|
3499
|
-
? {
|
|
3500
|
-
name: "hint",
|
|
3501
|
-
fn: vue.withCtx(() => [
|
|
3502
|
-
vue.createVNode(_component_qas_password_strength_checker, vue.mergeProps($options.strengthCheckerProps, { password: $options.model }), null, 16 /* FULL_PROPS */, ["password"])
|
|
3353
|
+
return (vue.openBlock(), vue.createElementBlock("div", null, [
|
|
3354
|
+
vue.createVNode(_component_qas_input, vue.mergeProps({
|
|
3355
|
+
modelValue: $options.model,
|
|
3356
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
|
|
3357
|
+
"bottom-slots": ""
|
|
3358
|
+
}, _ctx.$attrs, {
|
|
3359
|
+
"remove-error-on-type": "",
|
|
3360
|
+
type: $options.type
|
|
3361
|
+
}), vue.createSlots({
|
|
3362
|
+
append: vue.withCtx(() => [
|
|
3363
|
+
vue.createVNode(_component_q_icon, {
|
|
3364
|
+
class: "cursor-pointer",
|
|
3365
|
+
color: $props.iconColor,
|
|
3366
|
+
name: $options.icon,
|
|
3367
|
+
onClick: $options.toggle
|
|
3368
|
+
}, null, 8 /* PROPS */, ["color", "name", "onClick"])
|
|
3369
|
+
]),
|
|
3370
|
+
_: 2 /* DYNAMIC */
|
|
3371
|
+
}, [
|
|
3372
|
+
vue.renderList(_ctx.$slots, (_, name) => {
|
|
3373
|
+
return {
|
|
3374
|
+
name: name,
|
|
3375
|
+
fn: vue.withCtx((context) => [
|
|
3376
|
+
vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(context || {})))
|
|
3503
3377
|
])
|
|
3504
3378
|
}
|
|
3505
|
-
|
|
3506
|
-
|
|
3379
|
+
}),
|
|
3380
|
+
(!$props.hideStrengthChecker)
|
|
3381
|
+
? {
|
|
3382
|
+
name: "hint",
|
|
3383
|
+
fn: vue.withCtx(() => [
|
|
3384
|
+
vue.createVNode(_component_qas_password_strength_checker, vue.mergeProps($options.strengthCheckerProps, { password: $options.model }), null, 16 /* FULL_PROPS */, ["password"])
|
|
3385
|
+
])
|
|
3386
|
+
}
|
|
3387
|
+
: undefined
|
|
3388
|
+
]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "type"])
|
|
3389
|
+
]))
|
|
3507
3390
|
}
|
|
3508
3391
|
|
|
3509
3392
|
script$r.render = render$r;
|
|
@@ -3702,7 +3585,7 @@ var script$q = {
|
|
|
3702
3585
|
this.isFetching = true;
|
|
3703
3586
|
|
|
3704
3587
|
try {
|
|
3705
|
-
const { data } = await
|
|
3588
|
+
const { data } = await this.$axios.post('/upload-credentials/', {
|
|
3706
3589
|
entity: this.entity,
|
|
3707
3590
|
filename
|
|
3708
3591
|
});
|
|
@@ -4180,6 +4063,11 @@ var script$o = {
|
|
|
4180
4063
|
},
|
|
4181
4064
|
|
|
4182
4065
|
props: {
|
|
4066
|
+
dialogProps: {
|
|
4067
|
+
type: Object,
|
|
4068
|
+
default: () => ({})
|
|
4069
|
+
},
|
|
4070
|
+
|
|
4183
4071
|
uploadLabel: {
|
|
4184
4072
|
default: '',
|
|
4185
4073
|
type: String
|
|
@@ -4228,6 +4116,32 @@ var script$o = {
|
|
|
4228
4116
|
|
|
4229
4117
|
headerClass () {
|
|
4230
4118
|
return `q-pa-${this.readonly ? 'md' : 'sm'}`
|
|
4119
|
+
},
|
|
4120
|
+
|
|
4121
|
+
defaultDialogProps () {
|
|
4122
|
+
return {
|
|
4123
|
+
maxWidth: '620px',
|
|
4124
|
+
...this.dialogProps
|
|
4125
|
+
}
|
|
4126
|
+
},
|
|
4127
|
+
|
|
4128
|
+
signaturePadWidth () {
|
|
4129
|
+
const sizes = {
|
|
4130
|
+
[this.$qas.screen.isSmall]: { width: '100%' },
|
|
4131
|
+
[this.$qas.screen.isMedium]: { width: '570px' },
|
|
4132
|
+
[this.$qas.screen.isLarge]: { width: '350px' }
|
|
4133
|
+
};
|
|
4134
|
+
return sizes.true
|
|
4135
|
+
},
|
|
4136
|
+
|
|
4137
|
+
signaturePadHeight () {
|
|
4138
|
+
const sizes = {
|
|
4139
|
+
[this.$qas.screen.isSmall]: '250',
|
|
4140
|
+
[this.$qas.screen.isMedium]: '400',
|
|
4141
|
+
[this.$qas.screen.isLarge]: '250'
|
|
4142
|
+
};
|
|
4143
|
+
|
|
4144
|
+
return sizes.true
|
|
4231
4145
|
}
|
|
4232
4146
|
},
|
|
4233
4147
|
|
|
@@ -4327,20 +4241,24 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4327
4241
|
]),
|
|
4328
4242
|
_: 1 /* STABLE */
|
|
4329
4243
|
}, 16 /* FULL_PROPS */, ["modelValue", "label", "readonly"]),
|
|
4330
|
-
vue.createVNode(_component_qas_dialog, {
|
|
4244
|
+
vue.createVNode(_component_qas_dialog, vue.mergeProps({
|
|
4331
4245
|
modelValue: $data.isOpenedDialog,
|
|
4332
4246
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (($data.isOpenedDialog) = $event))
|
|
4333
|
-
}, {
|
|
4247
|
+
}, $options.defaultDialogProps), {
|
|
4334
4248
|
header: vue.withCtx(() => [
|
|
4335
4249
|
_hoisted_3$8
|
|
4336
4250
|
]),
|
|
4337
4251
|
description: vue.withCtx(() => [
|
|
4338
|
-
vue.
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4252
|
+
vue.createElementVNode("div", {
|
|
4253
|
+
style: vue.normalizeStyle($options.signaturePadWidth)
|
|
4254
|
+
}, [
|
|
4255
|
+
vue.createVNode(_component_qas_signature_pad, {
|
|
4256
|
+
ref: "signaturePadModal",
|
|
4257
|
+
empty: $data.isEmpty,
|
|
4258
|
+
"onUpdate:empty": _cache[2] || (_cache[2] = $event => (($data.isEmpty) = $event)),
|
|
4259
|
+
height: $options.signaturePadHeight
|
|
4260
|
+
}, null, 8 /* PROPS */, ["empty", "height"])
|
|
4261
|
+
], 4 /* STYLE */)
|
|
4344
4262
|
]),
|
|
4345
4263
|
actions: vue.withCtx(() => [
|
|
4346
4264
|
vue.createVNode(_component_q_btn, {
|
|
@@ -4361,7 +4279,7 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4361
4279
|
}, null, 8 /* PROPS */, ["onClick"])
|
|
4362
4280
|
]),
|
|
4363
4281
|
_: 1 /* STABLE */
|
|
4364
|
-
},
|
|
4282
|
+
}, 16 /* FULL_PROPS */, ["modelValue"])
|
|
4365
4283
|
]))
|
|
4366
4284
|
}
|
|
4367
4285
|
|
|
@@ -4425,7 +4343,6 @@ var script$n = {
|
|
|
4425
4343
|
prefix,
|
|
4426
4344
|
type,
|
|
4427
4345
|
mask,
|
|
4428
|
-
pattern,
|
|
4429
4346
|
maxFiles,
|
|
4430
4347
|
searchable,
|
|
4431
4348
|
gmt
|
|
@@ -4476,7 +4393,7 @@ var script$n = {
|
|
|
4476
4393
|
number: { is: 'qas-input', type: 'number', ...input },
|
|
4477
4394
|
hidden: { is: 'input', name, type },
|
|
4478
4395
|
email: { is: 'qas-input', type, ...input },
|
|
4479
|
-
password: { is: 'qas-password-input',
|
|
4396
|
+
password: { is: 'qas-password-input', ...input },
|
|
4480
4397
|
|
|
4481
4398
|
decimal: { ...numericInput, mode: 'decimal' },
|
|
4482
4399
|
money: { ...numericInput, mode: 'money' },
|
|
@@ -4578,6 +4495,15 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4578
4495
|
script$n.render = render$n;
|
|
4579
4496
|
script$n.__file = "src/components/field/QasField.vue";
|
|
4580
4497
|
|
|
4498
|
+
var contextMixin = {
|
|
4499
|
+
computed: {
|
|
4500
|
+
mx_context () {
|
|
4501
|
+
const { limit, ordering, page, search, ...filters } = this.$route.query;
|
|
4502
|
+
return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
|
|
4503
|
+
}
|
|
4504
|
+
}
|
|
4505
|
+
};
|
|
4506
|
+
|
|
4581
4507
|
var script$m = {
|
|
4582
4508
|
name: 'QasFilters',
|
|
4583
4509
|
|
|
@@ -4621,6 +4547,10 @@ var script$m = {
|
|
|
4621
4547
|
url: {
|
|
4622
4548
|
default: '',
|
|
4623
4549
|
type: String
|
|
4550
|
+
},
|
|
4551
|
+
|
|
4552
|
+
forceRefetch: {
|
|
4553
|
+
type: Boolean
|
|
4624
4554
|
}
|
|
4625
4555
|
},
|
|
4626
4556
|
|
|
@@ -4750,7 +4680,7 @@ var script$m = {
|
|
|
4750
4680
|
},
|
|
4751
4681
|
|
|
4752
4682
|
async fetchFilters () {
|
|
4753
|
-
if (this.hasFields || !this.useFilterButton) {
|
|
4683
|
+
if (!this.forceRefetch && (this.hasFields || !this.useFilterButton)) {
|
|
4754
4684
|
return null
|
|
4755
4685
|
}
|
|
4756
4686
|
|
|
@@ -4916,7 +4846,7 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4916
4846
|
label: $options.filterButtonLabel
|
|
4917
4847
|
}, {
|
|
4918
4848
|
default: vue.withCtx(() => [
|
|
4919
|
-
vue.createVNode(_component_q_menu,
|
|
4849
|
+
vue.createVNode(_component_q_menu, null, {
|
|
4920
4850
|
default: vue.withCtx(() => [
|
|
4921
4851
|
($data.isFetching)
|
|
4922
4852
|
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$6, [
|
|
@@ -4970,7 +4900,7 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4970
4900
|
}))
|
|
4971
4901
|
]),
|
|
4972
4902
|
_: 1 /* STABLE */
|
|
4973
|
-
}
|
|
4903
|
+
})
|
|
4974
4904
|
]),
|
|
4975
4905
|
_: 1 /* STABLE */
|
|
4976
4906
|
}, 8 /* PROPS */, ["color", "label"]))
|
|
@@ -5008,8 +4938,95 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5008
4938
|
]))
|
|
5009
4939
|
}
|
|
5010
4940
|
|
|
5011
|
-
script$m.render = render$m;
|
|
5012
|
-
script$m.__file = "src/components/filters/QasFilters.vue";
|
|
4941
|
+
script$m.render = render$m;
|
|
4942
|
+
script$m.__file = "src/components/filters/QasFilters.vue";
|
|
4943
|
+
|
|
4944
|
+
const irregularClasses = ['col', 'col-auto', 'fit'];
|
|
4945
|
+
|
|
4946
|
+
var generatorMixin = {
|
|
4947
|
+
props: {
|
|
4948
|
+
columns: {
|
|
4949
|
+
default: () => [],
|
|
4950
|
+
type: [Array, String, Object]
|
|
4951
|
+
},
|
|
4952
|
+
|
|
4953
|
+
fields: {
|
|
4954
|
+
default: () => ({}),
|
|
4955
|
+
type: Object
|
|
4956
|
+
},
|
|
4957
|
+
|
|
4958
|
+
gutter: {
|
|
4959
|
+
default: 'md',
|
|
4960
|
+
type: [String, Boolean],
|
|
4961
|
+
validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
|
|
4962
|
+
}
|
|
4963
|
+
},
|
|
4964
|
+
|
|
4965
|
+
computed: {
|
|
4966
|
+
mx_classes () {
|
|
4967
|
+
const classes = ['row'];
|
|
4968
|
+
|
|
4969
|
+
if (this.gutter) {
|
|
4970
|
+
classes.push(`q-col-gutter-${this.gutter}`);
|
|
4971
|
+
}
|
|
4972
|
+
|
|
4973
|
+
return classes
|
|
4974
|
+
}
|
|
4975
|
+
},
|
|
4976
|
+
|
|
4977
|
+
methods: {
|
|
4978
|
+
mx_getBreakpoint (columns) {
|
|
4979
|
+
const classes = [];
|
|
4980
|
+
const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
|
|
4981
|
+
const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
|
|
4982
|
+
|
|
4983
|
+
for (const key in formattedColumns) {
|
|
4984
|
+
const value = formattedColumns[key];
|
|
4985
|
+
classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
|
|
4986
|
+
}
|
|
4987
|
+
|
|
4988
|
+
return [...classes, renamedClasses]
|
|
4989
|
+
},
|
|
4990
|
+
|
|
4991
|
+
mx_getFieldClass (index, isGridGenerator) {
|
|
4992
|
+
if (typeof this.columns === 'string') {
|
|
4993
|
+
return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
|
|
4994
|
+
}
|
|
4995
|
+
|
|
4996
|
+
return Array.isArray(this.columns)
|
|
4997
|
+
? this.mx_handleColumnsByIndex(index, isGridGenerator)
|
|
4998
|
+
: this.mx_handleColumnsByField(index, isGridGenerator)
|
|
4999
|
+
},
|
|
5000
|
+
|
|
5001
|
+
mx_handleColumnsByField (index, isGridGenerator) {
|
|
5002
|
+
if (!this.columns[index]) {
|
|
5003
|
+
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
5004
|
+
}
|
|
5005
|
+
|
|
5006
|
+
return this.mx_getBreakpoint(this.columns[index])
|
|
5007
|
+
},
|
|
5008
|
+
|
|
5009
|
+
mx_handleColumnsByIndex (index, isGridGenerator) {
|
|
5010
|
+
const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
|
|
5011
|
+
|
|
5012
|
+
if (!Array.isArray(fields)) {
|
|
5013
|
+
index = Object.keys(fields).findIndex(field => field === index);
|
|
5014
|
+
}
|
|
5015
|
+
|
|
5016
|
+
const length = this.columns.length;
|
|
5017
|
+
|
|
5018
|
+
if (!length) {
|
|
5019
|
+
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
5020
|
+
}
|
|
5021
|
+
|
|
5022
|
+
return this.mx_getBreakpoint(this.columns[index])
|
|
5023
|
+
},
|
|
5024
|
+
|
|
5025
|
+
mx_setDefaultColumnClass (isGridGenerator) {
|
|
5026
|
+
return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
|
|
5027
|
+
}
|
|
5028
|
+
}
|
|
5029
|
+
};
|
|
5013
5030
|
|
|
5014
5031
|
var script$l = {
|
|
5015
5032
|
name: 'QasFormGenerator',
|
|
@@ -5118,27 +5135,123 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5118
5135
|
script$l.render = render$l;
|
|
5119
5136
|
script$l.__file = "src/components/form-generator/QasFormGenerator.vue";
|
|
5120
5137
|
|
|
5121
|
-
|
|
5138
|
+
var viewMixin = {
|
|
5139
|
+
props: {
|
|
5140
|
+
dialog: {
|
|
5141
|
+
type: Boolean
|
|
5142
|
+
},
|
|
5122
5143
|
|
|
5123
|
-
|
|
5124
|
-
|
|
5144
|
+
entity: {
|
|
5145
|
+
required: true,
|
|
5146
|
+
type: String
|
|
5147
|
+
},
|
|
5125
5148
|
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5149
|
+
url: {
|
|
5150
|
+
default: '',
|
|
5151
|
+
type: String
|
|
5152
|
+
},
|
|
5129
5153
|
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5154
|
+
fields: {
|
|
5155
|
+
default: () => ({}),
|
|
5156
|
+
type: Object
|
|
5157
|
+
},
|
|
5133
5158
|
|
|
5134
|
-
|
|
5135
|
-
|
|
5159
|
+
errors: {
|
|
5160
|
+
default: () => ({}),
|
|
5161
|
+
type: Object
|
|
5162
|
+
},
|
|
5136
5163
|
|
|
5137
|
-
|
|
5164
|
+
metadata: {
|
|
5165
|
+
default: () => ({}),
|
|
5166
|
+
type: Object
|
|
5167
|
+
},
|
|
5138
5168
|
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
}
|
|
5169
|
+
fetching: {
|
|
5170
|
+
type: Boolean
|
|
5171
|
+
}
|
|
5172
|
+
},
|
|
5173
|
+
|
|
5174
|
+
emits: [
|
|
5175
|
+
'update:fields',
|
|
5176
|
+
'update:errors',
|
|
5177
|
+
'update:metadata',
|
|
5178
|
+
'update:fetching'
|
|
5179
|
+
],
|
|
5180
|
+
|
|
5181
|
+
data () {
|
|
5182
|
+
return {
|
|
5183
|
+
mx_errors: {},
|
|
5184
|
+
mx_fields: {},
|
|
5185
|
+
mx_metadata: {},
|
|
5186
|
+
|
|
5187
|
+
mx_isFetching: false
|
|
5188
|
+
}
|
|
5189
|
+
},
|
|
5190
|
+
|
|
5191
|
+
watch: {
|
|
5192
|
+
mx_isFetching (value) {
|
|
5193
|
+
this.$emit('update:fetching', value);
|
|
5194
|
+
}
|
|
5195
|
+
},
|
|
5196
|
+
|
|
5197
|
+
computed: {
|
|
5198
|
+
mx_componentTag () {
|
|
5199
|
+
return this.dialog ? 'div' : 'q-page'
|
|
5200
|
+
},
|
|
5201
|
+
|
|
5202
|
+
mx_componentClass () {
|
|
5203
|
+
return !this.dialog && 'container spaced'
|
|
5204
|
+
},
|
|
5205
|
+
|
|
5206
|
+
mx_hasFooterSlot () {
|
|
5207
|
+
return !!(this.$slots.footer)
|
|
5208
|
+
},
|
|
5209
|
+
|
|
5210
|
+
mx_hasHeaderSlot () {
|
|
5211
|
+
return !!(this.$slots.header)
|
|
5212
|
+
}
|
|
5213
|
+
},
|
|
5214
|
+
|
|
5215
|
+
methods: {
|
|
5216
|
+
mx_fetchError (error) {
|
|
5217
|
+
const { response } = error;
|
|
5218
|
+
const exception = response?.data?.exception || error.message;
|
|
5219
|
+
|
|
5220
|
+
this.$qas.error('Ops! Erro ao obter os dados.', exception);
|
|
5221
|
+
|
|
5222
|
+
const status = response?.status;
|
|
5223
|
+
const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
|
|
5224
|
+
|
|
5225
|
+
if (redirect) {
|
|
5226
|
+
this.$router.replace({ name: redirect });
|
|
5227
|
+
}
|
|
5228
|
+
},
|
|
5229
|
+
|
|
5230
|
+
mx_setErrors (errors = {}) {
|
|
5231
|
+
this.mx_errors = vue.markRaw(errors);
|
|
5232
|
+
},
|
|
5233
|
+
|
|
5234
|
+
mx_setFields (fields = {}) {
|
|
5235
|
+
for (const field in fields) {
|
|
5236
|
+
fields[field].name = humps.camelize(fields[field].name);
|
|
5237
|
+
}
|
|
5238
|
+
|
|
5239
|
+
this.mx_fields = vue.markRaw(fields);
|
|
5240
|
+
},
|
|
5241
|
+
|
|
5242
|
+
mx_setMetadata (metadata = {}) {
|
|
5243
|
+
this.mx_metadata = vue.markRaw(metadata);
|
|
5244
|
+
},
|
|
5245
|
+
|
|
5246
|
+
mx_updateModels (models) {
|
|
5247
|
+
for (const key in models) {
|
|
5248
|
+
if (!models[key]) continue
|
|
5249
|
+
|
|
5250
|
+
this.$emit(`update:${key}`, models[key]);
|
|
5251
|
+
}
|
|
5252
|
+
}
|
|
5253
|
+
}
|
|
5254
|
+
};
|
|
5142
5255
|
|
|
5143
5256
|
var script$k = {
|
|
5144
5257
|
name: 'QasFormView',
|
|
@@ -5148,7 +5261,7 @@ var script$k = {
|
|
|
5148
5261
|
QasDialog: script$x
|
|
5149
5262
|
},
|
|
5150
5263
|
|
|
5151
|
-
mixins: [viewMixin
|
|
5264
|
+
mixins: [viewMixin],
|
|
5152
5265
|
|
|
5153
5266
|
props: {
|
|
5154
5267
|
cancelButton: {
|
|
@@ -5158,7 +5271,7 @@ var script$k = {
|
|
|
5158
5271
|
|
|
5159
5272
|
cancelRoute: {
|
|
5160
5273
|
default: '',
|
|
5161
|
-
type: [Boolean, Object, String]
|
|
5274
|
+
type: [Boolean, Object, String, Function]
|
|
5162
5275
|
},
|
|
5163
5276
|
|
|
5164
5277
|
customId: {
|
|
@@ -5242,7 +5355,7 @@ var script$k = {
|
|
|
5242
5355
|
|
|
5243
5356
|
computed: {
|
|
5244
5357
|
cancelButtonClass () {
|
|
5245
|
-
return this.
|
|
5358
|
+
return this.$qas.screen.isSmall && 'order-last'
|
|
5246
5359
|
},
|
|
5247
5360
|
|
|
5248
5361
|
fetchURL () {
|
|
@@ -5270,17 +5383,13 @@ var script$k = {
|
|
|
5270
5383
|
},
|
|
5271
5384
|
|
|
5272
5385
|
saveButtonClass () {
|
|
5273
|
-
return this.
|
|
5386
|
+
return this.$qas.screen.isSmall && 'order-first'
|
|
5274
5387
|
},
|
|
5275
5388
|
|
|
5276
5389
|
isCancelButtonDisabled () {
|
|
5277
5390
|
return this.disable || this.isSubmitting
|
|
5278
5391
|
},
|
|
5279
5392
|
|
|
5280
|
-
history () {
|
|
5281
|
-
return history$1.list
|
|
5282
|
-
},
|
|
5283
|
-
|
|
5284
5393
|
fieldsNameWithDefaultValue () {
|
|
5285
5394
|
return Object.keys(this.fields).filter(field => 'default' in this.fields[field])
|
|
5286
5395
|
}
|
|
@@ -5349,7 +5458,7 @@ var script$k = {
|
|
|
5349
5458
|
this.mx_updateModels({
|
|
5350
5459
|
errors: errors,
|
|
5351
5460
|
fields: this.mx_fields,
|
|
5352
|
-
metadata
|
|
5461
|
+
metadata
|
|
5353
5462
|
});
|
|
5354
5463
|
|
|
5355
5464
|
if (result) {
|
|
@@ -5378,9 +5487,11 @@ var script$k = {
|
|
|
5378
5487
|
},
|
|
5379
5488
|
|
|
5380
5489
|
handleCancelRoute () {
|
|
5381
|
-
|
|
5490
|
+
if (typeof this.cancelRoute === 'function') {
|
|
5491
|
+
return this.cancelRoute()
|
|
5492
|
+
}
|
|
5382
5493
|
|
|
5383
|
-
if (this.cancelRoute &&
|
|
5494
|
+
if (this.cancelRoute && ['string', 'object'].includes(typeof this.cancelRoute)) {
|
|
5384
5495
|
return this.$router.push(this.cancelRoute)
|
|
5385
5496
|
}
|
|
5386
5497
|
|
|
@@ -5393,6 +5504,8 @@ var script$k = {
|
|
|
5393
5504
|
handleDialog (next) {
|
|
5394
5505
|
this.openDialog();
|
|
5395
5506
|
|
|
5507
|
+
const { addRoute } = useHistory();
|
|
5508
|
+
|
|
5396
5509
|
this.defaultDialogProps.ok.onClick = () => addRoute(this.$route);
|
|
5397
5510
|
this.defaultDialogProps.cancel.onClick = next;
|
|
5398
5511
|
},
|
|
@@ -5475,7 +5588,9 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5475
5588
|
const _component_q_inner_loading = vue.resolveComponent("q-inner-loading");
|
|
5476
5589
|
const _directive_close_popup = vue.resolveDirective("close-popup");
|
|
5477
5590
|
|
|
5478
|
-
return (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.mx_componentTag),
|
|
5591
|
+
return (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.mx_componentTag), {
|
|
5592
|
+
class: vue.normalizeClass(_ctx.mx_componentClass)
|
|
5593
|
+
}, {
|
|
5479
5594
|
default: vue.withCtx(() => [
|
|
5480
5595
|
(_ctx.mx_hasHeaderSlot)
|
|
5481
5596
|
? (vue.openBlock(), vue.createElementBlock("header", _hoisted_1$d, [
|
|
@@ -5547,7 +5662,7 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5547
5662
|
}, 8 /* PROPS */, ["showing"])
|
|
5548
5663
|
]),
|
|
5549
5664
|
_: 3 /* FORWARDED */
|
|
5550
|
-
}))
|
|
5665
|
+
}, 8 /* PROPS */, ["class"]))
|
|
5551
5666
|
}
|
|
5552
5667
|
|
|
5553
5668
|
script$k.render = render$k;
|
|
@@ -5556,8 +5671,6 @@ script$k.__file = "src/components/form-view/QasFormView.vue";
|
|
|
5556
5671
|
var script$j = {
|
|
5557
5672
|
name: 'QasGallery',
|
|
5558
5673
|
|
|
5559
|
-
mixins: [screenMixin],
|
|
5560
|
-
|
|
5561
5674
|
props: {
|
|
5562
5675
|
carouselNextIcon: {
|
|
5563
5676
|
type: String,
|
|
@@ -5614,13 +5727,13 @@ var script$j = {
|
|
|
5614
5727
|
return this.height || 'auto'
|
|
5615
5728
|
}
|
|
5616
5729
|
|
|
5617
|
-
return this.
|
|
5730
|
+
return this.$qas.screen.isSmall ? '90px' : '120px'
|
|
5618
5731
|
},
|
|
5619
5732
|
|
|
5620
5733
|
galleryColumnsClasses () {
|
|
5621
5734
|
if (this.isSingleImage) return 'col-12'
|
|
5622
5735
|
|
|
5623
|
-
return this.
|
|
5736
|
+
return this.$qas.screen.isSmall ? 'col-6' : 'col-2'
|
|
5624
5737
|
},
|
|
5625
5738
|
|
|
5626
5739
|
hideShowMore () {
|
|
@@ -5755,9 +5868,9 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5755
5868
|
modelValue: $data.imageIndex,
|
|
5756
5869
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.imageIndex) = $event)),
|
|
5757
5870
|
animated: "",
|
|
5758
|
-
arrows: !_ctx.
|
|
5871
|
+
arrows: !_ctx.$qas.screen.isSmall,
|
|
5759
5872
|
"control-text-color": "primary",
|
|
5760
|
-
fullscreen: _ctx.
|
|
5873
|
+
fullscreen: _ctx.$qas.screen.isSmall,
|
|
5761
5874
|
height: $options.carouselImageHeight,
|
|
5762
5875
|
"next-icon": $props.carouselNextIcon,
|
|
5763
5876
|
"prev-icon": $props.carouselPreviousIcon,
|
|
@@ -5773,7 +5886,7 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5773
5886
|
name: index
|
|
5774
5887
|
}, {
|
|
5775
5888
|
default: vue.withCtx(() => [
|
|
5776
|
-
(_ctx.
|
|
5889
|
+
(_ctx.$qas.screen.isSmall)
|
|
5777
5890
|
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
|
|
5778
5891
|
vue.createVNode(_component_qas_btn, {
|
|
5779
5892
|
dense: "",
|
|
@@ -6537,7 +6650,10 @@ var script$c = {
|
|
|
6537
6650
|
QasBtn: script$K,
|
|
6538
6651
|
QasFormGenerator: script$l,
|
|
6539
6652
|
QasInput: script$u,
|
|
6540
|
-
QasLabel: script$h
|
|
6653
|
+
QasLabel: script$h,
|
|
6654
|
+
|
|
6655
|
+
// vue
|
|
6656
|
+
TransitionGroup: vue.TransitionGroup
|
|
6541
6657
|
},
|
|
6542
6658
|
|
|
6543
6659
|
props: {
|
|
@@ -6701,6 +6817,16 @@ var script$c = {
|
|
|
6701
6817
|
|
|
6702
6818
|
componentTag () {
|
|
6703
6819
|
return this.useAnimation ? 'transition-group' : 'div'
|
|
6820
|
+
},
|
|
6821
|
+
|
|
6822
|
+
componentProps () {
|
|
6823
|
+
if (!this.useAnimation) return {}
|
|
6824
|
+
|
|
6825
|
+
return {
|
|
6826
|
+
tag: 'div',
|
|
6827
|
+
enterActiveClass: 'animated slideInDown',
|
|
6828
|
+
leaveActiveClass: 'animated slideOutUp'
|
|
6829
|
+
}
|
|
6704
6830
|
}
|
|
6705
6831
|
},
|
|
6706
6832
|
|
|
@@ -6785,23 +6911,24 @@ var script$c = {
|
|
|
6785
6911
|
|
|
6786
6912
|
const _hoisted_1$8 = ["id"];
|
|
6787
6913
|
const _hoisted_2$5 = { class: "text-left" };
|
|
6788
|
-
const _hoisted_3$3 =
|
|
6789
|
-
const _hoisted_4$3 =
|
|
6790
|
-
const _hoisted_5$2 = {
|
|
6914
|
+
const _hoisted_3$3 = { ref: "inputContent" };
|
|
6915
|
+
const _hoisted_4$3 = ["id"];
|
|
6916
|
+
const _hoisted_5$2 = { class: "flex items-center justify-between q-py-xs" };
|
|
6917
|
+
const _hoisted_6 = {
|
|
6791
6918
|
key: 1,
|
|
6792
6919
|
class: "q-gutter-x-sm"
|
|
6793
6920
|
};
|
|
6794
|
-
const
|
|
6921
|
+
const _hoisted_7 = {
|
|
6795
6922
|
key: 0,
|
|
6796
6923
|
class: "flex items-center qas-nested-fields__actions"
|
|
6797
6924
|
};
|
|
6798
|
-
const _hoisted_7 = { class: "col-auto" };
|
|
6799
6925
|
const _hoisted_8 = { class: "col-auto" };
|
|
6800
|
-
const _hoisted_9 = { class: "col-
|
|
6801
|
-
const _hoisted_10 = { class: "
|
|
6802
|
-
const _hoisted_11 = { class: "
|
|
6803
|
-
const _hoisted_12 = { class: "col
|
|
6804
|
-
const _hoisted_13 = {
|
|
6926
|
+
const _hoisted_9 = { class: "col-auto" };
|
|
6927
|
+
const _hoisted_10 = { class: "col-12" };
|
|
6928
|
+
const _hoisted_11 = { class: "q-mt-md" };
|
|
6929
|
+
const _hoisted_12 = { class: "col" };
|
|
6930
|
+
const _hoisted_13 = { class: "col-auto" };
|
|
6931
|
+
const _hoisted_14 = {
|
|
6805
6932
|
key: 1,
|
|
6806
6933
|
class: "q-mt-lg"
|
|
6807
6934
|
};
|
|
@@ -6824,134 +6951,122 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6824
6951
|
}, null, 8 /* PROPS */, ["label"]))
|
|
6825
6952
|
: vue.createCommentVNode("v-if", true)
|
|
6826
6953
|
]),
|
|
6827
|
-
vue.createElementVNode("div",
|
|
6828
|
-
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.componentTag), {
|
|
6829
|
-
ref: "inputContent",
|
|
6830
|
-
name: "fade",
|
|
6831
|
-
tag: "div"
|
|
6832
|
-
}, {
|
|
6954
|
+
vue.createElementVNode("div", _hoisted_3$3, [
|
|
6955
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.componentTag), vue.normalizeProps(vue.guardReactiveProps($options.componentProps)), {
|
|
6833
6956
|
default: vue.withCtx(() => [
|
|
6834
6957
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.nested, (row, index) => {
|
|
6835
6958
|
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
6836
6959
|
id: `row-${index}`,
|
|
6837
|
-
key: index
|
|
6960
|
+
key: `row-${index}`,
|
|
6838
6961
|
class: "full-width"
|
|
6839
6962
|
}, [
|
|
6840
|
-
(
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
6963
|
+
(!row[$props.destroyKey])
|
|
6964
|
+
? (vue.openBlock(), vue.createElementBlock("div", {
|
|
6965
|
+
key: index,
|
|
6966
|
+
class: "col-12 q-mt-md"
|
|
6967
|
+
}, [
|
|
6968
|
+
vue.createElementVNode("div", null, [
|
|
6969
|
+
vue.createElementVNode("div", _hoisted_5$2, [
|
|
6970
|
+
(!$props.useSingleLabel)
|
|
6971
|
+
? (vue.openBlock(), vue.createBlock(_component_qas_label, {
|
|
6972
|
+
key: 0,
|
|
6973
|
+
label: $options.setRowLabel(index)
|
|
6974
|
+
}, null, 8 /* PROPS */, ["label"]))
|
|
6975
|
+
: vue.createCommentVNode("v-if", true),
|
|
6976
|
+
(!$props.useInlineActions)
|
|
6977
|
+
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
|
|
6978
|
+
($props.useDuplicate)
|
|
6979
|
+
? (vue.openBlock(), vue.createBlock(_component_qas_btn, vue.mergeProps({ key: 0 }, $props.btnDuplicateProps, {
|
|
6980
|
+
onClick: $event => ($options.add(row))
|
|
6981
|
+
}), null, 16 /* FULL_PROPS */, ["onClick"]))
|
|
6982
|
+
: vue.createCommentVNode("v-if", true),
|
|
6983
|
+
($options.showDestroyBtn)
|
|
6984
|
+
? (vue.openBlock(), vue.createBlock(_component_qas_btn, vue.mergeProps({ key: 1 }, $props.btnDestroyProps, {
|
|
6985
|
+
onClick: $event => ($options.destroy(index, row))
|
|
6986
|
+
}), null, 16 /* FULL_PROPS */, ["onClick"]))
|
|
6987
|
+
: vue.createCommentVNode("v-if", true)
|
|
6988
|
+
]))
|
|
6989
|
+
: vue.createCommentVNode("v-if", true)
|
|
6990
|
+
]),
|
|
6991
|
+
vue.createElementVNode("div", {
|
|
6992
|
+
ref_for: true,
|
|
6993
|
+
ref: "formGenerator",
|
|
6994
|
+
class: "col-12 justify-between q-col-gutter-x-md row"
|
|
6849
6995
|
}, [
|
|
6850
|
-
vue.
|
|
6851
|
-
|
|
6852
|
-
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6858
|
-
(
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
|
|
6862
|
-
|
|
6863
|
-
|
|
6864
|
-
|
|
6865
|
-
|
|
6866
|
-
|
|
6867
|
-
|
|
6868
|
-
|
|
6869
|
-
|
|
6870
|
-
|
|
6871
|
-
|
|
6872
|
-
|
|
6873
|
-
|
|
6874
|
-
|
|
6875
|
-
ref: "formGenerator",
|
|
6876
|
-
class: "col-12 justify-between q-col-gutter-x-md row"
|
|
6877
|
-
}, [
|
|
6878
|
-
vue.renderSlot(_ctx.$slots, "fields", {
|
|
6879
|
-
errors: $options.transformedErrors,
|
|
6880
|
-
fields: $options.children,
|
|
6881
|
-
index: index,
|
|
6882
|
-
updateValue: $options.updateValuesFromInput
|
|
6883
|
-
}, () => [
|
|
6884
|
-
vue.createVNode(_component_qas_form_generator, {
|
|
6885
|
-
modelValue: $data.nested[index],
|
|
6886
|
-
"onUpdate:modelValue": [$event => (($data.nested[index]) = $event), $event => ($options.updateValuesFromInput($event, index))],
|
|
6887
|
-
class: vue.normalizeClass($options.formClasses),
|
|
6888
|
-
columns: $props.formColumns,
|
|
6889
|
-
errors: $options.transformedErrors[index],
|
|
6890
|
-
fields: $options.children,
|
|
6891
|
-
"fields-props": $props.fieldsProps
|
|
6892
|
-
}, vue.createSlots({ _: 2 /* DYNAMIC */ }, [
|
|
6893
|
-
vue.renderList(_ctx.$slots, (slot, key) => {
|
|
6894
|
-
return {
|
|
6895
|
-
name: key,
|
|
6896
|
-
fn: vue.withCtx((scope) => [
|
|
6897
|
-
vue.renderSlot(_ctx.$slots, key, vue.mergeProps(scope, {
|
|
6898
|
-
errors: $options.transformedErrors,
|
|
6899
|
-
index: index
|
|
6900
|
-
}))
|
|
6901
|
-
])
|
|
6902
|
-
}
|
|
6903
|
-
})
|
|
6904
|
-
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue", "class", "columns", "errors", "fields", "fields-props"])
|
|
6905
|
-
]),
|
|
6906
|
-
($props.useInlineActions)
|
|
6907
|
-
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
|
|
6908
|
-
vue.createElementVNode("div", _hoisted_7, [
|
|
6909
|
-
($props.useDuplicate)
|
|
6910
|
-
? (vue.openBlock(), vue.createBlock(_component_qas_btn, {
|
|
6911
|
-
key: 0,
|
|
6912
|
-
color: "primary",
|
|
6913
|
-
flat: "",
|
|
6914
|
-
icon: "o_content_copy",
|
|
6915
|
-
round: "",
|
|
6916
|
-
onClick: $event => ($options.add(row))
|
|
6917
|
-
}, null, 8 /* PROPS */, ["onClick"]))
|
|
6918
|
-
: vue.createCommentVNode("v-if", true)
|
|
6919
|
-
]),
|
|
6920
|
-
vue.createElementVNode("div", _hoisted_8, [
|
|
6921
|
-
($options.showDestroyBtn)
|
|
6922
|
-
? (vue.openBlock(), vue.createBlock(_component_qas_btn, {
|
|
6923
|
-
key: 0,
|
|
6924
|
-
color: "negative",
|
|
6925
|
-
flat: "",
|
|
6926
|
-
icon: "o_cancel",
|
|
6927
|
-
round: "",
|
|
6928
|
-
onClick: $event => ($options.destroy(index, row))
|
|
6929
|
-
}, null, 8 /* PROPS */, ["onClick"]))
|
|
6930
|
-
: vue.createCommentVNode("v-if", true)
|
|
6931
|
-
])
|
|
6932
|
-
]))
|
|
6933
|
-
: vue.createCommentVNode("v-if", true)
|
|
6934
|
-
], 512 /* NEED_PATCH */),
|
|
6935
|
-
vue.createElementVNode("div", _hoisted_9, [
|
|
6936
|
-
vue.renderSlot(_ctx.$slots, "custom-fields", {
|
|
6937
|
-
fields: $options.children,
|
|
6938
|
-
index: index,
|
|
6939
|
-
model: $data.nested[index],
|
|
6940
|
-
updateValue: $options.updateValuesFromInput
|
|
6996
|
+
vue.renderSlot(_ctx.$slots, "fields", {
|
|
6997
|
+
errors: $options.transformedErrors,
|
|
6998
|
+
fields: $options.children,
|
|
6999
|
+
index: index,
|
|
7000
|
+
updateValue: $options.updateValuesFromInput
|
|
7001
|
+
}, () => [
|
|
7002
|
+
vue.createVNode(_component_qas_form_generator, {
|
|
7003
|
+
modelValue: $data.nested[index],
|
|
7004
|
+
"onUpdate:modelValue": [$event => (($data.nested[index]) = $event), $event => ($options.updateValuesFromInput($event, index))],
|
|
7005
|
+
class: vue.normalizeClass($options.formClasses),
|
|
7006
|
+
columns: $props.formColumns,
|
|
7007
|
+
errors: $options.transformedErrors[index],
|
|
7008
|
+
fields: $options.children,
|
|
7009
|
+
"fields-props": $props.fieldsProps
|
|
7010
|
+
}, vue.createSlots({ _: 2 /* DYNAMIC */ }, [
|
|
7011
|
+
vue.renderList(_ctx.$slots, (slot, key) => {
|
|
7012
|
+
return {
|
|
7013
|
+
name: key,
|
|
7014
|
+
fn: vue.withCtx((scope) => [
|
|
7015
|
+
vue.renderSlot(_ctx.$slots, key, vue.mergeProps(scope, {
|
|
7016
|
+
errors: $options.transformedErrors,
|
|
7017
|
+
index: index
|
|
7018
|
+
}))
|
|
7019
|
+
])
|
|
7020
|
+
}
|
|
6941
7021
|
})
|
|
6942
|
-
])
|
|
6943
|
-
])
|
|
6944
|
-
|
|
6945
|
-
|
|
6946
|
-
|
|
6947
|
-
|
|
6948
|
-
|
|
6949
|
-
|
|
7022
|
+
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue", "class", "columns", "errors", "fields", "fields-props"])
|
|
7023
|
+
]),
|
|
7024
|
+
($props.useInlineActions)
|
|
7025
|
+
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
|
|
7026
|
+
vue.createElementVNode("div", _hoisted_8, [
|
|
7027
|
+
($props.useDuplicate)
|
|
7028
|
+
? (vue.openBlock(), vue.createBlock(_component_qas_btn, {
|
|
7029
|
+
key: 0,
|
|
7030
|
+
color: "primary",
|
|
7031
|
+
flat: "",
|
|
7032
|
+
icon: "o_content_copy",
|
|
7033
|
+
round: "",
|
|
7034
|
+
onClick: $event => ($options.add(row))
|
|
7035
|
+
}, null, 8 /* PROPS */, ["onClick"]))
|
|
7036
|
+
: vue.createCommentVNode("v-if", true)
|
|
7037
|
+
]),
|
|
7038
|
+
vue.createElementVNode("div", _hoisted_9, [
|
|
7039
|
+
($options.showDestroyBtn)
|
|
7040
|
+
? (vue.openBlock(), vue.createBlock(_component_qas_btn, {
|
|
7041
|
+
key: 0,
|
|
7042
|
+
color: "negative",
|
|
7043
|
+
flat: "",
|
|
7044
|
+
icon: "o_cancel",
|
|
7045
|
+
round: "",
|
|
7046
|
+
onClick: $event => ($options.destroy(index, row))
|
|
7047
|
+
}, null, 8 /* PROPS */, ["onClick"]))
|
|
7048
|
+
: vue.createCommentVNode("v-if", true)
|
|
7049
|
+
])
|
|
7050
|
+
]))
|
|
7051
|
+
: vue.createCommentVNode("v-if", true)
|
|
7052
|
+
], 512 /* NEED_PATCH */),
|
|
7053
|
+
vue.createElementVNode("div", _hoisted_10, [
|
|
7054
|
+
vue.renderSlot(_ctx.$slots, "custom-fields", {
|
|
7055
|
+
fields: $options.children,
|
|
7056
|
+
index: index,
|
|
7057
|
+
model: $data.nested[index],
|
|
7058
|
+
updateValue: $options.updateValuesFromInput
|
|
7059
|
+
})
|
|
7060
|
+
])
|
|
7061
|
+
])
|
|
7062
|
+
]))
|
|
7063
|
+
: vue.createCommentVNode("v-if", true)
|
|
7064
|
+
], 8 /* PROPS */, _hoisted_4$3))
|
|
6950
7065
|
}), 128 /* KEYED_FRAGMENT */))
|
|
6951
7066
|
]),
|
|
6952
7067
|
_: 3 /* FORWARDED */
|
|
6953
|
-
},
|
|
6954
|
-
vue.createElementVNode("div",
|
|
7068
|
+
}, 16 /* FULL_PROPS */)),
|
|
7069
|
+
vue.createElementVNode("div", _hoisted_11, [
|
|
6955
7070
|
vue.renderSlot(_ctx.$slots, "add-input", { add: $options.add }, () => [
|
|
6956
7071
|
($props.useInlineActions)
|
|
6957
7072
|
? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -6959,7 +7074,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6959
7074
|
class: "cursor-pointer items-center q-col-gutter-x-md q-mt-md row",
|
|
6960
7075
|
onClick: _cache[1] || (_cache[1] = $event => ($options.add()))
|
|
6961
7076
|
}, [
|
|
6962
|
-
vue.createElementVNode("div",
|
|
7077
|
+
vue.createElementVNode("div", _hoisted_12, [
|
|
6963
7078
|
vue.createVNode(_component_qas_input, {
|
|
6964
7079
|
class: "disabled no-pointer-events",
|
|
6965
7080
|
"hide-bottom-space": "",
|
|
@@ -6968,7 +7083,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6968
7083
|
onFocus: _cache[0] || (_cache[0] = $event => ($options.add()))
|
|
6969
7084
|
}, null, 8 /* PROPS */, ["label"])
|
|
6970
7085
|
]),
|
|
6971
|
-
vue.createElementVNode("div",
|
|
7086
|
+
vue.createElementVNode("div", _hoisted_13, [
|
|
6972
7087
|
vue.createVNode(_component_qas_btn, {
|
|
6973
7088
|
color: "green",
|
|
6974
7089
|
flat: "",
|
|
@@ -6977,9 +7092,9 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6977
7092
|
})
|
|
6978
7093
|
])
|
|
6979
7094
|
]))
|
|
6980
|
-
: (vue.openBlock(), vue.createElementBlock("div",
|
|
7095
|
+
: (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, [
|
|
6981
7096
|
vue.createVNode(_component_qas_btn, {
|
|
6982
|
-
class: "full-width q-py-
|
|
7097
|
+
class: "full-width q-py-md",
|
|
6983
7098
|
icon: "o_add",
|
|
6984
7099
|
outline: "",
|
|
6985
7100
|
onClick: _cache[2] || (_cache[2] = $event => ($options.add()))
|
|
@@ -6992,13 +7107,15 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6992
7107
|
]))
|
|
6993
7108
|
])
|
|
6994
7109
|
])
|
|
6995
|
-
])
|
|
7110
|
+
], 512 /* NEED_PATCH */)
|
|
6996
7111
|
], 8 /* PROPS */, _hoisted_1$8))
|
|
6997
7112
|
}
|
|
6998
7113
|
|
|
6999
7114
|
script$c.render = render$c;
|
|
7000
7115
|
script$c.__file = "src/components/nested-fields/QasNestedFields.vue";
|
|
7001
7116
|
|
|
7117
|
+
const { hasPreviousRoute, history: history$1, getPreviousRoute } = useHistory();
|
|
7118
|
+
|
|
7002
7119
|
var script$b = {
|
|
7003
7120
|
name: 'QasPageHeader',
|
|
7004
7121
|
|
|
@@ -7026,7 +7143,7 @@ var script$b = {
|
|
|
7026
7143
|
|
|
7027
7144
|
computed: {
|
|
7028
7145
|
hasPreviousRoute () {
|
|
7029
|
-
return
|
|
7146
|
+
return hasPreviousRoute.value
|
|
7030
7147
|
},
|
|
7031
7148
|
|
|
7032
7149
|
transformedBreadcrumbs () {
|
|
@@ -7143,8 +7260,6 @@ var script$a = {
|
|
|
7143
7260
|
QasGridGenerator: script$i
|
|
7144
7261
|
},
|
|
7145
7262
|
|
|
7146
|
-
mixins: [screenMixin],
|
|
7147
|
-
|
|
7148
7263
|
props: {
|
|
7149
7264
|
columns: {
|
|
7150
7265
|
type: Object,
|
|
@@ -7185,7 +7300,7 @@ var script$a = {
|
|
|
7185
7300
|
|
|
7186
7301
|
computed: {
|
|
7187
7302
|
directionClasses () {
|
|
7188
|
-
return this.
|
|
7303
|
+
return this.$qas.screen.untilMedium ? 'col' : 'row items-center'
|
|
7189
7304
|
},
|
|
7190
7305
|
|
|
7191
7306
|
userAvatarImage () {
|
|
@@ -7193,7 +7308,7 @@ var script$a = {
|
|
|
7193
7308
|
},
|
|
7194
7309
|
|
|
7195
7310
|
avatarSize () {
|
|
7196
|
-
return this.
|
|
7311
|
+
return this.$qas.screen.isSmall ? '145px' : '188px'
|
|
7197
7312
|
}
|
|
7198
7313
|
},
|
|
7199
7314
|
|
|
@@ -7461,6 +7576,7 @@ var script$8 = {
|
|
|
7461
7576
|
this.fuse = new Fuse__default["default"](value, this.defaultFuseOptions);
|
|
7462
7577
|
|
|
7463
7578
|
this.setResults(this.search);
|
|
7579
|
+
this.updateResultsModel(value);
|
|
7464
7580
|
},
|
|
7465
7581
|
|
|
7466
7582
|
deep: true
|
|
@@ -7477,7 +7593,7 @@ var script$8 = {
|
|
|
7477
7593
|
|
|
7478
7594
|
searchResults: {
|
|
7479
7595
|
handler (value) {
|
|
7480
|
-
this
|
|
7596
|
+
this.updateResultsModel(value);
|
|
7481
7597
|
},
|
|
7482
7598
|
immediate: true
|
|
7483
7599
|
}
|
|
@@ -7494,6 +7610,10 @@ var script$8 = {
|
|
|
7494
7610
|
this.searchResults = value
|
|
7495
7611
|
? this.fuse.search(value)
|
|
7496
7612
|
: this.list;
|
|
7613
|
+
},
|
|
7614
|
+
|
|
7615
|
+
updateResultsModel (value) {
|
|
7616
|
+
this.$emit('update:results', value.map(result => result.item || result));
|
|
7497
7617
|
}
|
|
7498
7618
|
}
|
|
7499
7619
|
};
|
|
@@ -7769,8 +7889,6 @@ var script$6 = {
|
|
|
7769
7889
|
QasSearchBox: script$8
|
|
7770
7890
|
},
|
|
7771
7891
|
|
|
7772
|
-
mixins: [screenMixin],
|
|
7773
|
-
|
|
7774
7892
|
props: {
|
|
7775
7893
|
deleteOnly: {
|
|
7776
7894
|
type: Boolean
|
|
@@ -7851,15 +7969,17 @@ var script$6 = {
|
|
|
7851
7969
|
immediate: true
|
|
7852
7970
|
},
|
|
7853
7971
|
|
|
7854
|
-
modelValue
|
|
7855
|
-
|
|
7972
|
+
modelValue: {
|
|
7973
|
+
handler (value) {
|
|
7974
|
+
this.values = [...value];
|
|
7975
|
+
},
|
|
7976
|
+
|
|
7977
|
+
immediate: true
|
|
7856
7978
|
}
|
|
7857
7979
|
},
|
|
7858
7980
|
|
|
7859
7981
|
created () {
|
|
7860
|
-
this.
|
|
7861
|
-
|
|
7862
|
-
this.handleOptions();
|
|
7982
|
+
this.handleList();
|
|
7863
7983
|
},
|
|
7864
7984
|
|
|
7865
7985
|
methods: {
|
|
@@ -7874,9 +7994,9 @@ var script$6 = {
|
|
|
7874
7994
|
const isSelected = this.values.includes(value);
|
|
7875
7995
|
|
|
7876
7996
|
return {
|
|
7877
|
-
dense: this.
|
|
7997
|
+
dense: this.$qas.screen.isSmall,
|
|
7878
7998
|
hideLabelOnSmallScreen: true,
|
|
7879
|
-
icon: !this.
|
|
7999
|
+
icon: !this.$qas.screen.isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
|
|
7880
8000
|
label: isSelected ? 'Remover' : 'Adicionar',
|
|
7881
8001
|
outline: isSelected,
|
|
7882
8002
|
size: 'sm'
|
|
@@ -7887,7 +8007,7 @@ var script$6 = {
|
|
|
7887
8007
|
return this.values.includes(item.value) ? this.remove(item) : this.add(item)
|
|
7888
8008
|
},
|
|
7889
8009
|
|
|
7890
|
-
|
|
8010
|
+
handleList () {
|
|
7891
8011
|
if (this.modelValue.length) {
|
|
7892
8012
|
return this.sortList()
|
|
7893
8013
|
}
|
|
@@ -7918,8 +8038,8 @@ var script$6 = {
|
|
|
7918
8038
|
|
|
7919
8039
|
sortList () {
|
|
7920
8040
|
this.sortedList = this.deleteOnly
|
|
7921
|
-
? this.list.filter(
|
|
7922
|
-
: lodashEs.sortBy(this.list,
|
|
8041
|
+
? this.list.filter(item => this.modelValue.includes(item.value))
|
|
8042
|
+
: lodashEs.sortBy(this.list, item => !this.modelValue.includes(item.value));
|
|
7923
8043
|
},
|
|
7924
8044
|
|
|
7925
8045
|
updateModel (model) {
|
|
@@ -8277,8 +8397,6 @@ script$4.__file = "src/components/sortable/QasSortable.vue";
|
|
|
8277
8397
|
var script$3 = {
|
|
8278
8398
|
name: 'QasTableGenerator',
|
|
8279
8399
|
|
|
8280
|
-
mixins: [screenMixin],
|
|
8281
|
-
|
|
8282
8400
|
props: {
|
|
8283
8401
|
columns: {
|
|
8284
8402
|
default: () => [],
|
|
@@ -8405,7 +8523,7 @@ var script$3 = {
|
|
|
8405
8523
|
},
|
|
8406
8524
|
|
|
8407
8525
|
tableClass () {
|
|
8408
|
-
return this.
|
|
8526
|
+
return this.$qas.screen.isSmall && 'qas-table-generator--mobile'
|
|
8409
8527
|
},
|
|
8410
8528
|
|
|
8411
8529
|
hasScrollOnGrab () {
|
|
@@ -8446,8 +8564,8 @@ var script$3 = {
|
|
|
8446
8564
|
},
|
|
8447
8565
|
|
|
8448
8566
|
getFullTableWidth () {
|
|
8449
|
-
const
|
|
8450
|
-
return
|
|
8567
|
+
const tableElement = this.getTableElement();
|
|
8568
|
+
return tableElement?.getBoundingClientRect?.()?.width
|
|
8451
8569
|
},
|
|
8452
8570
|
|
|
8453
8571
|
getContainerTableWidth () {
|
|
@@ -8646,8 +8764,6 @@ var script$1 = {
|
|
|
8646
8764
|
QasDialog: script$x
|
|
8647
8765
|
},
|
|
8648
8766
|
|
|
8649
|
-
mixins: [screenMixin],
|
|
8650
|
-
|
|
8651
8767
|
props: {
|
|
8652
8768
|
dialogProps: {
|
|
8653
8769
|
type: Object,
|
|
@@ -8687,7 +8803,7 @@ var script$1 = {
|
|
|
8687
8803
|
|
|
8688
8804
|
computed: {
|
|
8689
8805
|
truncateTextClass () {
|
|
8690
|
-
return (this.isTruncated || this.
|
|
8806
|
+
return (this.isTruncated || this.$qas.screen.isSmall) && 'ellipsis q-pr-sm'
|
|
8691
8807
|
},
|
|
8692
8808
|
|
|
8693
8809
|
isTruncated () {
|
|
@@ -8789,8 +8905,6 @@ var script = {
|
|
|
8789
8905
|
QasSearchBox: script$8
|
|
8790
8906
|
},
|
|
8791
8907
|
|
|
8792
|
-
mixins: [screenMixin],
|
|
8793
|
-
|
|
8794
8908
|
props: {
|
|
8795
8909
|
emitValue: {
|
|
8796
8910
|
type: Boolean
|
|
@@ -8840,21 +8954,23 @@ var script = {
|
|
|
8840
8954
|
firstQueue: [],
|
|
8841
8955
|
optionsList: [],
|
|
8842
8956
|
secondQueue: [],
|
|
8843
|
-
selectedList: []
|
|
8957
|
+
selectedList: [],
|
|
8958
|
+
firstResults: [],
|
|
8959
|
+
secondResults: []
|
|
8844
8960
|
}
|
|
8845
8961
|
},
|
|
8846
8962
|
|
|
8847
8963
|
computed: {
|
|
8848
8964
|
actionsClass () {
|
|
8849
|
-
return !this.
|
|
8965
|
+
return !this.$qas.screen.isSmall && 'column'
|
|
8850
8966
|
},
|
|
8851
8967
|
|
|
8852
8968
|
gutterClass () {
|
|
8853
|
-
return `q-col-gutter-${this.
|
|
8969
|
+
return `q-col-gutter-${this.$qas.screen.untilLarge ? 'md' : 'xl'}`
|
|
8854
8970
|
},
|
|
8855
8971
|
|
|
8856
8972
|
iconClass () {
|
|
8857
|
-
return !this.
|
|
8973
|
+
return !this.$qas.screen.isSmall && 'qas-transfer__icon'
|
|
8858
8974
|
},
|
|
8859
8975
|
|
|
8860
8976
|
searchBoxProps () {
|
|
@@ -8978,13 +9094,15 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8978
9094
|
quantity: $data.optionsList.length
|
|
8979
9095
|
}, null, 8 /* PROPS */, ["label", "quantity"]),
|
|
8980
9096
|
vue.createVNode(_component_qas_search_box, vue.mergeProps({
|
|
8981
|
-
|
|
8982
|
-
|
|
9097
|
+
results: $data.firstResults,
|
|
9098
|
+
"onUpdate:results": _cache[0] || (_cache[0] = $event => (($data.firstResults) = $event)),
|
|
9099
|
+
list: $data.optionsList,
|
|
9100
|
+
outlined: ""
|
|
8983
9101
|
}, $options.searchBoxProps), {
|
|
8984
|
-
default: vue.withCtx((
|
|
9102
|
+
default: vue.withCtx(() => [
|
|
8985
9103
|
vue.createVNode(_component_q_list, { separator: "" }, {
|
|
8986
9104
|
default: vue.withCtx(() => [
|
|
8987
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(
|
|
9105
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.firstResults, (item, index) => {
|
|
8988
9106
|
return (vue.openBlock(), vue.createBlock(_component_q_item, {
|
|
8989
9107
|
key: index,
|
|
8990
9108
|
class: vue.normalizeClass($options.getItemClass(item, true)),
|
|
@@ -9005,11 +9123,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9005
9123
|
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "onClick"]))
|
|
9006
9124
|
}), 128 /* KEYED_FRAGMENT */))
|
|
9007
9125
|
]),
|
|
9008
|
-
_:
|
|
9009
|
-
}
|
|
9126
|
+
_: 3 /* FORWARDED */
|
|
9127
|
+
})
|
|
9010
9128
|
]),
|
|
9011
9129
|
_: 3 /* FORWARDED */
|
|
9012
|
-
}, 16 /* FULL_PROPS */, ["list"])
|
|
9130
|
+
}, 16 /* FULL_PROPS */, ["results", "list"])
|
|
9013
9131
|
]),
|
|
9014
9132
|
vue.createElementVNode("div", {
|
|
9015
9133
|
class: vue.normalizeClass(["col-12 col-sm-auto items-center justify-center q-col-gutter-md row", $options.actionsClass])
|
|
@@ -9022,7 +9140,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9022
9140
|
flat: "",
|
|
9023
9141
|
icon: "o_arrow_circle_down",
|
|
9024
9142
|
rounded: "",
|
|
9025
|
-
onClick: _cache[
|
|
9143
|
+
onClick: _cache[1] || (_cache[1] = $event => ($options.setSelectedFromClick(true)))
|
|
9026
9144
|
}, null, 8 /* PROPS */, ["class", "disabled"]),
|
|
9027
9145
|
vue.createVNode(_component_q_tooltip, {
|
|
9028
9146
|
anchor: "top middle",
|
|
@@ -9043,7 +9161,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9043
9161
|
flat: "",
|
|
9044
9162
|
icon: "o_arrow_circle_up",
|
|
9045
9163
|
rounded: "",
|
|
9046
|
-
onClick: _cache[
|
|
9164
|
+
onClick: _cache[2] || (_cache[2] = $event => ($options.setSelectedFromClick()))
|
|
9047
9165
|
}, null, 8 /* PROPS */, ["class", "disabled"]),
|
|
9048
9166
|
vue.createVNode(_component_q_tooltip, {
|
|
9049
9167
|
anchor: "bottom middle",
|
|
@@ -9062,16 +9180,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9062
9180
|
label: "Selecionadas",
|
|
9063
9181
|
quantity: $data.selectedList.length
|
|
9064
9182
|
}, null, 8 /* PROPS */, ["quantity"]),
|
|
9065
|
-
vue.createVNode(_component_qas_search_box, vue.mergeProps(
|
|
9183
|
+
vue.createVNode(_component_qas_search_box, vue.mergeProps({
|
|
9184
|
+
results: $data.secondResults,
|
|
9185
|
+
"onUpdate:results": _cache[3] || (_cache[3] = $event => (($data.secondResults) = $event))
|
|
9186
|
+
}, $options.searchBoxProps, {
|
|
9066
9187
|
"empty-list-height": "300px",
|
|
9067
|
-
"form-mode": "",
|
|
9068
9188
|
label: "Selecionadas",
|
|
9069
|
-
list: $data.selectedList
|
|
9189
|
+
list: $data.selectedList,
|
|
9190
|
+
outlined: ""
|
|
9070
9191
|
}), {
|
|
9071
|
-
default: vue.withCtx((
|
|
9192
|
+
default: vue.withCtx(() => [
|
|
9072
9193
|
vue.createVNode(_component_q_list, { separator: "" }, {
|
|
9073
9194
|
default: vue.withCtx(() => [
|
|
9074
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(
|
|
9195
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($data.secondResults, (item, index) => {
|
|
9075
9196
|
return (vue.openBlock(), vue.createBlock(_component_q_item, {
|
|
9076
9197
|
key: index,
|
|
9077
9198
|
class: vue.normalizeClass($options.getItemClass(item)),
|
|
@@ -9092,11 +9213,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9092
9213
|
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "onClick"]))
|
|
9093
9214
|
}), 128 /* KEYED_FRAGMENT */))
|
|
9094
9215
|
]),
|
|
9095
|
-
_:
|
|
9096
|
-
}
|
|
9216
|
+
_: 3 /* FORWARDED */
|
|
9217
|
+
})
|
|
9097
9218
|
]),
|
|
9098
9219
|
_: 3 /* FORWARDED */
|
|
9099
|
-
}, 16 /* FULL_PROPS */, ["list"])
|
|
9220
|
+
}, 16 /* FULL_PROPS */, ["results", "list"])
|
|
9100
9221
|
])
|
|
9101
9222
|
], 2 /* CLASS */))
|
|
9102
9223
|
}
|
|
@@ -9106,7 +9227,7 @@ script.__file = "src/components/transfer/QasTransfer.vue";
|
|
|
9106
9227
|
|
|
9107
9228
|
var name = "@bildvitta/quasar-ui-asteroid";
|
|
9108
9229
|
var description = "Asteroid";
|
|
9109
|
-
var version$1 = "3.0.0-
|
|
9230
|
+
var version$1 = "3.0.0-beta.3";
|
|
9110
9231
|
var author = "Bild & Vitta <systemteam@bild.com.br>";
|
|
9111
9232
|
var license = "MIT";
|
|
9112
9233
|
var main = "dist/asteroid.cjs.min.js";
|
|
@@ -9187,6 +9308,20 @@ var packageInfo = {
|
|
|
9187
9308
|
vetur: vetur
|
|
9188
9309
|
};
|
|
9189
9310
|
|
|
9311
|
+
var Test = {
|
|
9312
|
+
name: 'test',
|
|
9313
|
+
|
|
9314
|
+
bind (element, { arg: argument, value }) {
|
|
9315
|
+
if (element && argument) {
|
|
9316
|
+
element.dataset.test = argument;
|
|
9317
|
+
}
|
|
9318
|
+
|
|
9319
|
+
if (element && value) {
|
|
9320
|
+
element.dataset.testKey = value;
|
|
9321
|
+
}
|
|
9322
|
+
}
|
|
9323
|
+
};
|
|
9324
|
+
|
|
9190
9325
|
const version = packageInfo.version;
|
|
9191
9326
|
|
|
9192
9327
|
function install (app) {
|
|
@@ -9248,8 +9383,11 @@ function install (app) {
|
|
|
9248
9383
|
app.config.globalProperties.$qas = {
|
|
9249
9384
|
dialog: Dialog,
|
|
9250
9385
|
error: NotifyError,
|
|
9251
|
-
success: NotifySuccess
|
|
9386
|
+
success: NotifySuccess,
|
|
9387
|
+
screen: Screen()
|
|
9252
9388
|
};
|
|
9389
|
+
|
|
9390
|
+
app.directive(Test.name, Test);
|
|
9253
9391
|
}
|
|
9254
9392
|
|
|
9255
9393
|
exports.Dialog = Dialog;
|
|
@@ -9303,5 +9441,6 @@ exports.QasTabsGenerator = script$2;
|
|
|
9303
9441
|
exports.QasTextTruncate = script$1;
|
|
9304
9442
|
exports.QasTransfer = script;
|
|
9305
9443
|
exports.QasUploader = script$q;
|
|
9444
|
+
exports.Screen = Screen;
|
|
9306
9445
|
exports.install = install;
|
|
9307
9446
|
exports.version = version;
|