cambio heavys
This commit is contained in:
67
nuxt4-app/app/composables/useInformeLayout.ts
Normal file
67
nuxt4-app/app/composables/useInformeLayout.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
import { inject, ref, type Ref, type Component, type VNode } from 'vue'
|
||||
|
||||
export interface FiltrosResumen {
|
||||
count: number
|
||||
summary: string
|
||||
results: number
|
||||
}
|
||||
|
||||
export interface DatasourceCounts {
|
||||
[key: string]: number
|
||||
}
|
||||
|
||||
export interface ActiveFilter {
|
||||
type: string
|
||||
label: string
|
||||
value: any
|
||||
onRemove: () => void
|
||||
}
|
||||
|
||||
export function useInformeLayout() {
|
||||
const setFiltrosResumenFn = inject<(resumen: FiltrosResumen | null) => void>('setFiltrosResumen')
|
||||
const setDatasourceCountsFn = inject<(counts: DatasourceCounts) => void>('setDatasourceCounts')
|
||||
const setFilteredResultsFn = inject<(results: DatasourceCounts) => void>('setFilteredResults')
|
||||
const setActiveFiltersFn = inject<(filters: ActiveFilter[]) => void>('setActiveFilters')
|
||||
const filtrosCollapsedRef = inject<Ref<boolean>>('filtrosCollapsed')
|
||||
const metadatosCollapsedRef = inject<Ref<boolean>>('metadatosCollapsed')
|
||||
|
||||
function setFiltrosResumen(count: number, summary: string, results: number) {
|
||||
if (setFiltrosResumenFn) {
|
||||
setFiltrosResumenFn({ count, summary, results })
|
||||
}
|
||||
}
|
||||
|
||||
function clearFiltrosResumen() {
|
||||
if (setFiltrosResumenFn) {
|
||||
setFiltrosResumenFn(null)
|
||||
}
|
||||
}
|
||||
|
||||
function setDatasourceCounts(counts: DatasourceCounts) {
|
||||
if (setDatasourceCountsFn) {
|
||||
setDatasourceCountsFn(counts)
|
||||
}
|
||||
}
|
||||
|
||||
function setFilteredResults(results: DatasourceCounts) {
|
||||
if (setFilteredResultsFn) {
|
||||
setFilteredResultsFn(results)
|
||||
}
|
||||
}
|
||||
|
||||
function setActiveFilters(filters: ActiveFilter[]) {
|
||||
if (setActiveFiltersFn) {
|
||||
setActiveFiltersFn(filters)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
setFiltrosResumen,
|
||||
clearFiltrosResumen,
|
||||
setDatasourceCounts,
|
||||
setFilteredResults,
|
||||
setActiveFilters,
|
||||
filtrosCollapsed: filtrosCollapsedRef || ref(false),
|
||||
metadatosCollapsed: metadatosCollapsedRef || ref(false)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user