@bildvitta/quasar-ui-asteroid 3.13.0-beta.8 → 3.13.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 +54 -47
- package/src/components/actions-menu/QasActionsMenu.vue +147 -149
- package/src/components/actions-menu/QasActionsMenu.yml +13 -0
- package/src/components/app-bar/QasAppBar.vue +59 -87
- package/src/components/app-menu/QasAppMenu.vue +128 -256
- package/src/components/app-menu/composables/use-app-menu-dropdown.js +71 -0
- package/src/components/app-menu/composables/use-app-user.js +46 -0
- package/src/components/app-menu/composables/use-development-badge.js +23 -0
- package/src/components/app-menu/private/PvAppMenuDropdown.vue +33 -39
- package/src/components/app-user/QasAppUser.vue +94 -92
- package/src/components/avatar/QasAvatar.vue +67 -85
- package/src/components/avatar/enums/AvatarColors.js +9 -0
- package/src/components/badge/QasBadge.vue +21 -22
- package/src/components/badge/QasBadge.yml +1 -1
- package/src/components/box/QasBox.vue +17 -19
- package/src/components/btn/QasBtn.vue +132 -135
- package/src/components/btn/QasBtn.yml +3 -3
- package/src/components/btn-dropdown/QasBtnDropdown.vue +2 -2
- package/src/components/chart-view/QasChartView.vue +2 -2
- package/src/components/date/QasDate.vue +3 -3
- package/src/components/date-time-input/QasDateTimeInput.vue +2 -2
- package/src/components/delete/QasDelete.vue +1 -1
- package/src/components/dialog/QasDialog.vue +135 -244
- package/src/components/dialog/composables/use-cancel.js +40 -0
- package/src/components/dialog/composables/use-dynamic-components.js +86 -0
- package/src/components/dialog/composables/use-ok.js +45 -0
- package/src/components/filters/QasFilters.vue +1 -1
- package/src/components/filters/private/PvFiltersButton.vue +2 -2
- package/src/components/form-generator/QasFormGenerator.yml +1 -1
- package/src/components/gallery/QasGallery.vue +1 -1
- package/src/components/gallery/private/PvGalleryCarouselDialog.vue +2 -2
- package/src/components/gallery-card/QasGalleryCard.vue +2 -2
- package/src/components/label/QasLabel.vue +1 -1
- package/src/components/label/QasLabel.yml +1 -1
- package/src/components/nested-fields/QasNestedFields.vue +37 -14
- package/src/components/nested-fields/QasNestedFields.yml +63 -17
- package/src/components/page-header/QasPageHeader.vue +1 -11
- package/src/components/pagination/QasPagination.vue +1 -1
- package/src/components/search-input/QasSearchInput.vue +2 -2
- package/src/components/select-list-dialog/QasSelectListDialog.vue +3 -3
- package/src/components/table-generator/QasTableGenerator.vue +8 -4
- package/src/components/tabs-generator/QasTabsGenerator.vue +1 -1
- package/src/components/timeline/QasTimeline.vue +2 -2
- package/src/components/tree-generator/QasTreeGenerator.vue +1 -1
- package/src/components/uploader/QasUploader.vue +1 -1
- package/src/components/uploader/private/PvUploaderGalleryCard.vue +1 -1
- package/src/components/welcome/QasWelcome.vue +2 -2
- package/src/composables/use-history.js +4 -4
- package/src/css/components/base.scss +1 -0
- package/src/css/components/button.scss +2 -2
- package/src/css/components/checkbox.scss +12 -0
- package/src/css/components/editor.scss +7 -0
- package/src/css/components/field.scss +23 -3
- package/src/css/components/index.scss +3 -0
- package/src/css/components/item.scss +1 -1
- package/src/css/components/radio.scss +15 -2
- package/src/css/components/toggle.scss +11 -0
- package/src/css/variables/typography.scss +11 -1
- package/src/enums/Align.js +7 -0
- package/src/index.scss +4 -4
- package/src/pages/ErrorComponent.vue +1 -2
- package/src/plugins/dialog/Dialog.js +1 -1
- package/src/shared/notify-config.js +1 -1
- package/src/vue-plugin.js +4 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :id="fieldName" class="qas-nested-fields">
|
|
2
|
+
<div :id="fieldName" class="qas-nested-fields" :data-cy="`nested-fields-${fieldName}`">
|
|
3
3
|
<div v-if="useSingleLabel" class="text-left">
|
|
4
4
|
<qas-label :label="fieldLabel" typography="h5" />
|
|
5
5
|
</div>
|
|
@@ -7,15 +7,17 @@
|
|
|
7
7
|
<div ref="inputContent">
|
|
8
8
|
<component :is="componentTag" v-bind="componentProps">
|
|
9
9
|
<template v-for="(row, index) in nested" :key="`row-${index}`">
|
|
10
|
-
<div v-if="!row[destroyKey]" :id="`row-${index}`" class="full-width qas-nested-fields__field-item">
|
|
10
|
+
<div v-if="!row[destroyKey]" :id="`row-${index}`" class="full-width qas-nested-fields__field-item" data-cy="nested-fields-item">
|
|
11
11
|
<header v-if="hasHeader" class="flex items-center q-pb-md" :class="headerClasses">
|
|
12
12
|
<qas-label v-if="!useSingleLabel" :label="getRowLabel(index)" margin="none" typography="h5" />
|
|
13
13
|
<qas-actions-menu v-if="hasBlockActions(row)" v-bind="getActionsMenuProps(index, row)" />
|
|
14
14
|
</header>
|
|
15
15
|
|
|
16
|
+
<slot :errors="transformedErrors" :fields="getFields(index, row)" :index="index" :model="nested[index]" name="before-fields" :update-value="updateValuesFromInput" />
|
|
17
|
+
|
|
16
18
|
<div ref="formGenerator" class="col-12 justify-between q-col-gutter-x-md row">
|
|
17
|
-
<slot :errors="transformedErrors" :fields="
|
|
18
|
-
<qas-form-generator v-model="nested[index]" :class="formClasses" :columns="formColumns" :disable="isDisabledRow(row)" :errors="transformedErrors[index]" :fields="
|
|
19
|
+
<slot :errors="transformedErrors" :fields="getFields(index, row)" :index="index" name="fields" :update-value="updateValuesFromInput">
|
|
20
|
+
<qas-form-generator v-model="nested[index]" :class="formClasses" :columns="formColumns" :disable="isDisabledRow(row)" :errors="transformedErrors[index]" :fields="getFields(index, row)" :fields-props="getFieldsProps(index, row)" @update:model-value="updateValuesFromInput($event, index)">
|
|
19
21
|
<template v-for="(slot, key) in $slots" #[key]="scope">
|
|
20
22
|
<slot v-bind="scope" :disabled="isDisabledRow(row)" :errors="transformedErrors" :index="index" :name="key" />
|
|
21
23
|
</template>
|
|
@@ -27,9 +29,7 @@
|
|
|
27
29
|
</div>
|
|
28
30
|
</div>
|
|
29
31
|
|
|
30
|
-
<
|
|
31
|
-
<slot :fields="children" :index="index" :model="nested[index]" name="custom-fields" :update-value="updateValuesFromInput" />
|
|
32
|
-
</div>
|
|
32
|
+
<slot :errors="transformedErrors" :fields="getFields(index, row)" :index="index" :model="nested[index]" name="after-fields" :update-value="updateValuesFromInput" />
|
|
33
33
|
</div>
|
|
34
34
|
</template>
|
|
35
35
|
</component>
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
<div v-if="useAdd">
|
|
38
38
|
<slot :add="add" name="add-input">
|
|
39
39
|
<div v-if="showAddFirstInputButton" class="text-left">
|
|
40
|
-
<qas-btn class="q-px-sm" color="primary" variant="tertiary" @click="add()"
|
|
40
|
+
<qas-btn class="q-px-sm" color="primary" data-cy="nested-fields-add-btn" :label="addFirstInputLabel" variant="tertiary" @click="add()" />
|
|
41
41
|
</div>
|
|
42
42
|
|
|
43
|
-
<div v-else-if="useInlineActions" class="cursor-pointer items-center q-col-gutter-x-md q-mt-md row" @click="add()">
|
|
43
|
+
<div v-else-if="useInlineActions" class="cursor-pointer items-center q-col-gutter-x-md q-mt-md row" data-cy="nested-fields-add-btn" @click="add()">
|
|
44
44
|
<div class="col">
|
|
45
45
|
<qas-input class="disabled no-pointer-events" hide-bottom-space :label="addInputLabel" outlined @focus="add()" />
|
|
46
46
|
</div>
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
</div>
|
|
52
52
|
|
|
53
53
|
<div v-else class="text-left">
|
|
54
|
-
<qas-btn class="q-px-sm" color="primary" icon="sym_r_add" :label="addInputLabel" variant="tertiary" @click="add()" />
|
|
54
|
+
<qas-btn class="q-px-sm" color="primary" data-cy="nested-fields-add-btn" icon="sym_r_add" :label="addInputLabel" variant="tertiary" @click="add()" />
|
|
55
55
|
</div>
|
|
56
56
|
</slot>
|
|
57
57
|
</div>
|
|
@@ -108,7 +108,7 @@ export default {
|
|
|
108
108
|
type: Object,
|
|
109
109
|
default: () => {
|
|
110
110
|
return {
|
|
111
|
-
color: 'grey-
|
|
111
|
+
color: 'grey-10',
|
|
112
112
|
icon: 'sym_r_delete',
|
|
113
113
|
label: 'Excluir',
|
|
114
114
|
variant: 'tertiary'
|
|
@@ -148,14 +148,19 @@ export default {
|
|
|
148
148
|
default: () => ({})
|
|
149
149
|
},
|
|
150
150
|
|
|
151
|
+
fieldsHandlerFn: {
|
|
152
|
+
type: Function,
|
|
153
|
+
default: undefined
|
|
154
|
+
},
|
|
155
|
+
|
|
151
156
|
fieldsProps: {
|
|
152
|
-
type: Object,
|
|
157
|
+
type: [Object, Function],
|
|
153
158
|
default: () => ({})
|
|
154
159
|
},
|
|
155
160
|
|
|
156
161
|
formColumns: {
|
|
157
|
-
type: Object,
|
|
158
|
-
default: () =>
|
|
162
|
+
type: [Array, String, Object],
|
|
163
|
+
default: () => []
|
|
159
164
|
},
|
|
160
165
|
|
|
161
166
|
formGutter: {
|
|
@@ -381,6 +386,24 @@ export default {
|
|
|
381
386
|
return list
|
|
382
387
|
},
|
|
383
388
|
|
|
389
|
+
getFields (index, row) {
|
|
390
|
+
const fields = this.children
|
|
391
|
+
|
|
392
|
+
if (this.fieldsHandlerFn) {
|
|
393
|
+
return this.fieldsHandlerFn({ fields, index, row })
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
return fields
|
|
397
|
+
},
|
|
398
|
+
|
|
399
|
+
getFieldsProps (index, row) {
|
|
400
|
+
if (typeof this.fieldsProps === 'function') {
|
|
401
|
+
return this.fieldsProps({ index, row })
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
return this.fieldsProps
|
|
405
|
+
},
|
|
406
|
+
|
|
384
407
|
add (row = {}) {
|
|
385
408
|
const payload = { ...this.rowObject, ...row }
|
|
386
409
|
const hasIdentifierKey = payload[this.identifierItemKey]
|
|
@@ -54,17 +54,25 @@ props:
|
|
|
54
54
|
type: Object
|
|
55
55
|
examples: ["{ name: 'meuNested', type: 'nested', label: 'Campo nested', children: [...] }"]
|
|
56
56
|
|
|
57
|
+
fields-handler-fn:
|
|
58
|
+
desc: Função para controlar a visibilidade dos campos do formulário para cada linha do nested.
|
|
59
|
+
type: Function
|
|
60
|
+
examples: ["({ fields, index, row }) => fields"]
|
|
61
|
+
|
|
57
62
|
fields-props:
|
|
58
|
-
desc: Propriedade para repassar propriedades para cada campo individualmente.
|
|
63
|
+
desc: Propriedade para repassar propriedades para cada campo individualmente. Ao utilizar uma função de callback, você recebe como parâmetro o "index" e "row" de cada linha do nested.
|
|
59
64
|
default: {}
|
|
60
|
-
type: Object
|
|
61
|
-
examples: [
|
|
65
|
+
type: [Object, Function]
|
|
66
|
+
examples: [
|
|
67
|
+
"{ name: { dense: true, onClick: () => alert('Estou sendo clicado') } }",
|
|
68
|
+
"({ index, row }) => ({ name: { disable: !row.status })"
|
|
69
|
+
]
|
|
62
70
|
|
|
63
71
|
form-columns:
|
|
64
72
|
desc: Colunas do grid de cada campo.
|
|
65
|
-
default:
|
|
66
|
-
type: Object
|
|
67
|
-
examples: ["{
|
|
73
|
+
default: col-6
|
|
74
|
+
type: [Array, String, Object]
|
|
75
|
+
examples: ["[{ sm: 6, md: 12 }]", "{ name: { sm: 6, md: 12 } }", "12"]
|
|
68
76
|
|
|
69
77
|
form-gutter:
|
|
70
78
|
desc: Espaçamento entre cada campo.
|
|
@@ -150,22 +158,49 @@ slots:
|
|
|
150
158
|
type: Function
|
|
151
159
|
examples: ["add({ name: 'novo valor' })"]
|
|
152
160
|
|
|
153
|
-
|
|
154
|
-
desc: Slot para adicionar
|
|
161
|
+
before-fields:
|
|
162
|
+
desc: Slot para adicionar conteúdo antes dos campos do formulário.
|
|
155
163
|
scope:
|
|
164
|
+
errors:
|
|
165
|
+
desc: Erros dos campos.
|
|
166
|
+
type: Object
|
|
167
|
+
|
|
156
168
|
fields:
|
|
157
169
|
desc: Campos atuais.
|
|
158
|
-
default: {}
|
|
159
170
|
type: Object
|
|
160
171
|
|
|
161
172
|
index:
|
|
162
|
-
desc: Index atual dos campos
|
|
173
|
+
desc: Index atual dos campos.
|
|
163
174
|
type: Number
|
|
164
175
|
|
|
176
|
+
model:
|
|
177
|
+
desc: Model da linha atual.
|
|
178
|
+
type: Object
|
|
179
|
+
|
|
180
|
+
'updateValue -> function(value, index)':
|
|
181
|
+
desc: Função para atualizar o model, passando o novo valor e o index.
|
|
182
|
+
type: Function
|
|
183
|
+
examples: ["updateValue({ name: 'novo valor' }, 2)"]
|
|
184
|
+
|
|
185
|
+
after-fields:
|
|
186
|
+
desc: Slot para adicionar conteúdo após os campos do formulário.
|
|
187
|
+
scope:
|
|
165
188
|
errors:
|
|
166
|
-
desc:
|
|
189
|
+
desc: Erros dos campos.
|
|
190
|
+
type: Object
|
|
191
|
+
|
|
192
|
+
fields:
|
|
193
|
+
desc: Campos atuais.
|
|
194
|
+
type: Object
|
|
195
|
+
|
|
196
|
+
index:
|
|
197
|
+
desc: Index atual dos campos.
|
|
167
198
|
type: Number
|
|
168
199
|
|
|
200
|
+
model:
|
|
201
|
+
desc: Model da linha atual.
|
|
202
|
+
type: Object
|
|
203
|
+
|
|
169
204
|
'updateValue -> function(value, index)':
|
|
170
205
|
desc: Função para atualizar o model, passando o novo valor e o index.
|
|
171
206
|
type: Function
|
|
@@ -176,16 +211,15 @@ slots:
|
|
|
176
211
|
scope:
|
|
177
212
|
fields:
|
|
178
213
|
desc: Campos atuais.
|
|
179
|
-
default: {}
|
|
180
214
|
type: Object
|
|
181
215
|
|
|
182
216
|
index:
|
|
183
|
-
desc: Index atual dos campos
|
|
217
|
+
desc: Index atual dos campos.
|
|
184
218
|
type: Number
|
|
185
219
|
|
|
186
220
|
errors:
|
|
187
|
-
desc:
|
|
188
|
-
type:
|
|
221
|
+
desc: Erros dos campos.
|
|
222
|
+
type: Object
|
|
189
223
|
|
|
190
224
|
'updateValue -> function(value, index)':
|
|
191
225
|
desc: Função para atualizar o model, passando o novo valor e o index.
|
|
@@ -205,14 +239,13 @@ slots:
|
|
|
205
239
|
|
|
206
240
|
errors:
|
|
207
241
|
desc: Erros dos campos
|
|
208
|
-
type:
|
|
242
|
+
type: Object
|
|
209
243
|
|
|
210
244
|
'updateValue -> function(value, index)':
|
|
211
245
|
desc: Função para atualizar o model, passando o novo valor e o index.
|
|
212
246
|
type: Function
|
|
213
247
|
examples: ["updateValue({ name: 'novo valor' }, 2)"]
|
|
214
248
|
|
|
215
|
-
|
|
216
249
|
events:
|
|
217
250
|
'@update:model-value -> function (value)':
|
|
218
251
|
desc: Dispara toda vez que o model é atualizado, também utilizado para v-model.
|
|
@@ -220,3 +253,16 @@ events:
|
|
|
220
253
|
value:
|
|
221
254
|
desc: Novo valor do v-model
|
|
222
255
|
type: String
|
|
256
|
+
|
|
257
|
+
selectors:
|
|
258
|
+
'nested-fields-[fieldName]':
|
|
259
|
+
desc: Seletor criado a partir da propriedade "name" do campo.
|
|
260
|
+
examples: ['data-cy="nested-fields-companies"']
|
|
261
|
+
|
|
262
|
+
'nested-fields-item':
|
|
263
|
+
desc: Seletor para cada item do nested.
|
|
264
|
+
examples: ['data-cy="nested-fields-item"']
|
|
265
|
+
|
|
266
|
+
'nested-fields-add-btn':
|
|
267
|
+
desc: Seletor para os botões de adicionar itens ao nested.
|
|
268
|
+
examples: ['data-cy="nested-fields-add-btn"']
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<q-toolbar class="justify-between q-mb-lg q-px-none qas-page-header">
|
|
4
4
|
<div class="ellipsis">
|
|
5
|
-
<q-toolbar-title v-if="title" class="text-
|
|
5
|
+
<q-toolbar-title v-if="title" class="text-h3">
|
|
6
6
|
{{ title }}
|
|
7
7
|
</q-toolbar-title>
|
|
8
8
|
|
|
@@ -28,11 +28,8 @@
|
|
|
28
28
|
import QasHeaderActions from '../header-actions/QasHeaderActions.vue'
|
|
29
29
|
|
|
30
30
|
import { castArray } from 'lodash-es'
|
|
31
|
-
import { useHistory } from '../../composables'
|
|
32
31
|
import { createMetaMixin } from 'quasar'
|
|
33
32
|
|
|
34
|
-
const { history } = useHistory()
|
|
35
|
-
|
|
36
33
|
export default {
|
|
37
34
|
name: 'QasPageHeader',
|
|
38
35
|
|
|
@@ -94,13 +91,6 @@ export default {
|
|
|
94
91
|
item.route = { name: item.routeName }
|
|
95
92
|
}
|
|
96
93
|
|
|
97
|
-
const historyList = history.list
|
|
98
|
-
|
|
99
|
-
if (historyList.length && item?.route?.name) {
|
|
100
|
-
const previous = historyList.find(history => history.name === item.route.name)
|
|
101
|
-
item.route.query = previous ? previous.query : null
|
|
102
|
-
}
|
|
103
|
-
|
|
104
94
|
return item
|
|
105
95
|
})
|
|
106
96
|
},
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<qas-input ref="input" v-model="model" v-bind="$attrs" class="bg-white rounded-borders-sm" data-cy="search-input" :debounce="debounce" dense hide-bottom-space input-class="ellipsis text-grey-8" inputmode="search" type="search">
|
|
4
4
|
<template #prepend>
|
|
5
5
|
<q-icon v-if="useSearchOnType" color="grey-8" name="sym_r_search" />
|
|
6
|
-
<qas-btn v-else color="grey-
|
|
6
|
+
<qas-btn v-else color="grey-10" icon="sym_r_search" variant="tertiary" @click="$emit('filter')" />
|
|
7
7
|
</template>
|
|
8
8
|
|
|
9
9
|
<template #append>
|
|
10
|
-
<qas-btn v-if="hasSearch" color="grey-
|
|
10
|
+
<qas-btn v-if="hasSearch" color="grey-10" icon="sym_r_clear" variant="tertiary" @click="clear" />
|
|
11
11
|
|
|
12
12
|
<slot name="after-clear" />
|
|
13
13
|
</template>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
v-if="hasBox"
|
|
21
21
|
class="q-mt-md relative-position"
|
|
22
22
|
>
|
|
23
|
-
<span class="text-grey-
|
|
23
|
+
<span class="text-grey-10 text-subtitle1">
|
|
24
24
|
{{ props.listLabel }}
|
|
25
25
|
</span>
|
|
26
26
|
|
|
@@ -184,7 +184,7 @@ const labelProps = computed(() => {
|
|
|
184
184
|
return {
|
|
185
185
|
label: props.label,
|
|
186
186
|
margin: 'none',
|
|
187
|
-
color: hasError.value ? 'negative' : 'grey-
|
|
187
|
+
color: hasError.value ? 'negative' : 'grey-10'
|
|
188
188
|
}
|
|
189
189
|
})
|
|
190
190
|
|
|
@@ -268,7 +268,7 @@ function useList () {
|
|
|
268
268
|
|
|
269
269
|
function getRemoveButtonProps ({ option }) {
|
|
270
270
|
return {
|
|
271
|
-
color: 'grey-
|
|
271
|
+
color: 'grey-10',
|
|
272
272
|
icon: 'sym_r_delete',
|
|
273
273
|
variant: 'tertiary',
|
|
274
274
|
disable: props.disable || !!option.disable,
|
|
@@ -149,7 +149,7 @@ export default {
|
|
|
149
149
|
field: name,
|
|
150
150
|
label,
|
|
151
151
|
name,
|
|
152
|
-
headerClasses: 'text-grey-
|
|
152
|
+
headerClasses: 'text-grey-10'
|
|
153
153
|
})
|
|
154
154
|
}
|
|
155
155
|
|
|
@@ -333,13 +333,17 @@ export default {
|
|
|
333
333
|
|
|
334
334
|
td {
|
|
335
335
|
@include set-typography($body1);
|
|
336
|
+
|
|
337
|
+
&:before {
|
|
338
|
+
transition: background-color var(--qas-generic-transition);
|
|
339
|
+
}
|
|
336
340
|
}
|
|
337
341
|
|
|
338
342
|
tr {
|
|
339
|
-
transition: background-color var(--qas-generic-transition);
|
|
340
|
-
|
|
341
343
|
&:hover {
|
|
342
|
-
|
|
344
|
+
td:before {
|
|
345
|
+
background-color: var(--qas-background-color);
|
|
346
|
+
}
|
|
343
347
|
}
|
|
344
348
|
}
|
|
345
349
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</slot>
|
|
22
22
|
|
|
23
23
|
<slot :item="item" name="description">
|
|
24
|
-
<div class="text-body1 text-grey-
|
|
24
|
+
<div class="text-body1 text-grey-10">
|
|
25
25
|
{{ item[descriptionKey] }}
|
|
26
26
|
</div>
|
|
27
27
|
</slot>
|
|
@@ -89,7 +89,7 @@ function getFormattedValue (item, mask) {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
.q-timeline__subtitle {
|
|
92
|
-
color: $
|
|
92
|
+
color: $grey-10;
|
|
93
93
|
opacity: initial;
|
|
94
94
|
padding-right: 0;
|
|
95
95
|
position: relative;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
<span v-if="hasMenuButton(node)" class="q-ml-sm">
|
|
11
11
|
<!-- TODO: rever para o uso QasActionsMenu -->
|
|
12
|
-
<qas-btn color="grey-
|
|
12
|
+
<qas-btn color="grey-10" icon="sym_r_more_vert" variant="tertiary" @click.stop.prevent>
|
|
13
13
|
<q-menu auto-close>
|
|
14
14
|
<q-list separator>
|
|
15
15
|
<q-item v-if="useAddButton" v-ripple class="qas-tree-generator__item" clickable @click="handleTreeFormDialog(node, true, tree)">
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
<div class="q-mb-xl qas-welcome text-left">
|
|
3
3
|
<div class="items-center justify-between row">
|
|
4
4
|
<div>
|
|
5
|
-
<h3 class="text-
|
|
5
|
+
<h3 class="text-h3">
|
|
6
6
|
{{ welcomeMessage }}<span v-if="firstName">, {{ firstName }}</span>
|
|
7
7
|
</h3>
|
|
8
8
|
|
|
9
|
-
<div class="text-caption
|
|
9
|
+
<div class="text-caption">{{ currentDay }}</div>
|
|
10
10
|
</div>
|
|
11
11
|
|
|
12
12
|
<slot name="actions">
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { reactive, computed } from 'vue'
|
|
2
|
-
import { findLastIndex } from 'lodash-es'
|
|
3
2
|
|
|
4
3
|
const history = reactive({ list: [] })
|
|
5
4
|
|
|
@@ -7,17 +6,18 @@ export default function () {
|
|
|
7
6
|
const hasPreviousRoute = computed(() => history.list.length > 1)
|
|
8
7
|
|
|
9
8
|
function getPreviousRoute (currentRoute) {
|
|
10
|
-
const index =
|
|
9
|
+
const index = history.list.findLastIndex(item => item.name === currentRoute.name)
|
|
11
10
|
|
|
12
11
|
if (~index) {
|
|
13
12
|
history.list.splice(index, 1)
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
return history.list
|
|
15
|
+
return history.list.at(-1)
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
function addRoute (route) {
|
|
20
|
-
const
|
|
19
|
+
const lastRoute = history.list?.at(-1)
|
|
20
|
+
const routeExistsInList = lastRoute?.name === route.name
|
|
21
21
|
|
|
22
22
|
if (routeExistsInList) return
|
|
23
23
|
|
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
.q-field
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
.q-field {
|
|
2
|
+
&__label,
|
|
3
|
+
&--dense &__label {
|
|
4
|
+
@include set-typography($body1);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
&__native,
|
|
8
|
+
&__input,
|
|
9
|
+
&--dense &__native,
|
|
10
|
+
&--dense &__input {
|
|
11
|
+
@include set-typography($body1);
|
|
12
|
+
|
|
13
|
+
color: $grey-10;
|
|
14
|
+
|
|
15
|
+
&::placeholder {
|
|
16
|
+
color: $grey-6;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&--outlined .q-field__control {
|
|
21
|
+
background-color: white;
|
|
22
|
+
border-radius: $generic-border-radius;
|
|
23
|
+
}
|
|
4
24
|
}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
-
.q-
|
|
2
|
-
|
|
1
|
+
.q-radio {
|
|
2
|
+
&__label {
|
|
3
|
+
@include set-typography($body1);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
&__inner::before {
|
|
7
|
+
color: $primary;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
&.disabled {
|
|
11
|
+
.q-radio__label,
|
|
12
|
+
.q-radio__inner {
|
|
13
|
+
color: $grey-6;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
3
16
|
}
|
|
@@ -33,7 +33,7 @@ $h3: (
|
|
|
33
33
|
);
|
|
34
34
|
|
|
35
35
|
$h4: (
|
|
36
|
-
size: 1.
|
|
36
|
+
size: 1.25rem,
|
|
37
37
|
line-height: 140%,
|
|
38
38
|
letter-spacing: 0,
|
|
39
39
|
weight: 600,
|
|
@@ -137,3 +137,13 @@ $h-tags: (
|
|
|
137
137
|
margin: map.get($value, 'margin');
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
+
|
|
141
|
+
// Defini as cores para os headings
|
|
142
|
+
h1, .text-h1,
|
|
143
|
+
h2, .text-h2,
|
|
144
|
+
h3, .text-h3,
|
|
145
|
+
h4, .text-h4,
|
|
146
|
+
h5, .text-h5,
|
|
147
|
+
h6, .text-h6 {
|
|
148
|
+
color: $grey-10;
|
|
149
|
+
}
|
package/src/index.scss
CHANGED
|
@@ -9,7 +9,7 @@ $accent: var(--q-accent);
|
|
|
9
9
|
|
|
10
10
|
// Asteroid variables
|
|
11
11
|
:root {
|
|
12
|
-
--qas-background-color:
|
|
12
|
+
--qas-background-color: rgba(15, 83, 175, 0.03);
|
|
13
13
|
--qas-border-grey: #{$grey-4};
|
|
14
14
|
--qas-generic-border-radius: 4px;
|
|
15
15
|
--qas-generic-transition: 300ms;
|
|
@@ -25,6 +25,9 @@ $border-grey: var(--qas-border-grey);
|
|
|
25
25
|
// variables
|
|
26
26
|
@import './css/variables/index';
|
|
27
27
|
|
|
28
|
+
// mixins
|
|
29
|
+
@import './css/mixins/index';
|
|
30
|
+
|
|
28
31
|
// components
|
|
29
32
|
@import './css/components/index';
|
|
30
33
|
|
|
@@ -33,6 +36,3 @@ $border-grey: var(--qas-border-grey);
|
|
|
33
36
|
|
|
34
37
|
// utils
|
|
35
38
|
@import './css/utils/index';
|
|
36
|
-
|
|
37
|
-
// mixins
|
|
38
|
-
@import './css/mixins/index';
|