@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.esm.js
CHANGED
|
@@ -1,357 +1,25 @@
|
|
|
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
|
*/
|
|
6
|
+
import { openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, resolveComponent, createBlock, mergeProps, createSlots, withCtx, createCommentVNode, renderList, normalizeProps, guardReactiveProps, createVNode, Fragment, toDisplayString, resolveDynamicComponent, createTextVNode, resolveDirective, withDirectives, reactive, computed, markRaw, vShow, normalizeStyle, withModifiers, TransitionGroup } from 'vue';
|
|
6
7
|
import { camelize, camelizeKeys } from 'humps';
|
|
7
|
-
import { markRaw, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, resolveComponent, createBlock, mergeProps, createSlots, withCtx, createTextVNode, toDisplayString, createCommentVNode, renderList, normalizeProps, guardReactiveProps, createVNode, Fragment, resolveDynamicComponent, resolveDirective, withDirectives, vShow, withModifiers, reactive, normalizeStyle } from 'vue';
|
|
8
8
|
import { parseISO, format, isMatch } from 'date-fns';
|
|
9
9
|
import { ptBR } from 'date-fns/locale';
|
|
10
|
-
import { copyToClipboard, date as date$1, Dialog as Dialog$1, Notify, Loading, extend, uid, Quasar } from 'quasar';
|
|
10
|
+
import { copyToClipboard, date as date$1, Dialog as Dialog$1, Notify, Screen as Screen$1, Platform, Loading, extend, uid, Quasar } from 'quasar';
|
|
11
|
+
import { findLastIndex, isEqual, isEqualWith, isObject, castArray, sortBy } from 'lodash-es';
|
|
11
12
|
import AutoNumeric from 'autonumeric';
|
|
12
13
|
import Pica from 'pica';
|
|
13
|
-
import api from 'axios';
|
|
14
|
-
import { isEqual, findLastIndex, isEqualWith, isObject, castArray, sortBy } from 'lodash-es';
|
|
15
14
|
import SignaturePad from 'signature_pad';
|
|
16
15
|
import { onBeforeRouteLeave } from 'vue-router';
|
|
17
16
|
import Fuse from 'fuse.js';
|
|
18
17
|
import Sortable from 'sortablejs';
|
|
19
18
|
import VueGoogleMaps from '@fawmi/vue-google-maps';
|
|
20
19
|
|
|
21
|
-
var contextMixin = {
|
|
22
|
-
computed: {
|
|
23
|
-
mx_context () {
|
|
24
|
-
const { limit, ordering, page, search, ...filters } = this.$route.query;
|
|
25
|
-
return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const irregularClasses = ['col', 'col-auto', 'fit'];
|
|
31
|
-
|
|
32
|
-
var generatorMixin = {
|
|
33
|
-
props: {
|
|
34
|
-
columns: {
|
|
35
|
-
default: () => [],
|
|
36
|
-
type: [Array, String, Object]
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
fields: {
|
|
40
|
-
default: () => ({}),
|
|
41
|
-
type: Object
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
gutter: {
|
|
45
|
-
default: 'md',
|
|
46
|
-
type: [String, Boolean],
|
|
47
|
-
validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
computed: {
|
|
52
|
-
mx_classes () {
|
|
53
|
-
const classes = ['row'];
|
|
54
|
-
|
|
55
|
-
if (this.gutter) {
|
|
56
|
-
classes.push(`q-col-gutter-${this.gutter}`);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return classes
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
methods: {
|
|
64
|
-
mx_getBreakpoint (columns) {
|
|
65
|
-
const classes = [];
|
|
66
|
-
const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
|
|
67
|
-
const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
|
|
68
|
-
|
|
69
|
-
for (const key in formattedColumns) {
|
|
70
|
-
const value = formattedColumns[key];
|
|
71
|
-
classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return [...classes, renamedClasses]
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
mx_getFieldClass (index, isGridGenerator) {
|
|
78
|
-
if (typeof this.columns === 'string') {
|
|
79
|
-
return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return Array.isArray(this.columns)
|
|
83
|
-
? this.mx_handleColumnsByIndex(index, isGridGenerator)
|
|
84
|
-
: this.mx_handleColumnsByField(index, isGridGenerator)
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
mx_handleColumnsByField (index, isGridGenerator) {
|
|
88
|
-
if (!this.columns[index]) {
|
|
89
|
-
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return this.mx_getBreakpoint(this.columns[index])
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
mx_handleColumnsByIndex (index, isGridGenerator) {
|
|
96
|
-
const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
|
|
97
|
-
|
|
98
|
-
if (!Array.isArray(fields)) {
|
|
99
|
-
index = Object.keys(fields).findIndex(field => field === index);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const length = this.columns.length;
|
|
103
|
-
|
|
104
|
-
if (!length) {
|
|
105
|
-
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return this.mx_getBreakpoint(this.columns[index])
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
mx_setDefaultColumnClass (isGridGenerator) {
|
|
112
|
-
return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
const levels = {
|
|
118
|
-
0: {
|
|
119
|
-
color: 'negative',
|
|
120
|
-
label: 'Muito fraco',
|
|
121
|
-
progress: 0.05,
|
|
122
|
-
textClass: 'text-negative'
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
1: {
|
|
126
|
-
color: 'warning',
|
|
127
|
-
label: 'Fraco',
|
|
128
|
-
progress: 0.25,
|
|
129
|
-
textClass: 'text-warning'
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
2: {
|
|
133
|
-
color: 'warning',
|
|
134
|
-
label: 'Bom',
|
|
135
|
-
progress: 0.5,
|
|
136
|
-
textClass: 'text-warning'
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
3: {
|
|
140
|
-
color: 'positive',
|
|
141
|
-
label: 'Forte',
|
|
142
|
-
progress: 0.75,
|
|
143
|
-
textClass: 'text-positive'
|
|
144
|
-
},
|
|
145
|
-
|
|
146
|
-
4: {
|
|
147
|
-
color: 'positive',
|
|
148
|
-
label: 'Muito forte',
|
|
149
|
-
progress: 1,
|
|
150
|
-
textClass: 'text-positive'
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
var passwordMixin = {
|
|
155
|
-
props: {
|
|
156
|
-
levels: {
|
|
157
|
-
default: () => levels,
|
|
158
|
-
type: Object
|
|
159
|
-
},
|
|
160
|
-
|
|
161
|
-
// https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
|
|
162
|
-
minlength: {
|
|
163
|
-
default: 8,
|
|
164
|
-
type: [Number, String]
|
|
165
|
-
},
|
|
166
|
-
|
|
167
|
-
specials: {
|
|
168
|
-
default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
|
|
169
|
-
type: RegExp
|
|
170
|
-
},
|
|
171
|
-
|
|
172
|
-
trackColor: {
|
|
173
|
-
default: 'blue-grey-1',
|
|
174
|
-
type: String
|
|
175
|
-
},
|
|
176
|
-
|
|
177
|
-
useLowercase: {
|
|
178
|
-
default: true,
|
|
179
|
-
type: Boolean
|
|
180
|
-
},
|
|
181
|
-
|
|
182
|
-
useNumbers: {
|
|
183
|
-
default: true,
|
|
184
|
-
type: Boolean
|
|
185
|
-
},
|
|
186
|
-
|
|
187
|
-
useSpecial: {
|
|
188
|
-
default: true,
|
|
189
|
-
type: Boolean
|
|
190
|
-
},
|
|
191
|
-
|
|
192
|
-
useUppercase: {
|
|
193
|
-
default: true,
|
|
194
|
-
type: Boolean
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
var screenMixin = {
|
|
200
|
-
// TODO: Esses nomes precisam ser alterados para algo mais inteligente.
|
|
201
|
-
|
|
202
|
-
computed: {
|
|
203
|
-
mx_isSmall () {
|
|
204
|
-
// until 599
|
|
205
|
-
return this.$q.screen.xs
|
|
206
|
-
},
|
|
207
|
-
|
|
208
|
-
mx_isMedium () {
|
|
209
|
-
// from 600 until 1023
|
|
210
|
-
return this.$q.screen.sm
|
|
211
|
-
},
|
|
212
|
-
|
|
213
|
-
mx_isLarge () {
|
|
214
|
-
// from 1024 until the limit
|
|
215
|
-
return this.$q.screen.gt.sm
|
|
216
|
-
},
|
|
217
|
-
|
|
218
|
-
mx_untilMedium () {
|
|
219
|
-
// from 0 until 599
|
|
220
|
-
return this.$q.screen.lt.sm
|
|
221
|
-
},
|
|
222
|
-
|
|
223
|
-
mx_untilLarge () {
|
|
224
|
-
// from 0 until 1023
|
|
225
|
-
return this.$q.screen.lt.md
|
|
226
|
-
},
|
|
227
|
-
|
|
228
|
-
mx_isMobile () {
|
|
229
|
-
return this.$q.platform.is.mobile
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
var viewMixin = {
|
|
235
|
-
props: {
|
|
236
|
-
dialog: {
|
|
237
|
-
type: Boolean
|
|
238
|
-
},
|
|
239
|
-
|
|
240
|
-
entity: {
|
|
241
|
-
required: true,
|
|
242
|
-
type: String
|
|
243
|
-
},
|
|
244
|
-
|
|
245
|
-
url: {
|
|
246
|
-
default: '',
|
|
247
|
-
type: String
|
|
248
|
-
},
|
|
249
|
-
|
|
250
|
-
fields: {
|
|
251
|
-
default: () => ({}),
|
|
252
|
-
type: Object
|
|
253
|
-
},
|
|
254
|
-
|
|
255
|
-
errors: {
|
|
256
|
-
default: () => ({}),
|
|
257
|
-
type: Object
|
|
258
|
-
},
|
|
259
|
-
|
|
260
|
-
metadata: {
|
|
261
|
-
default: () => ({}),
|
|
262
|
-
type: Object
|
|
263
|
-
},
|
|
264
|
-
|
|
265
|
-
fetching: {
|
|
266
|
-
type: Boolean
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
|
|
270
|
-
emits: [
|
|
271
|
-
'update:fields',
|
|
272
|
-
'update:errors',
|
|
273
|
-
'update:metadata',
|
|
274
|
-
'update:fetching'
|
|
275
|
-
],
|
|
276
|
-
|
|
277
|
-
data () {
|
|
278
|
-
return {
|
|
279
|
-
mx_errors: {},
|
|
280
|
-
mx_fields: {},
|
|
281
|
-
mx_metadata: {},
|
|
282
|
-
|
|
283
|
-
mx_isFetching: false
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
|
|
287
|
-
watch: {
|
|
288
|
-
mx_isFetching (value) {
|
|
289
|
-
this.$emit('update:fetching', value);
|
|
290
|
-
}
|
|
291
|
-
},
|
|
292
|
-
|
|
293
|
-
computed: {
|
|
294
|
-
mx_componentTag () {
|
|
295
|
-
return this.dialog ? 'div' : 'q-page'
|
|
296
|
-
},
|
|
297
|
-
|
|
298
|
-
mx_componentClass () {
|
|
299
|
-
return !this.dialog && 'container spaced'
|
|
300
|
-
},
|
|
301
|
-
|
|
302
|
-
mx_hasFooterSlot () {
|
|
303
|
-
return !!(this.$slots.footer)
|
|
304
|
-
},
|
|
305
|
-
|
|
306
|
-
mx_hasHeaderSlot () {
|
|
307
|
-
return !!(this.$slots.header)
|
|
308
|
-
}
|
|
309
|
-
},
|
|
310
|
-
|
|
311
|
-
methods: {
|
|
312
|
-
mx_fetchError (error) {
|
|
313
|
-
const { response } = error;
|
|
314
|
-
const exception = response?.data?.exception || error.message;
|
|
315
|
-
|
|
316
|
-
this.$qas.error('Ops! Erro ao obter os dados.', exception);
|
|
317
|
-
|
|
318
|
-
const status = response?.status;
|
|
319
|
-
const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
|
|
320
|
-
|
|
321
|
-
if (redirect) {
|
|
322
|
-
this.$router.replace({ name: redirect });
|
|
323
|
-
}
|
|
324
|
-
},
|
|
325
|
-
|
|
326
|
-
mx_setErrors (errors = {}) {
|
|
327
|
-
this.mx_errors = markRaw(errors);
|
|
328
|
-
},
|
|
329
|
-
|
|
330
|
-
mx_setFields (fields = {}) {
|
|
331
|
-
for (const field in fields) {
|
|
332
|
-
fields[field].name = camelize(fields[field].name);
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
this.mx_fields = markRaw(fields);
|
|
336
|
-
},
|
|
337
|
-
|
|
338
|
-
mx_setMetadata (metadata = {}) {
|
|
339
|
-
this.mx_metadata = markRaw(metadata);
|
|
340
|
-
},
|
|
341
|
-
|
|
342
|
-
mx_updateModels (models) {
|
|
343
|
-
for (const key in models) {
|
|
344
|
-
this.$emit(`update:${key}`, models[key]);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
};
|
|
349
|
-
|
|
350
20
|
var script$L = {
|
|
351
21
|
name: 'QasActions',
|
|
352
22
|
|
|
353
|
-
mixins: [screenMixin],
|
|
354
|
-
|
|
355
23
|
props: {
|
|
356
24
|
align: {
|
|
357
25
|
default: 'end',
|
|
@@ -371,7 +39,7 @@ var script$L = {
|
|
|
371
39
|
return [
|
|
372
40
|
`justify-${this.align}`,
|
|
373
41
|
`q-col-gutter-${this.gutter}`,
|
|
374
|
-
this.
|
|
42
|
+
this.$qas.screen.isSmall ? 'column reverse' : 'row'
|
|
375
43
|
]
|
|
376
44
|
}
|
|
377
45
|
}
|
|
@@ -399,28 +67,31 @@ script$L.__file = "src/components/actions/QasActions.vue";
|
|
|
399
67
|
var script$K = {
|
|
400
68
|
name: 'QasBtn',
|
|
401
69
|
|
|
402
|
-
mixins: [screenMixin],
|
|
403
|
-
|
|
404
|
-
inheritAttrs: false,
|
|
405
|
-
|
|
406
70
|
props: {
|
|
407
71
|
hideLabelOnSmallScreen: {
|
|
408
72
|
type: Boolean
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
label: {
|
|
76
|
+
type: String,
|
|
77
|
+
default: ''
|
|
409
78
|
}
|
|
410
79
|
},
|
|
411
80
|
|
|
412
81
|
computed: {
|
|
413
82
|
attributes () {
|
|
414
|
-
|
|
415
|
-
|
|
83
|
+
return {
|
|
84
|
+
...(this.showLabel && { label: this.label }),
|
|
85
|
+
...this.$attrs
|
|
86
|
+
}
|
|
416
87
|
},
|
|
417
88
|
|
|
418
89
|
hasLabel () {
|
|
419
|
-
return !!(this
|
|
90
|
+
return !!(this.label || this.$slots.default)
|
|
420
91
|
},
|
|
421
92
|
|
|
422
93
|
showLabel () {
|
|
423
|
-
return this.hasLabel && !(this.hideLabelOnSmallScreen && this.
|
|
94
|
+
return this.hasLabel && !(this.hideLabelOnSmallScreen && this.$qas.screen.isSmall)
|
|
424
95
|
},
|
|
425
96
|
|
|
426
97
|
slots () {
|
|
@@ -440,9 +111,7 @@ function render$K(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
440
111
|
}, $options.attributes), createSlots({
|
|
441
112
|
default: withCtx(() => [
|
|
442
113
|
($options.showLabel)
|
|
443
|
-
? renderSlot(_ctx.$slots, "default", { key: 0 }
|
|
444
|
-
createTextVNode(toDisplayString(_ctx.$attrs.label), 1 /* TEXT */)
|
|
445
|
-
])
|
|
114
|
+
? renderSlot(_ctx.$slots, "default", { key: 0 })
|
|
446
115
|
: createCommentVNode("v-if", true)
|
|
447
116
|
]),
|
|
448
117
|
_: 2 /* DYNAMIC */
|
|
@@ -540,10 +209,10 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
540
209
|
"hide-label-on-small-screen": "",
|
|
541
210
|
icon: $props.icon,
|
|
542
211
|
label: $props.label,
|
|
543
|
-
outline: ""
|
|
212
|
+
outline: "",
|
|
213
|
+
padding: "md"
|
|
544
214
|
}, {
|
|
545
215
|
default: withCtx(() => [
|
|
546
|
-
createElementVNode("span", null, toDisplayString($props.label), 1 /* TEXT */),
|
|
547
216
|
createVNode(_component_q_menu, { class: "qas-actions-menu__menu" }, {
|
|
548
217
|
default: withCtx(() => [
|
|
549
218
|
createVNode(_component_q_list, {
|
|
@@ -566,8 +235,8 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
566
235
|
createElementVNode("div", _hoisted_1$r, [
|
|
567
236
|
createVNode(_component_q_icon, {
|
|
568
237
|
name: item.icon,
|
|
569
|
-
size:
|
|
570
|
-
}, null, 8 /* PROPS */, ["name"
|
|
238
|
+
size: "sm"
|
|
239
|
+
}, null, 8 /* PROPS */, ["name"]),
|
|
571
240
|
createElementVNode("div", null, toDisplayString(item.label), 1 /* TEXT */)
|
|
572
241
|
])
|
|
573
242
|
]),
|
|
@@ -589,7 +258,10 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
589
258
|
createVNode(_component_q_item_section, null, {
|
|
590
259
|
default: withCtx(() => [
|
|
591
260
|
createElementVNode("div", _hoisted_2$k, [
|
|
592
|
-
createVNode(_component_q_icon, {
|
|
261
|
+
createVNode(_component_q_icon, {
|
|
262
|
+
name: $props.deleteIcon,
|
|
263
|
+
size: "sm"
|
|
264
|
+
}, null, 8 /* PROPS */, ["name"]),
|
|
593
265
|
createElementVNode("div", null, toDisplayString($props.deleteLabel), 1 /* TEXT */)
|
|
594
266
|
])
|
|
595
267
|
]),
|
|
@@ -750,11 +422,10 @@ function constructObject (name, object) {
|
|
|
750
422
|
}
|
|
751
423
|
|
|
752
424
|
/**
|
|
753
|
-
*
|
|
754
|
-
* Função para filtrar propriedades espessificas dentro de um objeto
|
|
425
|
+
* Função para filtrar propriedades especificas dentro de um objeto
|
|
755
426
|
*
|
|
756
427
|
* @param {object} fields objeto com propriedades
|
|
757
|
-
* @param {array} models array de string com nomes das
|
|
428
|
+
* @param {array} models array de string com nomes das propriedades que serão filtradas
|
|
758
429
|
* @returns {object} objeto com propriedades filtradas
|
|
759
430
|
*
|
|
760
431
|
* @example
|
|
@@ -1334,7 +1005,7 @@ const _hoisted_10$1 = { class: "q-pa-lg text-center" };
|
|
|
1334
1005
|
const _hoisted_11$1 = { class: "ellipsis q-mt-lg qs-lh-sm text-bold text-subtitle1" };
|
|
1335
1006
|
const _hoisted_12$1 = { class: "ellipsis q-mt-xs text-caption" };
|
|
1336
1007
|
const _hoisted_13$1 = { class: "q-mt-sm" };
|
|
1337
|
-
const _hoisted_14 = { class: "q-mt-sm" };
|
|
1008
|
+
const _hoisted_14$1 = { class: "q-mt-sm" };
|
|
1338
1009
|
|
|
1339
1010
|
function render$F(_ctx, _cache, $props, $setup, $data, $options) {
|
|
1340
1011
|
const _component_q_ajax_bar = resolveComponent("q-ajax-bar");
|
|
@@ -1480,7 +1151,7 @@ function render$F(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1480
1151
|
to: $props.user.to
|
|
1481
1152
|
}, null, 8 /* PROPS */, ["to"])
|
|
1482
1153
|
]),
|
|
1483
|
-
createElementVNode("div", _hoisted_14, [
|
|
1154
|
+
createElementVNode("div", _hoisted_14$1, [
|
|
1484
1155
|
withDirectives(createVNode(_component_qas_btn, {
|
|
1485
1156
|
class: "q-px-lg q-py-xs",
|
|
1486
1157
|
dense: "",
|
|
@@ -1515,8 +1186,6 @@ script$F.__file = "src/components/app-bar/QasAppBar.vue";
|
|
|
1515
1186
|
var script$E = {
|
|
1516
1187
|
name: 'QasAppMenu',
|
|
1517
1188
|
|
|
1518
|
-
mixins: [screenMixin],
|
|
1519
|
-
|
|
1520
1189
|
props: {
|
|
1521
1190
|
items: {
|
|
1522
1191
|
default: () => [],
|
|
@@ -1618,7 +1287,7 @@ var script$E = {
|
|
|
1618
1287
|
},
|
|
1619
1288
|
|
|
1620
1289
|
beforeHide () {
|
|
1621
|
-
if (this.
|
|
1290
|
+
if (this.$qas.screen.isLarge) {
|
|
1622
1291
|
this.model = true;
|
|
1623
1292
|
this.miniMode = !this.miniMode;
|
|
1624
1293
|
}
|
|
@@ -2517,8 +2186,6 @@ var script$x = {
|
|
|
2517
2186
|
QasActions: script$L
|
|
2518
2187
|
},
|
|
2519
2188
|
|
|
2520
|
-
mixins: [screenMixin],
|
|
2521
|
-
|
|
2522
2189
|
props: {
|
|
2523
2190
|
actionsProps: {
|
|
2524
2191
|
default: () => ({}),
|
|
@@ -2601,8 +2268,8 @@ var script$x = {
|
|
|
2601
2268
|
|
|
2602
2269
|
style () {
|
|
2603
2270
|
return {
|
|
2604
|
-
maxWidth: this.maxWidth || (this.
|
|
2605
|
-
minWidth: this.minWidth || (this.
|
|
2271
|
+
maxWidth: this.maxWidth || (this.$qas.screen.isSmall ? '' : '600px'),
|
|
2272
|
+
minWidth: this.minWidth || (this.$qas.screen.isSmall ? '' : '400px')
|
|
2606
2273
|
}
|
|
2607
2274
|
},
|
|
2608
2275
|
|
|
@@ -2623,12 +2290,12 @@ var script$x = {
|
|
|
2623
2290
|
this.useForm && this.$emit('validate', await this.$refs.form.validate());
|
|
2624
2291
|
},
|
|
2625
2292
|
|
|
2626
|
-
//
|
|
2293
|
+
// método para funcionar como plugin
|
|
2627
2294
|
show () {
|
|
2628
2295
|
this.$refs.dialog.show();
|
|
2629
2296
|
},
|
|
2630
2297
|
|
|
2631
|
-
//
|
|
2298
|
+
// método para funcionar como plugin
|
|
2632
2299
|
hide () {
|
|
2633
2300
|
this.$refs.dialog.hide();
|
|
2634
2301
|
},
|
|
@@ -2764,9 +2431,87 @@ Notify.registerType('success', {
|
|
|
2764
2431
|
progress: true
|
|
2765
2432
|
});
|
|
2766
2433
|
|
|
2767
|
-
var NotifySuccess = (message, caption) => {
|
|
2768
|
-
Notify?.create({ caption, message, type: 'success' });
|
|
2769
|
-
};
|
|
2434
|
+
var NotifySuccess = (message, caption) => {
|
|
2435
|
+
Notify?.create({ caption, message, type: 'success' });
|
|
2436
|
+
};
|
|
2437
|
+
|
|
2438
|
+
var Screen = () => {
|
|
2439
|
+
const screensModel = {
|
|
2440
|
+
// até 599px
|
|
2441
|
+
isSmall: () => Screen$1.xs,
|
|
2442
|
+
// de 600 até 1023px
|
|
2443
|
+
isMedium: () => Screen$1.sm,
|
|
2444
|
+
// de 600 até 1023px
|
|
2445
|
+
isLarge: () => Screen$1.gt.sm,
|
|
2446
|
+
// de 0 até 599px
|
|
2447
|
+
untilMedium: () => Screen$1.lt.sm,
|
|
2448
|
+
// de 0 ate 1023px
|
|
2449
|
+
untilLarge: () => Screen$1.lt.md,
|
|
2450
|
+
|
|
2451
|
+
// Plataforma
|
|
2452
|
+
isMobile: () => Platform.is.mobile || false
|
|
2453
|
+
};
|
|
2454
|
+
|
|
2455
|
+
const screens = {};
|
|
2456
|
+
|
|
2457
|
+
for (const key in screensModel) {
|
|
2458
|
+
// infelizmente esta é a única forma que conseguimos para que nossa função se tornasse reativa na view
|
|
2459
|
+
// é como o próprio quasar implementa
|
|
2460
|
+
Object.defineProperty(screens, key, {
|
|
2461
|
+
get () {
|
|
2462
|
+
return screensModel[key]()
|
|
2463
|
+
},
|
|
2464
|
+
|
|
2465
|
+
enumerable: true
|
|
2466
|
+
});
|
|
2467
|
+
}
|
|
2468
|
+
|
|
2469
|
+
return screens
|
|
2470
|
+
};
|
|
2471
|
+
|
|
2472
|
+
const history$2 = reactive({ list: [] });
|
|
2473
|
+
|
|
2474
|
+
function useHistory () {
|
|
2475
|
+
const hasPreviousRoute = computed(() => history$2.list.length > 1);
|
|
2476
|
+
|
|
2477
|
+
function getPreviousRoute (currentRoute) {
|
|
2478
|
+
const index = findLastIndex(history$2.list, item => item.name === currentRoute.name);
|
|
2479
|
+
|
|
2480
|
+
if (~index) {
|
|
2481
|
+
history$2.list.splice(index, 1);
|
|
2482
|
+
}
|
|
2483
|
+
|
|
2484
|
+
return history$2.list[history$2.list.length - 1]
|
|
2485
|
+
}
|
|
2486
|
+
|
|
2487
|
+
function addRoute (route) {
|
|
2488
|
+
const routeExistsInList = history$2.list?.[history$2.list?.length - 1]?.name === route.name;
|
|
2489
|
+
|
|
2490
|
+
if (routeExistsInList) return
|
|
2491
|
+
|
|
2492
|
+
history$2.list.push(route);
|
|
2493
|
+
}
|
|
2494
|
+
|
|
2495
|
+
function destroyRoutes (routes) {
|
|
2496
|
+
if (!history$2.list.length) return null
|
|
2497
|
+
|
|
2498
|
+
routes.forEach(route => {
|
|
2499
|
+
const index = history$2.list.findIndex(item => item.name === route.name);
|
|
2500
|
+
|
|
2501
|
+
if (~index) {
|
|
2502
|
+
history$2.list.splice(index, 1);
|
|
2503
|
+
}
|
|
2504
|
+
});
|
|
2505
|
+
}
|
|
2506
|
+
|
|
2507
|
+
return {
|
|
2508
|
+
history: history$2,
|
|
2509
|
+
hasPreviousRoute,
|
|
2510
|
+
getPreviousRoute,
|
|
2511
|
+
addRoute,
|
|
2512
|
+
destroyRoutes
|
|
2513
|
+
}
|
|
2514
|
+
}
|
|
2770
2515
|
|
|
2771
2516
|
var script$w = {
|
|
2772
2517
|
name: 'QasDelete',
|
|
@@ -2804,6 +2549,11 @@ var script$w = {
|
|
|
2804
2549
|
|
|
2805
2550
|
deleting: {
|
|
2806
2551
|
type: Boolean
|
|
2552
|
+
},
|
|
2553
|
+
|
|
2554
|
+
useAutoDeleteRoute: {
|
|
2555
|
+
default: true,
|
|
2556
|
+
type: Boolean
|
|
2807
2557
|
}
|
|
2808
2558
|
},
|
|
2809
2559
|
|
|
@@ -2851,9 +2601,21 @@ var script$w = {
|
|
|
2851
2601
|
this.$emit('update:deleting', true);
|
|
2852
2602
|
|
|
2853
2603
|
try {
|
|
2604
|
+
const { destroyRoutes, history } = useHistory();
|
|
2605
|
+
|
|
2854
2606
|
await this.$store.dispatch(`${this.entity}/destroy`, { id: this.id, url: this.url });
|
|
2607
|
+
|
|
2855
2608
|
NotifySuccess('Item deletado com sucesso!');
|
|
2609
|
+
|
|
2610
|
+
if (this.useAutoDeleteRoute) {
|
|
2611
|
+
// remove todas rotas que possuem o id do item excluído.
|
|
2612
|
+
const routesToBeDeleted = this.getRoutesToBeDeletedById(history.list);
|
|
2613
|
+
destroyRoutes(routesToBeDeleted);
|
|
2614
|
+
}
|
|
2615
|
+
|
|
2616
|
+
// cria um evento para notificar que o item foi excluído no "window".
|
|
2856
2617
|
this.createDeleteSuccessEvent();
|
|
2618
|
+
|
|
2857
2619
|
this.$emit('success');
|
|
2858
2620
|
} catch (error) {
|
|
2859
2621
|
NotifyError('Ops! Não foi possível deletar o item.');
|
|
@@ -2864,6 +2626,10 @@ var script$w = {
|
|
|
2864
2626
|
}
|
|
2865
2627
|
},
|
|
2866
2628
|
|
|
2629
|
+
getRoutesToBeDeletedById (routes = []) {
|
|
2630
|
+
return routes.filter(({ params }) => params.id === this.id)
|
|
2631
|
+
},
|
|
2632
|
+
|
|
2867
2633
|
createDeleteSuccessEvent () {
|
|
2868
2634
|
const event = new CustomEvent('delete-success', {
|
|
2869
2635
|
bubbles: false,
|
|
@@ -3022,7 +2788,7 @@ var script$u = {
|
|
|
3022
2788
|
props: {
|
|
3023
2789
|
modelValue: {
|
|
3024
2790
|
default: '',
|
|
3025
|
-
type: String
|
|
2791
|
+
type: [String, Number]
|
|
3026
2792
|
},
|
|
3027
2793
|
|
|
3028
2794
|
unmaskedValue: {
|
|
@@ -3033,11 +2799,31 @@ var script$u = {
|
|
|
3033
2799
|
outlined: {
|
|
3034
2800
|
default: true,
|
|
3035
2801
|
type: Boolean
|
|
2802
|
+
},
|
|
2803
|
+
|
|
2804
|
+
removeErrorOnType: {
|
|
2805
|
+
type: Boolean
|
|
2806
|
+
},
|
|
2807
|
+
|
|
2808
|
+
error: {
|
|
2809
|
+
type: Boolean
|
|
2810
|
+
},
|
|
2811
|
+
|
|
2812
|
+
errorMessage: {
|
|
2813
|
+
type: String,
|
|
2814
|
+
default: ''
|
|
3036
2815
|
}
|
|
3037
2816
|
},
|
|
3038
2817
|
|
|
3039
2818
|
emits: ['update:modelValue'],
|
|
3040
2819
|
|
|
2820
|
+
data () {
|
|
2821
|
+
return {
|
|
2822
|
+
errorData: false,
|
|
2823
|
+
messageErrorData: ''
|
|
2824
|
+
}
|
|
2825
|
+
},
|
|
2826
|
+
|
|
3041
2827
|
computed: {
|
|
3042
2828
|
hasError () {
|
|
3043
2829
|
return this.inputReference.hasError
|
|
@@ -3070,6 +2856,11 @@ var script$u = {
|
|
|
3070
2856
|
},
|
|
3071
2857
|
|
|
3072
2858
|
set (value) {
|
|
2859
|
+
if (this.removeErrorOnType && this.error) {
|
|
2860
|
+
this.errorData = false;
|
|
2861
|
+
this.errorMessageData = '';
|
|
2862
|
+
}
|
|
2863
|
+
|
|
3073
2864
|
return this.$emit('update:modelValue', value)
|
|
3074
2865
|
}
|
|
3075
2866
|
}
|
|
@@ -3082,6 +2873,22 @@ var script$u = {
|
|
|
3082
2873
|
requestAnimationFrame(() => {
|
|
3083
2874
|
input.selectionStart = input.value ? input.value.length : '';
|
|
3084
2875
|
});
|
|
2876
|
+
},
|
|
2877
|
+
|
|
2878
|
+
error: {
|
|
2879
|
+
handler (value) {
|
|
2880
|
+
this.errorData = value;
|
|
2881
|
+
},
|
|
2882
|
+
|
|
2883
|
+
immediate: true
|
|
2884
|
+
},
|
|
2885
|
+
|
|
2886
|
+
errorMessage: {
|
|
2887
|
+
handler (value) {
|
|
2888
|
+
this.errorMessageData = value;
|
|
2889
|
+
},
|
|
2890
|
+
|
|
2891
|
+
immediate: true
|
|
3085
2892
|
}
|
|
3086
2893
|
},
|
|
3087
2894
|
|
|
@@ -3113,8 +2920,10 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3113
2920
|
ref: "input",
|
|
3114
2921
|
modelValue: $options.model,
|
|
3115
2922
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
|
|
3116
|
-
"bottom-slots": ""
|
|
2923
|
+
"bottom-slots": "",
|
|
2924
|
+
error: $data.errorData
|
|
3117
2925
|
}, _ctx.$attrs, {
|
|
2926
|
+
"error-message": _ctx.errorMessageData,
|
|
3118
2927
|
mask: $options.mask,
|
|
3119
2928
|
outlined: $props.outlined,
|
|
3120
2929
|
"unmasked-value": $props.unmaskedValue
|
|
@@ -3127,7 +2936,7 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3127
2936
|
])
|
|
3128
2937
|
}
|
|
3129
2938
|
})
|
|
3130
|
-
]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "mask", "outlined", "unmasked-value"])
|
|
2939
|
+
]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "error", "error-message", "mask", "outlined", "unmasked-value"])
|
|
3131
2940
|
]))
|
|
3132
2941
|
}
|
|
3133
2942
|
|
|
@@ -3282,6 +3091,88 @@ function render$t(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3282
3091
|
script$t.render = render$t;
|
|
3283
3092
|
script$t.__file = "src/components/numeric-input/QasNumericInput.vue";
|
|
3284
3093
|
|
|
3094
|
+
const levels = {
|
|
3095
|
+
0: {
|
|
3096
|
+
color: 'negative',
|
|
3097
|
+
label: 'Muito fraco',
|
|
3098
|
+
progress: 0.05,
|
|
3099
|
+
textClass: 'text-negative'
|
|
3100
|
+
},
|
|
3101
|
+
|
|
3102
|
+
1: {
|
|
3103
|
+
color: 'warning',
|
|
3104
|
+
label: 'Fraco',
|
|
3105
|
+
progress: 0.25,
|
|
3106
|
+
textClass: 'text-warning'
|
|
3107
|
+
},
|
|
3108
|
+
|
|
3109
|
+
2: {
|
|
3110
|
+
color: 'warning',
|
|
3111
|
+
label: 'Bom',
|
|
3112
|
+
progress: 0.5,
|
|
3113
|
+
textClass: 'text-warning'
|
|
3114
|
+
},
|
|
3115
|
+
|
|
3116
|
+
3: {
|
|
3117
|
+
color: 'positive',
|
|
3118
|
+
label: 'Forte',
|
|
3119
|
+
progress: 0.75,
|
|
3120
|
+
textClass: 'text-positive'
|
|
3121
|
+
},
|
|
3122
|
+
|
|
3123
|
+
4: {
|
|
3124
|
+
color: 'positive',
|
|
3125
|
+
label: 'Muito forte',
|
|
3126
|
+
progress: 1,
|
|
3127
|
+
textClass: 'text-positive'
|
|
3128
|
+
}
|
|
3129
|
+
};
|
|
3130
|
+
|
|
3131
|
+
var passwordMixin = {
|
|
3132
|
+
props: {
|
|
3133
|
+
levels: {
|
|
3134
|
+
default: () => levels,
|
|
3135
|
+
type: Object
|
|
3136
|
+
},
|
|
3137
|
+
|
|
3138
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/minlength
|
|
3139
|
+
minlength: {
|
|
3140
|
+
default: 8,
|
|
3141
|
+
type: [Number, String]
|
|
3142
|
+
},
|
|
3143
|
+
|
|
3144
|
+
specials: {
|
|
3145
|
+
default: /[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,
|
|
3146
|
+
type: RegExp
|
|
3147
|
+
},
|
|
3148
|
+
|
|
3149
|
+
trackColor: {
|
|
3150
|
+
default: 'blue-grey-1',
|
|
3151
|
+
type: String
|
|
3152
|
+
},
|
|
3153
|
+
|
|
3154
|
+
useLowercase: {
|
|
3155
|
+
default: true,
|
|
3156
|
+
type: Boolean
|
|
3157
|
+
},
|
|
3158
|
+
|
|
3159
|
+
useNumbers: {
|
|
3160
|
+
default: true,
|
|
3161
|
+
type: Boolean
|
|
3162
|
+
},
|
|
3163
|
+
|
|
3164
|
+
useSpecial: {
|
|
3165
|
+
default: true,
|
|
3166
|
+
type: Boolean
|
|
3167
|
+
},
|
|
3168
|
+
|
|
3169
|
+
useUppercase: {
|
|
3170
|
+
default: true,
|
|
3171
|
+
type: Boolean
|
|
3172
|
+
}
|
|
3173
|
+
}
|
|
3174
|
+
};
|
|
3175
|
+
|
|
3285
3176
|
var script$s = {
|
|
3286
3177
|
name: 'QasPasswordStrengthChecker',
|
|
3287
3178
|
|
|
@@ -3386,9 +3277,8 @@ var script$r = {
|
|
|
3386
3277
|
mixins: [passwordMixin],
|
|
3387
3278
|
|
|
3388
3279
|
props: {
|
|
3389
|
-
|
|
3390
|
-
type: Boolean
|
|
3391
|
-
default: true
|
|
3280
|
+
hideStrengthChecker: {
|
|
3281
|
+
type: Boolean
|
|
3392
3282
|
},
|
|
3393
3283
|
|
|
3394
3284
|
iconColor: {
|
|
@@ -3406,7 +3296,6 @@ var script$r = {
|
|
|
3406
3296
|
|
|
3407
3297
|
data () {
|
|
3408
3298
|
return {
|
|
3409
|
-
key: 'error',
|
|
3410
3299
|
toggleType: true
|
|
3411
3300
|
}
|
|
3412
3301
|
},
|
|
@@ -3436,15 +3325,6 @@ var script$r = {
|
|
|
3436
3325
|
}
|
|
3437
3326
|
},
|
|
3438
3327
|
|
|
3439
|
-
watch: {
|
|
3440
|
-
modelValue () {
|
|
3441
|
-
if (this.$attrs.error) {
|
|
3442
|
-
this.$attrs.error = false;
|
|
3443
|
-
this.$attrs.errorMessage = '';
|
|
3444
|
-
}
|
|
3445
|
-
}
|
|
3446
|
-
},
|
|
3447
|
-
|
|
3448
3328
|
methods: {
|
|
3449
3329
|
toggle () {
|
|
3450
3330
|
this.toggleType = !this.toggleType;
|
|
@@ -3457,39 +3337,43 @@ function render$r(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3457
3337
|
const _component_qas_password_strength_checker = resolveComponent("qas-password-strength-checker");
|
|
3458
3338
|
const _component_qas_input = resolveComponent("qas-input");
|
|
3459
3339
|
|
|
3460
|
-
return (openBlock(),
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
($props.useStrengthChecker)
|
|
3485
|
-
? {
|
|
3486
|
-
name: "hint",
|
|
3487
|
-
fn: withCtx(() => [
|
|
3488
|
-
createVNode(_component_qas_password_strength_checker, mergeProps($options.strengthCheckerProps, { password: $options.model }), null, 16 /* FULL_PROPS */, ["password"])
|
|
3340
|
+
return (openBlock(), createElementBlock("div", null, [
|
|
3341
|
+
createVNode(_component_qas_input, mergeProps({
|
|
3342
|
+
modelValue: $options.model,
|
|
3343
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
|
|
3344
|
+
"bottom-slots": ""
|
|
3345
|
+
}, _ctx.$attrs, {
|
|
3346
|
+
"remove-error-on-type": "",
|
|
3347
|
+
type: $options.type
|
|
3348
|
+
}), createSlots({
|
|
3349
|
+
append: withCtx(() => [
|
|
3350
|
+
createVNode(_component_q_icon, {
|
|
3351
|
+
class: "cursor-pointer",
|
|
3352
|
+
color: $props.iconColor,
|
|
3353
|
+
name: $options.icon,
|
|
3354
|
+
onClick: $options.toggle
|
|
3355
|
+
}, null, 8 /* PROPS */, ["color", "name", "onClick"])
|
|
3356
|
+
]),
|
|
3357
|
+
_: 2 /* DYNAMIC */
|
|
3358
|
+
}, [
|
|
3359
|
+
renderList(_ctx.$slots, (_, name) => {
|
|
3360
|
+
return {
|
|
3361
|
+
name: name,
|
|
3362
|
+
fn: withCtx((context) => [
|
|
3363
|
+
renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(context || {})))
|
|
3489
3364
|
])
|
|
3490
3365
|
}
|
|
3491
|
-
|
|
3492
|
-
|
|
3366
|
+
}),
|
|
3367
|
+
(!$props.hideStrengthChecker)
|
|
3368
|
+
? {
|
|
3369
|
+
name: "hint",
|
|
3370
|
+
fn: withCtx(() => [
|
|
3371
|
+
createVNode(_component_qas_password_strength_checker, mergeProps($options.strengthCheckerProps, { password: $options.model }), null, 16 /* FULL_PROPS */, ["password"])
|
|
3372
|
+
])
|
|
3373
|
+
}
|
|
3374
|
+
: undefined
|
|
3375
|
+
]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "type"])
|
|
3376
|
+
]))
|
|
3493
3377
|
}
|
|
3494
3378
|
|
|
3495
3379
|
script$r.render = render$r;
|
|
@@ -3688,7 +3572,7 @@ var script$q = {
|
|
|
3688
3572
|
this.isFetching = true;
|
|
3689
3573
|
|
|
3690
3574
|
try {
|
|
3691
|
-
const { data } = await
|
|
3575
|
+
const { data } = await this.$axios.post('/upload-credentials/', {
|
|
3692
3576
|
entity: this.entity,
|
|
3693
3577
|
filename
|
|
3694
3578
|
});
|
|
@@ -4166,6 +4050,11 @@ var script$o = {
|
|
|
4166
4050
|
},
|
|
4167
4051
|
|
|
4168
4052
|
props: {
|
|
4053
|
+
dialogProps: {
|
|
4054
|
+
type: Object,
|
|
4055
|
+
default: () => ({})
|
|
4056
|
+
},
|
|
4057
|
+
|
|
4169
4058
|
uploadLabel: {
|
|
4170
4059
|
default: '',
|
|
4171
4060
|
type: String
|
|
@@ -4214,6 +4103,32 @@ var script$o = {
|
|
|
4214
4103
|
|
|
4215
4104
|
headerClass () {
|
|
4216
4105
|
return `q-pa-${this.readonly ? 'md' : 'sm'}`
|
|
4106
|
+
},
|
|
4107
|
+
|
|
4108
|
+
defaultDialogProps () {
|
|
4109
|
+
return {
|
|
4110
|
+
maxWidth: '620px',
|
|
4111
|
+
...this.dialogProps
|
|
4112
|
+
}
|
|
4113
|
+
},
|
|
4114
|
+
|
|
4115
|
+
signaturePadWidth () {
|
|
4116
|
+
const sizes = {
|
|
4117
|
+
[this.$qas.screen.isSmall]: { width: '100%' },
|
|
4118
|
+
[this.$qas.screen.isMedium]: { width: '570px' },
|
|
4119
|
+
[this.$qas.screen.isLarge]: { width: '350px' }
|
|
4120
|
+
};
|
|
4121
|
+
return sizes.true
|
|
4122
|
+
},
|
|
4123
|
+
|
|
4124
|
+
signaturePadHeight () {
|
|
4125
|
+
const sizes = {
|
|
4126
|
+
[this.$qas.screen.isSmall]: '250',
|
|
4127
|
+
[this.$qas.screen.isMedium]: '400',
|
|
4128
|
+
[this.$qas.screen.isLarge]: '250'
|
|
4129
|
+
};
|
|
4130
|
+
|
|
4131
|
+
return sizes.true
|
|
4217
4132
|
}
|
|
4218
4133
|
},
|
|
4219
4134
|
|
|
@@ -4313,20 +4228,24 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4313
4228
|
]),
|
|
4314
4229
|
_: 1 /* STABLE */
|
|
4315
4230
|
}, 16 /* FULL_PROPS */, ["modelValue", "label", "readonly"]),
|
|
4316
|
-
createVNode(_component_qas_dialog, {
|
|
4231
|
+
createVNode(_component_qas_dialog, mergeProps({
|
|
4317
4232
|
modelValue: $data.isOpenedDialog,
|
|
4318
4233
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (($data.isOpenedDialog) = $event))
|
|
4319
|
-
}, {
|
|
4234
|
+
}, $options.defaultDialogProps), {
|
|
4320
4235
|
header: withCtx(() => [
|
|
4321
4236
|
_hoisted_3$8
|
|
4322
4237
|
]),
|
|
4323
4238
|
description: withCtx(() => [
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4239
|
+
createElementVNode("div", {
|
|
4240
|
+
style: normalizeStyle($options.signaturePadWidth)
|
|
4241
|
+
}, [
|
|
4242
|
+
createVNode(_component_qas_signature_pad, {
|
|
4243
|
+
ref: "signaturePadModal",
|
|
4244
|
+
empty: $data.isEmpty,
|
|
4245
|
+
"onUpdate:empty": _cache[2] || (_cache[2] = $event => (($data.isEmpty) = $event)),
|
|
4246
|
+
height: $options.signaturePadHeight
|
|
4247
|
+
}, null, 8 /* PROPS */, ["empty", "height"])
|
|
4248
|
+
], 4 /* STYLE */)
|
|
4330
4249
|
]),
|
|
4331
4250
|
actions: withCtx(() => [
|
|
4332
4251
|
createVNode(_component_q_btn, {
|
|
@@ -4347,7 +4266,7 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4347
4266
|
}, null, 8 /* PROPS */, ["onClick"])
|
|
4348
4267
|
]),
|
|
4349
4268
|
_: 1 /* STABLE */
|
|
4350
|
-
},
|
|
4269
|
+
}, 16 /* FULL_PROPS */, ["modelValue"])
|
|
4351
4270
|
]))
|
|
4352
4271
|
}
|
|
4353
4272
|
|
|
@@ -4411,7 +4330,6 @@ var script$n = {
|
|
|
4411
4330
|
prefix,
|
|
4412
4331
|
type,
|
|
4413
4332
|
mask,
|
|
4414
|
-
pattern,
|
|
4415
4333
|
maxFiles,
|
|
4416
4334
|
searchable,
|
|
4417
4335
|
gmt
|
|
@@ -4462,7 +4380,7 @@ var script$n = {
|
|
|
4462
4380
|
number: { is: 'qas-input', type: 'number', ...input },
|
|
4463
4381
|
hidden: { is: 'input', name, type },
|
|
4464
4382
|
email: { is: 'qas-input', type, ...input },
|
|
4465
|
-
password: { is: 'qas-password-input',
|
|
4383
|
+
password: { is: 'qas-password-input', ...input },
|
|
4466
4384
|
|
|
4467
4385
|
decimal: { ...numericInput, mode: 'decimal' },
|
|
4468
4386
|
money: { ...numericInput, mode: 'money' },
|
|
@@ -4564,6 +4482,15 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4564
4482
|
script$n.render = render$n;
|
|
4565
4483
|
script$n.__file = "src/components/field/QasField.vue";
|
|
4566
4484
|
|
|
4485
|
+
var contextMixin = {
|
|
4486
|
+
computed: {
|
|
4487
|
+
mx_context () {
|
|
4488
|
+
const { limit, ordering, page, search, ...filters } = this.$route.query;
|
|
4489
|
+
return { filters, limit, ordering, page: page ? parseInt(page) : 1, search }
|
|
4490
|
+
}
|
|
4491
|
+
}
|
|
4492
|
+
};
|
|
4493
|
+
|
|
4567
4494
|
var script$m = {
|
|
4568
4495
|
name: 'QasFilters',
|
|
4569
4496
|
|
|
@@ -4607,6 +4534,10 @@ var script$m = {
|
|
|
4607
4534
|
url: {
|
|
4608
4535
|
default: '',
|
|
4609
4536
|
type: String
|
|
4537
|
+
},
|
|
4538
|
+
|
|
4539
|
+
forceRefetch: {
|
|
4540
|
+
type: Boolean
|
|
4610
4541
|
}
|
|
4611
4542
|
},
|
|
4612
4543
|
|
|
@@ -4736,7 +4667,7 @@ var script$m = {
|
|
|
4736
4667
|
},
|
|
4737
4668
|
|
|
4738
4669
|
async fetchFilters () {
|
|
4739
|
-
if (this.hasFields || !this.useFilterButton) {
|
|
4670
|
+
if (!this.forceRefetch && (this.hasFields || !this.useFilterButton)) {
|
|
4740
4671
|
return null
|
|
4741
4672
|
}
|
|
4742
4673
|
|
|
@@ -4902,7 +4833,7 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4902
4833
|
label: $options.filterButtonLabel
|
|
4903
4834
|
}, {
|
|
4904
4835
|
default: withCtx(() => [
|
|
4905
|
-
createVNode(_component_q_menu,
|
|
4836
|
+
createVNode(_component_q_menu, null, {
|
|
4906
4837
|
default: withCtx(() => [
|
|
4907
4838
|
($data.isFetching)
|
|
4908
4839
|
? (openBlock(), createElementBlock("div", _hoisted_4$6, [
|
|
@@ -4956,7 +4887,7 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4956
4887
|
}))
|
|
4957
4888
|
]),
|
|
4958
4889
|
_: 1 /* STABLE */
|
|
4959
|
-
}
|
|
4890
|
+
})
|
|
4960
4891
|
]),
|
|
4961
4892
|
_: 1 /* STABLE */
|
|
4962
4893
|
}, 8 /* PROPS */, ["color", "label"]))
|
|
@@ -4994,8 +4925,95 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4994
4925
|
]))
|
|
4995
4926
|
}
|
|
4996
4927
|
|
|
4997
|
-
script$m.render = render$m;
|
|
4998
|
-
script$m.__file = "src/components/filters/QasFilters.vue";
|
|
4928
|
+
script$m.render = render$m;
|
|
4929
|
+
script$m.__file = "src/components/filters/QasFilters.vue";
|
|
4930
|
+
|
|
4931
|
+
const irregularClasses = ['col', 'col-auto', 'fit'];
|
|
4932
|
+
|
|
4933
|
+
var generatorMixin = {
|
|
4934
|
+
props: {
|
|
4935
|
+
columns: {
|
|
4936
|
+
default: () => [],
|
|
4937
|
+
type: [Array, String, Object]
|
|
4938
|
+
},
|
|
4939
|
+
|
|
4940
|
+
fields: {
|
|
4941
|
+
default: () => ({}),
|
|
4942
|
+
type: Object
|
|
4943
|
+
},
|
|
4944
|
+
|
|
4945
|
+
gutter: {
|
|
4946
|
+
default: 'md',
|
|
4947
|
+
type: [String, Boolean],
|
|
4948
|
+
validator: value => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value)
|
|
4949
|
+
}
|
|
4950
|
+
},
|
|
4951
|
+
|
|
4952
|
+
computed: {
|
|
4953
|
+
mx_classes () {
|
|
4954
|
+
const classes = ['row'];
|
|
4955
|
+
|
|
4956
|
+
if (this.gutter) {
|
|
4957
|
+
classes.push(`q-col-gutter-${this.gutter}`);
|
|
4958
|
+
}
|
|
4959
|
+
|
|
4960
|
+
return classes
|
|
4961
|
+
}
|
|
4962
|
+
},
|
|
4963
|
+
|
|
4964
|
+
methods: {
|
|
4965
|
+
mx_getBreakpoint (columns) {
|
|
4966
|
+
const classes = [];
|
|
4967
|
+
const profiles = { col: 'col', xs: 'col-xs', sm: 'col-sm', md: 'col-md', lg: 'col-lg', xl: 'col-xl' };
|
|
4968
|
+
const { fieldProps, classes: renamedClasses, ...formattedColumns } = columns || {};
|
|
4969
|
+
|
|
4970
|
+
for (const key in formattedColumns) {
|
|
4971
|
+
const value = formattedColumns[key];
|
|
4972
|
+
classes.push(irregularClasses.includes(value) ? value : `${profiles[key]}-${value}`);
|
|
4973
|
+
}
|
|
4974
|
+
|
|
4975
|
+
return [...classes, renamedClasses]
|
|
4976
|
+
},
|
|
4977
|
+
|
|
4978
|
+
mx_getFieldClass (index, isGridGenerator) {
|
|
4979
|
+
if (typeof this.columns === 'string') {
|
|
4980
|
+
return irregularClasses.includes(this.columns) ? this.columns : `col-${this.columns}`
|
|
4981
|
+
}
|
|
4982
|
+
|
|
4983
|
+
return Array.isArray(this.columns)
|
|
4984
|
+
? this.mx_handleColumnsByIndex(index, isGridGenerator)
|
|
4985
|
+
: this.mx_handleColumnsByField(index, isGridGenerator)
|
|
4986
|
+
},
|
|
4987
|
+
|
|
4988
|
+
mx_handleColumnsByField (index, isGridGenerator) {
|
|
4989
|
+
if (!this.columns[index]) {
|
|
4990
|
+
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
4991
|
+
}
|
|
4992
|
+
|
|
4993
|
+
return this.mx_getBreakpoint(this.columns[index])
|
|
4994
|
+
},
|
|
4995
|
+
|
|
4996
|
+
mx_handleColumnsByIndex (index, isGridGenerator) {
|
|
4997
|
+
const fields = isGridGenerator ? this.fields : this.groupedFields.visible;
|
|
4998
|
+
|
|
4999
|
+
if (!Array.isArray(fields)) {
|
|
5000
|
+
index = Object.keys(fields).findIndex(field => field === index);
|
|
5001
|
+
}
|
|
5002
|
+
|
|
5003
|
+
const length = this.columns.length;
|
|
5004
|
+
|
|
5005
|
+
if (!length) {
|
|
5006
|
+
return this.mx_setDefaultColumnClass(isGridGenerator)
|
|
5007
|
+
}
|
|
5008
|
+
|
|
5009
|
+
return this.mx_getBreakpoint(this.columns[index])
|
|
5010
|
+
},
|
|
5011
|
+
|
|
5012
|
+
mx_setDefaultColumnClass (isGridGenerator) {
|
|
5013
|
+
return isGridGenerator ? 'col-6 col-xs-12 col-sm-4' : 'col-6'
|
|
5014
|
+
}
|
|
5015
|
+
}
|
|
5016
|
+
};
|
|
4999
5017
|
|
|
5000
5018
|
var script$l = {
|
|
5001
5019
|
name: 'QasFormGenerator',
|
|
@@ -5104,27 +5122,123 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5104
5122
|
script$l.render = render$l;
|
|
5105
5123
|
script$l.__file = "src/components/form-generator/QasFormGenerator.vue";
|
|
5106
5124
|
|
|
5107
|
-
|
|
5125
|
+
var viewMixin = {
|
|
5126
|
+
props: {
|
|
5127
|
+
dialog: {
|
|
5128
|
+
type: Boolean
|
|
5129
|
+
},
|
|
5108
5130
|
|
|
5109
|
-
|
|
5110
|
-
|
|
5131
|
+
entity: {
|
|
5132
|
+
required: true,
|
|
5133
|
+
type: String
|
|
5134
|
+
},
|
|
5111
5135
|
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5136
|
+
url: {
|
|
5137
|
+
default: '',
|
|
5138
|
+
type: String
|
|
5139
|
+
},
|
|
5115
5140
|
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5141
|
+
fields: {
|
|
5142
|
+
default: () => ({}),
|
|
5143
|
+
type: Object
|
|
5144
|
+
},
|
|
5119
5145
|
|
|
5120
|
-
|
|
5121
|
-
|
|
5146
|
+
errors: {
|
|
5147
|
+
default: () => ({}),
|
|
5148
|
+
type: Object
|
|
5149
|
+
},
|
|
5122
5150
|
|
|
5123
|
-
|
|
5151
|
+
metadata: {
|
|
5152
|
+
default: () => ({}),
|
|
5153
|
+
type: Object
|
|
5154
|
+
},
|
|
5124
5155
|
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
}
|
|
5156
|
+
fetching: {
|
|
5157
|
+
type: Boolean
|
|
5158
|
+
}
|
|
5159
|
+
},
|
|
5160
|
+
|
|
5161
|
+
emits: [
|
|
5162
|
+
'update:fields',
|
|
5163
|
+
'update:errors',
|
|
5164
|
+
'update:metadata',
|
|
5165
|
+
'update:fetching'
|
|
5166
|
+
],
|
|
5167
|
+
|
|
5168
|
+
data () {
|
|
5169
|
+
return {
|
|
5170
|
+
mx_errors: {},
|
|
5171
|
+
mx_fields: {},
|
|
5172
|
+
mx_metadata: {},
|
|
5173
|
+
|
|
5174
|
+
mx_isFetching: false
|
|
5175
|
+
}
|
|
5176
|
+
},
|
|
5177
|
+
|
|
5178
|
+
watch: {
|
|
5179
|
+
mx_isFetching (value) {
|
|
5180
|
+
this.$emit('update:fetching', value);
|
|
5181
|
+
}
|
|
5182
|
+
},
|
|
5183
|
+
|
|
5184
|
+
computed: {
|
|
5185
|
+
mx_componentTag () {
|
|
5186
|
+
return this.dialog ? 'div' : 'q-page'
|
|
5187
|
+
},
|
|
5188
|
+
|
|
5189
|
+
mx_componentClass () {
|
|
5190
|
+
return !this.dialog && 'container spaced'
|
|
5191
|
+
},
|
|
5192
|
+
|
|
5193
|
+
mx_hasFooterSlot () {
|
|
5194
|
+
return !!(this.$slots.footer)
|
|
5195
|
+
},
|
|
5196
|
+
|
|
5197
|
+
mx_hasHeaderSlot () {
|
|
5198
|
+
return !!(this.$slots.header)
|
|
5199
|
+
}
|
|
5200
|
+
},
|
|
5201
|
+
|
|
5202
|
+
methods: {
|
|
5203
|
+
mx_fetchError (error) {
|
|
5204
|
+
const { response } = error;
|
|
5205
|
+
const exception = response?.data?.exception || error.message;
|
|
5206
|
+
|
|
5207
|
+
this.$qas.error('Ops! Erro ao obter os dados.', exception);
|
|
5208
|
+
|
|
5209
|
+
const status = response?.status;
|
|
5210
|
+
const redirect = ({ 403: 'Forbidden', 404: 'NotFound' })[status];
|
|
5211
|
+
|
|
5212
|
+
if (redirect) {
|
|
5213
|
+
this.$router.replace({ name: redirect });
|
|
5214
|
+
}
|
|
5215
|
+
},
|
|
5216
|
+
|
|
5217
|
+
mx_setErrors (errors = {}) {
|
|
5218
|
+
this.mx_errors = markRaw(errors);
|
|
5219
|
+
},
|
|
5220
|
+
|
|
5221
|
+
mx_setFields (fields = {}) {
|
|
5222
|
+
for (const field in fields) {
|
|
5223
|
+
fields[field].name = camelize(fields[field].name);
|
|
5224
|
+
}
|
|
5225
|
+
|
|
5226
|
+
this.mx_fields = markRaw(fields);
|
|
5227
|
+
},
|
|
5228
|
+
|
|
5229
|
+
mx_setMetadata (metadata = {}) {
|
|
5230
|
+
this.mx_metadata = markRaw(metadata);
|
|
5231
|
+
},
|
|
5232
|
+
|
|
5233
|
+
mx_updateModels (models) {
|
|
5234
|
+
for (const key in models) {
|
|
5235
|
+
if (!models[key]) continue
|
|
5236
|
+
|
|
5237
|
+
this.$emit(`update:${key}`, models[key]);
|
|
5238
|
+
}
|
|
5239
|
+
}
|
|
5240
|
+
}
|
|
5241
|
+
};
|
|
5128
5242
|
|
|
5129
5243
|
var script$k = {
|
|
5130
5244
|
name: 'QasFormView',
|
|
@@ -5134,7 +5248,7 @@ var script$k = {
|
|
|
5134
5248
|
QasDialog: script$x
|
|
5135
5249
|
},
|
|
5136
5250
|
|
|
5137
|
-
mixins: [viewMixin
|
|
5251
|
+
mixins: [viewMixin],
|
|
5138
5252
|
|
|
5139
5253
|
props: {
|
|
5140
5254
|
cancelButton: {
|
|
@@ -5144,7 +5258,7 @@ var script$k = {
|
|
|
5144
5258
|
|
|
5145
5259
|
cancelRoute: {
|
|
5146
5260
|
default: '',
|
|
5147
|
-
type: [Boolean, Object, String]
|
|
5261
|
+
type: [Boolean, Object, String, Function]
|
|
5148
5262
|
},
|
|
5149
5263
|
|
|
5150
5264
|
customId: {
|
|
@@ -5228,7 +5342,7 @@ var script$k = {
|
|
|
5228
5342
|
|
|
5229
5343
|
computed: {
|
|
5230
5344
|
cancelButtonClass () {
|
|
5231
|
-
return this.
|
|
5345
|
+
return this.$qas.screen.isSmall && 'order-last'
|
|
5232
5346
|
},
|
|
5233
5347
|
|
|
5234
5348
|
fetchURL () {
|
|
@@ -5256,17 +5370,13 @@ var script$k = {
|
|
|
5256
5370
|
},
|
|
5257
5371
|
|
|
5258
5372
|
saveButtonClass () {
|
|
5259
|
-
return this.
|
|
5373
|
+
return this.$qas.screen.isSmall && 'order-first'
|
|
5260
5374
|
},
|
|
5261
5375
|
|
|
5262
5376
|
isCancelButtonDisabled () {
|
|
5263
5377
|
return this.disable || this.isSubmitting
|
|
5264
5378
|
},
|
|
5265
5379
|
|
|
5266
|
-
history () {
|
|
5267
|
-
return history$1.list
|
|
5268
|
-
},
|
|
5269
|
-
|
|
5270
5380
|
fieldsNameWithDefaultValue () {
|
|
5271
5381
|
return Object.keys(this.fields).filter(field => 'default' in this.fields[field])
|
|
5272
5382
|
}
|
|
@@ -5335,7 +5445,7 @@ var script$k = {
|
|
|
5335
5445
|
this.mx_updateModels({
|
|
5336
5446
|
errors: errors,
|
|
5337
5447
|
fields: this.mx_fields,
|
|
5338
|
-
metadata
|
|
5448
|
+
metadata
|
|
5339
5449
|
});
|
|
5340
5450
|
|
|
5341
5451
|
if (result) {
|
|
@@ -5364,9 +5474,11 @@ var script$k = {
|
|
|
5364
5474
|
},
|
|
5365
5475
|
|
|
5366
5476
|
handleCancelRoute () {
|
|
5367
|
-
|
|
5477
|
+
if (typeof this.cancelRoute === 'function') {
|
|
5478
|
+
return this.cancelRoute()
|
|
5479
|
+
}
|
|
5368
5480
|
|
|
5369
|
-
if (this.cancelRoute &&
|
|
5481
|
+
if (this.cancelRoute && ['string', 'object'].includes(typeof this.cancelRoute)) {
|
|
5370
5482
|
return this.$router.push(this.cancelRoute)
|
|
5371
5483
|
}
|
|
5372
5484
|
|
|
@@ -5379,6 +5491,8 @@ var script$k = {
|
|
|
5379
5491
|
handleDialog (next) {
|
|
5380
5492
|
this.openDialog();
|
|
5381
5493
|
|
|
5494
|
+
const { addRoute } = useHistory();
|
|
5495
|
+
|
|
5382
5496
|
this.defaultDialogProps.ok.onClick = () => addRoute(this.$route);
|
|
5383
5497
|
this.defaultDialogProps.cancel.onClick = next;
|
|
5384
5498
|
},
|
|
@@ -5461,7 +5575,9 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5461
5575
|
const _component_q_inner_loading = resolveComponent("q-inner-loading");
|
|
5462
5576
|
const _directive_close_popup = resolveDirective("close-popup");
|
|
5463
5577
|
|
|
5464
|
-
return (openBlock(), createBlock(resolveDynamicComponent(_ctx.mx_componentTag),
|
|
5578
|
+
return (openBlock(), createBlock(resolveDynamicComponent(_ctx.mx_componentTag), {
|
|
5579
|
+
class: normalizeClass(_ctx.mx_componentClass)
|
|
5580
|
+
}, {
|
|
5465
5581
|
default: withCtx(() => [
|
|
5466
5582
|
(_ctx.mx_hasHeaderSlot)
|
|
5467
5583
|
? (openBlock(), createElementBlock("header", _hoisted_1$d, [
|
|
@@ -5533,7 +5649,7 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5533
5649
|
}, 8 /* PROPS */, ["showing"])
|
|
5534
5650
|
]),
|
|
5535
5651
|
_: 3 /* FORWARDED */
|
|
5536
|
-
}))
|
|
5652
|
+
}, 8 /* PROPS */, ["class"]))
|
|
5537
5653
|
}
|
|
5538
5654
|
|
|
5539
5655
|
script$k.render = render$k;
|
|
@@ -5542,8 +5658,6 @@ script$k.__file = "src/components/form-view/QasFormView.vue";
|
|
|
5542
5658
|
var script$j = {
|
|
5543
5659
|
name: 'QasGallery',
|
|
5544
5660
|
|
|
5545
|
-
mixins: [screenMixin],
|
|
5546
|
-
|
|
5547
5661
|
props: {
|
|
5548
5662
|
carouselNextIcon: {
|
|
5549
5663
|
type: String,
|
|
@@ -5600,13 +5714,13 @@ var script$j = {
|
|
|
5600
5714
|
return this.height || 'auto'
|
|
5601
5715
|
}
|
|
5602
5716
|
|
|
5603
|
-
return this.
|
|
5717
|
+
return this.$qas.screen.isSmall ? '90px' : '120px'
|
|
5604
5718
|
},
|
|
5605
5719
|
|
|
5606
5720
|
galleryColumnsClasses () {
|
|
5607
5721
|
if (this.isSingleImage) return 'col-12'
|
|
5608
5722
|
|
|
5609
|
-
return this.
|
|
5723
|
+
return this.$qas.screen.isSmall ? 'col-6' : 'col-2'
|
|
5610
5724
|
},
|
|
5611
5725
|
|
|
5612
5726
|
hideShowMore () {
|
|
@@ -5741,9 +5855,9 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5741
5855
|
modelValue: $data.imageIndex,
|
|
5742
5856
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.imageIndex) = $event)),
|
|
5743
5857
|
animated: "",
|
|
5744
|
-
arrows: !_ctx.
|
|
5858
|
+
arrows: !_ctx.$qas.screen.isSmall,
|
|
5745
5859
|
"control-text-color": "primary",
|
|
5746
|
-
fullscreen: _ctx.
|
|
5860
|
+
fullscreen: _ctx.$qas.screen.isSmall,
|
|
5747
5861
|
height: $options.carouselImageHeight,
|
|
5748
5862
|
"next-icon": $props.carouselNextIcon,
|
|
5749
5863
|
"prev-icon": $props.carouselPreviousIcon,
|
|
@@ -5759,7 +5873,7 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5759
5873
|
name: index
|
|
5760
5874
|
}, {
|
|
5761
5875
|
default: withCtx(() => [
|
|
5762
|
-
(_ctx.
|
|
5876
|
+
(_ctx.$qas.screen.isSmall)
|
|
5763
5877
|
? (openBlock(), createElementBlock("div", _hoisted_4$5, [
|
|
5764
5878
|
createVNode(_component_qas_btn, {
|
|
5765
5879
|
dense: "",
|
|
@@ -6523,7 +6637,10 @@ var script$c = {
|
|
|
6523
6637
|
QasBtn: script$K,
|
|
6524
6638
|
QasFormGenerator: script$l,
|
|
6525
6639
|
QasInput: script$u,
|
|
6526
|
-
QasLabel: script$h
|
|
6640
|
+
QasLabel: script$h,
|
|
6641
|
+
|
|
6642
|
+
// vue
|
|
6643
|
+
TransitionGroup
|
|
6527
6644
|
},
|
|
6528
6645
|
|
|
6529
6646
|
props: {
|
|
@@ -6687,6 +6804,16 @@ var script$c = {
|
|
|
6687
6804
|
|
|
6688
6805
|
componentTag () {
|
|
6689
6806
|
return this.useAnimation ? 'transition-group' : 'div'
|
|
6807
|
+
},
|
|
6808
|
+
|
|
6809
|
+
componentProps () {
|
|
6810
|
+
if (!this.useAnimation) return {}
|
|
6811
|
+
|
|
6812
|
+
return {
|
|
6813
|
+
tag: 'div',
|
|
6814
|
+
enterActiveClass: 'animated slideInDown',
|
|
6815
|
+
leaveActiveClass: 'animated slideOutUp'
|
|
6816
|
+
}
|
|
6690
6817
|
}
|
|
6691
6818
|
},
|
|
6692
6819
|
|
|
@@ -6771,23 +6898,24 @@ var script$c = {
|
|
|
6771
6898
|
|
|
6772
6899
|
const _hoisted_1$8 = ["id"];
|
|
6773
6900
|
const _hoisted_2$5 = { class: "text-left" };
|
|
6774
|
-
const _hoisted_3$3 =
|
|
6775
|
-
const _hoisted_4$3 =
|
|
6776
|
-
const _hoisted_5$2 = {
|
|
6901
|
+
const _hoisted_3$3 = { ref: "inputContent" };
|
|
6902
|
+
const _hoisted_4$3 = ["id"];
|
|
6903
|
+
const _hoisted_5$2 = { class: "flex items-center justify-between q-py-xs" };
|
|
6904
|
+
const _hoisted_6 = {
|
|
6777
6905
|
key: 1,
|
|
6778
6906
|
class: "q-gutter-x-sm"
|
|
6779
6907
|
};
|
|
6780
|
-
const
|
|
6908
|
+
const _hoisted_7 = {
|
|
6781
6909
|
key: 0,
|
|
6782
6910
|
class: "flex items-center qas-nested-fields__actions"
|
|
6783
6911
|
};
|
|
6784
|
-
const _hoisted_7 = { class: "col-auto" };
|
|
6785
6912
|
const _hoisted_8 = { class: "col-auto" };
|
|
6786
|
-
const _hoisted_9 = { class: "col-
|
|
6787
|
-
const _hoisted_10 = { class: "
|
|
6788
|
-
const _hoisted_11 = { class: "
|
|
6789
|
-
const _hoisted_12 = { class: "col
|
|
6790
|
-
const _hoisted_13 = {
|
|
6913
|
+
const _hoisted_9 = { class: "col-auto" };
|
|
6914
|
+
const _hoisted_10 = { class: "col-12" };
|
|
6915
|
+
const _hoisted_11 = { class: "q-mt-md" };
|
|
6916
|
+
const _hoisted_12 = { class: "col" };
|
|
6917
|
+
const _hoisted_13 = { class: "col-auto" };
|
|
6918
|
+
const _hoisted_14 = {
|
|
6791
6919
|
key: 1,
|
|
6792
6920
|
class: "q-mt-lg"
|
|
6793
6921
|
};
|
|
@@ -6810,134 +6938,122 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6810
6938
|
}, null, 8 /* PROPS */, ["label"]))
|
|
6811
6939
|
: createCommentVNode("v-if", true)
|
|
6812
6940
|
]),
|
|
6813
|
-
createElementVNode("div",
|
|
6814
|
-
(openBlock(), createBlock(resolveDynamicComponent($options.componentTag), {
|
|
6815
|
-
ref: "inputContent",
|
|
6816
|
-
name: "fade",
|
|
6817
|
-
tag: "div"
|
|
6818
|
-
}, {
|
|
6941
|
+
createElementVNode("div", _hoisted_3$3, [
|
|
6942
|
+
(openBlock(), createBlock(resolveDynamicComponent($options.componentTag), normalizeProps(guardReactiveProps($options.componentProps)), {
|
|
6819
6943
|
default: withCtx(() => [
|
|
6820
6944
|
(openBlock(true), createElementBlock(Fragment, null, renderList($data.nested, (row, index) => {
|
|
6821
6945
|
return (openBlock(), createElementBlock("div", {
|
|
6822
6946
|
id: `row-${index}`,
|
|
6823
|
-
key: index
|
|
6947
|
+
key: `row-${index}`,
|
|
6824
6948
|
class: "full-width"
|
|
6825
6949
|
}, [
|
|
6826
|
-
(
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
|
|
6830
|
-
|
|
6831
|
-
|
|
6832
|
-
|
|
6833
|
-
|
|
6834
|
-
|
|
6950
|
+
(!row[$props.destroyKey])
|
|
6951
|
+
? (openBlock(), createElementBlock("div", {
|
|
6952
|
+
key: index,
|
|
6953
|
+
class: "col-12 q-mt-md"
|
|
6954
|
+
}, [
|
|
6955
|
+
createElementVNode("div", null, [
|
|
6956
|
+
createElementVNode("div", _hoisted_5$2, [
|
|
6957
|
+
(!$props.useSingleLabel)
|
|
6958
|
+
? (openBlock(), createBlock(_component_qas_label, {
|
|
6959
|
+
key: 0,
|
|
6960
|
+
label: $options.setRowLabel(index)
|
|
6961
|
+
}, null, 8 /* PROPS */, ["label"]))
|
|
6962
|
+
: createCommentVNode("v-if", true),
|
|
6963
|
+
(!$props.useInlineActions)
|
|
6964
|
+
? (openBlock(), createElementBlock("div", _hoisted_6, [
|
|
6965
|
+
($props.useDuplicate)
|
|
6966
|
+
? (openBlock(), createBlock(_component_qas_btn, mergeProps({ key: 0 }, $props.btnDuplicateProps, {
|
|
6967
|
+
onClick: $event => ($options.add(row))
|
|
6968
|
+
}), null, 16 /* FULL_PROPS */, ["onClick"]))
|
|
6969
|
+
: createCommentVNode("v-if", true),
|
|
6970
|
+
($options.showDestroyBtn)
|
|
6971
|
+
? (openBlock(), createBlock(_component_qas_btn, mergeProps({ key: 1 }, $props.btnDestroyProps, {
|
|
6972
|
+
onClick: $event => ($options.destroy(index, row))
|
|
6973
|
+
}), null, 16 /* FULL_PROPS */, ["onClick"]))
|
|
6974
|
+
: createCommentVNode("v-if", true)
|
|
6975
|
+
]))
|
|
6976
|
+
: createCommentVNode("v-if", true)
|
|
6977
|
+
]),
|
|
6978
|
+
createElementVNode("div", {
|
|
6979
|
+
ref_for: true,
|
|
6980
|
+
ref: "formGenerator",
|
|
6981
|
+
class: "col-12 justify-between q-col-gutter-x-md row"
|
|
6835
6982
|
}, [
|
|
6836
|
-
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
(
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6858
|
-
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
ref: "formGenerator",
|
|
6862
|
-
class: "col-12 justify-between q-col-gutter-x-md row"
|
|
6863
|
-
}, [
|
|
6864
|
-
renderSlot(_ctx.$slots, "fields", {
|
|
6865
|
-
errors: $options.transformedErrors,
|
|
6866
|
-
fields: $options.children,
|
|
6867
|
-
index: index,
|
|
6868
|
-
updateValue: $options.updateValuesFromInput
|
|
6869
|
-
}, () => [
|
|
6870
|
-
createVNode(_component_qas_form_generator, {
|
|
6871
|
-
modelValue: $data.nested[index],
|
|
6872
|
-
"onUpdate:modelValue": [$event => (($data.nested[index]) = $event), $event => ($options.updateValuesFromInput($event, index))],
|
|
6873
|
-
class: normalizeClass($options.formClasses),
|
|
6874
|
-
columns: $props.formColumns,
|
|
6875
|
-
errors: $options.transformedErrors[index],
|
|
6876
|
-
fields: $options.children,
|
|
6877
|
-
"fields-props": $props.fieldsProps
|
|
6878
|
-
}, createSlots({ _: 2 /* DYNAMIC */ }, [
|
|
6879
|
-
renderList(_ctx.$slots, (slot, key) => {
|
|
6880
|
-
return {
|
|
6881
|
-
name: key,
|
|
6882
|
-
fn: withCtx((scope) => [
|
|
6883
|
-
renderSlot(_ctx.$slots, key, mergeProps(scope, {
|
|
6884
|
-
errors: $options.transformedErrors,
|
|
6885
|
-
index: index
|
|
6886
|
-
}))
|
|
6887
|
-
])
|
|
6888
|
-
}
|
|
6889
|
-
})
|
|
6890
|
-
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue", "class", "columns", "errors", "fields", "fields-props"])
|
|
6891
|
-
]),
|
|
6892
|
-
($props.useInlineActions)
|
|
6893
|
-
? (openBlock(), createElementBlock("div", _hoisted_6, [
|
|
6894
|
-
createElementVNode("div", _hoisted_7, [
|
|
6895
|
-
($props.useDuplicate)
|
|
6896
|
-
? (openBlock(), createBlock(_component_qas_btn, {
|
|
6897
|
-
key: 0,
|
|
6898
|
-
color: "primary",
|
|
6899
|
-
flat: "",
|
|
6900
|
-
icon: "o_content_copy",
|
|
6901
|
-
round: "",
|
|
6902
|
-
onClick: $event => ($options.add(row))
|
|
6903
|
-
}, null, 8 /* PROPS */, ["onClick"]))
|
|
6904
|
-
: createCommentVNode("v-if", true)
|
|
6905
|
-
]),
|
|
6906
|
-
createElementVNode("div", _hoisted_8, [
|
|
6907
|
-
($options.showDestroyBtn)
|
|
6908
|
-
? (openBlock(), createBlock(_component_qas_btn, {
|
|
6909
|
-
key: 0,
|
|
6910
|
-
color: "negative",
|
|
6911
|
-
flat: "",
|
|
6912
|
-
icon: "o_cancel",
|
|
6913
|
-
round: "",
|
|
6914
|
-
onClick: $event => ($options.destroy(index, row))
|
|
6915
|
-
}, null, 8 /* PROPS */, ["onClick"]))
|
|
6916
|
-
: createCommentVNode("v-if", true)
|
|
6917
|
-
])
|
|
6918
|
-
]))
|
|
6919
|
-
: createCommentVNode("v-if", true)
|
|
6920
|
-
], 512 /* NEED_PATCH */),
|
|
6921
|
-
createElementVNode("div", _hoisted_9, [
|
|
6922
|
-
renderSlot(_ctx.$slots, "custom-fields", {
|
|
6923
|
-
fields: $options.children,
|
|
6924
|
-
index: index,
|
|
6925
|
-
model: $data.nested[index],
|
|
6926
|
-
updateValue: $options.updateValuesFromInput
|
|
6983
|
+
renderSlot(_ctx.$slots, "fields", {
|
|
6984
|
+
errors: $options.transformedErrors,
|
|
6985
|
+
fields: $options.children,
|
|
6986
|
+
index: index,
|
|
6987
|
+
updateValue: $options.updateValuesFromInput
|
|
6988
|
+
}, () => [
|
|
6989
|
+
createVNode(_component_qas_form_generator, {
|
|
6990
|
+
modelValue: $data.nested[index],
|
|
6991
|
+
"onUpdate:modelValue": [$event => (($data.nested[index]) = $event), $event => ($options.updateValuesFromInput($event, index))],
|
|
6992
|
+
class: normalizeClass($options.formClasses),
|
|
6993
|
+
columns: $props.formColumns,
|
|
6994
|
+
errors: $options.transformedErrors[index],
|
|
6995
|
+
fields: $options.children,
|
|
6996
|
+
"fields-props": $props.fieldsProps
|
|
6997
|
+
}, createSlots({ _: 2 /* DYNAMIC */ }, [
|
|
6998
|
+
renderList(_ctx.$slots, (slot, key) => {
|
|
6999
|
+
return {
|
|
7000
|
+
name: key,
|
|
7001
|
+
fn: withCtx((scope) => [
|
|
7002
|
+
renderSlot(_ctx.$slots, key, mergeProps(scope, {
|
|
7003
|
+
errors: $options.transformedErrors,
|
|
7004
|
+
index: index
|
|
7005
|
+
}))
|
|
7006
|
+
])
|
|
7007
|
+
}
|
|
6927
7008
|
})
|
|
6928
|
-
])
|
|
6929
|
-
])
|
|
6930
|
-
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
|
|
6934
|
-
|
|
6935
|
-
|
|
7009
|
+
]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "onUpdate:modelValue", "class", "columns", "errors", "fields", "fields-props"])
|
|
7010
|
+
]),
|
|
7011
|
+
($props.useInlineActions)
|
|
7012
|
+
? (openBlock(), createElementBlock("div", _hoisted_7, [
|
|
7013
|
+
createElementVNode("div", _hoisted_8, [
|
|
7014
|
+
($props.useDuplicate)
|
|
7015
|
+
? (openBlock(), createBlock(_component_qas_btn, {
|
|
7016
|
+
key: 0,
|
|
7017
|
+
color: "primary",
|
|
7018
|
+
flat: "",
|
|
7019
|
+
icon: "o_content_copy",
|
|
7020
|
+
round: "",
|
|
7021
|
+
onClick: $event => ($options.add(row))
|
|
7022
|
+
}, null, 8 /* PROPS */, ["onClick"]))
|
|
7023
|
+
: createCommentVNode("v-if", true)
|
|
7024
|
+
]),
|
|
7025
|
+
createElementVNode("div", _hoisted_9, [
|
|
7026
|
+
($options.showDestroyBtn)
|
|
7027
|
+
? (openBlock(), createBlock(_component_qas_btn, {
|
|
7028
|
+
key: 0,
|
|
7029
|
+
color: "negative",
|
|
7030
|
+
flat: "",
|
|
7031
|
+
icon: "o_cancel",
|
|
7032
|
+
round: "",
|
|
7033
|
+
onClick: $event => ($options.destroy(index, row))
|
|
7034
|
+
}, null, 8 /* PROPS */, ["onClick"]))
|
|
7035
|
+
: createCommentVNode("v-if", true)
|
|
7036
|
+
])
|
|
7037
|
+
]))
|
|
7038
|
+
: createCommentVNode("v-if", true)
|
|
7039
|
+
], 512 /* NEED_PATCH */),
|
|
7040
|
+
createElementVNode("div", _hoisted_10, [
|
|
7041
|
+
renderSlot(_ctx.$slots, "custom-fields", {
|
|
7042
|
+
fields: $options.children,
|
|
7043
|
+
index: index,
|
|
7044
|
+
model: $data.nested[index],
|
|
7045
|
+
updateValue: $options.updateValuesFromInput
|
|
7046
|
+
})
|
|
7047
|
+
])
|
|
7048
|
+
])
|
|
7049
|
+
]))
|
|
7050
|
+
: createCommentVNode("v-if", true)
|
|
7051
|
+
], 8 /* PROPS */, _hoisted_4$3))
|
|
6936
7052
|
}), 128 /* KEYED_FRAGMENT */))
|
|
6937
7053
|
]),
|
|
6938
7054
|
_: 3 /* FORWARDED */
|
|
6939
|
-
},
|
|
6940
|
-
createElementVNode("div",
|
|
7055
|
+
}, 16 /* FULL_PROPS */)),
|
|
7056
|
+
createElementVNode("div", _hoisted_11, [
|
|
6941
7057
|
renderSlot(_ctx.$slots, "add-input", { add: $options.add }, () => [
|
|
6942
7058
|
($props.useInlineActions)
|
|
6943
7059
|
? (openBlock(), createElementBlock("div", {
|
|
@@ -6945,7 +7061,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6945
7061
|
class: "cursor-pointer items-center q-col-gutter-x-md q-mt-md row",
|
|
6946
7062
|
onClick: _cache[1] || (_cache[1] = $event => ($options.add()))
|
|
6947
7063
|
}, [
|
|
6948
|
-
createElementVNode("div",
|
|
7064
|
+
createElementVNode("div", _hoisted_12, [
|
|
6949
7065
|
createVNode(_component_qas_input, {
|
|
6950
7066
|
class: "disabled no-pointer-events",
|
|
6951
7067
|
"hide-bottom-space": "",
|
|
@@ -6954,7 +7070,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6954
7070
|
onFocus: _cache[0] || (_cache[0] = $event => ($options.add()))
|
|
6955
7071
|
}, null, 8 /* PROPS */, ["label"])
|
|
6956
7072
|
]),
|
|
6957
|
-
createElementVNode("div",
|
|
7073
|
+
createElementVNode("div", _hoisted_13, [
|
|
6958
7074
|
createVNode(_component_qas_btn, {
|
|
6959
7075
|
color: "green",
|
|
6960
7076
|
flat: "",
|
|
@@ -6963,9 +7079,9 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6963
7079
|
})
|
|
6964
7080
|
])
|
|
6965
7081
|
]))
|
|
6966
|
-
: (openBlock(), createElementBlock("div",
|
|
7082
|
+
: (openBlock(), createElementBlock("div", _hoisted_14, [
|
|
6967
7083
|
createVNode(_component_qas_btn, {
|
|
6968
|
-
class: "full-width q-py-
|
|
7084
|
+
class: "full-width q-py-md",
|
|
6969
7085
|
icon: "o_add",
|
|
6970
7086
|
outline: "",
|
|
6971
7087
|
onClick: _cache[2] || (_cache[2] = $event => ($options.add()))
|
|
@@ -6978,13 +7094,15 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6978
7094
|
]))
|
|
6979
7095
|
])
|
|
6980
7096
|
])
|
|
6981
|
-
])
|
|
7097
|
+
], 512 /* NEED_PATCH */)
|
|
6982
7098
|
], 8 /* PROPS */, _hoisted_1$8))
|
|
6983
7099
|
}
|
|
6984
7100
|
|
|
6985
7101
|
script$c.render = render$c;
|
|
6986
7102
|
script$c.__file = "src/components/nested-fields/QasNestedFields.vue";
|
|
6987
7103
|
|
|
7104
|
+
const { hasPreviousRoute, history: history$1, getPreviousRoute } = useHistory();
|
|
7105
|
+
|
|
6988
7106
|
var script$b = {
|
|
6989
7107
|
name: 'QasPageHeader',
|
|
6990
7108
|
|
|
@@ -7012,7 +7130,7 @@ var script$b = {
|
|
|
7012
7130
|
|
|
7013
7131
|
computed: {
|
|
7014
7132
|
hasPreviousRoute () {
|
|
7015
|
-
return
|
|
7133
|
+
return hasPreviousRoute.value
|
|
7016
7134
|
},
|
|
7017
7135
|
|
|
7018
7136
|
transformedBreadcrumbs () {
|
|
@@ -7129,8 +7247,6 @@ var script$a = {
|
|
|
7129
7247
|
QasGridGenerator: script$i
|
|
7130
7248
|
},
|
|
7131
7249
|
|
|
7132
|
-
mixins: [screenMixin],
|
|
7133
|
-
|
|
7134
7250
|
props: {
|
|
7135
7251
|
columns: {
|
|
7136
7252
|
type: Object,
|
|
@@ -7171,7 +7287,7 @@ var script$a = {
|
|
|
7171
7287
|
|
|
7172
7288
|
computed: {
|
|
7173
7289
|
directionClasses () {
|
|
7174
|
-
return this.
|
|
7290
|
+
return this.$qas.screen.untilMedium ? 'col' : 'row items-center'
|
|
7175
7291
|
},
|
|
7176
7292
|
|
|
7177
7293
|
userAvatarImage () {
|
|
@@ -7179,7 +7295,7 @@ var script$a = {
|
|
|
7179
7295
|
},
|
|
7180
7296
|
|
|
7181
7297
|
avatarSize () {
|
|
7182
|
-
return this.
|
|
7298
|
+
return this.$qas.screen.isSmall ? '145px' : '188px'
|
|
7183
7299
|
}
|
|
7184
7300
|
},
|
|
7185
7301
|
|
|
@@ -7447,6 +7563,7 @@ var script$8 = {
|
|
|
7447
7563
|
this.fuse = new Fuse(value, this.defaultFuseOptions);
|
|
7448
7564
|
|
|
7449
7565
|
this.setResults(this.search);
|
|
7566
|
+
this.updateResultsModel(value);
|
|
7450
7567
|
},
|
|
7451
7568
|
|
|
7452
7569
|
deep: true
|
|
@@ -7463,7 +7580,7 @@ var script$8 = {
|
|
|
7463
7580
|
|
|
7464
7581
|
searchResults: {
|
|
7465
7582
|
handler (value) {
|
|
7466
|
-
this
|
|
7583
|
+
this.updateResultsModel(value);
|
|
7467
7584
|
},
|
|
7468
7585
|
immediate: true
|
|
7469
7586
|
}
|
|
@@ -7480,6 +7597,10 @@ var script$8 = {
|
|
|
7480
7597
|
this.searchResults = value
|
|
7481
7598
|
? this.fuse.search(value)
|
|
7482
7599
|
: this.list;
|
|
7600
|
+
},
|
|
7601
|
+
|
|
7602
|
+
updateResultsModel (value) {
|
|
7603
|
+
this.$emit('update:results', value.map(result => result.item || result));
|
|
7483
7604
|
}
|
|
7484
7605
|
}
|
|
7485
7606
|
};
|
|
@@ -7755,8 +7876,6 @@ var script$6 = {
|
|
|
7755
7876
|
QasSearchBox: script$8
|
|
7756
7877
|
},
|
|
7757
7878
|
|
|
7758
|
-
mixins: [screenMixin],
|
|
7759
|
-
|
|
7760
7879
|
props: {
|
|
7761
7880
|
deleteOnly: {
|
|
7762
7881
|
type: Boolean
|
|
@@ -7837,15 +7956,17 @@ var script$6 = {
|
|
|
7837
7956
|
immediate: true
|
|
7838
7957
|
},
|
|
7839
7958
|
|
|
7840
|
-
modelValue
|
|
7841
|
-
|
|
7959
|
+
modelValue: {
|
|
7960
|
+
handler (value) {
|
|
7961
|
+
this.values = [...value];
|
|
7962
|
+
},
|
|
7963
|
+
|
|
7964
|
+
immediate: true
|
|
7842
7965
|
}
|
|
7843
7966
|
},
|
|
7844
7967
|
|
|
7845
7968
|
created () {
|
|
7846
|
-
this.
|
|
7847
|
-
|
|
7848
|
-
this.handleOptions();
|
|
7969
|
+
this.handleList();
|
|
7849
7970
|
},
|
|
7850
7971
|
|
|
7851
7972
|
methods: {
|
|
@@ -7860,9 +7981,9 @@ var script$6 = {
|
|
|
7860
7981
|
const isSelected = this.values.includes(value);
|
|
7861
7982
|
|
|
7862
7983
|
return {
|
|
7863
|
-
dense: this.
|
|
7984
|
+
dense: this.$qas.screen.isSmall,
|
|
7864
7985
|
hideLabelOnSmallScreen: true,
|
|
7865
|
-
icon: !this.
|
|
7986
|
+
icon: !this.$qas.screen.isSmall ? undefined : isSelected ? 'o_close' : 'o_add',
|
|
7866
7987
|
label: isSelected ? 'Remover' : 'Adicionar',
|
|
7867
7988
|
outline: isSelected,
|
|
7868
7989
|
size: 'sm'
|
|
@@ -7873,7 +7994,7 @@ var script$6 = {
|
|
|
7873
7994
|
return this.values.includes(item.value) ? this.remove(item) : this.add(item)
|
|
7874
7995
|
},
|
|
7875
7996
|
|
|
7876
|
-
|
|
7997
|
+
handleList () {
|
|
7877
7998
|
if (this.modelValue.length) {
|
|
7878
7999
|
return this.sortList()
|
|
7879
8000
|
}
|
|
@@ -7904,8 +8025,8 @@ var script$6 = {
|
|
|
7904
8025
|
|
|
7905
8026
|
sortList () {
|
|
7906
8027
|
this.sortedList = this.deleteOnly
|
|
7907
|
-
? this.list.filter(
|
|
7908
|
-
: sortBy(this.list,
|
|
8028
|
+
? this.list.filter(item => this.modelValue.includes(item.value))
|
|
8029
|
+
: sortBy(this.list, item => !this.modelValue.includes(item.value));
|
|
7909
8030
|
},
|
|
7910
8031
|
|
|
7911
8032
|
updateModel (model) {
|
|
@@ -8263,8 +8384,6 @@ script$4.__file = "src/components/sortable/QasSortable.vue";
|
|
|
8263
8384
|
var script$3 = {
|
|
8264
8385
|
name: 'QasTableGenerator',
|
|
8265
8386
|
|
|
8266
|
-
mixins: [screenMixin],
|
|
8267
|
-
|
|
8268
8387
|
props: {
|
|
8269
8388
|
columns: {
|
|
8270
8389
|
default: () => [],
|
|
@@ -8391,7 +8510,7 @@ var script$3 = {
|
|
|
8391
8510
|
},
|
|
8392
8511
|
|
|
8393
8512
|
tableClass () {
|
|
8394
|
-
return this.
|
|
8513
|
+
return this.$qas.screen.isSmall && 'qas-table-generator--mobile'
|
|
8395
8514
|
},
|
|
8396
8515
|
|
|
8397
8516
|
hasScrollOnGrab () {
|
|
@@ -8432,8 +8551,8 @@ var script$3 = {
|
|
|
8432
8551
|
},
|
|
8433
8552
|
|
|
8434
8553
|
getFullTableWidth () {
|
|
8435
|
-
const
|
|
8436
|
-
return
|
|
8554
|
+
const tableElement = this.getTableElement();
|
|
8555
|
+
return tableElement?.getBoundingClientRect?.()?.width
|
|
8437
8556
|
},
|
|
8438
8557
|
|
|
8439
8558
|
getContainerTableWidth () {
|
|
@@ -8632,8 +8751,6 @@ var script$1 = {
|
|
|
8632
8751
|
QasDialog: script$x
|
|
8633
8752
|
},
|
|
8634
8753
|
|
|
8635
|
-
mixins: [screenMixin],
|
|
8636
|
-
|
|
8637
8754
|
props: {
|
|
8638
8755
|
dialogProps: {
|
|
8639
8756
|
type: Object,
|
|
@@ -8673,7 +8790,7 @@ var script$1 = {
|
|
|
8673
8790
|
|
|
8674
8791
|
computed: {
|
|
8675
8792
|
truncateTextClass () {
|
|
8676
|
-
return (this.isTruncated || this.
|
|
8793
|
+
return (this.isTruncated || this.$qas.screen.isSmall) && 'ellipsis q-pr-sm'
|
|
8677
8794
|
},
|
|
8678
8795
|
|
|
8679
8796
|
isTruncated () {
|
|
@@ -8775,8 +8892,6 @@ var script = {
|
|
|
8775
8892
|
QasSearchBox: script$8
|
|
8776
8893
|
},
|
|
8777
8894
|
|
|
8778
|
-
mixins: [screenMixin],
|
|
8779
|
-
|
|
8780
8895
|
props: {
|
|
8781
8896
|
emitValue: {
|
|
8782
8897
|
type: Boolean
|
|
@@ -8826,21 +8941,23 @@ var script = {
|
|
|
8826
8941
|
firstQueue: [],
|
|
8827
8942
|
optionsList: [],
|
|
8828
8943
|
secondQueue: [],
|
|
8829
|
-
selectedList: []
|
|
8944
|
+
selectedList: [],
|
|
8945
|
+
firstResults: [],
|
|
8946
|
+
secondResults: []
|
|
8830
8947
|
}
|
|
8831
8948
|
},
|
|
8832
8949
|
|
|
8833
8950
|
computed: {
|
|
8834
8951
|
actionsClass () {
|
|
8835
|
-
return !this.
|
|
8952
|
+
return !this.$qas.screen.isSmall && 'column'
|
|
8836
8953
|
},
|
|
8837
8954
|
|
|
8838
8955
|
gutterClass () {
|
|
8839
|
-
return `q-col-gutter-${this.
|
|
8956
|
+
return `q-col-gutter-${this.$qas.screen.untilLarge ? 'md' : 'xl'}`
|
|
8840
8957
|
},
|
|
8841
8958
|
|
|
8842
8959
|
iconClass () {
|
|
8843
|
-
return !this.
|
|
8960
|
+
return !this.$qas.screen.isSmall && 'qas-transfer__icon'
|
|
8844
8961
|
},
|
|
8845
8962
|
|
|
8846
8963
|
searchBoxProps () {
|
|
@@ -8964,13 +9081,15 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8964
9081
|
quantity: $data.optionsList.length
|
|
8965
9082
|
}, null, 8 /* PROPS */, ["label", "quantity"]),
|
|
8966
9083
|
createVNode(_component_qas_search_box, mergeProps({
|
|
8967
|
-
|
|
8968
|
-
|
|
9084
|
+
results: $data.firstResults,
|
|
9085
|
+
"onUpdate:results": _cache[0] || (_cache[0] = $event => (($data.firstResults) = $event)),
|
|
9086
|
+
list: $data.optionsList,
|
|
9087
|
+
outlined: ""
|
|
8969
9088
|
}, $options.searchBoxProps), {
|
|
8970
|
-
default: withCtx((
|
|
9089
|
+
default: withCtx(() => [
|
|
8971
9090
|
createVNode(_component_q_list, { separator: "" }, {
|
|
8972
9091
|
default: withCtx(() => [
|
|
8973
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
9092
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($data.firstResults, (item, index) => {
|
|
8974
9093
|
return (openBlock(), createBlock(_component_q_item, {
|
|
8975
9094
|
key: index,
|
|
8976
9095
|
class: normalizeClass($options.getItemClass(item, true)),
|
|
@@ -8991,11 +9110,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8991
9110
|
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "onClick"]))
|
|
8992
9111
|
}), 128 /* KEYED_FRAGMENT */))
|
|
8993
9112
|
]),
|
|
8994
|
-
_:
|
|
8995
|
-
}
|
|
9113
|
+
_: 3 /* FORWARDED */
|
|
9114
|
+
})
|
|
8996
9115
|
]),
|
|
8997
9116
|
_: 3 /* FORWARDED */
|
|
8998
|
-
}, 16 /* FULL_PROPS */, ["list"])
|
|
9117
|
+
}, 16 /* FULL_PROPS */, ["results", "list"])
|
|
8999
9118
|
]),
|
|
9000
9119
|
createElementVNode("div", {
|
|
9001
9120
|
class: normalizeClass(["col-12 col-sm-auto items-center justify-center q-col-gutter-md row", $options.actionsClass])
|
|
@@ -9008,7 +9127,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9008
9127
|
flat: "",
|
|
9009
9128
|
icon: "o_arrow_circle_down",
|
|
9010
9129
|
rounded: "",
|
|
9011
|
-
onClick: _cache[
|
|
9130
|
+
onClick: _cache[1] || (_cache[1] = $event => ($options.setSelectedFromClick(true)))
|
|
9012
9131
|
}, null, 8 /* PROPS */, ["class", "disabled"]),
|
|
9013
9132
|
createVNode(_component_q_tooltip, {
|
|
9014
9133
|
anchor: "top middle",
|
|
@@ -9029,7 +9148,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9029
9148
|
flat: "",
|
|
9030
9149
|
icon: "o_arrow_circle_up",
|
|
9031
9150
|
rounded: "",
|
|
9032
|
-
onClick: _cache[
|
|
9151
|
+
onClick: _cache[2] || (_cache[2] = $event => ($options.setSelectedFromClick()))
|
|
9033
9152
|
}, null, 8 /* PROPS */, ["class", "disabled"]),
|
|
9034
9153
|
createVNode(_component_q_tooltip, {
|
|
9035
9154
|
anchor: "bottom middle",
|
|
@@ -9048,16 +9167,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9048
9167
|
label: "Selecionadas",
|
|
9049
9168
|
quantity: $data.selectedList.length
|
|
9050
9169
|
}, null, 8 /* PROPS */, ["quantity"]),
|
|
9051
|
-
createVNode(_component_qas_search_box, mergeProps(
|
|
9170
|
+
createVNode(_component_qas_search_box, mergeProps({
|
|
9171
|
+
results: $data.secondResults,
|
|
9172
|
+
"onUpdate:results": _cache[3] || (_cache[3] = $event => (($data.secondResults) = $event))
|
|
9173
|
+
}, $options.searchBoxProps, {
|
|
9052
9174
|
"empty-list-height": "300px",
|
|
9053
|
-
"form-mode": "",
|
|
9054
9175
|
label: "Selecionadas",
|
|
9055
|
-
list: $data.selectedList
|
|
9176
|
+
list: $data.selectedList,
|
|
9177
|
+
outlined: ""
|
|
9056
9178
|
}), {
|
|
9057
|
-
default: withCtx((
|
|
9179
|
+
default: withCtx(() => [
|
|
9058
9180
|
createVNode(_component_q_list, { separator: "" }, {
|
|
9059
9181
|
default: withCtx(() => [
|
|
9060
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
9182
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($data.secondResults, (item, index) => {
|
|
9061
9183
|
return (openBlock(), createBlock(_component_q_item, {
|
|
9062
9184
|
key: index,
|
|
9063
9185
|
class: normalizeClass($options.getItemClass(item)),
|
|
@@ -9078,11 +9200,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9078
9200
|
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "onClick"]))
|
|
9079
9201
|
}), 128 /* KEYED_FRAGMENT */))
|
|
9080
9202
|
]),
|
|
9081
|
-
_:
|
|
9082
|
-
}
|
|
9203
|
+
_: 3 /* FORWARDED */
|
|
9204
|
+
})
|
|
9083
9205
|
]),
|
|
9084
9206
|
_: 3 /* FORWARDED */
|
|
9085
|
-
}, 16 /* FULL_PROPS */, ["list"])
|
|
9207
|
+
}, 16 /* FULL_PROPS */, ["results", "list"])
|
|
9086
9208
|
])
|
|
9087
9209
|
], 2 /* CLASS */))
|
|
9088
9210
|
}
|
|
@@ -9092,7 +9214,7 @@ script.__file = "src/components/transfer/QasTransfer.vue";
|
|
|
9092
9214
|
|
|
9093
9215
|
var name = "@bildvitta/quasar-ui-asteroid";
|
|
9094
9216
|
var description = "Asteroid";
|
|
9095
|
-
var version$1 = "3.0.0-
|
|
9217
|
+
var version$1 = "3.0.0-beta.3";
|
|
9096
9218
|
var author = "Bild & Vitta <systemteam@bild.com.br>";
|
|
9097
9219
|
var license = "MIT";
|
|
9098
9220
|
var main = "dist/asteroid.cjs.min.js";
|
|
@@ -9173,6 +9295,20 @@ var packageInfo = {
|
|
|
9173
9295
|
vetur: vetur
|
|
9174
9296
|
};
|
|
9175
9297
|
|
|
9298
|
+
var Test = {
|
|
9299
|
+
name: 'test',
|
|
9300
|
+
|
|
9301
|
+
bind (element, { arg: argument, value }) {
|
|
9302
|
+
if (element && argument) {
|
|
9303
|
+
element.dataset.test = argument;
|
|
9304
|
+
}
|
|
9305
|
+
|
|
9306
|
+
if (element && value) {
|
|
9307
|
+
element.dataset.testKey = value;
|
|
9308
|
+
}
|
|
9309
|
+
}
|
|
9310
|
+
};
|
|
9311
|
+
|
|
9176
9312
|
const version = packageInfo.version;
|
|
9177
9313
|
|
|
9178
9314
|
function install (app) {
|
|
@@ -9234,8 +9370,11 @@ function install (app) {
|
|
|
9234
9370
|
app.config.globalProperties.$qas = {
|
|
9235
9371
|
dialog: Dialog,
|
|
9236
9372
|
error: NotifyError,
|
|
9237
|
-
success: NotifySuccess
|
|
9373
|
+
success: NotifySuccess,
|
|
9374
|
+
screen: Screen()
|
|
9238
9375
|
};
|
|
9376
|
+
|
|
9377
|
+
app.directive(Test.name, Test);
|
|
9239
9378
|
}
|
|
9240
9379
|
|
|
9241
9380
|
var VuePlugin = /*#__PURE__*/Object.freeze({
|
|
@@ -9292,7 +9431,8 @@ var VuePlugin = /*#__PURE__*/Object.freeze({
|
|
|
9292
9431
|
Dialog: Dialog,
|
|
9293
9432
|
NotifyError: NotifyError,
|
|
9294
9433
|
NotifySuccess: NotifySuccess,
|
|
9434
|
+
Screen: Screen,
|
|
9295
9435
|
install: install
|
|
9296
9436
|
});
|
|
9297
9437
|
|
|
9298
|
-
export { Dialog, NotifyError, NotifySuccess, script$L as QasActions, script$J as QasActionsMenu, script$H as QasAlert, script$F as QasAppBar, script$E as QasAppMenu, script$G as QasAvatar, script$D as QasBox, script$I as QasBreakline, script$K as QasBtn, script$C as QasCard, script$B as QasCheckboxGroup, script$A as QasCopy, script$z as QasDateTimeInput, script$y as QasDebugger, script$w as QasDelete, script$x as QasDialog, script$v as QasDialogRouter, script$n as QasField, script$m as QasFilters, script$l as QasFormGenerator, script$k as QasFormView, script$j as QasGallery, script$i as QasGridGenerator, script$u as QasInput, script$h as QasLabel, script$g as QasLayout, script$f as QasListItems, script$e as QasListView, script$d as QasMap, script$c as QasNestedFields, script$t as QasNumericInput, script$b as QasPageHeader, script$r as QasPasswordInput, script$s as QasPasswordStrengthChecker, script$a as QasProfile, script$9 as QasResizer, script$8 as QasSearchBox, script$7 as QasSelect, script$6 as QasSelectList, script$p as QasSignaturePad, script$o as QasSignatureUploader, script$5 as QasSingleView, script$4 as QasSortable, script$3 as QasTableGenerator, script$2 as QasTabsGenerator, script$1 as QasTextTruncate, script as QasTransfer, script$q as QasUploader, VuePlugin as default, install, version };
|
|
9438
|
+
export { Dialog, NotifyError, NotifySuccess, script$L as QasActions, script$J as QasActionsMenu, script$H as QasAlert, script$F as QasAppBar, script$E as QasAppMenu, script$G as QasAvatar, script$D as QasBox, script$I as QasBreakline, script$K as QasBtn, script$C as QasCard, script$B as QasCheckboxGroup, script$A as QasCopy, script$z as QasDateTimeInput, script$y as QasDebugger, script$w as QasDelete, script$x as QasDialog, script$v as QasDialogRouter, script$n as QasField, script$m as QasFilters, script$l as QasFormGenerator, script$k as QasFormView, script$j as QasGallery, script$i as QasGridGenerator, script$u as QasInput, script$h as QasLabel, script$g as QasLayout, script$f as QasListItems, script$e as QasListView, script$d as QasMap, script$c as QasNestedFields, script$t as QasNumericInput, script$b as QasPageHeader, script$r as QasPasswordInput, script$s as QasPasswordStrengthChecker, script$a as QasProfile, script$9 as QasResizer, script$8 as QasSearchBox, script$7 as QasSelect, script$6 as QasSelectList, script$p as QasSignaturePad, script$o as QasSignatureUploader, script$5 as QasSingleView, script$4 as QasSortable, script$3 as QasTableGenerator, script$2 as QasTabsGenerator, script$1 as QasTextTruncate, script as QasTransfer, script$q as QasUploader, Screen, VuePlugin as default, install, version };
|