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);
 | |
| };
 |