- creating Alternative to SyncManager
- fix: refreshing with FF now it works!
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
|
||||
<q-toolbar-title>
|
||||
{{$t('msg.myAppName')}}
|
||||
<div slot="subtitle">{{$t('msg.myDescriz')}}</div>
|
||||
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>
|
||||
</q-toolbar-title>
|
||||
|
||||
<q-select class="sel_lang" v-model="lang" stack-label="" :options="selectOpLang"/>
|
||||
@@ -96,6 +96,10 @@
|
||||
localStorage.setItem(rescodes.localStorage.leftDrawerOpen, value.toString())
|
||||
}
|
||||
|
||||
getAppVersion() {
|
||||
// return "AA"
|
||||
return "[" + process.env.APP_VERSION + "]"
|
||||
}
|
||||
get lang() {
|
||||
return this.$q.i18n.lang
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import VueIdb from 'vue-idb'
|
||||
import globalroutines from '../../../globalroutines/index'
|
||||
|
||||
import $ from 'jquery'
|
||||
import Api from "@api"
|
||||
|
||||
@Component({
|
||||
|
||||
@@ -76,8 +77,11 @@ export default class Todo extends Vue {
|
||||
}
|
||||
|
||||
|
||||
@Watch('todos_changed', { immediate: true })
|
||||
@Watch('todos_changed', { immediate: true, deep: true })
|
||||
changetodos_changed(value: string, oldValue: string) {
|
||||
|
||||
this.$q.notify('Changed...')
|
||||
|
||||
// console.log('Todos.state.todos_changed CHANGED!', value, oldValue)
|
||||
this.updatetable(true)
|
||||
}
|
||||
@@ -86,9 +90,9 @@ export default class Todo extends Vue {
|
||||
reload_fromServer_changed(value: string, oldValue: string) {
|
||||
console.log('reload_fromServer_changed!', value, oldValue)
|
||||
// if (value) {
|
||||
Todos.actions.dbLoadTodo(false)
|
||||
Todos.actions.dbLoadTodo(false)
|
||||
|
||||
Todos.actions.updateArrayInMemory()
|
||||
Todos.actions.updateArrayInMemory()
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -343,7 +347,7 @@ export default class Todo extends Vue {
|
||||
checkUpdate_everytime() {
|
||||
this.polling = setInterval(() => {
|
||||
this.checkUpdate()
|
||||
}, 10000)
|
||||
}, 10000)
|
||||
}
|
||||
|
||||
copy(o) {
|
||||
@@ -470,8 +474,13 @@ export default class Todo extends Vue {
|
||||
cmdSw = rescodes.DB.CMD_SYNC_TODOS
|
||||
}
|
||||
|
||||
if (process.env.DEV) {
|
||||
console.log('serviceWorker ', ('serviceWorker' in navigator) ? 'PRESENT!' : 'DOESN\'T EXIST!')
|
||||
console.log('SyncManager ', ('SyncManager' in window) ? 'PRESENT!' : 'DOESN\'T EXIST!')
|
||||
}
|
||||
|
||||
const mythis = this
|
||||
if (('serviceWorker' in navigator && 'SyncManager' in window)) {
|
||||
if ('serviceWorker' in navigator) {
|
||||
await navigator.serviceWorker.ready
|
||||
.then(function (sw) {
|
||||
// _id: new Date().toISOString(),
|
||||
@@ -482,18 +491,24 @@ export default class Todo extends Vue {
|
||||
globalroutines(mythis, 'write', table, item, id)
|
||||
.then(function (id) {
|
||||
// console.log('id', id)
|
||||
const sep = '|'
|
||||
|
||||
let multiparams = cmdSw + sep + table + sep + method + sep + UserStore.state.idToken + sep + UserStore.state.lang
|
||||
console.log(' SENDING... sw.sync.register', multiparams)
|
||||
let mymsgkey = {
|
||||
_id: multiparams,
|
||||
value: multiparams
|
||||
})
|
||||
const sep = '|'
|
||||
|
||||
let multiparams = cmdSw + sep + table + sep + method + sep + UserStore.state.idToken + sep + UserStore.state.lang
|
||||
let mymsgkey = {
|
||||
_id: multiparams,
|
||||
value: multiparams
|
||||
}
|
||||
globalroutines(mythis, 'write', 'swmsg', mymsgkey, multiparams)
|
||||
.then(ris => {
|
||||
if ('SyncManager' in window) {
|
||||
console.log(' SENDING... sw.sync.register', multiparams)
|
||||
return sw.sync.register(multiparams)
|
||||
} else {
|
||||
// #Todo ++ Alternative 2 to SyncManager
|
||||
Api.syncAlternative(multiparams)
|
||||
}
|
||||
globalroutines(mythis, 'write', 'swmsg', mymsgkey, multiparams)
|
||||
.then(ris => {
|
||||
return sw.sync.register(multiparams)
|
||||
})
|
||||
})
|
||||
.then(function () {
|
||||
|
||||
@@ -822,6 +837,7 @@ export default class Todo extends Vue {
|
||||
objtodo.descr = 'PROVA'
|
||||
objtodo.category = this.getCategory()
|
||||
Todos.state.todos.push(objtodo)
|
||||
Todos.mutations.setTodos_changed()
|
||||
|
||||
console.log('Todos.state.todos', Todos.state.todos)
|
||||
}
|
||||
@@ -831,7 +847,7 @@ export default class Todo extends Vue {
|
||||
console.log('Todos.state.todos', Todos.state.todos)
|
||||
}
|
||||
|
||||
checkUpdate () {
|
||||
checkUpdate() {
|
||||
Todos.actions.waitAndcheckPendingMsg()
|
||||
}
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
:after="[{icon: 'arrow_forward', content: true, handler () {}}]"
|
||||
v-on:keyup.enter="insertTodo"/>
|
||||
|
||||
<!--<q-input v-model="testPao" float-label="testPao"/>-->
|
||||
<!--<q-input v-model="todos_changed" float-label="todos_changed"/>-->
|
||||
<q-input v-model="testPao" float-label="testPao"/>
|
||||
<q-input v-model="todos_changed" float-label="todos_changed"/>
|
||||
<q-input v-model="reload_fromServer" float-label="reload_fromServer"/>
|
||||
|
||||
<div class="flex-item btn-item">
|
||||
|
||||
Reference in New Issue
Block a user