@bildvitta/quasar-ui-asteroid 3.5.0-beta.9 → 3.6.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/actions/QasActions.vue +32 -6
- package/src/components/actions/QasActions.yml +11 -1
- package/src/components/actions-menu/QasActionsMenu.vue +28 -11
- package/src/components/actions-menu/QasActionsMenu.yml +13 -4
- package/src/components/alert/QasAlert.vue +1 -1
- package/src/components/app-bar/QasAppBar.vue +7 -3
- package/src/components/app-menu/QasAppMenu.vue +55 -10
- package/src/components/app-user/QasAppUser.vue +8 -4
- package/src/components/avatar/QasAvatar.vue +1 -1
- package/src/components/avatar/QasAvatar.yml +1 -1
- package/src/components/badge/QasBadge.vue +34 -0
- package/src/components/badge/QasBadge.yml +28 -0
- package/src/components/card/QasCard.vue +2 -2
- package/src/components/copy/QasCopy.vue +1 -1
- package/src/components/copy/QasCopy.yml +1 -1
- package/src/components/date-time-input/QasDateTimeInput.vue +92 -10
- package/src/components/delete/QasDelete.vue +0 -1
- package/src/components/dialog/QasDialog.vue +56 -28
- package/src/components/dialog/QasDialog.yml +0 -9
- package/src/components/filters/QasFilters.vue +82 -67
- package/src/components/form-view/QasFormView.vue +0 -1
- package/src/components/gallery/QasGallery.vue +3 -3
- package/src/components/gallery/private/PvGalleryCarouselDialog.vue +3 -3
- package/src/components/header-actions/QasHeaderActions.vue +62 -0
- package/src/components/header-actions/QasHeaderActions.yml +26 -0
- package/src/components/list-items/QasListItems.vue +1 -1
- package/src/components/list-items/QasListItems.yml +1 -1
- package/src/components/nested-fields/QasNestedFields.vue +4 -4
- package/src/components/nested-fields/QasNestedFields.yml +2 -2
- package/src/components/numeric-input/QasNumericInput.vue +9 -0
- package/src/components/page-header/QasPageHeader.vue +92 -17
- package/src/components/page-header/QasPageHeader.yml +19 -1
- package/src/components/pagination/QasPagination.vue +12 -1
- package/src/components/password-input/QasPasswordInput.vue +1 -1
- package/src/components/search-box/QasSearchBox.vue +3 -4
- package/src/components/search-box/QasSearchBox.yml +1 -1
- package/src/components/select/QasSelect.vue +6 -6
- package/src/components/select/QasSelect.yml +1 -1
- package/src/components/select-list/QasSelectList.vue +1 -1
- package/src/components/signature-pad/QasSignaturePad.vue +1 -1
- package/src/components/signature-uploader/QasSignatureUploader.vue +7 -8
- package/src/components/single-view/QasSingleView.vue +1 -1
- package/src/components/status/QasStatus.vue +32 -0
- package/src/components/status/QasStatus.yml +10 -0
- package/src/components/table-generator/QasTableGenerator.vue +29 -4
- package/src/components/tabs-generator/QasTabsGenerator.vue +140 -37
- package/src/components/tabs-generator/QasTabsGenerator.yml +4 -24
- package/src/components/text-truncate/QasTextTruncate.vue +24 -10
- package/src/components/transfer/QasTransfer.vue +2 -2
- package/src/components/tree-generator/QasTreeGenerator.vue +4 -5
- package/src/components/uploader/QasUploader.vue +8 -8
- package/src/components/welcome/QasWelcome.vue +108 -0
- package/src/components/welcome/QasWelcome.yml +14 -0
- package/src/components/welcome/private/PvWelcomeShortcutCard.vue +58 -0
- package/src/css/components/base.scss +8 -0
- package/src/css/components/item.scss +8 -3
- package/src/css/mixins/index.scss +1 -0
- package/src/css/mixins/set-typography.scss +8 -0
- package/src/css/variables/index.scss +1 -0
- package/src/css/variables/shadow.scss +3 -0
- package/src/css/variables/spacing.scss +15 -0
- package/src/css/variables/typography.scss +12 -12
- package/src/index.scss +1 -1
- package/src/mixins/delete.js +0 -1
- package/src/plugins/notify-error/NotifyError.js +1 -1
- package/src/plugins/notify-success/NotifySuccess.js +1 -1
- package/src/shared/date-config.js +26 -0
- package/src/vue-plugin.js +12 -0
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
</div>
|
|
49
49
|
|
|
50
50
|
<div class="col-auto">
|
|
51
|
-
<qas-btn color="dark" flat icon="
|
|
51
|
+
<qas-btn color="dark" flat icon="sym_r_add_circle_outline" round />
|
|
52
52
|
</div>
|
|
53
53
|
</div>
|
|
54
54
|
|
|
55
55
|
<div v-else class="text-left">
|
|
56
|
-
<qas-btn class="q-px-sm" color="dark" flat icon="
|
|
56
|
+
<qas-btn class="q-px-sm" color="dark" flat icon="sym_r_add" @click="add()">{{ addInputLabel }}</qas-btn>
|
|
57
57
|
</div>
|
|
58
58
|
</slot>
|
|
59
59
|
</div>
|
|
@@ -107,7 +107,7 @@ export default {
|
|
|
107
107
|
default: () => {
|
|
108
108
|
return {
|
|
109
109
|
label: 'Excluir',
|
|
110
|
-
icon: '
|
|
110
|
+
icon: 'sym_r_delete',
|
|
111
111
|
flat: true,
|
|
112
112
|
dense: true
|
|
113
113
|
}
|
|
@@ -119,7 +119,7 @@ export default {
|
|
|
119
119
|
default: () => {
|
|
120
120
|
return {
|
|
121
121
|
label: 'Duplicar',
|
|
122
|
-
icon: '
|
|
122
|
+
icon: 'sym_r_content_copy',
|
|
123
123
|
flat: true,
|
|
124
124
|
useLabelOnSmallScreen: false,
|
|
125
125
|
dense: true
|
|
@@ -21,13 +21,13 @@ props:
|
|
|
21
21
|
|
|
22
22
|
button-destroy-props:
|
|
23
23
|
desc: Props do botão de excluir linha contendo os campos.
|
|
24
|
-
default: "{ label: 'Excluir', icon: '
|
|
24
|
+
default: "{ label: 'Excluir', icon: 'sym_r_delete', flat: true, dense: true }"
|
|
25
25
|
debugger: true
|
|
26
26
|
type: Object
|
|
27
27
|
|
|
28
28
|
button-duplicate-props:
|
|
29
29
|
desc: Props do botão de duplicar linha contendo os campos.
|
|
30
|
-
default: "{ label: 'Duplicar',
|
|
30
|
+
default: "{ label: 'Duplicar', sym_r_content_copy, flat: true, dense: true, useLabelOnSmallScreen: false }"
|
|
31
31
|
debugger: true
|
|
32
32
|
type: Object
|
|
33
33
|
|
|
@@ -117,6 +117,15 @@ export default {
|
|
|
117
117
|
options.decimalPlaces = this.decimalPlaces
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
if (this.mode === 'money') {
|
|
121
|
+
// TODO
|
|
122
|
+
/*
|
|
123
|
+
* adicionado manualmente por conta do espaçamento, neste formato não esta preparado para
|
|
124
|
+
* outras linguas, teria que adaptar no futuro, o que não é um problema no momento
|
|
125
|
+
*/
|
|
126
|
+
options.currencySymbol = 'R$ '
|
|
127
|
+
}
|
|
128
|
+
|
|
120
129
|
Object.assign(options, this.autonumericOptions)
|
|
121
130
|
|
|
122
131
|
this.$nextTick(() => {
|
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<q-breadcrumbs
|
|
10
|
-
|
|
2
|
+
<div>
|
|
3
|
+
<q-toolbar class="justify-between q-mb-xl q-px-none qas-page-header">
|
|
4
|
+
<div class="ellipsis">
|
|
5
|
+
<q-toolbar-title v-if="title" class="text-grey-9 text-h3">
|
|
6
|
+
{{ title }}
|
|
7
|
+
</q-toolbar-title>
|
|
8
|
+
|
|
9
|
+
<q-breadcrumbs v-if="useBreadcrumbs" class="text-caption" gutter="xs" separator-color="grey-8">
|
|
10
|
+
<q-breadcrumbs-el v-if="useHomeIcon" class="qas-page-header__breadcrumbs-el text-grey-8" icon="sym_r_home" :to="homeRoute" />
|
|
11
|
+
|
|
12
|
+
<q-breadcrumbs-el v-for="(item, index) in normalizedBreadcrumbs" :key="index" class="qas-page-header__breadcrumbs-el" :label="item.label" :to="item.route" />
|
|
13
|
+
</q-breadcrumbs>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<slot />
|
|
17
|
+
</q-toolbar>
|
|
18
|
+
|
|
19
|
+
<div>
|
|
20
|
+
<slot name="bottom">
|
|
21
|
+
<qas-header-actions v-if="hasHeaderActions" v-bind="headerActionsProps" />
|
|
22
|
+
</slot>
|
|
11
23
|
</div>
|
|
12
|
-
|
|
13
|
-
</q-toolbar>
|
|
24
|
+
</div>
|
|
14
25
|
</template>
|
|
15
26
|
|
|
16
27
|
<script>
|
|
28
|
+
import QasHeaderActions from '../header-actions/QasHeaderActions.vue'
|
|
29
|
+
|
|
17
30
|
import { castArray } from 'lodash-es'
|
|
18
31
|
import { useHistory } from '../../composables'
|
|
19
32
|
import { createMetaMixin } from 'quasar'
|
|
@@ -23,6 +36,10 @@ const { history } = useHistory()
|
|
|
23
36
|
export default {
|
|
24
37
|
name: 'QasPageHeader',
|
|
25
38
|
|
|
39
|
+
components: {
|
|
40
|
+
QasHeaderActions
|
|
41
|
+
},
|
|
42
|
+
|
|
26
43
|
mixins: [
|
|
27
44
|
createMetaMixin(function () {
|
|
28
45
|
return {
|
|
@@ -37,6 +54,11 @@ export default {
|
|
|
37
54
|
type: [Array, String]
|
|
38
55
|
},
|
|
39
56
|
|
|
57
|
+
headerActionsProps: {
|
|
58
|
+
default: () => ({}),
|
|
59
|
+
type: Object
|
|
60
|
+
},
|
|
61
|
+
|
|
40
62
|
root: {
|
|
41
63
|
default: '',
|
|
42
64
|
type: [Object, String]
|
|
@@ -50,6 +72,11 @@ export default {
|
|
|
50
72
|
useBreadcrumbs: {
|
|
51
73
|
default: true,
|
|
52
74
|
type: Boolean
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
useHomeIcon: {
|
|
78
|
+
default: true,
|
|
79
|
+
type: Boolean
|
|
53
80
|
}
|
|
54
81
|
},
|
|
55
82
|
|
|
@@ -76,15 +103,63 @@ export default {
|
|
|
76
103
|
|
|
77
104
|
return item
|
|
78
105
|
})
|
|
79
|
-
}
|
|
80
|
-
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
normalizedBreadcrumbs () {
|
|
109
|
+
const breadcrumbsSize = this.transformedBreadcrumbs.length
|
|
110
|
+
|
|
111
|
+
if (breadcrumbsSize < 5) return this.transformedBreadcrumbs
|
|
112
|
+
|
|
113
|
+
const [first, second] = this.transformedBreadcrumbs
|
|
114
|
+
const last = this.transformedBreadcrumbs.at(-1)
|
|
115
|
+
|
|
116
|
+
const beforeLast = {
|
|
117
|
+
...this.transformedBreadcrumbs.at(-2),
|
|
118
|
+
label: '...'
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return [
|
|
122
|
+
first,
|
|
123
|
+
second,
|
|
124
|
+
beforeLast,
|
|
125
|
+
last
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
|
|
129
|
+
hasHeaderActions () {
|
|
130
|
+
return !!Object.keys(this.headerActionsProps).length
|
|
131
|
+
},
|
|
81
132
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const lastIndex = this.transformedBreadcrumbs.length - 1
|
|
133
|
+
homeRoute () {
|
|
134
|
+
const hasRoot = this.$router.hasRoute('Root')
|
|
85
135
|
|
|
86
|
-
return
|
|
136
|
+
return hasRoot ? { name: 'Root' } : '/'
|
|
87
137
|
}
|
|
88
138
|
}
|
|
89
139
|
}
|
|
90
140
|
</script>
|
|
141
|
+
|
|
142
|
+
<style lang="scss">
|
|
143
|
+
.qas-page-header {
|
|
144
|
+
&__breadcrumbs-el {
|
|
145
|
+
transition: color var(--qas-generic-transition);
|
|
146
|
+
|
|
147
|
+
&.q-breadcrumbs__el:not(.q-router-link--exact-active):hover {
|
|
148
|
+
color: var(--qas-primary-contrast) !important;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.q-breadcrumbs__el-icon {
|
|
152
|
+
font-size: 16px;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// aplica cor "grey-8" a todos os .q-breadcrumbs__el que não uma classe .q-breadcrumbs--last como pai
|
|
157
|
+
.q-breadcrumbs__el:not(.q-breadcrumbs--last .q-breadcrumbs__el) {
|
|
158
|
+
color: $grey-8;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.q-breadcrumbs--last {
|
|
162
|
+
color: var(--q-primary);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
</style>
|
|
@@ -15,10 +15,28 @@ props:
|
|
|
15
15
|
desc: Título do cabeçalho.
|
|
16
16
|
type: String
|
|
17
17
|
|
|
18
|
+
header-actions-props:
|
|
19
|
+
desc: Propriedades do QasHeaderActions.
|
|
20
|
+
default: {}
|
|
21
|
+
type: Object
|
|
22
|
+
|
|
18
23
|
root:
|
|
19
24
|
desc: Rota raiz do breadcrumbs.
|
|
20
25
|
type: [Object, String]
|
|
21
26
|
|
|
22
27
|
use-breadcrumbs:
|
|
23
28
|
desc: Habilita ou não o breadcrumbs.
|
|
24
|
-
|
|
29
|
+
default: true
|
|
30
|
+
type: Boolean
|
|
31
|
+
|
|
32
|
+
use-home-icon:
|
|
33
|
+
desc: Habilita o ícone de início como primeiro nível do breadcrumbs.
|
|
34
|
+
default: true
|
|
35
|
+
type: Boolean
|
|
36
|
+
|
|
37
|
+
slots:
|
|
38
|
+
bottom:
|
|
39
|
+
desc: slot para acessar abaixo do titulo e breadcrumbs.
|
|
40
|
+
|
|
41
|
+
default:
|
|
42
|
+
desc: slot para acessar lado direito do titulo e breadcrumbs.
|
|
@@ -14,8 +14,11 @@ export default {
|
|
|
14
14
|
activeColor: 'primary',
|
|
15
15
|
activeDesign: 'flat',
|
|
16
16
|
boundaryNumbers: true,
|
|
17
|
-
|
|
17
|
+
class: 'qas-pagination',
|
|
18
|
+
color: 'grey-8',
|
|
18
19
|
directionLinks: true,
|
|
20
|
+
iconNext: 'sym_r_chevron_right',
|
|
21
|
+
iconPrev: 'sym_r_chevron_left',
|
|
19
22
|
maxPages: modelValue < 3 ? 3 : 6,
|
|
20
23
|
modelValue,
|
|
21
24
|
|
|
@@ -25,3 +28,11 @@ export default {
|
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
</script>
|
|
31
|
+
|
|
32
|
+
<style lang="scss">
|
|
33
|
+
.qas-pagination {
|
|
34
|
+
.q-icon {
|
|
35
|
+
color: $grey-9;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
</style>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<qas-box>
|
|
3
3
|
<qas-input v-bind="attributes" ref="search" v-model="mx_search">
|
|
4
4
|
<template #append>
|
|
5
|
-
<q-icon color="primary" name="
|
|
5
|
+
<q-icon color="primary" name="sym_r_search" />
|
|
6
6
|
</template>
|
|
7
7
|
</qas-input>
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
<slot v-if="showEmptyResult" name="empty-result">
|
|
21
21
|
<div class="absolute-center text-center">
|
|
22
|
-
<q-icon class="q-mb-sm text-center" color="primary" name="
|
|
22
|
+
<q-icon class="q-mb-sm text-center" color="primary" name="sym_r_search" size="38px" />
|
|
23
23
|
<div>{{ emptyResultText }}</div>
|
|
24
24
|
</div>
|
|
25
25
|
</slot>
|
|
@@ -112,7 +112,7 @@ export default {
|
|
|
112
112
|
return {
|
|
113
113
|
clearable: true,
|
|
114
114
|
disable: this.isDisabled,
|
|
115
|
-
debounce: this.useLazyLoading ?
|
|
115
|
+
debounce: this.useLazyLoading ? 1200 : 0,
|
|
116
116
|
outlined: true,
|
|
117
117
|
placeholder: this.placeholder,
|
|
118
118
|
hideBottomSpace: true,
|
|
@@ -153,7 +153,6 @@ export default {
|
|
|
153
153
|
|
|
154
154
|
defaultFuseOptions () {
|
|
155
155
|
return {
|
|
156
|
-
threshold: 0.1,
|
|
157
156
|
ignoreLocation: true,
|
|
158
157
|
|
|
159
158
|
...this.fuseOptions
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-select v-model="model" v-bind="attributes">
|
|
3
3
|
<template v-if="isSearchable" #prepend>
|
|
4
|
-
<q-icon name="
|
|
4
|
+
<q-icon name="sym_r_search" />
|
|
5
5
|
</template>
|
|
6
6
|
|
|
7
7
|
<template #no-option>
|
|
@@ -91,12 +91,13 @@ export default {
|
|
|
91
91
|
outlined: true,
|
|
92
92
|
...this.$attrs,
|
|
93
93
|
|
|
94
|
-
options: this.mx_filteredOptions,
|
|
95
|
-
useInput: this.isSearchable,
|
|
96
94
|
error: this.hasError,
|
|
95
|
+
inputDebounce: this.useLazyLoading ? 1200 : 0,
|
|
97
96
|
loading: this.hasLoading,
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
options: this.mx_filteredOptions,
|
|
98
|
+
useInput: this.isSearchable,
|
|
99
|
+
...(this.isSearchable && { onFilter: this.onFilter }),
|
|
100
|
+
...(this.useLazyLoading && { onVirtualScroll: this.mx_onVirtualScroll })
|
|
100
101
|
}
|
|
101
102
|
},
|
|
102
103
|
|
|
@@ -104,7 +105,6 @@ export default {
|
|
|
104
105
|
return {
|
|
105
106
|
ignoreLocation: true,
|
|
106
107
|
keys: ['label', 'value'],
|
|
107
|
-
threshold: 0.1,
|
|
108
108
|
|
|
109
109
|
...this.fuseOptions
|
|
110
110
|
}
|
|
@@ -27,7 +27,7 @@ props:
|
|
|
27
27
|
default:
|
|
28
28
|
ignoreLocation: true
|
|
29
29
|
keys: [label, value]
|
|
30
|
-
threshold: 0.
|
|
30
|
+
threshold: 0.6
|
|
31
31
|
|
|
32
32
|
label-key:
|
|
33
33
|
desc: O componente internamente espera receber na propriedade "options" um array de objeto contendo "label" e "value", caso o seu objeto não tenha "label" mas um "name" por exemplo, você pode definir esta prop "label-key" como "name".
|
|
@@ -130,7 +130,7 @@ export default {
|
|
|
130
130
|
return {
|
|
131
131
|
dense: this.$qas.screen.isSmall,
|
|
132
132
|
useLabelOnSmallScreen: false,
|
|
133
|
-
icon: !this.$qas.screen.isSmall ? undefined : isSelected ? '
|
|
133
|
+
icon: !this.$qas.screen.isSmall ? undefined : isSelected ? 'sym_r_close' : 'sym_r_add',
|
|
134
134
|
label: isSelected ? 'Remover' : 'Adicionar',
|
|
135
135
|
outline: isSelected,
|
|
136
136
|
size: 'sm'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div ref="signatureContainer" class="qas-signature-pad relative-position">
|
|
3
3
|
<canvas :id="canvasId" :ref="$attrs.ref" class="qas-signature-pad__canvas rounded-borders vertical-bottom" :height="height" />
|
|
4
|
-
<qas-btn v-if="!empty" class="absolute-bottom-right q-mb-sm q-mr-sm" color="primary" dense icon="
|
|
4
|
+
<qas-btn v-if="!empty" class="absolute-bottom-right q-mb-sm q-mr-sm" color="primary" dense icon="sym_r_delete" round @click="clearSignature" />
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
7
|
<div>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<qas-uploader ref="uploader" v-model="model" :label="uploadLabel" :readonly="readonly" :use-resize="false"
|
|
3
|
+
<qas-uploader ref="uploader" v-model="model" :label="uploadLabel" v-bind="$attrs" :readonly="readonly" :use-resize="false">
|
|
4
4
|
<template #header="{ scope }">
|
|
5
5
|
<div class="cursor-pointer flex flex-center full-width justify-between no-border no-wrap q-gutter-xs text-white transparent" :class="headerClass" @click="openDialog">
|
|
6
6
|
<div class="col column items-start justify-center">
|
|
7
7
|
<div v-if="uploadLabel" class="q-uploader__title">{{ uploadLabel }}</div>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
<qas-btn v-if="!readonly" color="white" dense flat icon="
|
|
10
|
+
<qas-btn v-if="!readonly" color="white" dense flat icon="sym_r_add" round @click="openDialog" />
|
|
11
11
|
|
|
12
12
|
<qas-btn ref="forceUpload" class="hidden" @click="upload(scope)" />
|
|
13
13
|
<qas-btn ref="buttonCleanFiles" class="hidden" @click="scope.removeUploadedFiles" />
|
|
@@ -25,11 +25,6 @@
|
|
|
25
25
|
<qas-signature-pad ref="signaturePadModal" v-model:empty="isEmpty" :height="signaturePadHeight" />
|
|
26
26
|
</div>
|
|
27
27
|
</template>
|
|
28
|
-
|
|
29
|
-
<template #actions>
|
|
30
|
-
<qas-btn class="full-width" color="primary" :disable="isEmpty" label="Salvar" no-caps @click="getSignatureData" />
|
|
31
|
-
<qas-btn class="full-width q-mt-sm" color="primary" flat label="Cancelar" no-caps @click="closeSignature" />
|
|
32
|
-
</template>
|
|
33
28
|
</qas-dialog>
|
|
34
29
|
</div>
|
|
35
30
|
</template>
|
|
@@ -111,7 +106,11 @@ export default {
|
|
|
111
106
|
defaultDialogProps () {
|
|
112
107
|
return {
|
|
113
108
|
maxWidth: '620px',
|
|
114
|
-
...this.dialogProps
|
|
109
|
+
...this.dialogProps,
|
|
110
|
+
ok: {
|
|
111
|
+
label: 'Salvar',
|
|
112
|
+
onClick: () => this.getSignatureData()
|
|
113
|
+
}
|
|
115
114
|
}
|
|
116
115
|
},
|
|
117
116
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</template>
|
|
10
10
|
|
|
11
11
|
<div v-else-if="!mx_isFetching" class="q-my-xl text-center">
|
|
12
|
-
<q-icon class="q-mb-sm text-center" color="grey-7" name="
|
|
12
|
+
<q-icon class="q-mb-sm text-center" color="grey-7" name="sym_r_search" size="38px" />
|
|
13
13
|
<div class="text-grey-7">Nenhum item encontrado.</div>
|
|
14
14
|
</div>
|
|
15
15
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div aria-live="polite" class="qas-status" :class="backgroundClass" role="status" />
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script>
|
|
6
|
+
export default {
|
|
7
|
+
name: 'QasStatus',
|
|
8
|
+
|
|
9
|
+
inheritAttrs: false,
|
|
10
|
+
|
|
11
|
+
props: {
|
|
12
|
+
color: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: 'light-blue-2'
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
computed: {
|
|
19
|
+
backgroundClass () {
|
|
20
|
+
return `bg-${this.color}`
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<style lang="scss">
|
|
27
|
+
.qas-status {
|
|
28
|
+
border-radius: 100%;
|
|
29
|
+
height: 16px;
|
|
30
|
+
width: 16px;
|
|
31
|
+
}
|
|
32
|
+
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<qas-box class="q-px-lg q-py-md">
|
|
3
|
-
<q-table ref="table" class="bg-
|
|
3
|
+
<q-table ref="table" class="bg-white qas-table-generator text-grey-8" :class="tableClass" v-bind="attributes">
|
|
4
4
|
<template v-for="(_, name) in $slots" #[name]="context">
|
|
5
5
|
<slot v-if="hasBodySlot" name="body" :props="context" />
|
|
6
6
|
|
|
@@ -94,7 +94,7 @@ export default {
|
|
|
94
94
|
field: name,
|
|
95
95
|
label,
|
|
96
96
|
name,
|
|
97
|
-
headerClasses: 'text-
|
|
97
|
+
headerClasses: 'text-grey-9'
|
|
98
98
|
})
|
|
99
99
|
}
|
|
100
100
|
|
|
@@ -246,8 +246,33 @@ export default {
|
|
|
246
246
|
|
|
247
247
|
<style lang="scss">
|
|
248
248
|
.qas-table-generator {
|
|
249
|
-
.q-table
|
|
250
|
-
|
|
249
|
+
.q-table {
|
|
250
|
+
th {
|
|
251
|
+
@include set-typography($subtitle1);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
td,
|
|
255
|
+
th,
|
|
256
|
+
thead,
|
|
257
|
+
tr {
|
|
258
|
+
border-color: $grey-4;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
td {
|
|
262
|
+
@include set-typography($body1);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
tr {
|
|
266
|
+
transition: background-color var(--qas-generic-transition);
|
|
267
|
+
|
|
268
|
+
&:hover {
|
|
269
|
+
background-color: $grey-2;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
thead tr:hover {
|
|
274
|
+
background-color: white;
|
|
275
|
+
}
|
|
251
276
|
}
|
|
252
277
|
|
|
253
278
|
&--mobile {
|