- fix: updated from Store to Component: using Watch with 'immediate' parameters! @Watch('todos_changed', { immediate: true, deep: true })

This commit is contained in:
Paolo Arena
2019-02-03 14:40:20 +01:00
parent 990955b6c2
commit 602eb6bc20
6 changed files with 133 additions and 39 deletions

View File

@@ -1,6 +1,6 @@
import store from '../store'
import _ from 'lodash'
import { UserStore } from '@modules'
import { UserStore, Todos } from '@store'
import { i18n } from '../plugins/i18n'
import {idbKeyval as storage} from '../js/storage.js';
@@ -26,39 +26,58 @@ function writeConfigIndexDb(context, data) {
}
async function readfromIndexDbToStateTodos(context) {
async function readfromIndexDbToStateTodos(context, table) {
console.log('*** read from IndexDb to state.todos')
return await storage.getalldata('todos')
.then(ristodos => {
console.log('&&&&&&& readfromIndexDbToStateTodos OK: Num RECORD: ', ristodos.length)
console.log('ristodos:', ristodos)
UserStore.state.todos = [...ristodos]
return await storage.getalldata(table)
.then(records => {
console.log('PRIMA:', Todos.state.todos)
console.log('&&&&&&& readfromIndexDbToStateTodos OK: Num RECORD: ', records.length)
console.log(' records:', records)
if (table === 'todos') {
Todos.state.todos = [...records]
console.log('DOPO:', Todos.state.todos)
Todos.state.todos_changed++
console.log('Todos.state.todos_changed:', Todos.state.todos_changed)
setTimeout(testfunc2, 3000)
}
}).catch((error) => {
console.log('err: ', error)
})
}
export default async (context, cmd, table, datakey, id) => {
function consolelogpao(str, str2 = '', str3 = '') {
console.log(str, str2, str3)
// Todos.mutations.setTestpao(str + str2 + str3)
}
function testfunc2 () {
consolelogpao('testfunc2')
Todos.mutations.setTodos_changed()
Todos.mutations.setTestpao(Todos.state.todos_changed)
consolelogpao('testfunc2: Todos.state.todos_changed:', Todos.state.todos_changed)
}
export default async (context, cmd, table, datakey = null, id = '') => {
if (cmd === 'loadapp') {
// ****** LOAD APP AL CARICAMENTO ! *******
return saveConfigIndexDb(context, datakey)
if ('indexedDB' in window) {
if (!UserStore.state.networkDataReceived) {
return await readfromIndexDbToStateTodos(context)
}
}
} else if (cmd === 'write') {
return await storage.setdata(table, datakey)
} else if (cmd === 'updateinMemory') {
return await readfromIndexDbToStateTodos(context, table)
} else if (cmd === 'readall') {
return await storage.getalldata(table)
} else if (cmd === 'read') {
return await storage.getdata(table, id)
} else if (cmd === 'delete') {
return await storage.deletedata(table, id)
} else if (cmd === 'log') {
consolelogpao(table)
}
}