@bildvitta/quasar-ui-asteroid 3.15.0-beta.10 → 3.15.0-beta.11
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
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<qas-actions-menu v-if="hasActions" :list="actionsMenuProps" :use-label="false" />
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
|
-
<div class="q-my-sm">
|
|
14
|
+
<div class="q-my-sm qas-card__content">
|
|
15
15
|
<slot name="default" />
|
|
16
16
|
</div>
|
|
17
17
|
|
|
@@ -97,6 +97,10 @@ const hasFooter = computed(() => hasFooterSlot.value || hasExpansion.value)
|
|
|
97
97
|
|
|
98
98
|
<style lang="scss">
|
|
99
99
|
.qas-card {
|
|
100
|
+
&__content {
|
|
101
|
+
max-width: 100%;
|
|
102
|
+
}
|
|
103
|
+
|
|
100
104
|
&__router {
|
|
101
105
|
&:hover {
|
|
102
106
|
color: $primary;
|
|
@@ -22,7 +22,7 @@ const props = defineProps({
|
|
|
22
22
|
},
|
|
23
23
|
|
|
24
24
|
modelValue: {
|
|
25
|
-
type: [
|
|
25
|
+
type: [String, Number],
|
|
26
26
|
default: 0
|
|
27
27
|
},
|
|
28
28
|
|
|
@@ -39,7 +39,7 @@ const screen = useScreen()
|
|
|
39
39
|
|
|
40
40
|
const emit = defineEmits(['update:modelValue'])
|
|
41
41
|
|
|
42
|
-
defineExpose({ next, previous })
|
|
42
|
+
defineExpose({ next, previous, goTo })
|
|
43
43
|
|
|
44
44
|
const model = computed({
|
|
45
45
|
get () {
|
|
@@ -63,6 +63,10 @@ function getContext (context) {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
function goTo (step) {
|
|
67
|
+
stepper.value.goTo(step)
|
|
68
|
+
}
|
|
69
|
+
|
|
66
70
|
function next () {
|
|
67
71
|
if (props.disable) return
|
|
68
72
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<qas-stepper ref="stepper" v-model="model" v-bind="stepperProps">
|
|
3
|
+
<template #default>
|
|
4
|
+
<q-step v-for="(step, stepIndex) in props.steps" :key="stepIndex" :done="isDone(stepIndex)" :name="getStepName(stepIndex)" v-bind="stepPropsList[stepIndex]">
|
|
5
|
+
<component :is="step.component" />
|
|
6
|
+
</q-step>
|
|
7
|
+
</template>
|
|
8
|
+
</qas-stepper>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<script setup>
|
|
12
|
+
import { ref, provide, computed } from 'vue'
|
|
13
|
+
|
|
14
|
+
defineOptions({ name: 'QasStepperFormView' })
|
|
15
|
+
|
|
16
|
+
const props = defineProps({
|
|
17
|
+
steps: {
|
|
18
|
+
type: Array,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
formViewProps: {
|
|
23
|
+
type: Object,
|
|
24
|
+
default: () => ({})
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
stepperProps: {
|
|
28
|
+
type: Object,
|
|
29
|
+
default: () => ({})
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
const model = defineModel({ type: Number, default: 1 })
|
|
34
|
+
|
|
35
|
+
const values = ref({})
|
|
36
|
+
const stepPropsList = ref([])
|
|
37
|
+
const stepper = ref(null)
|
|
38
|
+
|
|
39
|
+
setStepProps({ payload: [...props.steps.map(({ stepProps }) => stepProps)] })
|
|
40
|
+
|
|
41
|
+
const defaultFormViewProps = computed(() => {
|
|
42
|
+
return {
|
|
43
|
+
useBoundary: false,
|
|
44
|
+
useNotifySuccess: false,
|
|
45
|
+
...props.formViewProps
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
function setStepProps ({ step, payload }) {
|
|
50
|
+
if (step) {
|
|
51
|
+
stepPropsList.value[step - 1] = payload
|
|
52
|
+
} else {
|
|
53
|
+
stepPropsList.value = payload
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
* - Merge do payload com objetivo de enviar o payload completo de todos steps no stepper final
|
|
59
|
+
* - É possível ir para um step especifico ou somente ir para o próximo.
|
|
60
|
+
*/
|
|
61
|
+
function nextStep ({ payload = {} }) {
|
|
62
|
+
Object.assign(values.value, payload)
|
|
63
|
+
|
|
64
|
+
stepper.value.next()
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function isDone (stepIndex) {
|
|
68
|
+
return model.value > stepIndex + 1
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function getStepName (stepIndex) {
|
|
72
|
+
return stepIndex + 1
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
provide('stepper', {
|
|
76
|
+
stepperModel: model,
|
|
77
|
+
formViewProps: defaultFormViewProps,
|
|
78
|
+
goTo: step => stepper.value.goTo(step),
|
|
79
|
+
next: nextStep,
|
|
80
|
+
previous: () => stepper.value.previous(),
|
|
81
|
+
setStepProps,
|
|
82
|
+
stepsValues: values
|
|
83
|
+
})
|
|
84
|
+
</script>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
type: component
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
desc: Componente para steppers de formulário.
|
|
5
|
+
|
|
6
|
+
props:
|
|
7
|
+
steps:
|
|
8
|
+
desc: Lista de step, cada item possuindo "stepProps" e "component".
|
|
9
|
+
required: true
|
|
10
|
+
type: Array
|
|
11
|
+
|
|
12
|
+
form-view-props:
|
|
13
|
+
desc: Propriedades que serão repassadas para os componentes, podendo repassar coisas que serão comúm entre as páginas, como "entity", "mode".
|
|
14
|
+
type: Object
|
|
15
|
+
|
|
16
|
+
stepper-props:
|
|
17
|
+
desc: Propriedades que serão repassadas para o QasStepper.
|
|
18
|
+
type: Object
|
|
19
|
+
|
|
20
|
+
inject:
|
|
21
|
+
stepper-model:
|
|
22
|
+
desc: Model do stepper caso precise recuperar o step atual para alguma lógica. Possui reatividade, portanto para acessar é necessário do ".value"
|
|
23
|
+
type: Number
|
|
24
|
+
|
|
25
|
+
form-view-props:
|
|
26
|
+
desc: Propriedades do QasFormView que são comuns entre todos os steppers. Possui reatividade, portanto para acessar é necessário do ".value"
|
|
27
|
+
type: Object
|
|
28
|
+
|
|
29
|
+
'goTo: (step) => void':
|
|
30
|
+
desc: Função usada para mudar o step atual.
|
|
31
|
+
params:
|
|
32
|
+
step:
|
|
33
|
+
desc: Nome do step que deseja visualizar.
|
|
34
|
+
type: Number
|
|
35
|
+
|
|
36
|
+
'next: (payload) => void':
|
|
37
|
+
desc: Avança para o próximo step.
|
|
38
|
+
params:
|
|
39
|
+
payload:
|
|
40
|
+
desc: Payload do formulário atual, que será mergeado no "stepperValues", com a intenção de guardar o payload completo para ser enviado no último step.
|
|
41
|
+
type: Object
|
|
42
|
+
|
|
43
|
+
'previous: () => void':
|
|
44
|
+
desc: Volta para o step anterior.
|
|
45
|
+
|
|
46
|
+
'setStepProps: () => void':
|
|
47
|
+
desc: Altera as propriedades de um step específico caso precise que seja alterado com base em alguma lógica atual da página.
|
|
48
|
+
params:
|
|
49
|
+
step:
|
|
50
|
+
desc: Step que deseja alterar as propriedades
|
|
51
|
+
type: Number
|
|
52
|
+
|
|
53
|
+
payload:
|
|
54
|
+
desc: Propriedades do step como "title", "prefix", "caption", entre outros.
|
|
55
|
+
|
|
56
|
+
steps-values:
|
|
57
|
+
desc: Payload com todos valores que foram mergeados através da função "next" ao decorrer dos avanços dos steps. É usado para você recuperar no último step com intenção de enviar o payload completo de todos step para a API. Possui reatividade, portanto para acessar é necessário do ".value"
|
|
58
|
+
type: Object
|
package/src/vue-plugin.js
CHANGED
|
@@ -58,6 +58,7 @@ import QasSingleView from './components/single-view/QasSingleView.vue'
|
|
|
58
58
|
import QasSortable from './components/sortable/QasSortable.vue'
|
|
59
59
|
import QasStatus from './components/status/QasStatus.vue'
|
|
60
60
|
import QasStepper from './components/stepper/QasStepper.vue'
|
|
61
|
+
import QasStepperFormView from './components/stepper-form-view/QasStepperFormView.vue'
|
|
61
62
|
import QasTableGenerator from './components/table-generator/QasTableGenerator.vue'
|
|
62
63
|
import QasTabsGenerator from './components/tabs-generator/QasTabsGenerator.vue'
|
|
63
64
|
import QasTextTruncate from './components/text-truncate/QasTextTruncate.vue'
|
|
@@ -149,6 +150,7 @@ async function install (app) {
|
|
|
149
150
|
app.component('QasSortable', QasSortable)
|
|
150
151
|
app.component('QasStatus', QasStatus)
|
|
151
152
|
app.component('QasStepper', QasStepper)
|
|
153
|
+
app.component('QasStepperFormView', QasStepperFormView)
|
|
152
154
|
app.component('QasTableGenerator', QasTableGenerator)
|
|
153
155
|
app.component('QasTabsGenerator', QasTabsGenerator)
|
|
154
156
|
app.component('QasTextTruncate', QasTextTruncate)
|
|
@@ -241,6 +243,7 @@ export {
|
|
|
241
243
|
QasSortable,
|
|
242
244
|
QasStatus,
|
|
243
245
|
QasStepper,
|
|
246
|
+
QasStepperFormView,
|
|
244
247
|
QasTableGenerator,
|
|
245
248
|
QasTabsGenerator,
|
|
246
249
|
QasTextTruncate,
|