- cleaned some code.
- routing offline - pushNotification
This commit is contained in:
@@ -182,10 +182,10 @@
|
||||
}
|
||||
|
||||
|
||||
create () {
|
||||
mounted () {
|
||||
|
||||
// Test this by running the code snippet below and then
|
||||
// use the "Offline" checkbox in DevTools Network panel
|
||||
// use the "Offline" checkbox in DevTools Network panel
|
||||
|
||||
let mythis = this
|
||||
console.log('Event LOAD')
|
||||
@@ -195,12 +195,12 @@
|
||||
|
||||
function updateOnlineStatus(event) {
|
||||
if (navigator.onLine) {
|
||||
console.log('ONLINE!')
|
||||
console.log('EVENT ONLINE!')
|
||||
// handle online status
|
||||
GlobalStore.mutations.setStateConnection('online')
|
||||
mythis.changeIconConn()
|
||||
} else {
|
||||
console.log('OFFLINE!')
|
||||
console.log('EVENT OFFLINE!')
|
||||
// handle offline status
|
||||
GlobalStore.mutations.setStateConnection('offline')
|
||||
mythis.changeIconConn()
|
||||
|
||||
1
src/components/offline/index.ts
Normal file
1
src/components/offline/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export {default as Offline} from './offline.vue'
|
||||
29
src/components/offline/offline.scss
Normal file
29
src/components/offline/offline.scss
Normal file
@@ -0,0 +1,29 @@
|
||||
.svgclass{
|
||||
color: white;
|
||||
transform: translateY(0px);
|
||||
|
||||
}
|
||||
|
||||
.svgclass_animate {
|
||||
transform: translateY(-70px);
|
||||
color: red;
|
||||
}
|
||||
|
||||
#sun {
|
||||
animation: gravity 5s infinite;
|
||||
|
||||
}
|
||||
|
||||
@keyframes gravity{
|
||||
0%{
|
||||
transform: rotateY(0deg);
|
||||
}
|
||||
100%{
|
||||
transform: rotateY(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
#smile{
|
||||
opacity: 0.1 !important;
|
||||
fill: red;
|
||||
}
|
||||
53
src/components/offline/offline.ts
Normal file
53
src/components/offline/offline.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import Vue from 'vue'
|
||||
import { Component } from 'vue-property-decorator'
|
||||
|
||||
import { TimelineLite, Back } from 'gsap'
|
||||
|
||||
import $ from 'jquery'
|
||||
import Timeout = NodeJS.Timeout
|
||||
|
||||
@Component({
|
||||
|
||||
})
|
||||
export default class Offline extends Vue {
|
||||
logoimg: string = ''
|
||||
|
||||
created() {
|
||||
this.logoimg = 'statics/images/' + process.env.LOGO_REG
|
||||
this.animate()
|
||||
}
|
||||
|
||||
animate () {
|
||||
const timeline = new TimelineLite()
|
||||
|
||||
/*
|
||||
|
||||
let mysmile = $('#smile')
|
||||
|
||||
mysmile.attr('class', 'smile_hide')
|
||||
|
||||
setTimeout(() => {
|
||||
mysmile.removeClass('smilevisible')
|
||||
mysmile.addClass('smile_hide')
|
||||
}, 1000)
|
||||
|
||||
|
||||
setTimeout(() => {
|
||||
mysmile.addClass('smilevisible')
|
||||
mysmile.removeClass('smile_hide')
|
||||
}, 10000)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
timeline.to('#smile', 5, {
|
||||
cy: 20,
|
||||
cx: 60,
|
||||
ease: Back.easeInOut // Specify an ease
|
||||
})
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
11
src/components/offline/offline.vue
Normal file
11
src/components/offline/offline.vue
Normal file
@@ -0,0 +1,11 @@
|
||||
<template>
|
||||
<div id="offline">
|
||||
Offline Page !
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" src="./offline.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './offline.scss';
|
||||
</style>
|
||||
@@ -39,6 +39,7 @@ export default class SingleTodo extends Vue {
|
||||
public colProgress: string = 'blue'
|
||||
public togglemenu: boolean = false
|
||||
public percentageProgress: number = 0
|
||||
public itemtodoPrec: ITodo
|
||||
$q: any
|
||||
|
||||
@Prop({ required: true }) itemtodo: ITodo
|
||||
@@ -292,6 +293,9 @@ export default class SingleTodo extends Vue {
|
||||
|
||||
this.itemtodo.descr = this.precDescr
|
||||
console.log('updateTodo', this.precDescr, this.itemtodo.descr)
|
||||
console.log('itemtodo', this.itemtodo)
|
||||
console.log('Prec:', this.itemtodoPrec)
|
||||
|
||||
this.watchupdate()
|
||||
this.inEdit = false
|
||||
// this.precDescr = this.itemtodo.descr
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="flex-item btn-item">-->
|
||||
<!--{{classPosItemPopup}}-->
|
||||
<!--{{itemtodo.expiring_at}}-->
|
||||
<!--</div>-->
|
||||
<!--<div class="flex-item btn-item">-->
|
||||
<!--<q-btn class="mybtn" round color="" icon="delete" @click.native="removeitem(itemtodo._id)"></q-btn>-->
|
||||
|
||||
@@ -287,7 +287,7 @@ export default class Todo extends Vue {
|
||||
let update = false
|
||||
await this.todos_arr.forEach((elem: ITodo) => {
|
||||
if (elem.modified) {
|
||||
// console.log('calling MODIFY 3')
|
||||
console.log('calling MODIFY 3')
|
||||
this.modify(elem, false)
|
||||
update = true
|
||||
elem.modified = false
|
||||
@@ -448,17 +448,17 @@ 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!')
|
||||
}
|
||||
// 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) {
|
||||
await navigator.serviceWorker.ready
|
||||
.then(function (sw) {
|
||||
// _id: new Date().toISOString(),
|
||||
console.log('---------------------- navigator.serviceWorker.ready')
|
||||
// console.log('---------------------- navigator.serviceWorker.ready')
|
||||
|
||||
// mythis.sendMessageToSW(item, method)
|
||||
|
||||
@@ -469,20 +469,20 @@ export default class Todo extends Vue {
|
||||
})
|
||||
const sep = '|'
|
||||
|
||||
let multiparams = cmdSw + sep + table + sep + method + sep + UserStore.state.idToken + sep + UserStore.state.lang
|
||||
let multiparams = cmdSw + sep + table + sep + method + sep + UserStore.state.x_auth_token + 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 {
|
||||
// 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)
|
||||
}
|
||||
// }
|
||||
})
|
||||
.then(function () {
|
||||
|
||||
@@ -515,12 +515,12 @@ export default class Todo extends Vue {
|
||||
}
|
||||
|
||||
async saveItemToSyncAndDb(table: String, method, item: ITodo, update: boolean) {
|
||||
return await this.cmdToSyncAndDb(rescodes.DB.CMD_SYNC_NEW_TODOS, table, method, item, 0, 'Your Post was saved for syncing!', update)
|
||||
return await this.cmdToSyncAndDb(rescodes.DB.CMD_SYNC_NEW_TODOS, table, method, item, 0, '', update)
|
||||
}
|
||||
|
||||
|
||||
deleteItemToSyncAndDb(table: String, item: ITodo, id, update: boolean) {
|
||||
return this.cmdToSyncAndDb(rescodes.DB.CMD_DELETE_TODOS, table, 'DELETE', item, id, 'Your Post was canceled for syncing!', update)
|
||||
return this.cmdToSyncAndDb(rescodes.DB.CMD_DELETE_TODOS, table, 'DELETE', item, id, '', update)
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -561,14 +561,14 @@ export default class Todo extends Vue {
|
||||
if (myobjprev !== null) {
|
||||
myobjprev.id_next = myobjtrov.id_next
|
||||
myobjprev.modified = true
|
||||
// console.log('calling MODIFY 2')
|
||||
console.log('calling MODIFY 2')
|
||||
this.modify(myobjprev, false)
|
||||
}
|
||||
|
||||
if (myobjnext !== null) {
|
||||
myobjnext.id_prev = myobjtrov.id_prev
|
||||
myobjnext.modified = true
|
||||
// console.log('calling MODIFY 1')
|
||||
console.log('calling MODIFY 1')
|
||||
this.modify(myobjnext, false)
|
||||
}
|
||||
|
||||
@@ -703,7 +703,7 @@ export default class Todo extends Vue {
|
||||
}
|
||||
|
||||
updateitem(myobj) {
|
||||
// console.log('updateitem')
|
||||
console.log('calling MODIFY 4 updateitem')
|
||||
this.modify(myobj, true)
|
||||
}
|
||||
|
||||
@@ -751,8 +751,10 @@ export default class Todo extends Vue {
|
||||
// }
|
||||
|
||||
modifyField(recOut, recIn, field) {
|
||||
if (recOut[field] !== recIn[field]) {
|
||||
// console.log('*************** CAMPO ', field, 'MODIFICATO!', recOut[field])
|
||||
if (String(recOut[field]) !== String(recIn[field])) {
|
||||
console.log('*************** CAMPO ', field, 'MODIFICATO!')
|
||||
console.log(recOut[field])
|
||||
console.log(recIn[field])
|
||||
recOut.modified = true
|
||||
recOut[field] = recIn[field]
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user