- fix Indexdb: 1) InsertTodo OK
This commit is contained in:
@@ -363,21 +363,21 @@ export default class Todo extends Vue {
|
|||||||
this.todo = ''
|
this.todo = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdToSyncAndDb(cmd, table, method, itemOrId, msg: String) {
|
async cmdToSyncAndDb(cmd, table, method, item: ITodo, id, msg: String) {
|
||||||
// Send to Server to Sync
|
// Send to Server to Sync
|
||||||
|
|
||||||
console.log('cmdToSyncAndDb', cmd, table, method, itemOrId, msg)
|
console.log('cmdToSyncAndDb', cmd, table, method, item, id, msg)
|
||||||
|
|
||||||
const mythis = this
|
const mythis = this
|
||||||
if ('serviceWorker' in navigator && 'SyncManager' in window) {
|
if ('serviceWorker' in navigator && 'SyncManager' in window) {
|
||||||
navigator.serviceWorker.ready
|
await navigator.serviceWorker.ready
|
||||||
.then(function (sw) {
|
.then(function (sw) {
|
||||||
// _id: new Date().toISOString(),
|
// _id: new Date().toISOString(),
|
||||||
console.log('---------------------- navigator.serviceWorker.ready')
|
console.log('---------------------- navigator.serviceWorker.ready')
|
||||||
|
|
||||||
// mythis.sendMessageToSW(item, method)
|
// mythis.sendMessageToSW(item, method)
|
||||||
|
|
||||||
globalroutines(mythis, 'write', table, itemOrId)
|
globalroutines(mythis, 'write', table, item, id)
|
||||||
.then(function (id) {
|
.then(function (id) {
|
||||||
console.log('id', id)
|
console.log('id', id)
|
||||||
const sep = '|'
|
const sep = '|'
|
||||||
@@ -396,19 +396,19 @@ export default class Todo extends Vue {
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
if (cmd === rescodes.DB.CMD_SYNC_TODOS)
|
if (cmd === rescodes.DB.CMD_SYNC_TODOS)
|
||||||
Todos.actions.dbSaveTodo(itemOrId)
|
Todos.actions.dbSaveTodo(item)
|
||||||
else if (cmd === rescodes.DB.CMD_DELETE_TODOS)
|
else if (cmd === rescodes.DB.CMD_DELETE_TODOS)
|
||||||
Todos.actions.dbDeleteTodo(itemOrId)
|
Todos.actions.dbDeleteTodo(id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
saveItemToSyncAndDb(table: String, method, item: ITodo) {
|
saveItemToSyncAndDb(table: String, method, item: ITodo) {
|
||||||
return this.cmdToSyncAndDb(rescodes.DB.CMD_SYNC_TODOS, table, method, item, 'Your Post was saved for syncing!')
|
return this.cmdToSyncAndDb(rescodes.DB.CMD_SYNC_TODOS, table, method, item, 0, 'Your Post was saved for syncing!')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
deleteItemToSyncAndDb(table: String, id: String) {
|
deleteItemToSyncAndDb(table: String, id) {
|
||||||
return this.cmdToSyncAndDb(rescodes.DB.CMD_DELETE_TODOS, table, 'DELETE', id, 'Your Post was canceled for syncing!')
|
return this.cmdToSyncAndDb(rescodes.DB.CMD_DELETE_TODOS, table, 'DELETE', null, id, 'Your Post was canceled for syncing!')
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -464,7 +464,7 @@ export default class Todo extends Vue {
|
|||||||
|
|
||||||
const mythis = this
|
const mythis = this
|
||||||
// Delete item
|
// Delete item
|
||||||
await globalroutines(this, 'delete', 'todos', id)
|
await globalroutines(this, 'delete', 'todos', null, id)
|
||||||
.then((ris) => {
|
.then((ris) => {
|
||||||
console.log('UpdateTable', ris)
|
console.log('UpdateTable', ris)
|
||||||
mythis.updatetable()
|
mythis.updatetable()
|
||||||
@@ -633,7 +633,7 @@ export default class Todo extends Vue {
|
|||||||
|
|
||||||
|
|
||||||
async modify(myobj: ITodo, update: boolean) {
|
async modify(myobj: ITodo, update: boolean) {
|
||||||
await globalroutines(this, 'read', 'todos', myobj._id)
|
await globalroutines(this, 'read', 'todos', null, myobj._id)
|
||||||
.then(miorec => {
|
.then(miorec => {
|
||||||
console.log('ArrTodos: ', myobj.descr, '[', myobj._id, ']')
|
console.log('ArrTodos: ', myobj.descr, '[', myobj._id, ']')
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import indexdb from './indexdb'
|
import indexdb from './indexdb'
|
||||||
|
|
||||||
export default async (context, cmd, table, data = null) => {
|
export default async (context, cmd, table, data, id = '') => {
|
||||||
console.log('globalroutines', cmd, table, data)
|
console.log('globalroutines', cmd, table, data, id)
|
||||||
return await indexdb(context, cmd, table, data)
|
return await indexdb(context, cmd, table, data, id)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ async function readfromIndexDbToStateTodos(context) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default async (context, cmd, table, datakey) => {
|
export default async (context, cmd, table, datakey, id) => {
|
||||||
if (cmd === 'loadapp') {
|
if (cmd === 'loadapp') {
|
||||||
// ****** LOAD APP AL CARICAMENTO ! *******
|
// ****** LOAD APP AL CARICAMENTO ! *******
|
||||||
return saveConfigIndexDb(context, datakey)
|
return saveConfigIndexDb(context, datakey)
|
||||||
@@ -56,8 +56,8 @@ export default async (context, cmd, table, datakey) => {
|
|||||||
} else if (cmd === 'readall') {
|
} else if (cmd === 'readall') {
|
||||||
return await storage.getalldata(table)
|
return await storage.getalldata(table)
|
||||||
} else if (cmd === 'read') {
|
} else if (cmd === 'read') {
|
||||||
return await storage.getdata(table, datakey)
|
return await storage.getdata(table, id)
|
||||||
} else if (cmd === 'delete') {
|
} else if (cmd === 'delete') {
|
||||||
return await storage.deletedata(table, datakey)
|
return await storage.deletedata(table, id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import { rescodes } from "../store/Modules/rescodes";
|
|
||||||
|
|
||||||
export let idbKeyval = (() => {
|
export let idbKeyval = (() => {
|
||||||
let db;
|
let db;
|
||||||
@@ -49,6 +48,7 @@ export let idbKeyval = (() => {
|
|||||||
},
|
},
|
||||||
async getdata(table, key) {
|
async getdata(table, key) {
|
||||||
let req;
|
let req;
|
||||||
|
|
||||||
await withStore('readonly', table, store => {
|
await withStore('readonly', table, store => {
|
||||||
console.log('store', store, 'key', key)
|
console.log('store', store, 'key', key)
|
||||||
req = store.get(key);
|
req = store.get(key);
|
||||||
@@ -70,9 +70,11 @@ export let idbKeyval = (() => {
|
|||||||
},
|
},
|
||||||
async setdata(table, valuekey) {
|
async setdata(table, valuekey) {
|
||||||
|
|
||||||
|
// set only the ID, because it need to delete it
|
||||||
let value = []
|
let value = []
|
||||||
if (table === rescodes.DB.CMD_DELETE_TODOS) {
|
if (table === 'delete_todos') {
|
||||||
value['_id'] = valuekey
|
value['_id'] = valuekey
|
||||||
|
value['value'] = valuekey
|
||||||
}else {
|
}else {
|
||||||
value = valuekey
|
value = valuekey
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ let idbKeyval = (() => {
|
|||||||
|
|
||||||
function getDB() {
|
function getDB() {
|
||||||
if (!db) {
|
if (!db) {
|
||||||
console.log('CREO DB STATICS!')
|
console.log('CREO DB STORAGE JS !')
|
||||||
db = new Promise((resolve, reject) => {
|
db = new Promise((resolve, reject) => {
|
||||||
const openreq = indexedDB.open('mydb3', 11);
|
const openreq = indexedDB.open('mydb3', 11);
|
||||||
|
|
||||||
@@ -40,11 +40,20 @@ let idbKeyval = (() => {
|
|||||||
return {
|
return {
|
||||||
async get(key) {
|
async get(key) {
|
||||||
let req;
|
let req;
|
||||||
await withStore('readonly', store => {
|
await withStore('readonly', 'keyval', store => {
|
||||||
req = store.get(key);
|
req = store.get(key);
|
||||||
});
|
});
|
||||||
return req.result;
|
return req.result;
|
||||||
},
|
},
|
||||||
|
async getdata(table, key) {
|
||||||
|
let req;
|
||||||
|
await withStore('readonly', table, store => {
|
||||||
|
console.log('store', store, 'key', key)
|
||||||
|
req = store.get(key);
|
||||||
|
});
|
||||||
|
console.log('RISFINALE!', req.result)
|
||||||
|
return req.result;
|
||||||
|
},
|
||||||
async getalldata(table) {
|
async getalldata(table) {
|
||||||
let req;
|
let req;
|
||||||
await withStore('readonly', table, store => {
|
await withStore('readonly', table, store => {
|
||||||
@@ -52,18 +61,28 @@ let idbKeyval = (() => {
|
|||||||
});
|
});
|
||||||
return req.result;
|
return req.result;
|
||||||
},
|
},
|
||||||
set(key, value) {
|
async set(key, value) {
|
||||||
return withStore('readwrite', 'keyval', store => {
|
return await withStore('readwrite', 'keyval', store => {
|
||||||
store.put(value, key);
|
store.put(value, key);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
setdata(table, value) {
|
async setdata(table, valuekey) {
|
||||||
return withStore('readwrite', table, store => {
|
|
||||||
|
let value = []
|
||||||
|
if (table === 'delete_todos') {
|
||||||
|
value['_id'] = valuekey
|
||||||
|
}else {
|
||||||
|
value = valuekey
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('setdata', table, value)
|
||||||
|
|
||||||
|
return await withStore('readwrite', table, store => {
|
||||||
store.put(value);
|
store.put(value);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
delete(key) {
|
async delete(key) {
|
||||||
return withStore('readwrite', 'keyval', store => {
|
return await withStore('readwrite', 'keyval', store => {
|
||||||
store.delete(key);
|
store.delete(key);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ export const rescodes = {
|
|||||||
DB: {
|
DB: {
|
||||||
CMD_SYNC_TODOS: 'sync-new-todos',
|
CMD_SYNC_TODOS: 'sync-new-todos',
|
||||||
CMD_DELETE_TODOS: 'sync-delete-todos',
|
CMD_DELETE_TODOS: 'sync-delete-todos',
|
||||||
TABLE_SYNC_TODOS : 'sync_todos,',
|
TABLE_SYNC_TODOS : 'sync_todos',
|
||||||
TABLE_DELETE_TODOS : 'delete_todos,'
|
TABLE_DELETE_TODOS : 'delete_todos'
|
||||||
},
|
},
|
||||||
|
|
||||||
MenuAction: {
|
MenuAction: {
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ export default class Signin extends Vue {
|
|||||||
.then((riscode) => {
|
.then((riscode) => {
|
||||||
if (riscode === rescodes.OK) {
|
if (riscode === rescodes.OK) {
|
||||||
router.push('/signin')
|
router.push('/signin')
|
||||||
globalroutines(this, 'loadapp', null)
|
globalroutines(this, 'loadapp', '')
|
||||||
}
|
}
|
||||||
this.checkErrors(riscode)
|
this.checkErrors(riscode)
|
||||||
this.$q.loading.hide()
|
this.$q.loading.hide()
|
||||||
|
|||||||
Reference in New Issue
Block a user