Update SW cache

This commit is contained in:
Zakary Timson 2018-08-08 14:43:43 -04:00
parent 6565178ecd
commit 538c585cc1
2 changed files with 59 additions and 53 deletions

View File

@ -1,31 +1,37 @@
import {Component, OnInit} from '@angular/core';
import {Router, NavigationEnd} from '@angular/router';
import {ElectronService} from 'ngx-electron';
import {filter} from 'rxjs/operators';
import {MatDialog} from '@angular/material';
import {LoginComponent} from './login/login.component';
import {LocalStorage} from 'webstorage-decorators';
import {AppStore} from './app.store';
import {AngularFireAuth} from '../../node_modules/angularfire2/auth';
import { Component, OnInit } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';
import { ElectronService } from 'ngx-electron';
import { filter } from 'rxjs/operators';
import { MatDialog } from '@angular/material';
import { LoginComponent } from './login/login.component';
import { LocalStorage } from 'webstorage-decorators';
import { AppStore } from './app.store';
import { AngularFireAuth } from '../../node_modules/angularfire2/auth';
import { SwUpdate } from '../../node_modules/@angular/service-worker';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html'
})
export class AppComponent implements OnInit {
@LocalStorage({defaultValue: [], encryptionKey: 'HmRoBFUEVWqW5uvy'})
cart: {id: string; item: string; price: number; currency: 'CAD' | 'USD'; quantity: number}[];
@LocalStorage({ defaultValue: [], encryptionKey: 'HmRoBFUEVWqW5uvy' })
cart: { id: string; item: string; price: number; currency: 'CAD' | 'USD'; quantity: number }[];
constructor(
private router: Router,
private dialog: MatDialog,
private updates: SwUpdate,
public electron: ElectronService,
public store: AppStore,
public afAuth: AngularFireAuth
) {}
) {
updates.available.subscribe(event => {
if (event.current != event.available) updates.activateUpdate().then(() => document.location.reload());
});
}
cartAdd(id: string, item: string, price: number, currency: 'CAD' | 'USD', quantity: number) {
this.cart = [{id: id, item: item, price: Number(price), currency: currency, quantity: Number(quantity)}].concat(
this.cart = [{ id: id, item: item, price: Number(price), currency: currency, quantity: Number(quantity) }].concat(
this.cart
);
}

View File

@ -1,35 +1,35 @@
import {BrowserModule} from '@angular/platform-browser';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {RouterModule} from '@angular/router';
import {AngularFireModule} from 'angularfire2';
import {AngularFirestoreModule, AngularFirestore} from 'angularfire2/firestore';
import {NgModule} from '@angular/core';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {AppComponent} from './app.component';
import {environment} from '../environments/environment';
import {ConvertFromGPipe, ConvertToGPipe} from './formulaManager/units.pipe';
import {ScalePipe} from './formulaManager/scale.pipe';
import {AngularMaterialModule} from './material.module';
import {HomeComponent} from './home/home.component';
import {ServiceWorkerModule} from '@angular/service-worker';
import {FormulaManagerComponent} from './formulaManager/formulaManager.component';
import {NgxElectronModule} from 'ngx-electron';
import {AboutComponent} from './about/about.component';
import {CategoriesComponent} from './store/categories.component';
import {AngularFireStorageModule} from 'angularfire2/storage';
import {LoginComponent} from './login/login.component';
import {AngularFireAuthModule} from 'angularfire2/auth';
import {NewCategoryComponent} from './store/newCategory/newCategory.component';
import {NewProductComponent} from './store/newProduct/newProduct.component';
import {DeleteComponent} from './delete/delete.component';
import {ProductsComponent} from './store/products/products.component';
import {CartComponent} from './store/cart/cart.component';
import {ViewComponents} from './formulaManager/viewComponents/viewComponents.component';
import {NewComponentComponent} from './formulaManager/newComponent/newComponent.component';
import {HttpModule} from '@angular/http';
import {NewFormulaComponent} from './formulaManager/newFormula/newFormula.component';
import {AppStore} from './app.store';
import {SlideshowModule} from 'ng-simple-slideshow';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterModule } from '@angular/router';
import { AngularFireModule } from 'angularfire2';
import { AngularFirestoreModule, AngularFirestore } from 'angularfire2/firestore';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { environment } from '../environments/environment';
import { ConvertFromGPipe, ConvertToGPipe } from './formulaManager/units.pipe';
import { ScalePipe } from './formulaManager/scale.pipe';
import { AngularMaterialModule } from './material.module';
import { HomeComponent } from './home/home.component';
import { ServiceWorkerModule } from '@angular/service-worker';
import { FormulaManagerComponent } from './formulaManager/formulaManager.component';
import { NgxElectronModule } from 'ngx-electron';
import { AboutComponent } from './about/about.component';
import { CategoriesComponent } from './store/categories.component';
import { AngularFireStorageModule } from 'angularfire2/storage';
import { LoginComponent } from './login/login.component';
import { AngularFireAuthModule } from 'angularfire2/auth';
import { NewCategoryComponent } from './store/newCategory/newCategory.component';
import { NewProductComponent } from './store/newProduct/newProduct.component';
import { DeleteComponent } from './delete/delete.component';
import { ProductsComponent } from './store/products/products.component';
import { CartComponent } from './store/cart/cart.component';
import { ViewComponents } from './formulaManager/viewComponents/viewComponents.component';
import { NewComponentComponent } from './formulaManager/newComponent/newComponent.component';
import { HttpModule } from '@angular/http';
import { NewFormulaComponent } from './formulaManager/newFormula/newFormula.component';
import { AppStore } from './app.store';
import { SlideshowModule } from 'ng-simple-slideshow';
@NgModule({
declarations: [
@ -64,15 +64,15 @@ import {SlideshowModule} from 'ng-simple-slideshow';
NgxElectronModule,
ReactiveFormsModule,
RouterModule.forRoot([
{path: 'about', component: AboutComponent},
{path: 'cart', component: CartComponent},
{path: 'formulaManager', component: FormulaManagerComponent},
{path: 'products/:product', component: ProductsComponent},
{path: 'store/:category', component: CategoriesComponent},
{path: 'store', component: CategoriesComponent},
{path: '**', component: HomeComponent}
{ path: 'about', component: AboutComponent },
{ path: 'cart', component: CartComponent },
{ path: 'formulaManager', component: FormulaManagerComponent },
{ path: 'products/:product', component: ProductsComponent },
{ path: 'store/:category', component: CategoriesComponent },
{ path: 'store', component: CategoriesComponent },
{ path: '**', component: HomeComponent }
]),
ServiceWorkerModule.register('/ngsw-worker.js', {enabled: false}),
ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production }),
SlideshowModule
],
providers: [AppStore],