Skip to main content
Módulo Vuex que mantém a lista de filtros ativos e os query params iniciais de listagem. Trabalha em conjunto com o módulo queryParams para refletir o estado dos filtros na URL.

State

PropriedadeTipoDescrição
activeFiltersArrayLista de filtros atualmente ativos.
queryParamsObjectQuery params base de listagem: filter_id, category_id, brand_id, promotion_id.

Getters

GetterTipoDescrição
activeFiltersArrayLista de filtros ativos.
queryParamsObjectQuery params base do módulo de filtros.

Actions

ActionParâmetrosDescrição
addActiveFilterfilter: ObjectAdiciona um filtro à lista de filtros ativos.
removeActiveFilter{ alias }Remove um filtro da lista pelo alias.
bootQueryParamsInicializa os query params a partir da URL atual, incluindo contexto de categoria/coleção/promoção.

Estrutura de um filtro ativo

{
    id: 123,
    key: 'brand_id',        // tipo do filtro
    alias: 'brand_id-123',  // identificador único
    name: 'Nike',           // nome exibido
    query: { brand_id: 123 },
}

Uso

import { mapGetters, mapActions } from 'vuex';

export default {
    computed: {
        ...mapGetters('filters', ['activeFilters']),
    },
    methods: {
        ...mapActions('filters', ['addActiveFilter', 'removeActiveFilter']),
    },
};