44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
|  | import { useQueryCriteriaStore } from "../../pinia/queryCriteria/index.js"; | ||
|  | 
 | ||
|  | function getCriteriaKey(tabsActiveName) { | ||
|  |   const key = window.location.href; | ||
|  |   return tabsActiveName ? `${key}/${tabsActiveName}` : key; | ||
|  | } | ||
|  | 
 | ||
|  | export const getQueryCriteria = (tabsActiveName) => { | ||
|  |   const miscellaneousStore = useQueryCriteriaStore(); | ||
|  |   const criteriaKey = getCriteriaKey(tabsActiveName); | ||
|  |   const queryCriteria = miscellaneousStore.getQueryCriteria[criteriaKey] || {}; | ||
|  |   return { | ||
|  |     pagination: queryCriteria.pagination, | ||
|  |     searchForm: queryCriteria.searchForm, | ||
|  |     tabsActiveName, | ||
|  |   }; | ||
|  | }; | ||
|  | export const setQueryCriteria = (data, tabsActiveName) => { | ||
|  |   const miscellaneousStore = useQueryCriteriaStore(); | ||
|  |   const criteriaKey = getCriteriaKey(tabsActiveName); | ||
|  |   miscellaneousStore.setQueryCriteria({ | ||
|  |     ...miscellaneousStore.getQueryCriteria, | ||
|  |     [criteriaKey]: { | ||
|  |       ...miscellaneousStore.getQueryCriteria[criteriaKey], | ||
|  |       ...data, | ||
|  |     }, | ||
|  |   }); | ||
|  | }; | ||
|  | 
 | ||
|  | export const resetQueryCriteria = () => { | ||
|  |   const miscellaneousStore = useQueryCriteriaStore(); | ||
|  |   miscellaneousStore.resetQueryCriteria(); | ||
|  | }; | ||
|  | 
 | ||
|  | export const getTabsActiveName = () => { | ||
|  |   const miscellaneousStore = useQueryCriteriaStore(); | ||
|  |   return miscellaneousStore.getQueryCriteriaTabsActiveName; | ||
|  | }; | ||
|  | 
 | ||
|  | export const setTabsActiveName = (name) => { | ||
|  |   const miscellaneousStore = useQueryCriteriaStore(); | ||
|  |   miscellaneousStore.setQueryCriteriaTabsActiveName(name); | ||
|  | }; |