|
|
|
@ -13,6 +13,7 @@ import { CardDisplayComponent } from "./components/card-display/card-display.com |
|
|
|
|
|
|
|
import { MatTabsModule } from '@angular/material/tabs'; |
|
|
|
import { SetService } from './services/set.service'; |
|
|
|
import { CardService } from './services/card.service'; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
selector: 'app-root', |
|
|
|
@ -27,6 +28,7 @@ export class AppComponent { |
|
|
|
constructor( |
|
|
|
private sheets: googleSheetService, |
|
|
|
private setService: SetService, |
|
|
|
private cardService: CardService, |
|
|
|
private httpClient: HttpClient, |
|
|
|
@Inject(DOCUMENT) private document: Document |
|
|
|
) |
|
|
|
@ -46,50 +48,19 @@ export class AppComponent { |
|
|
|
|
|
|
|
this.setService.loadSetInfo("assets/sets.json").subscribe(data => { |
|
|
|
this.sets = data; |
|
|
|
|
|
|
|
|
|
|
|
if(this.sets != undefined) |
|
|
|
{ |
|
|
|
this.selectedSet = this.sets[0] |
|
|
|
this.sheets.getSet(this.sets[0]).subscribe( values => { |
|
|
|
let bob = values as any; |
|
|
|
this.selectedSet.total = bob.values.length; |
|
|
|
this.cards = this.convertToCardInfo(this.selectedSet, bob.values as Array<Object>); |
|
|
|
this.cards = this.cardService.convertToCardInfo(this.selectedSet, bob.values as Array<Object>) |
|
|
|
}) |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
convertToCardInfo(set: SetInfo, data : Array<Object>) : Array<CardInfo> { |
|
|
|
let cards = new Array<CardInfo>; |
|
|
|
|
|
|
|
let hypercount = 0; |
|
|
|
for (let index in data) |
|
|
|
{ |
|
|
|
let item = data[index] as Array<number> |
|
|
|
let standardInfo = {} as CardInfo; |
|
|
|
|
|
|
|
standardInfo.setNumber = parseInt(item[0].toString()); |
|
|
|
|
|
|
|
if(set.noHypers.includes(standardInfo.setNumber) == false) |
|
|
|
{ |
|
|
|
hypercount = hypercount +1; |
|
|
|
standardInfo.hyperspaceSetNumber = set.total+hypercount; |
|
|
|
} |
|
|
|
|
|
|
|
standardInfo.setCode = set.code; |
|
|
|
standardInfo.isLeader = standardInfo.setNumber <= set.leaders; |
|
|
|
standardInfo.isBase = standardInfo.setNumber >= set.leaders && standardInfo.setNumber <= (set.leaders + set.bases); |
|
|
|
standardInfo.standardQuantity = item[1] ? parseInt(item[1].toString()) : 0; |
|
|
|
standardInfo.foilQuantity = item[2] ? parseInt(item[2].toString()) as number : 0; |
|
|
|
standardInfo.hyperspaceQuantity = item[3] ? parseInt(item[3].toString()) as number : 0; |
|
|
|
standardInfo.hyperspaceFoilQuantity = item[4] ? parseInt(item[4].toString()) as number : 0; |
|
|
|
|
|
|
|
cards.push(standardInfo); |
|
|
|
} |
|
|
|
|
|
|
|
return cards; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
scrollToTop(): void { |
|
|
|
this.document.body.scrollIntoView({ |
|
|
|
behavior: 'smooth', |
|
|
|
|