Add service worker; Modify audio player open close subject to be a behaviorsubject

Transactions
= 2017-09-15 18:59:36 -06:00
parent 06a117e64e
commit 3578501586
6 changed files with 63 additions and 48 deletions

View File

@ -9,7 +9,8 @@
"outDir": "../Server/www",
"assets": [
"assets",
"favicon.ico"
"favicon.ico",
"service-worker.js"
],
"index": "index.html",
"main": "main.ts",

View File

@ -43,9 +43,9 @@
}
},
"@angular/animations": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.3.6.tgz",
"integrity": "sha1-v5KD7HyMmLMvVp2E3NoQiQ/cAmI=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.4.1.tgz",
"integrity": "sha1-V42JUaJz7pWTarf2zZM/8BnOD/4=",
"requires": {
"tslib": "1.7.1"
}
@ -124,25 +124,25 @@
}
},
"@angular/common": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-4.3.6.tgz",
"integrity": "sha1-7TfpMHx1Bt2DR5fBps9nXlK1tu4=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/common/-/common-4.4.1.tgz",
"integrity": "sha1-0a6izOvd0t+vcTf1V2DUVjitoko=",
"requires": {
"tslib": "1.7.1"
}
},
"@angular/compiler": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.3.6.tgz",
"integrity": "sha1-vhcN8Ji3HoNczt8WjV+3sj5QRbg=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.4.1.tgz",
"integrity": "sha1-7OajM/jlfoGWefKkA0+AdWS5zEA=",
"requires": {
"tslib": "1.7.1"
}
},
"@angular/compiler-cli": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.3.6.tgz",
"integrity": "sha1-avpq72jdaB5hs5i+TWJw5choCxI=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.4.1.tgz",
"integrity": "sha1-F7O+kD7+HtO7Kx4pFAY0tQD9smU=",
"dev": true,
"requires": {
"@angular/tsc-wrapped": "4.3.6",
@ -159,33 +159,33 @@
}
},
"@angular/core": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-4.3.6.tgz",
"integrity": "sha1-u6xj1o0Pe8s4nRKzQghlK+MofpY=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/core/-/core-4.4.1.tgz",
"integrity": "sha1-o8W4BFJEhTUlPS6rF7YGAdg8wBI=",
"requires": {
"tslib": "1.7.1"
}
},
"@angular/forms": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.3.6.tgz",
"integrity": "sha1-DyDEWXwWoVJ0XXzZVVmFWgpcZoc=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.4.1.tgz",
"integrity": "sha1-KjZEo/hLlqrSQKxsqnTVK/Otoko=",
"requires": {
"tslib": "1.7.1"
}
},
"@angular/http": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/http/-/http-4.3.6.tgz",
"integrity": "sha1-Vjgn0afV6J47fYa3f7vTZ7LAhZE=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/http/-/http-4.4.1.tgz",
"integrity": "sha1-kmXRgCZzql9zrBJfmPznr4tfpyw=",
"requires": {
"tslib": "1.7.1"
}
},
"@angular/language-service": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-4.3.6.tgz",
"integrity": "sha1-cc8tu0ZhVo89EqnA5LngQ++TvTo=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-4.4.1.tgz",
"integrity": "sha1-9Er5mOhP9VZTZC/X1/55WlkgdOw=",
"dev": true
},
"@angular/material": {
@ -197,25 +197,25 @@
}
},
"@angular/platform-browser": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.3.6.tgz",
"integrity": "sha1-YVKx87eNAkb8XhUOL3ue1DN+O6Y=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.4.1.tgz",
"integrity": "sha1-zldkAZdvcdRaI8mmGsBc75CnDwA=",
"requires": {
"tslib": "1.7.1"
}
},
"@angular/platform-browser-dynamic": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.3.6.tgz",
"integrity": "sha1-nqv4JvEZyY+Fwqlu3LGKsAtO+xw=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.4.1.tgz",
"integrity": "sha1-lR3X/bP1oORbxL+ToqfgUd7yTq8=",
"requires": {
"tslib": "1.7.1"
}
},
"@angular/router": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-4.3.6.tgz",
"integrity": "sha1-ZAM+20/NoIoyPnUztKGCDA8o0TA=",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-4.4.1.tgz",
"integrity": "sha1-0skzyEqPUHd5Lnd4dWHuHnpKGhQ=",
"requires": {
"tslib": "1.7.1"
}

View File

@ -15,25 +15,25 @@
},
"private": true,
"dependencies": {
"@angular/animations": "^4.0.0",
"@angular/animations": "^4.4.1",
"@angular/cdk": "^2.0.0-beta.8",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/common": "^4.4.1",
"@angular/compiler": "^4.4.1",
"@angular/core": "^4.4.1",
"@angular/forms": "^4.4.1",
"@angular/http": "^4.4.1",
"@angular/material": "^2.0.0-beta.8",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"@angular/platform-browser": "^4.4.1",
"@angular/platform-browser-dynamic": "^4.4.1",
"@angular/router": "^4.4.1",
"core-js": "^2.4.1",
"rxjs": "^5.4.1",
"zone.js": "^0.8.14"
},
"devDependencies": {
"@angular/cli": "^1.4.2",
"@angular/compiler-cli": "^4.0.0",
"@angular/language-service": "^4.0.0",
"@angular/compiler-cli": "^4.4.1",
"@angular/language-service": "^4.4.1",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",

View File

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { Sermon } from '../interfaces/sermon';
import { AudioStates } from '../enum/audio-states';
import { Subject, Observable } from 'rxjs';
import { Subject, BehaviorSubject, Observable } from 'rxjs';
@Injectable()
export class AudioPlayerService {
@ -12,11 +12,11 @@ export class AudioPlayerService {
private stateChanged: Subject<{metaData:any,state:AudioStates,error:any}>;
public onAudioPlayerOpenClose: Subject<boolean>;
public onAudioPlayerOpenClose: BehaviorSubject<boolean>;
constructor(){
this.stateChanged = new Subject<{metaData:any,state:AudioStates,error:any}>();
this.onAudioPlayerOpenClose = new Subject<boolean>();
this.onAudioPlayerOpenClose = new BehaviorSubject<boolean>(false);
this.audio = new Audio();
this.audio.addEventListener("loadeddata",()=>this.doPlay());
this.audio.addEventListener("error",()=>this.error());

View File

@ -38,5 +38,15 @@
<div class="loader-small">Please Wait...</div>
</div>
</app-root>
<script>
if ('serviceWorker' in navigator){
navigator.serviceWorker.register('/service-worker.js').then(function(registration){
console.log('service worker registered');
}).catch(function(err){
console.log("Service worker registration failed: ",err);
});
}
</script>
</body>
</html>

View File

@ -0,0 +1,4 @@
self.addEventListener('install', function(event) {
// Perform install steps
console.log("installing");
});