Ver código fonte

fix: workflows get deleted when edit App component

Ahmad Kholid 3 anos atrás
pai
commit
a2a94b984b
2 arquivos alterados com 11 adições e 9 exclusões
  1. 0 1
      src/newtab/App.vue
  2. 11 8
      src/store/index.js

+ 0 - 1
src/newtab/App.vue

@@ -25,7 +25,6 @@ store
   });
 
 function handleStorageChanged(change) {
-  console.log('testing', change);
   if (change.logs) {
     store.dispatch('entities/create', {
       entity: 'logs',

+ 11 - 8
src/store/index.js

@@ -6,21 +6,24 @@ import * as models from '@/models';
 const store = createStore({
   plugins: [vuexORM(models)],
   actions: {
-    async retrieve({ dispatch }, keys = 'workflows') {
+    async retrieve({ dispatch, getters }, keys = 'workflows') {
       try {
         const data = await browser.storage.local.get(keys);
-        const promises = Object.keys(data).map((entity) =>
-          dispatch('entities/create', {
+        const promises = Object.keys(data).map((entity) => {
+          const entityData = getters[`entities/${entity}/all`]();
+
+          if (entityData.length > 0) return entityData;
+
+          return dispatch('entities/create', {
             entity,
             data: data[entity],
-          })
-        );
-        const result = await Promise.allSettled(promises);
+          });
+        });
 
-        return result;
+        return await Promise.allSettled(promises);
       } catch (error) {
         console.error(error);
-        return [];
+        throw error;
       }
     },
     saveToStorage({ getters }, key) {