{"version":3,"file":"dashboard-api-c685547f.js","sources":["../../../app/javascript/composeables/dashboard-api.js"],"sourcesContent":["import axios from 'axios';\nimport { useStore } from 'vuex';\nimport { flashMessage } from '@/composeables/helpers';\n\nexport function useDashboardApi() {\n const getDashboards = async (searchPhrase = '') => {\n const response = await axios.get(`/dashboard.json?search=${searchPhrase}`);\n return response.data;\n };\n\n const updateDashboard = async (id, params) => {\n const response = await axios.post(`/dashboard/${id}`, params);\n return response.data;\n };\n\n const createDashboard = async params => {\n const response = await axios.post('/dashboard', params);\n return response.data;\n };\n\n const deleteDashboard = async id => {\n const response = await axios.delete(`/dashboard/${id}`);\n return response.data;\n };\n\n const getActiveDashboards = async () => {\n const response = await axios.get('/user_active_dashboards');\n return response.data;\n };\n\n const fetchActiveDashboard = async id => {\n const response = await axios.get(`/user_active_dashboards/${id}`);\n return response.data;\n };\n\n const setActiveDashboard = async params => {\n const response = await axios.post('/user_active_dashboards', params);\n return response.data;\n };\n\n const deleteActiveDashboad = async id => {\n const response = await axios.delete(`/user_active_dashboards/${id}`);\n return response.data;\n };\n\n const addNewWidget = async widget => {\n const response = await axios.post('/dashboard_widgets', widget);\n return response.data;\n };\n\n const updateWidgets = async widgets => {\n //looping in order to handle position updates on multiple widgets\n if (widgets) {\n widgets.forEach(async w => {\n await axios.patch(`/dashboard_widgets/${w.id}`, { ...w });\n });\n }\n };\n\n const deleteWidget = async id => {\n const $store = useStore();\n $store.dispatch('confirm', 'Please confirm you want to remove this widget from dashboard?').then(() => {\n axios.delete(`/dashboard_widgets/${id}`).then(() => {\n flashMessage({\n type: 'success',\n message: 'The selected component has been deleted successfully'\n });\n });\n });\n };\n\n const getFavoritesAndRecents = async () => {\n const response = await axios.get('/dashboard_meta');\n return response.data;\n };\n\n const addDashboardMeta = async meta => {\n const response = await axios.post('/dashboard_meta', meta);\n return response.data;\n };\n\n const deleteDashboardMeta = async meta => {\n const response = await axios.delete(`/dashboard_meta/0`, {\n params: meta\n });\n return response.data;\n };\n\n const getAllTags = async () => {\n const response = await axios.get('/get_all_tags');\n return response.data;\n };\n\n return {\n getDashboards,\n createDashboard,\n updateDashboard,\n deleteDashboard,\n getActiveDashboards,\n fetchActiveDashboard,\n setActiveDashboard,\n deleteActiveDashboad,\n addNewWidget,\n updateWidgets,\n deleteWidget,\n getFavoritesAndRecents,\n addDashboardMeta,\n deleteDashboardMeta,\n getAllTags\n };\n}\n"],"names":["useDashboardApi","searchPhrase","axios","params","id","widget","widgets","w","useStore","flashMessage","meta"],"mappings":"kEAIO,SAASA,GAAkB,CAyFhC,MAAO,CACL,cAzFoB,MAAOC,EAAe,MACzB,MAAMC,EAAM,IAAI,0BAA0BD,CAAY,EAAE,GACzD,KAwFhB,gBAhFsB,MAAME,IACX,MAAMD,EAAM,KAAK,aAAcC,CAAM,GACtC,KA+EhB,gBAtFsB,MAAOC,EAAID,KAChB,MAAMD,EAAM,KAAK,cAAcE,CAAE,GAAID,CAAM,GAC5C,KAqFhB,gBA7EsB,MAAMC,IACX,MAAMF,EAAM,OAAO,cAAcE,CAAE,EAAE,GACtC,KA4EhB,oBAzE0B,UACT,MAAMF,EAAM,IAAI,yBAAyB,GAC1C,KAwEhB,qBArE2B,MAAME,IAChB,MAAMF,EAAM,IAAI,2BAA2BE,CAAE,EAAE,GAChD,KAoEhB,mBAjEyB,MAAMD,IACd,MAAMD,EAAM,KAAK,0BAA2BC,CAAM,GACnD,KAgEhB,qBA7D2B,MAAMC,IAChB,MAAMF,EAAM,OAAO,2BAA2BE,CAAE,EAAE,GACnD,KA4DhB,aAzDmB,MAAMC,IACR,MAAMH,EAAM,KAAK,qBAAsBG,CAAM,GAC9C,KAwDhB,cArDoB,MAAMC,GAAW,CAEjCA,GACFA,EAAQ,QAAQ,MAAMC,GAAK,CACzB,MAAML,EAAM,MAAM,sBAAsBK,EAAE,EAAE,GAAI,CAAE,GAAGA,CAAC,CAAE,CAChE,CAAO,CAEP,EA+CI,aA7CmB,MAAMH,GAAM,CAChBI,IACR,SAAS,UAAW,+DAA+D,EAAE,KAAK,IAAM,CACrGN,EAAM,OAAO,sBAAsBE,CAAE,EAAE,EAAE,KAAK,IAAM,CAClDK,EAAa,CACX,KAAM,UACN,QAAS,sDACnB,CAAS,CACT,CAAO,CACP,CAAK,CACL,EAoCI,uBAlC6B,UACZ,MAAMP,EAAM,IAAI,iBAAiB,GAClC,KAiChB,iBA9BuB,MAAMQ,IACZ,MAAMR,EAAM,KAAK,kBAAmBQ,CAAI,GACzC,KA6BhB,oBA1B0B,MAAMA,IACf,MAAMR,EAAM,OAAO,oBAAqB,CACvD,OAAQQ,CACd,CAAK,GACe,KAuBhB,WApBiB,UACA,MAAMR,EAAM,IAAI,eAAe,GAChC,IAmBpB,CACA"}