frontend/src/app/components/stocks/stocks.component.ts
import { Component, OnInit } from "@angular/core";import { ActivatedRoute, Router } from "@angular/router";import { Stock } from "../../models/stock/stock";import { StockService } from "../../services/stock/stock.service";import { CrumbTrailComponent, Icon} from "../crumb-trail/crumb-trail.component";import { InventoryService } from "../../services/inventory/inventory.service";import { ThingService } from "../../services/thing/thing.service"; @Component({ selector: "app-stocks", templateUrl: "./stocks.component.html", styleUrls: ["./stocks.component.scss"]})export class StocksComponent implements OnInit { // Flags oof = false; unauthorized = false; notFound = false; loading = true; // UUIDs inventoryUuid: string; thingUuid: string; /** * An array of all Stocks to be listed in this component */ stocks: Stock[] = []; constructor( private ss: StockService, private route: ActivatedRoute, private is: InventoryService, private ts: ThingService ) {} async ngOnInit(): Promise<void> { // Get the inventory UUID this.inventoryUuid = this.route.snapshot.params.inventoryUuid; // Get the Thing UUID this.thingUuid = this.route.snapshot.params.thingUuid; await this.is.ready; await this.ts.ready; CrumbTrailComponent.crumbs = [Identical blocks of code found in 5 locations. Consider refactoring. { icon: Icon.Inventory, title: this.is.inventories[this.inventoryUuid].name, routerLink: `/inventories` },Identical blocks of code found in 3 locations. Consider refactoring. { icon: Icon.Thing, title: this.ts.things[this.inventoryUuid].find( thing => thing.uuid === this.thingUuid ).name, routerLink: `/inventories/${this.inventoryUuid}/things` }, { icon: Icon.Stock, title: "Stocks" } ]; // Fetch the Stocks await this.getStocks(); } async getStocks(): Promise<void> { try { // Wait for the StockService to be ready await this.ss.ready; // Get the Stocks console.log("Stocks array:\n" + JSON.stringify(this.ss.stocks)); this.stocks = this.ss.stocks[this.inventoryUuid][this.thingUuid]; this.loading = false; } catch (error) { this.oof = true; console.log( "Unknown error in getStocks [StocksComponent] while creating" ); console.error(error); } }}