import {defineStore} from 'pinia' // @ts-ignore export const useTempStore = defineStore('temp', () => { const auth = useAuthStore() const searchStrings = ref({}) const filters = ref({}) const columns = ref({}) const pages = ref({}) const settings = ref({}) const storeTempConfig = async () => { const config = { searchStrings: searchStrings.value, columns: columns.value, pages: pages.value, settings: settings.value, filters: filters.value } await useNuxtApp().$api(`/api/profiles/${auth.profile.id}`,{ method: 'PUT', body: {temp_config: config} }) } function setStoredTempConfig (config) { searchStrings.value = config.searchStrings columns.value = config.columns pages.value = config.pages settings.value = config.settings filters.value = config.filters || {} } function modifySearchString(type,input) { searchStrings.value[type] = input storeTempConfig() } function clearSearchString(type) { searchStrings.value[type] = "" storeTempConfig() } function modifyFilter(domain,type,input) { if(!filters.value[domain]) filters.value[domain] = {} filters.value[domain][type] = input storeTempConfig() } function modifyColumns(type,input) { columns.value[type] = input storeTempConfig() } function modifyPages(type,input) { pages.value[type] = input storeTempConfig() } function modifySettings(type,input) { settings.value[type] = input storeTempConfig() } return { setStoredTempConfig, searchStrings, modifySearchString, clearSearchString, filters, modifyFilter, columns, modifyColumns, modifyPages, pages, modifySettings, settings } })