Narrativa con scroll
El siguiente ejemplo muestra cómo se puede combinar el uso de sisdai-graficas
con sisdai-componentes
para construir una narrativa visual. Se recomienda consultar sisdai-componentes para conocer más sobre el funcionamiento del componente <SisdaiNarrativa>
Seccion activa: -1
Posicion depurador: 0
Posicion depurador: 0
Viñeta 0
Viñeta 1
Viñeta 2
Viñeta 3
vue
<script setup>
import SisdaiNarrativa from '@centrogeomx/sisdai-componentes/src/componentes/narrativa/SisdaiNarrativa.vue'
import { ref, watch } from 'vue'
const laDona = ref()
const variables_visibles = ref([])
const variables = ref([
{ id: 'Variable A', nombre: 'Variable A', color: '#a1c5ff' },
{ id: 'Variable B', nombre: 'Variable B', color: '#5188e0' },
{ id: 'Variable C', nombre: 'Variable C', color: '#51c96f' },
{ id: 'Variable D', nombre: 'Variable D', color: '#c9c351' },
])
const miNarrativa = ref()
watch(
() => miNarrativa.value?.seccion_visible,
nv => {
if (nv === -1) {
variables_visibles.value = []
} else if (nv === 0) {
variables_visibles.value = ['Variable A']
} else if (nv === 1) {
variables_visibles.value = ['Variable A', 'Variable B']
} else if (nv === 2) {
variables_visibles.value = ['Variable A', 'Variable B', 'Variable C']
} else if (nv === 3) {
variables_visibles.value = [
'Variable A',
'Variable B',
'Variable C',
'Variable D',
]
}
}
)
</script>
<template>
<SisdaiNarrativa ref="miNarrativa">
<template #contenido-fondo-sticky>
<SisdaiGraficas class="p-t-10">
<SisdaiDona
ref="laDona"
:datos="[
{ categoria: 'Variable A', cantidad: 20 },
{ categoria: 'Variable B', cantidad: 20 },
{ categoria: 'Variable C', cantidad: 30 },
{ categoria: 'Variable D', cantidad: 10 },
]"
:variables="variables"
:variables_visibles="variables_visibles"
:nombre_indice="'categoria'"
/>
<template
#panel-pie-vis
v-if="miNarrativa?.seccion_visible === 3"
>
<SisdaiNomenclatura :variables="variables"></SisdaiNomenclatura>
</template>
</SisdaiGraficas>
</template>
<div class="vineta p-1 contenedor">
<div class="contenedor-vineta contenedor alineacion-centrada">
<p class="p-2 texto-centrado">Viñeta 0</p>
</div>
</div>
<div class="vineta p-1 contenedor">
<div class="contenedor-vineta contenedor alineacion-centrada">
<p class="p-2 texto-centrado">Viñeta 1</p>
</div>
</div>
<div class="vineta p-1 contenedor">
<div class="contenedor-vineta contenedor alineacion-centrada">
<p class="p-2 texto-centrado">Viñeta 2</p>
</div>
</div>
<div class="vineta p-1 contenedor">
<div class="contenedor-vineta contenedor alineacion-centrada">
<p class="p-2 texto-centrado">Viñeta 3</p>
</div>
</div>
</SisdaiNarrativa>
</template>
<style scoped>
.contenedor-vineta {
background: var(--color-conahcyt-3);
color: var(--color-conahcyt-0);
max-width: 354px;
}
.vineta {
position: absolute;
}
</style>