Feature: Added product bundles. Have to wire it up to inventory and reports.

This commit is contained in:
2026-01-31 15:16:58 +00:00
parent b79af6e1c6
commit 6e8843d3c4
48 changed files with 2139 additions and 130 deletions
@@ -4,8 +4,9 @@ import { MatCardModule } from '@angular/material/card';
import { MatRippleModule } from '@angular/material/core';
import { ActivatedRoute, RouterLink } from '@angular/router';
import { ProductQuery } from '../../core/product-query';
import { BillService } from '../bill.service';
import { Product } from '../product';
import { ProductLink } from '../bills/product-link';
@Component({
selector: 'app-products',
@@ -17,19 +18,19 @@ export class ProductsComponent implements OnInit {
private route = inject(ActivatedRoute);
private bs = inject(BillService);
list: Product[] = [];
list: ProductQuery[] = [];
ngOnInit() {
this.route.data.subscribe((value) => {
const data = value as { list: Product[] };
const data = value as { list: ProductQuery[] };
this.list = data.list;
});
}
addSku(product: Product): void {
addSku(product: ProductQuery): void {
if (product.isNotAvailable) {
return;
}
this.bs.addSku(product, 1, 0);
this.bs.addSku(new ProductLink(product), 1, 0);
}
}
@@ -1,10 +1,10 @@
import { inject } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { Product } from '../../core/product';
import { ProductQuery } from '../../core/product-query';
import { ProductService } from '../../product/product.service';
export const productsResolver: ResolveFn<Product[]> = (route) => {
export const productsResolver: ResolveFn<ProductQuery[]> = (route) => {
const id = route.paramMap.get('id') as string;
return inject(ProductService).listIsActiveOfCategory(id);
};