55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
|
import { useMiscellaneousStore } from "@/pinia/miscellaneous.js";
|
||
|
|
||
|
export const getQueryCriteria = () => {
|
||
|
const miscellaneousStore = useMiscellaneousStore();
|
||
|
const key = window.location.href;
|
||
|
let queryCriteria = miscellaneousStore.getQueryCriteria[key] || {};
|
||
|
if (queryCriteria.tabsActiveName) {
|
||
|
queryCriteria =
|
||
|
miscellaneousStore.getQueryCriteria[
|
||
|
key + "/" + queryCriteria.tabsActiveName
|
||
|
] || {};
|
||
|
}
|
||
|
const pagination = queryCriteria.pagination;
|
||
|
const searchForm = queryCriteria.searchForm;
|
||
|
const tabsActiveName = queryCriteria.tabsActiveName;
|
||
|
return {
|
||
|
pagination,
|
||
|
searchForm,
|
||
|
tabsActiveName,
|
||
|
};
|
||
|
};
|
||
|
export const setQueryCriteria = (data) => {
|
||
|
const miscellaneousStore = useMiscellaneousStore();
|
||
|
let key = window.location.href;
|
||
|
if (data.tabsActiveName) {
|
||
|
miscellaneousStore.setQueryCriteria({
|
||
|
...miscellaneousStore.getQueryCriteria,
|
||
|
[key]: {
|
||
|
...miscellaneousStore.getQueryCriteria[key],
|
||
|
tabsActiveName: data.tabsActiveName,
|
||
|
},
|
||
|
});
|
||
|
key = key + "/" + data.tabsActiveName;
|
||
|
}
|
||
|
miscellaneousStore.setQueryCriteria({
|
||
|
...miscellaneousStore.getQueryCriteria,
|
||
|
[key]: {
|
||
|
...miscellaneousStore.getQueryCriteria[key],
|
||
|
...data,
|
||
|
},
|
||
|
});
|
||
|
};
|
||
|
|
||
|
export const resetQueryCriteria = () => {
|
||
|
const miscellaneousStore = useMiscellaneousStore();
|
||
|
miscellaneousStore.resetQueryCriteria();
|
||
|
};
|
||
|
|
||
|
export const getTabsActiveName = () => {
|
||
|
const key = window.location.href;
|
||
|
const miscellaneousStore = useMiscellaneousStore();
|
||
|
const queryCriteria = miscellaneousStore.getQueryCriteria[key] || {};
|
||
|
return queryCriteria.tabsActiveName;
|
||
|
};
|