{"version":3,"file":"smartstock-reports.mjs","sources":["../../../projects/reports/src/components/cart-details.component.ts","../../../projects/reports/src/components/cash-sales-tracking.component.ts","../../../projects/reports/src/services/report.service.ts","../../../projects/reports/src/components/product-performance.component.ts","../../../projects/reports/src/services/report-navigation.service.ts","../../../projects/reports/src/pages/index.page.ts","../../../projects/reports/src/services/json2csv.service.ts","../../../projects/reports/src/states/report.state.ts","../../../projects/reports/src/components/cash-sales-overview.component.ts","../../../projects/reports/src/components/date-range.component.ts","../../../projects/reports/src/pages/cash-sales-overview-day.page.ts","../../../projects/reports/src/components/cash-sales-performance.component.ts","../../../projects/reports/src/pages/cash-sales-track.page.ts","../../../projects/reports/src/pages/cash-sales-performance-product.page.ts","../../../projects/reports/src/pages/cash-sales-overview-month.page.ts","../../../projects/reports/src/pages/cash-sales-overview-year.page.ts","../../../projects/reports/src/components/invoice-sales-overview.component.ts","../../../projects/reports/src/pages/invoice-sales-overview-day.page.ts","../../../projects/reports/src/pages/invoice-sales-overview-month.page.ts","../../../projects/reports/src/pages/invoice-sales-overview-year.page.ts","../../../projects/reports/src/pages/cash-sales-performance-seller.page.ts","../../../projects/reports/src/pages/cash-sales-performance-category.page.ts","../../../projects/reports/src/reports.module.ts","../../../projects/reports/src/public-api.ts","../../../projects/reports/src/smartstock-reports.ts"],"sourcesContent":["import { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\nimport {\n  MAT_BOTTOM_SHEET_DATA,\n  MatBottomSheetRef\n} from \"@angular/material/bottom-sheet\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { PrintService } from \"smartstock-core\";\n\n@Component({\n  selector: \"app-cart-details\",\n  template: `\n    <div class=\"w-100 m-0 p-0\">\n      <div class=\"row header text-white align-items-center p-3\">\n        <div class=\"col-6 header-icon\">\n          <mat-icon class=\"ml-auto p-3\">shopping_cart</mat-icon>\n          <p>Cart Details</p>\n        </div>\n        <div class=\"col-6 text-right\">\n          <h3 class=\"mb-0\">{{ data.businessName }}</h3>\n          <p class=\"mb-0\">{{ data.region }}</p>\n          <p>{{ data.date | date }}</p>\n        </div>\n      </div>\n      <div class=\"row px-3 pt-4 m-0 justify-content-between\">\n        <div>\n          <p class=\"mb-0\">Receipt No.</p>\n          <p>{{ data.id }}</p>\n        </div>\n        <div>\n          <p class=\"mb-0\">Seller</p>\n          <p>{{ data.seller | titlecase }}</p>\n        </div>\n      </div>\n      <!--      <hr class=\"my-0\">-->\n      <div class=\"d-flex justify-content-end\" style=\"margin-bottom: 24px\">\n        <!--        <button class=\"btn-success btn\" mat-flat-button (click)=\"printReceipt(data)\">Print Receipt</button>-->\n        <!--        <div style=\"width: 20px; height: 20px\"></div>-->\n        <button\n          class=\"btn-success btn\"\n          mat-flat-button\n          (click)=\"printReceiptOverview(data)\"\n        >\n          Print Receipt Overview\n        </button>\n      </div>\n      <hr class=\"my-0\" />\n\n      <div class=\"py-3\">\n        <table mat-table [dataSource]=\"cartData\" matSort>\n          <ng-container matColumnDef=\"product\">\n            <th mat-header-cell *matHeaderCellDef>Product</th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.product }}</td>\n          </ng-container>\n\n          <ng-container matColumnDef=\"quantity\">\n            <th mat-header-cell *matHeaderCellDef>Quantity</th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.quantity }}</td>\n          </ng-container>\n\n          <ng-container matColumnDef=\"price\">\n            <th mat-header-cell *matHeaderCellDef>Price</th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{\n                data.channel === \"retail\"\n                  ? element.retailPrice\n                  : element.wholesalePrice\n              }}\n            </td>\n          </ng-container>\n\n          <ng-container matColumnDef=\"amount\">\n            <th mat-header-cell *matHeaderCellDef>Amount</th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.amount }}</td>\n          </ng-container>\n\n          <tr mat-header-row *matHeaderRowDef=\"cartDataColumns\"></tr>\n          <tr\n            matTooltip=\"{{ row.product }}\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"let row; columns: cartDataColumns\"\n          ></tr>\n        </table>\n        <mat-paginator\n          *ngIf=\"cartData.data.length > 5\"\n          [pageSizeOptions]=\"[5, 10, 20, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n        <div class=\"d-flex pt-4 align-items-center justify-content-between\">\n          <h3 class=\"text-center col-4 \">Total</h3>\n          <h2\n            class=\"text-white py-3 col-7 col-md-5 col-lg-6 text-center\"\n            style=\"background: #1b5e20;\"\n          >\n            {{ data.amount | currency: \" \" }}/=\n          </h2>\n        </div>\n      </div>\n      <p class=\"text-center\" style=\"color: #1b5e20\">smartstock.co.tz</p>\n    </div>\n  `,\n  styleUrls: [\"../styles/cart-details.style.scss\"]\n})\nexport class CartDetailsComponent implements OnInit {\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  cartData: MatTableDataSource<any>;\n  cartDataColumns = [\"product\", \"quantity\", \"price\", \"amount\"];\n\n  constructor(\n    private cartDetailsSheetRef: MatBottomSheetRef<CartDetailsComponent>,\n    private readonly matDialog: MatDialog,\n    public readonly printService: PrintService,\n    @Inject(MAT_BOTTOM_SHEET_DATA) public data\n  ) {}\n\n  ngOnInit(): void {\n    this.cartData = new MatTableDataSource(this.data.items);\n    this.cartData.paginator = this.paginator;\n    this.cartData.sort = this.sort;\n  }\n\n  close(): void {\n    this.cartDetailsSheetRef.dismiss();\n  }\n\n  printReceiptOverview(data: any): void {\n    this.cartDetailsSheetRef.dismiss();\n    console.log(this.data);\n    let dataToPrint = `\nCUSTOMER : ${data.customer}\nTOTAL: ${data.amount}\nDATE: ${data.date}\n________________________________________\n    `;\n    this.data.items.forEach((x) => {\n      dataToPrint += `\nITEM : ${x.product}\nPRICE: ${x.amount} QTY : ${x.quantity}\n________________________________________\n        `;\n    });\n    this.printService\n      .print({\n        id: \"\",\n        qr: \"\",\n        printer: \"tm20\",\n        data: dataToPrint\n      })\n      .catch(console.log)\n      .then(console.log);\n  }\n}\n","import {\n  AfterViewInit,\n  Component,\n  EventEmitter,\n  Input,\n  OnInit,\n  Output,\n  ViewChild\n} from \"@angular/core\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { UntypedFormControl, Validators } from \"@angular/forms\";\nimport { MatBottomSheet } from \"@angular/material/bottom-sheet\";\nimport { CartDetailsComponent } from \"./cart-details.component\";\nimport { DeviceState, UserService } from \"smartstock-core\";\nimport { CashSalesTrackModel } from \"../models/cash-sales-track.model\";\n\n@Component({\n  selector: \"app-cash-sale-tracking\",\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"table-container\">\n        <input\n          class=\"table-filter-input\"\n          [formControl]=\"filterFormControl\"\n          placeholder=\"Type to filter ...\"\n        />\n        <table mat-table [dataSource]=\"carts\" matSort>\n          <ng-container matColumnDef=\"channel\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Channel\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.channel }}</td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <ng-container matColumnDef=\"total_amount\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Total Amount\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount | currency: \" \" }}\n            </td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <!--          <ng-container matColumnDef=\"total_items\">-->\n          <!--            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Items</th>-->\n          <!--            <td mat-cell *matCellDef=\"let element\">{{element.items?.length}}</td>-->\n          <!--            <td mat-footer-cell *matFooterCellDef></td>-->\n          <!--          </ng-container>-->\n          <ng-container matColumnDef=\"customer\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Customer\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <ng-container matColumnDef=\"seller\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Seller\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.seller }}</td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <ng-container matColumnDef=\"date\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Date\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.time | date: \"YYYY-MM-dd HH:MM\" }}\n            </td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <tr\n            mat-header-row\n            *matHeaderRowDef=\"\n              (deviceState.isSmallScreen | async) === true\n                ? cartColumnsMobile\n                : cartColumns\n            \"\n          ></tr>\n          <tr\n            matTooltip=\"Click for more details\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"\n              let row;\n              columns: (deviceState.isSmallScreen | async) === true\n                ? cartColumnsMobile\n                : cartColumns\n            \"\n            (click)=\"openCartDetails(row)\"\n          ></tr>\n          <tr\n            mat-footer-row\n            style=\"font-size: 36px\"\n            *matFooterRowDef=\"\n              (deviceState.isSmallScreen | async) === true\n                ? cartColumnsMobile\n                : cartColumns\n            \"\n          ></tr>\n        </table>\n        <mat-paginator\n          [pageSizeOptions]=\"[50, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\", \"../styles/index.style.scss\"]\n})\nexport class CashSalesTrackingComponent implements OnInit, AfterViewInit {\n  @Input() data: CashSalesTrackModel[] = [];\n  carts = new MatTableDataSource<any>();\n  cartColumns = [\"date\", \"channel\", \"total_amount\", \"seller\", \"customer\"];\n  cartColumnsMobile = [\"date\", \"total_amount\", \"customer\"];\n  filterFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  @Output() reload = new EventEmitter<{ from: Date; to: Date }>();\n\n  constructor(\n    private cartDetails: MatBottomSheet,\n    public readonly deviceState: DeviceState,\n    private readonly userService: UserService\n  ) {}\n\n  async ngOnInit(): Promise<void> {\n    this.filterFormControl.valueChanges.subscribe((filterValue) => {\n      this.carts.filter = filterValue.trim().toLowerCase();\n    });\n  }\n\n  openCartDetails(cartDetailsData): any {\n    this.cartDetails.open(CartDetailsComponent, {\n      data: {\n        id: cartDetailsData.id,\n        channel: cartDetailsData.channel,\n        date: cartDetailsData.date,\n        amount: cartDetailsData.amount,\n        businessName: cartDetailsData.businessName,\n        seller: cartDetailsData.seller,\n        customer: cartDetailsData.customer,\n        time: cartDetailsData.time,\n        region: \"\",\n        items: cartDetailsData.items\n      }\n    });\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(() => {\n      this.carts.data = this.data;\n      this.carts.paginator = this.paginator;\n      this.carts.sort = this.sort;\n    }, 100);\n  }\n}\n","import { Injectable } from \"@angular/core\";\nimport { getDaasAddress, UserService } from \"smartstock-core\";\nimport { functions } from \"bfast\";\nimport { CartModel } from \"../models/cart.model\";\nimport { InvoiceSalesOverviewModel } from \"../models/invoice-sales-overview.model\";\nimport { CashSalesTrackModel } from \"../models/cash-sales-track.model\";\nimport { CashSalesPerformanceProductModel } from \"../models/cash-sales-performance-product.model\";\nimport { CashSalesPerformanceSellerModel } from \"../models/cash-sales-performance-seller.model\";\nimport { CashSalesPerformanceCategoryModel } from \"../models/cash-sales-performance-category.model\";\n\n@Injectable({\n  providedIn: \"root\"\n})\nexport class ReportService {\n  constructor(private readonly userService: UserService) {}\n\n  async getSalesOverview(from: Date, to: Date, period: string): Promise<any> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/overview/cash/\" + period)\n      .get({ params: { from, to } });\n  }\n\n  async getProductPerformanceReport(\n    from: Date,\n    to: Date\n  ): Promise<CashSalesPerformanceProductModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/performance/product\")\n      .get({ params: { from, to } });\n  }\n\n  async getCategoryPerformanceReport(\n    from: Date,\n    to: Date\n  ): Promise<CashSalesPerformanceCategoryModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/performance/category\")\n      .get({ params: { from, to } });\n  }\n\n  async getSellerPerformanceReport(\n    from: Date,\n    to: Date\n  ): Promise<CashSalesPerformanceSellerModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/performance/seller\")\n      .get({ params: { from, to } });\n  }\n\n  async getSoldCarts(from: Date, to: Date): Promise<CashSalesTrackModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/track/cash\")\n      .get({ params: { from, to } });\n  }\n\n  async getInvoiceSalesOverview(\n    from: Date,\n    to: Date,\n    period: string\n  ): Promise<InvoiceSalesOverviewModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(\n        getDaasAddress(shop) + \"/report/sales/overview/invoice/\" + period\n      )\n      .get({ params: { from, to } });\n  }\n}\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { toSqlDate } from \"smartstock-core\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { Observable, of, Subject } from \"rxjs\";\nimport { UntypedFormControl, Validators } from \"@angular/forms\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { ReportService } from \"../services/report.service\";\nimport { json2csv } from \"../services/json2csv.service\";\n\nexport interface ProductPerformanceI {\n  _id: string;\n  quantitySold: number;\n  purchase: any;\n  firstSold: any;\n  lastSold: any;\n  sales: number;\n  costOfGoodsSold: number;\n  grossProfit: number;\n}\n\n@Component({\n  selector: \"app-product-performance-report\",\n  template: `\n    <div class=\"col-lg-11 mx-auto py-4\">\n      <div>\n        <mat-card class=\"mat-elevation-z3\">\n          <div class=\"row pt-3 m-0 justify-content-center align-items-center\">\n            <mat-icon\n              color=\"primary\"\n              class=\"ml-auto\"\n              style=\"width: 40px;height:40px;font-size: 36px\"\n              >shopping_cart</mat-icon\n            >\n            <p class=\"mr-auto my-0 h6\">Product Sales Summary</p>\n            <button\n              [mat-menu-trigger-for]=\"exportMenu\"\n              class=\"mr-1 ml-0\"\n              mat-icon-button\n            >\n              <mat-icon>more_vert</mat-icon>\n            </button>\n          </div>\n          <hr class=\"w-75 mt-0 mx-auto\" color=\"primary\" />\n          <mat-card-header>\n            <mat-form-field style=\"margin: 0 4px;\">\n              <mat-label>From date</mat-label>\n              <input\n                matInput\n                (click)=\"startDatePicker.open()\"\n                [matDatepicker]=\"startDatePicker\"\n                [formControl]=\"startDateFormControl\"\n              />\n              <mat-datepicker-toggle\n                matSuffix\n                [for]=\"startDatePicker\"\n              ></mat-datepicker-toggle>\n              <mat-datepicker #startDatePicker></mat-datepicker>\n            </mat-form-field>\n            <mat-form-field style=\"margin: 0 4px;\">\n              <mat-label>To date</mat-label>\n              <input\n                matInput\n                (click)=\"endDatePicker.open()\"\n                [matDatepicker]=\"endDatePicker\"\n                [formControl]=\"endDateFormControl\"\n              />\n              <mat-datepicker-toggle\n                matSuffix\n                [for]=\"endDatePicker\"\n              ></mat-datepicker-toggle>\n              <mat-datepicker #endDatePicker></mat-datepicker>\n            </mat-form-field>\n            <span style=\"flex-grow: 1;\"></span>\n            <mat-form-field>\n              <mat-label>Filter</mat-label>\n              <input\n                matInput\n                [formControl]=\"filterFormControl\"\n                placeholder=\"Eg. Piriton\"\n              />\n            </mat-form-field>\n            <!--<mat-form-field>-->\n            <!--<mat-label>Sales type</mat-label>-->\n            <!--<mat-select [formControl]=\"channelFormControl\">-->\n            <!--<mat-option value=\"retail\">Retail</mat-option>-->\n            <!--<mat-option value=\"whole\">Whole sale</mat-option>-->\n            <!--</mat-select>-->\n            <!--</mat-form-field>-->\n          </mat-card-header>\n\n          <app-data-not-ready\n            [isLoading]=\"isLoading\"\n            *ngIf=\"noDataRetrieved || isLoading\"\n          ></app-data-not-ready>\n\n          <div *ngIf=\"!noDataRetrieved && !isLoading\">\n            <table\n              mat-table\n              [dataSource]=\"productPerformanceDatasource\"\n              matSort\n            >\n              <ng-container matColumnDef=\"product\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Product\n                </th>\n                <td mat-cell *matCellDef=\"let element\">{{ element._id }}</td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"category\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Category\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.category }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"quantitySold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Quantity\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.quantitySold | number }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"firstSold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  First sold\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.firstSold }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"lastSold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Last sold\n                </th>\n                <td matRipple mat-cell *matCellDef=\"let element\">\n                  {{ element.lastSold }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"costOfGoodSold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Cost of goods sold\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.costOfGoodsSold | currency: \" TZS\" }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"grossProfit\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Gross profit\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{\n                    element.sales - element.costOfGoodsSold | currency: \" TZS\"\n                  }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <tr mat-header-row *matHeaderRowDef=\"stockColumns\"></tr>\n              <tr\n                matTooltip=\"{{ row.product }}\"\n                class=\"table-data-row\"\n                mat-row\n                *matRowDef=\"let row; columns: stockColumns\"\n              ></tr>\n              <!--          <tr mat-footer-row style=\"font-size: 36px\" *matFooterRowDef=\"stockColumns\"></tr>-->\n            </table>\n          </div>\n\n          <mat-paginator\n            [pageSizeOptions]=\"[5, 10, 20, 100]\"\n            showFirstLastButtons\n          ></mat-paginator>\n        </mat-card>\n      </div>\n      <mat-menu #exportMenu>\n        <button mat-menu-item (click)=\"exportReport()\">\n          <mat-icon color=\"primary\">get_app</mat-icon>\n          CSV\n        </button>\n      </mat-menu>\n    </div>\n  `,\n  styleUrls: [\"../styles/product-performance.style.scss\"],\n  providers: [ReportService]\n})\nexport class ProductPerformanceComponent implements OnInit, OnDestroy {\n  private productPerformanceFetchProgress = false;\n  startDateFormControl = new UntypedFormControl(new Date(), [\n    Validators.nullValidator\n  ]);\n  endDateFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n  channelFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n  filterFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n\n  startDate;\n  endDate;\n  channel = \"retail\";\n  productPerformanceReport: any;\n  isLoading = false;\n  noDataRetrieved = true;\n  @Input() salesChannel;\n\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  destroyer = new Subject();\n\n  constructor(\n    private readonly snack: MatSnackBar,\n    private readonly reportService: ReportService\n  ) {}\n\n  hotReloadProgress = false;\n  totalPurchase: Observable<number> = of(0);\n  units: Observable<any[]>;\n  productPerformanceDatasource: MatTableDataSource<ProductPerformanceI>;\n  stockColumns = [\n    \"product\",\n    \"category\",\n    \"quantitySold\",\n    \"firstSold\",\n    \"lastSold\",\n    \"costOfGoodSold\",\n    \"grossProfit\"\n  ];\n\n  ngOnInit(): void {\n    // this.channelFormControl.setValue('retail');\n    // this.startDate = toSqlDate(new Date());\n    // this.endDate = toSqlDate(new Date());\n    // this.getProductReport(this.startDate, this.endDate);\n    // this.filterFormControl.valueChanges.subscribe(filterValue => {\n    //   this.productPerformanceDatasource.filter = filterValue.trim().toLowerCase();\n    // });\n  }\n\n  private getProductReport(from: string, to: string): void {\n    // this.isLoading = true; // begin fetching data\n    // this.productPerformanceFetchProgress = true;\n    // this.reportService.getProductPerformanceReport(from, to).then(data => {\n    //   this.isLoading = false;\n    //   this.noDataRetrieved = false; // loading is done and some data is received\n    //   this.productPerformanceReport = data.length > 0 ? data[0].total : 0;\n    //   this.productPerformanceDatasource = new MatTableDataSource(data);\n    //   setTimeout(() => {\n    //     this.productPerformanceDatasource.paginator = this.paginator;\n    //     this.productPerformanceDatasource.sort = this.sort;\n    //   });\n    //   this.productPerformanceFetchProgress = false;\n    // }).catch(reason => {\n    //   this.isLoading = false;\n    //   this.noDataRetrieved = true;\n    //   this.productPerformanceReport = 0;\n    //   this.snack.open('Fails to get product performance report', 'Ok', {\n    //     duration: 3000\n    //   });\n    //   this.productPerformanceFetchProgress = false;\n    // });\n  }\n\n  private dateRangeListener(): void {\n    // this.startDateFormControl.valueChanges.subscribe(value => {\n    //   this.startDate = toSqlDate(value);\n    //   this.getProductReport(this.startDate, this.endDate);\n    // });\n    // this.endDateFormControl.valueChanges.subscribe(value => {\n    //   this.endDate = toSqlDate(value);\n    //   this.getProductReport(this.startDate, this.endDate);\n    // });\n    // this.channelFormControl.valueChanges.subscribe(value => {\n    //   this.channel = value;\n    //   this.getProductReport(this.startDate, this.endDate);\n    // });\n  }\n\n  exportReport(): void {\n    // const exportedDataColumns = ['_id', 'category', 'quantitySold', 'firstSold', 'lastSold', 'costOfGoodsSold', 'grossProfit'];\n    // json2csv('product_performance.csv', exportedDataColumns, this.productPerformanceDatasource.filteredData).catch();\n  }\n\n  ngOnDestroy(): void {\n    // this.destroyer.next('done');\n  }\n}\n","import { Injectable } from \"@angular/core\";\nimport { NavigationService } from \"smartstock-core\";\n\n@Injectable({\n  providedIn: \"root\"\n})\nexport class ReportNavigationService {\n  constructor(private readonly configs: NavigationService) {}\n\n  init(): void {\n    this.configs.addMenu({\n      name: \"Report\",\n      link: \"/report\",\n      roles: [\"admin\"],\n      icon: \"table_chart\",\n      pages: this.getPages()\n    });\n  }\n\n  getPages(): {\n    link: string;\n    icon?: string;\n    detail?: string;\n    name: string;\n    roles: string[];\n    click: () => void;\n  }[] {\n    return [\n      {\n        link: \"/report/sales/overview/cash/day\",\n        name: \"Days cash sale\",\n        icon: \"score\",\n        detail: \"daily cash sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/cash/month\",\n        name: \"Months cash sales\",\n        icon: \"score\",\n        detail: \"monthly cash sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/cash/year\",\n        name: \"Years cash sales\",\n        icon: \"score\",\n        detail: \"cash sales report by year\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/invoice/day\",\n        name: \"Days invoice sale\",\n        icon: \"waterfall_chart\",\n        detail: \"daily invoice sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/invoice/month\",\n        name: \"Months invoice sale\",\n        icon: \"waterfall_chart\",\n        detail: \"monthly invoice sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/invoice/year\",\n        name: \"Years invoice sale\",\n        icon: \"waterfall_chart\",\n        detail: \"invoice sales report by year\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/track/cash\",\n        name: \"Cash sales tracking\",\n        icon: \"stream\",\n        detail: \"Live track of cash sales\",\n        roles: [\"manager\", \"user\", \"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/performance/product\",\n        icon: \"insights\",\n        detail: \"See which product give you profit\",\n        name: \"P. Performance\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/performance/seller\",\n        name: \"S. Performance\",\n        icon: \"insights\",\n        detail: \"View your shop seller sales\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/performance/category\",\n        name: \"C. Performance\",\n        icon: \"insights\",\n        detail: \"See which category lead in sales\",\n        roles: [\"admin\"],\n        click: null\n      }\n    ];\n  }\n\n  selected(): void {\n    this.configs.selectedModuleName = \"Report\";\n  }\n}\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportNavigationService } from \"../services/report-navigation.service\";\nimport { Router } from \"@angular/router\";\nimport { Subject, takeUntil } from \"rxjs\";\n\n@Component({\n  selector: \"app-report-index\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Reports'\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [body]=\"body\"\n      [leftDrawer]=\"side\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <div\n          style=\"padding: 16px 0; margin-bottom: 100px\"\n          *ngIf=\"(deviceState.isSmallScreen | async) === true\"\n        >\n          <mat-nav-list>\n            <app-libs-rbac\n              [groups]=\"['admin']\"\n              [pagePath]=\"page.link\"\n              *ngFor=\"let page of reportPages\"\n            >\n              <ng-template>\n                <mat-list-item routerLink=\"{{ page.link }}\">\n                  <mat-icon color=\"primary\" matListIcon>{{\n                    page.icon\n                  }}</mat-icon>\n                  <h1 matLine>{{ page.name }}</h1>\n                  <mat-card-subtitle matLine>{{\n                    page.detail\n                  }}</mat-card-subtitle>\n                </mat-list-item>\n                <mat-divider></mat-divider>\n              </ng-template>\n            </app-libs-rbac>\n          </mat-nav-list>\n        </div>\n      </ng-template>\n    </app-layout-sidenav>\n  `\n})\nexport class IndexPage implements OnInit, OnDestroy {\n  reportPages = [];\n  destroyer = new Subject();\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    private readonly router: Router,\n    private readonly navigation: ReportNavigationService\n  ) {}\n\n  async ngOnInit(): Promise<void> {\n    document.title = \"Smartstock - Reports\";\n    this.deviceState.isSmallScreen\n      .pipe(takeUntil(this.destroyer))\n      .subscribe((value) => {\n        if (value === false) {\n          this.router\n            .navigateByUrl(\"/report/sales/overview/cash/day\")\n            .catch(console.log);\n        }\n      });\n    this.reportPages = this.navigation.getPages();\n  }\n\n  ngOnDestroy(): void {\n    this.destroyer.next(\"done\");\n  }\n}\n","export const json2csv = async (name: string, columns: string[], data: object[]) => {\n  let csv = '';\n  if (columns && Array.isArray(columns)) {\n    csv = csv.concat(columns.join(',')).concat(',\\n');\n    data.forEach(element => {\n      columns.forEach(column => {\n        csv = csv.concat(JSON.stringify(element[column]).trim()).concat(',');\n      });\n      csv = csv.concat('\\n');\n    });\n\n    const csvContent = 'data:text/csv;charset=utf-8,' + csv;\n    const url = encodeURI(csvContent);\n    const anchor = document.createElement('a');\n    anchor.setAttribute('style', 'display: none');\n    anchor.download = name;\n    anchor.href = url;\n    anchor.click();\n    return csv;\n  }\n  throw Error('CSV failed to crete');\n};\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {DateRangeModel} from '../models/date-range.model';\nimport {ReportService} from '../services/report.service';\nimport {CashSalesOverviewModel} from '../models/cash-sales-overview.model';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport {json2csv} from '../services/json2csv.service';\nimport {InvoiceSalesOverviewModel} from '../models/invoice-sales-overview.model';\nimport {CashSalesTrackModel} from '../models/cash-sales-track.model';\nimport {CashSalesPerformanceProductModel} from '../models/cash-sales-performance-product.model';\nimport {CashSalesPerformanceSellerModel} from '../models/cash-sales-performance-seller.model';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ReportState {\n  loadDayCashSales = new BehaviorSubject(false);\n  loadDayInvoiceSales = new BehaviorSubject(false);\n  loadMonthCashSales = new BehaviorSubject(false);\n  loadMonthInvoiceSales = new BehaviorSubject(false);\n  loadYearInvoiceSales = new BehaviorSubject(false);\n  loadCashPerformanceByProduct = new BehaviorSubject(false);\n  loadCashPerformanceBySeller = new BehaviorSubject(false);\n  cashSalesByDay = new BehaviorSubject<CashSalesOverviewModel[]>([]);\n  invoiceSalesByDay = new BehaviorSubject<InvoiceSalesOverviewModel[]>([]);\n  cashSalesByMonth = new BehaviorSubject<CashSalesOverviewModel[]>([]);\n  cashSalesByYear = new BehaviorSubject<CashSalesOverviewModel[]>([]);\n  invoiceSalesByMonth = new BehaviorSubject<InvoiceSalesOverviewModel[]>([]);\n  invoiceSalesByYear = new BehaviorSubject<InvoiceSalesOverviewModel[]>([]);\n  cashSalesTracking = new BehaviorSubject<CashSalesTrackModel[]>([]);\n  cashPerformanceByProduct = new BehaviorSubject<CashSalesPerformanceProductModel[]>([]);\n  cashPerformanceBySeller = new BehaviorSubject<CashSalesPerformanceSellerModel[]>([]);\n  cashPerformanceByCategory = new BehaviorSubject<CashSalesPerformanceSellerModel[]>([]);\n  loadYearCashSales = new BehaviorSubject(false);\n  loadCashSalesTracking = new BehaviorSubject(false);\n  loadCashPerformanceByCategory = new BehaviorSubject(false);\n\n  constructor(private readonly reportService: ReportService,\n              private readonly snack: MatSnackBar) {\n  }\n\n  private message(e: string): void {\n    this.snack.open(e, 'Ok', {\n      duration: 2000\n    });\n  }\n\n  fetchCashSaleByDay(date: DateRangeModel): void {\n    this.loadDayCashSales.next(true);\n    this.reportService.getSalesOverview(date.from, date.to, 'day').then(value => {\n      this.cashSalesByDay.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadDayCashSales.next(false);\n    });\n  }\n\n  fetchInvoiceSaleByDay(date: DateRangeModel): void {\n    this.loadDayInvoiceSales.next(true);\n    this.reportService.getInvoiceSalesOverview(date.from, date.to, 'day').then(value => {\n      this.invoiceSalesByDay.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadDayInvoiceSales.next(false);\n    });\n  }\n\n  exportCashSaleByDay(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_retail', 'amount_whole'];\n    json2csv(`cash_sales_report_by_day.csv`, exportedDataCartColumns,\n      this.cashSalesByDay.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  exportInvoiceSaleByDay(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_credit', 'amount_online'];\n    json2csv(`invoice_sales_report_by_day.csv`, exportedDataCartColumns,\n      this.invoiceSalesByDay.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  dispose(): void {\n    this.loadDayCashSales.next(false);\n    this.loadMonthCashSales.next(false);\n    this.loadYearCashSales.next(false);\n    this.loadDayInvoiceSales.next(false);\n    this.loadMonthInvoiceSales.next(false);\n    this.loadYearInvoiceSales.next(false);\n    this.loadCashSalesTracking.next(false);\n    this.loadCashPerformanceByProduct.next(false);\n    this.loadCashPerformanceBySeller.next(false);\n    this.loadCashPerformanceByCategory.next(false);\n    this.cashSalesByDay.next([]);\n    this.invoiceSalesByDay.next([]);\n    this.cashSalesByMonth.next([]);\n    this.cashSalesByYear.next([]);\n    this.invoiceSalesByMonth.next([]);\n    this.invoiceSalesByYear.next([]);\n    this.cashPerformanceByProduct.next([]);\n    this.cashPerformanceBySeller.next([]);\n    this.cashPerformanceByCategory.next([]);\n  }\n\n  fetchCashSaleByMonth(date: DateRangeModel): void {\n    this.loadMonthCashSales.next(true);\n    this.reportService.getSalesOverview(date.from, date.to, 'month').then(value => {\n      this.cashSalesByMonth.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadMonthCashSales.next(false);\n    });\n  }\n\n  fetchInvoiceSaleByMonth(date: DateRangeModel): void {\n    this.loadMonthInvoiceSales.next(true);\n    this.reportService.getInvoiceSalesOverview(date.from, date.to, 'month').then(value => {\n      this.invoiceSalesByMonth.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadMonthInvoiceSales.next(false);\n    });\n  }\n\n  exportCashSaleByMonth(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_retail', 'amount_whole'];\n    json2csv(`cash_sales_report_by_month.csv`, exportedDataCartColumns,\n      this.cashSalesByMonth.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  exportInvoiceSaleByMonth(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_credit', 'amount_online'];\n    json2csv(`invoice_sales_report_by_month.csv`, exportedDataCartColumns,\n      this.invoiceSalesByMonth.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashSaleByYear(date: DateRangeModel): void {\n    this.loadYearCashSales.next(true);\n    this.reportService.getSalesOverview(date.from, date.to, 'year').then(value => {\n      this.cashSalesByYear.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadYearCashSales.next(false);\n    });\n  }\n\n  exportCashSaleByYear(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_retail', 'amount_whole'];\n    json2csv(`cash_sales_report_by_year.csv`, exportedDataCartColumns,\n      this.cashSalesByYear.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchInvoiceSaleByYear(date: DateRangeModel): void {\n    this.loadYearInvoiceSales.next(true);\n    this.reportService.getInvoiceSalesOverview(date.from, date.to, 'year').then(value => {\n      this.invoiceSalesByYear.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadYearInvoiceSales.next(false);\n    });\n  }\n\n  exportInvoiceSaleByYear(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_credit', 'amount_online'];\n    json2csv(`invoice_sales_report_by_year.csv`, exportedDataCartColumns,\n      this.invoiceSalesByYear.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  exportCashSalesTrack(): void {\n    const exportedDataCartColumns = ['time', 'amount', 'seller', 'channel', 'items'];\n    const data = JSON.parse(JSON.stringify(this.cashSalesTracking.value));\n    json2csv('cash_sales_track_report.csv', exportedDataCartColumns,\n      data.map(x => {\n        // @ts-ignore\n        x.items = x.items.map(y => y.product).join('; ');\n        return x;\n      })).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashSalesTrack(date: DateRangeModel): void {\n    this.loadCashSalesTracking.next(true);\n    this.reportService.getSoldCarts(date.from, date.to).then(value => {\n      this.cashSalesTracking.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get sold items');\n    }).finally(() => {\n      this.loadCashSalesTracking.next(false);\n    });\n  }\n\n  fetchCashPerformanceByProduct(date: DateRangeModel): void {\n    this.loadCashPerformanceByProduct.next(true);\n    this.reportService.getProductPerformanceReport(date.from, date.to).then(value => {\n      this.cashPerformanceByProduct.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get performance');\n    }).finally(() => {\n      this.loadCashPerformanceByProduct.next(false);\n    });\n  }\n\n  exportCashPerformanceByProduct(): void {\n    const exportedDataColumns = ['product', 'quantity', 'amount', 'margin', 'profit'];\n    json2csv('cash_sales_performance_product.csv', exportedDataColumns,\n      this.cashPerformanceByProduct.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashPerformanceBySeller(date: DateRangeModel): void {\n    this.loadCashPerformanceBySeller.next(true);\n    this.reportService.getSellerPerformanceReport(date.from, date.to).then(value => {\n      this.cashPerformanceBySeller.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get performance');\n    }).finally(() => {\n      this.loadCashPerformanceBySeller.next(false);\n    });\n  }\n\n  exportCashPerformanceBySeller(): void {\n    const exportedDataColumns = ['id', 'amount_refund', 'quantity_refund', 'amount_sales', 'amount', 'quantity'];\n    json2csv('cash_sales_performance_seller.csv', exportedDataColumns,\n      this.cashPerformanceBySeller.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashPerformanceByCategory(date: DateRangeModel): void {\n    this.loadCashPerformanceByCategory.next(true);\n    this.reportService.getCategoryPerformanceReport(date.from, date.to).then(value => {\n      this.cashPerformanceByCategory.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get performance');\n    }).finally(() => {\n      this.loadCashPerformanceByCategory.next(false);\n    });\n  }\n\n  exportCashPerformanceByCategory(): void {\n    const exportedDataColumns = ['id', 'amount_refund', 'quantity_refund', 'amount_sales', 'amount', 'quantity'];\n    json2csv('cash_sales_performance_category.csv', exportedDataColumns,\n      this.cashPerformanceByCategory.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n}\n\n\n\n\n\n\n\n\n\n","import {\n  AfterViewInit,\n  Component,\n  Input,\n  OnInit,\n  ViewChild\n} from \"@angular/core\";\nimport * as Highcharts from \"highcharts\";\nimport { DeviceState, toSqlDate } from \"smartstock-core\";\nimport { ReportService } from \"../services/report.service\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { DatePipe } from \"@angular/common\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { Subject } from \"rxjs\";\nimport { CashSalesOverviewModel } from \"../models/cash-sales-overview.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-overview-day\",\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"graph-container\">\n        <div class=\"\" style=\"min-height: 200px\">\n          <div id=\"salesGrowth\" class=\"w-100\"></div>\n        </div>\n      </div>\n      <div class=\"table-container\">\n        <table mat-table [dataSource]=\"salesData\" matSort>\n          <ng-container matColumnDef=\"date\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Date\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.id }}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_retail\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Retail\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_retail | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_whole\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Whole\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_whole | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Amount\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount | currency: \" \" }}\n            </td>\n          </ng-container>\n          <tr mat-header-row *matHeaderRowDef=\"salesColumns\"></tr>\n          <tr\n            matTooltip=\"{{ row }}\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"let row; columns: salesColumns\"\n          ></tr>\n        </table>\n        <mat-paginator\n          [pageSizeOptions]=\"[50, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: [\"../styles/index.style.scss\"]\n})\nexport class CashSalesOverviewComponent implements OnInit, AfterViewInit {\n  @Input() sales: CashSalesOverviewModel[] = [];\n  trendChart: Highcharts.Chart = undefined;\n  salesData = new MatTableDataSource<CashSalesOverviewModel>([]);\n  salesColumns = [\"date\", \"amount_retail\", \"amount_whole\", \"amount\"];\n  totalSales = 0;\n  startDate = toSqlDate(new Date(new Date().setDate(new Date().getDate() - 7)));\n  endDate = toSqlDate(new Date());\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  destroyer = new Subject();\n\n  constructor(\n    public readonly reportService: ReportService,\n    public readonly datePipe: DatePipe,\n    public readonly snack: MatSnackBar,\n    public readonly reportState: ReportState,\n    public readonly deviceState: DeviceState\n  ) {}\n\n  ngOnInit(): void {\n    this.initiateGraph(this.sales);\n    this.salesData.data = this.sales;\n  }\n\n  private initiateGraph(data: CashSalesOverviewModel[]): any {\n    const saleDays = [];\n    const saleRetailDays = [];\n    const saleWholeDays = [];\n    const totalSales = [];\n    Object.keys(data).forEach((key) => {\n      saleDays.push(data[key].id);\n      totalSales.push(data[key].amount);\n      saleRetailDays.push(data[key].amount_retail);\n      saleWholeDays.push(data[key].amount_whole);\n    });\n    this.trendChart = Highcharts.chart(\n      \"salesGrowth\",\n      {\n        chart: {\n          type: \"column\"\n        },\n        title: {\n          text: null\n        },\n        xAxis: {\n          // allowDecimals: false,\n          visible: this.deviceState.isSmallScreen.value !== true,\n          categories: saleDays,\n          title: {\n            text: \"Daily\"\n          },\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        yAxis: {\n          visible: false,\n          title: {\n            text: \"Total Sales\"\n          },\n          // lineColor: '#1b5e20',\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        tooltip: {\n          valueDecimals: 2,\n          pointFormat:\n            \"{series.name} had stockpiled <b>{point.y:,.0f}</b><br/>warheads in {point.x}\"\n        },\n        plotOptions: {\n          column: {\n            // pointPadding: 0,\n            // borderWidth: 1,\n            // groupPadding: 0,\n            // shadow: false,\n            // stacking: 'overlap'\n          }\n        },\n        series: [\n          {\n            type: \"column\",\n            name: \"Sales\",\n            // color: '#0e3a17',\n            data: totalSales\n          },\n          {\n            type: \"line\",\n            name: \"Retail\",\n            // color: '#4e7218',\n            data: saleRetailDays\n          },\n          {\n            type: \"line\",\n            name: \"Whole\",\n            // color: '#18722f',\n            data: saleWholeDays\n          }\n        ]\n      },\n      (_89) => {\n        // console.log(chart);\n      }\n    );\n  }\n\n  ngAfterViewInit(): void {\n    this.salesData.paginator = this.paginator;\n    this.salesData.sort = this.sort;\n  }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {UntypedFormControl} from '@angular/forms';\n\n@Component({\n  selector: 'app-date-range',\n  template: `\n    <div class=\"date-range-container\">\n      <button mat-button class=\"load-button\" color=\"primary\" (click)=\"exportReport()\">\n        Export\n      </button>\n      <button mat-button class=\"load-button\" color=\"primary\" (click)=\"applyDateRange()\">\n        Reload\n      </button>\n      <span style=\"flex: 1 1 auto\"></span>\n      <mat-form-field>\n        <mat-label>From date</mat-label>\n        <input [readonly]=\"true\" [matDatepicker]=\"dp\"\n               (click)=\"dp.open()\" matInput [formControl]=\"fromDateFormControl\">\n        <mat-datepicker-toggle matPrefix [for]=\"dp\"></mat-datepicker-toggle>\n        <mat-datepicker [startView]=\"view\" #dp [touchUi]=\"true\"></mat-datepicker>\n      </mat-form-field>\n      <mat-form-field>\n        <mat-label>To date</mat-label>\n        <input [readonly]=\"true\"\n               matInput [matDatepicker]=\"dp2\"\n               (click)=\"dp2.open()\"\n               [formControl]=\"toDateFormControl\">\n        <mat-datepicker-toggle matPrefix [for]=\"dp2\"></mat-datepicker-toggle>\n        <mat-datepicker [startView]=\"view\" #dp2 [touchUi]=\"true\"></mat-datepicker>\n      </mat-form-field>\n    </div>\n  `,\n  styleUrls: ['../styles/date-range.style.scss'],\n})\nexport class DateRangeComponent implements OnInit {\n  @Input() from = new Date(new Date().setDate(new Date().getDate() - 7));\n  @Input() to = new Date();\n  @Output() reload = new EventEmitter<{ from: Date, to: Date }>();\n  @Output() export = new EventEmitter();\n  @Input() view: 'month' | 'year' | 'multi-year' = 'month';\n\n  fromDateFormControl = new UntypedFormControl(new Date(new Date().setDate(new Date().getDate() - 7)));\n  toDateFormControl = new UntypedFormControl(new Date());\n\n  constructor() {\n  }\n\n  ngOnInit(): void {\n    this.fromDateFormControl.setValue(this.from);\n    this.toDateFormControl.setValue(this.to);\n    this.reload.emit({\n      from: this.from,\n      to: this.to\n    });\n  }\n\n  applyDateRange(): void {\n    this.reload.emit({\n      from: new Date(this.fromDateFormControl.value),\n      to: new Date(this.toDateFormControl.value)\n    });\n  }\n\n  exportReport(): void {\n    this.export.emit('export');\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-sales-reports\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Daily Cash Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-cash-sales-overview-day\n          *ngIf=\"(reportState.loadDayCashSales | async) === false\"\n          [sales]=\"reportState.cashSalesByDay | async\"\n        ></app-cash-sales-overview-day>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadDayCashSales | async) === true\"\n          [isLoading]=\"(reportState.loadDayCashSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class CashSalesOverviewDayPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Overview By Day Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchCashSaleByDay(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportCashSaleByDay();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import {AfterViewInit, Component, Input, ViewChild} from '@angular/core';\nimport {UntypedFormControl, Validators} from '@angular/forms';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {MatSort} from '@angular/material/sort';\nimport {CashSalesPerformanceProductModel} from '../models/cash-sales-performance-product.model';\n\n@Component({\n  selector: 'app-cash-sales-performance',\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"table-container\">\n        <div class=\"btn-block\">\n          <input class=\"table-filter-input\" [formControl]=\"filterFormControl\" placeholder=\"Type here...\">\n        </div>\n        <table mat-table [dataSource]=\"salesPerformanceData\" matSort>\n          <ng-container matColumnDef=\"id\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Id</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.id}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"quantity\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Quantity</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.quantity | number}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_sales\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Sales</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount_sales | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_refund\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Refund</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount_refund | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Total</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"sales\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Sales</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"purchase\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Cost</th>\n            <td mat-cell\n                *matCellDef=\"let element\">{{element.purchase | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"profit\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Profit</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.profit | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"margin\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Margin</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.margin | number}}%</td>\n          </ng-container>\n          <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\n          <tr class=\"table-data-row\" mat-row *matRowDef=\"let row; columns: columns;\"></tr>\n        </table>\n        <mat-paginator [pageSizeOptions]=\"[50, 100]\" showFirstLastButtons></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: ['../styles/sales-by-category.style.scss', '../styles/index.style.scss'],\n})\nexport class CashSalesPerformanceComponent implements AfterViewInit {\n  salesPerformanceData = new MatTableDataSource<CashSalesPerformanceProductModel>([]);\n  @Input() columns = [];\n  filterFormControl = new UntypedFormControl('', [Validators.nullValidator]);\n  @Input() data: any[];\n\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n\n  constructor() {\n  }\n\n  capitalizeFirstLetter(data): any {\n    return data[0].toUpperCase() + data.slice(1);\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(() => {\n      this.salesPerformanceData.data = this.data;\n      this.salesPerformanceData.paginator = this.paginator;\n      this.salesPerformanceData.sort = this.sort;\n    }, 10);\n  }\n\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState, UserService } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\nimport { functions } from \"bfast\";\nimport { SocketController } from \"bfast/dist/lib/controllers/socket.controller\";\n\n@Component({\n  selector: \"app-cash-sales-track-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Tracking'\"\n      [leftDrawer]=\"side\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          (export)=\"export()\"\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          [from]=\"startDate\"\n          [to]=\"startDate\"\n        ></app-date-range>\n        <app-cash-sale-tracking\n          [data]=\"reportState.cashSalesTracking | async\"\n          *ngIf=\"(reportState.loadCashSalesTracking | async) === false\"\n          (reload)=\"reload($event)\"\n        ></app-cash-sale-tracking>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashSalesTracking | async) === true\"\n          [isLoading]=\"(reportState.loadCashSalesTracking | async) === true\"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesTrackPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  startDate = new Date();\n  private changes: SocketController;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    private readonly userService: UserService,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Tracking Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {\n    const shop = await this.userService.getCurrentShop();\n    this.changes = functions(shop.projectId).event(\n      \"/daas-changes\",\n      () => {\n        console.log(\"connected on sales track changes\");\n        this.changes.emit({\n          auth: {\n            masterKey: shop.masterKey\n          },\n          body: {\n            projectId: shop.projectId,\n            applicationId: shop.applicationId,\n            pipeline: [],\n            domain: \"sales\"\n          }\n        });\n      },\n      () => console.log(\"disconnected on sales changes\")\n    );\n    this.changes.listener(async (response) => {\n      // console.log(response);\n      if (response && response.body && response.body.change) {\n        this.reload({\n          from: new Date(),\n          to: new Date()\n        });\n      }\n    });\n  }\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashSalesTrack(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashSalesTrack();\n  }\n\n  ngOnDestroy(): void {\n    if (this.changes && this.changes.close) {\n      this.changes.close();\n    }\n  }\n}\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-performance-product-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Products Performance'\"\n      [sidenav]=\"sidenav\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawer]=\"side\"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          (export)=\"export()\"\n        ></app-date-range>\n        <app-cash-sales-performance\n          [columns]=\"pColumns\"\n          *ngIf=\"(reportState.loadCashPerformanceByProduct | async) === false\"\n          [data]=\"reportState.cashPerformanceByProduct | async\"\n        >\n        </app-cash-sales-performance>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashPerformanceByProduct | async) === true\"\n          [isLoading]=\"\n            (reportState.loadCashPerformanceByProduct | async) === true\n          \"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesPerformanceProductPage implements OnInit {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  pColumns = [\"id\", \"quantity\", \"sales\", \"purchase\", \"profit\", \"margin\"];\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Product Performance Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashPerformanceByProduct(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashPerformanceByProduct();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-cash-sales-overview-month-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Monthly Cash Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-cash-sales-overview-day\n          *ngIf=\"(reportState.loadMonthCashSales | async) === false\"\n          [sales]=\"reportState.cashSalesByMonth | async\"\n        ></app-cash-sales-overview-day>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadMonthCashSales | async) === true\"\n          [isLoading]=\"(reportState.loadMonthCashSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class CashSalesOverviewMonthPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Overview By Month Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchCashSaleByMonth(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportCashSaleByMonth();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-cash-sales-overview-year-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Years Cash Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"multi-year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-cash-sales-overview-day\n          *ngIf=\"(reportState.loadYearCashSales | async) === false\"\n          [sales]=\"reportState.cashSalesByYear | async\"\n        ></app-cash-sales-overview-day>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadYearCashSales | async) === true\"\n          [isLoading]=\"(reportState.loadYearCashSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class CashSalesOverviewYearPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Overview By Year Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchCashSaleByYear(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportCashSaleByYear();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import {\n  AfterViewInit,\n  Component,\n  Input,\n  OnInit,\n  ViewChild\n} from \"@angular/core\";\nimport * as Highcharts from \"highcharts\";\nimport { DeviceState, toSqlDate } from \"smartstock-core\";\nimport { ReportService } from \"../services/report.service\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { DatePipe } from \"@angular/common\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { Subject } from \"rxjs\";\nimport { CashSalesOverviewModel } from \"../models/cash-sales-overview.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-invoice-sales-overview\",\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"graph-container\">\n        <div class=\"\" style=\"min-height: 200px\">\n          <div id=\"salesGrowth\" class=\"w-100\"></div>\n        </div>\n      </div>\n      <div class=\"table-container\">\n        <table mat-table [dataSource]=\"salesData\" matSort>\n          <ng-container matColumnDef=\"date\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Date\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.id }}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_retail\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              In Shop\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_credit | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_whole\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Online\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_online | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Total\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount | currency: \" \" }}\n            </td>\n          </ng-container>\n          <tr mat-header-row *matHeaderRowDef=\"salesColumns\"></tr>\n          <tr\n            matTooltip=\"{{ row }}\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"let row; columns: salesColumns\"\n          ></tr>\n        </table>\n        <mat-paginator\n          [pageSizeOptions]=\"[50, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: [\"../styles/index.style.scss\"]\n})\nexport class InvoiceSalesOverviewComponent implements OnInit, AfterViewInit {\n  @Input() sales: CashSalesOverviewModel[] = [];\n  trendChart: Highcharts.Chart = undefined;\n  salesData = new MatTableDataSource<CashSalesOverviewModel>([]);\n  salesColumns = [\"date\", \"amount_retail\", \"amount_whole\", \"amount\"];\n  totalSales = 0;\n  startDate = toSqlDate(new Date(new Date().setDate(new Date().getDate() - 7)));\n  endDate = toSqlDate(new Date());\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  destroyer = new Subject();\n\n  constructor(\n    public readonly reportService: ReportService,\n    public readonly datePipe: DatePipe,\n    public readonly snack: MatSnackBar,\n    public readonly reportState: ReportState,\n    public readonly deviceState: DeviceState\n  ) {}\n\n  ngOnInit(): void {\n    this.initiateGraph(this.sales);\n    this.salesData.data = this.sales;\n  }\n\n  private initiateGraph(data: CashSalesOverviewModel[]): any {\n    const saleDays = [];\n    const saleCreditDays = [];\n    const saleOnlineDays = [];\n    const totalSales = [];\n    Object.keys(data).forEach((key) => {\n      saleDays.push(data[key].id);\n      totalSales.push(data[key].amount);\n      saleCreditDays.push(data[key].amount_credit);\n      saleOnlineDays.push(data[key].amount_online);\n    });\n    this.trendChart = Highcharts.chart(\n      \"salesGrowth\",\n      {\n        chart: {\n          type: \"column\"\n        },\n        title: {\n          text: null\n        },\n        xAxis: {\n          // allowDecimals: false,\n          visible: this.deviceState.isSmallScreen.value !== true,\n          categories: saleDays,\n          title: {\n            text: \"Daily\"\n          },\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        yAxis: {\n          visible: false,\n          title: {\n            text: \"Total\"\n          },\n          // lineColor: '#1b5e20',\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        tooltip: {\n          valueDecimals: 2,\n          pointFormat:\n            \"{series.name} had stockpiled <b>{point.y:,.0f}</b><br/>warheads in {point.x}\"\n        },\n        plotOptions: {\n          column: {\n            // pointPadding: 0,\n            // borderWidth: 1,\n            // groupPadding: 0,\n            // shadow: false,\n            // stacking: 'overlap'\n          }\n        },\n        series: [\n          {\n            type: \"column\",\n            name: \"total\",\n            // color: '#0e3a17',\n            data: totalSales\n          },\n          {\n            type: \"line\",\n            name: \"in-shop\",\n            // color: '#4e7218',\n            data: saleCreditDays\n          },\n          {\n            type: \"line\",\n            name: \"online\",\n            // color: '#18722f',\n            data: saleOnlineDays\n          }\n        ]\n      },\n      (_89) => {\n        // console.log(chart);\n      }\n    );\n  }\n\n  ngAfterViewInit(): void {\n    this.salesData.paginator = this.paginator;\n    this.salesData.sort = this.sort;\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-invoice-sales-day-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Daily Invoice Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-invoice-sales-overview\n          *ngIf=\"(reportState.loadDayInvoiceSales | async) === false\"\n          [sales]=\"reportState.invoiceSalesByDay | async\"\n        ></app-invoice-sales-overview>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadDayInvoiceSales | async) === true\"\n          [isLoading]=\"(reportState.loadDayInvoiceSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class InvoiceSalesOverviewDayPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Invoice Sales Overview By Day Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchInvoiceSaleByDay(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportInvoiceSaleByDay();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-invoice-sales-month-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Months Invoice Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-invoice-sales-overview\n          *ngIf=\"(reportState.loadMonthInvoiceSales | async) === false\"\n          [sales]=\"reportState.invoiceSalesByMonth | async\"\n        ></app-invoice-sales-overview>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadMonthInvoiceSales | async) === true\"\n          [isLoading]=\"(reportState.loadMonthInvoiceSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class InvoiceSalesOverviewMonthPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Invoice Sales Overview By Month Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchInvoiceSaleByMonth(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportInvoiceSaleByMonth();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-invoice-sales-year-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Years Invoice Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"multi-year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-invoice-sales-overview\n          *ngIf=\"(reportState.loadYearInvoiceSales | async) === false\"\n          [sales]=\"reportState.invoiceSalesByYear | async\"\n        ></app-invoice-sales-overview>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadYearInvoiceSales | async) === true\"\n          [isLoading]=\"(reportState.loadYearInvoiceSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class InvoiceSalesOverviewYearPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Invoice Sales Overview By Year Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchInvoiceSaleByYear(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportInvoiceSaleByYear();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-performance-seller-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Seller Performance'\"\n      [sidenav]=\"sidenav\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawer]=\"side\"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          (export)=\"export()\"\n        ></app-date-range>\n        <app-cash-sales-performance\n          [columns]=\"sColumns\"\n          *ngIf=\"(reportState.loadCashPerformanceBySeller | async) === false\"\n          [data]=\"reportState.cashPerformanceBySeller | async\"\n        >\n        </app-cash-sales-performance>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashPerformanceBySeller | async) === true\"\n          [isLoading]=\"\n            (reportState.loadCashPerformanceBySeller | async) === true\n          \"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesPerformanceSellerPage {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  sColumns = [\"id\", \"quantity\", \"amount_sales\", \"amount_refund\", \"amount\"];\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Seller Performance Reports\";\n  }\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashPerformanceBySeller(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashPerformanceBySeller();\n  }\n}\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-performance-category-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Category Performance'\"\n      [sidenav]=\"sidenav\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawer]=\"side\"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          (export)=\"export()\"\n        ></app-date-range>\n        <app-cash-sales-performance\n          [columns]=\"cColumns\"\n          *ngIf=\"(reportState.loadCashPerformanceByCategory | async) === false\"\n          [data]=\"reportState.cashPerformanceByCategory | async\"\n        >\n        </app-cash-sales-performance>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashPerformanceByCategory | async) === true\"\n          [isLoading]=\"\n            (reportState.loadCashPerformanceByCategory | async) === true\n          \"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesPerformanceCategoryPage {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  cColumns = [\"id\", \"quantity\", \"amount_sales\", \"amount_refund\", \"amount\"];\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Category Performance Reports\";\n  }\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashPerformanceByCategory(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashPerformanceByCategory();\n  }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatCardModule } from \"@angular/material/card\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { MatNativeDateModule, MatRippleModule } from \"@angular/material/core\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatDividerModule } from \"@angular/material/divider\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { CashSalesTrackingComponent } from \"./components/cash-sales-tracking.component\";\nimport { RouterModule, ROUTES, Routes } from \"@angular/router\";\nimport { LibModule } from \"smartstock-core\";\nimport { ProductPerformanceComponent } from \"./components/product-performance.component\";\nimport { IndexPage } from \"./pages/index.page\";\nimport { CashSalesOverviewDayPage } from \"./pages/cash-sales-overview-day.page\";\nimport { CashSalesOverviewComponent } from \"./components/cash-sales-overview.component\";\nimport { CashSalesPerformanceComponent } from \"./components/cash-sales-performance.component\";\nimport { CartDetailsComponent } from \"./components/cart-details.component\";\nimport { MatBottomSheetModule } from \"@angular/material/bottom-sheet\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { CashSalesTrackPage } from \"./pages/cash-sales-track.page\";\nimport { CashSalesPerformanceProductPage } from \"./pages/cash-sales-performance-product.page\";\nimport { MatMomentDateModule } from \"@angular/material-moment-adapter\";\nimport { DateRangeComponent } from \"./components/date-range.component\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\nimport { ReportNavigationService } from \"./services/report-navigation.service\";\nimport { CashSalesOverviewMonthPage } from \"./pages/cash-sales-overview-month.page\";\nimport { CashSalesOverviewYearPage } from \"./pages/cash-sales-overview-year.page\";\nimport { InvoiceSalesOverviewComponent } from \"./components/invoice-sales-overview.component\";\nimport { InvoiceSalesOverviewDayPage } from \"./pages/invoice-sales-overview-day.page\";\nimport { InvoiceSalesOverviewMonthPage } from \"./pages/invoice-sales-overview-month.page\";\nimport { InvoiceSalesOverviewYearPage } from \"./pages/invoice-sales-overview-year.page\";\nimport { CashSalesPerformanceSellerPage } from \"./pages/cash-sales-performance-seller.page\";\nimport { CashSalesPerformanceCategoryPage } from \"./pages/cash-sales-performance-category.page\";\n\nconst routes: Routes = [\n  { path: \"\", component: IndexPage },\n  { path: \"sales/overview/cash/day\", component: CashSalesOverviewDayPage },\n  { path: \"sales/overview/cash/month\", component: CashSalesOverviewMonthPage },\n  { path: \"sales/overview/cash/year\", component: CashSalesOverviewYearPage },\n  {\n    path: \"sales/overview/invoice/day\",\n    component: InvoiceSalesOverviewDayPage\n  },\n  {\n    path: \"sales/overview/invoice/month\",\n    component: InvoiceSalesOverviewMonthPage\n  },\n  {\n    path: \"sales/overview/invoice/year\",\n    component: InvoiceSalesOverviewYearPage\n  },\n  { path: \"sales/track/cash\", component: CashSalesTrackPage },\n  {\n    path: \"sales/performance/product\",\n    component: CashSalesPerformanceProductPage\n  },\n  {\n    path: \"sales/performance/seller\",\n    component: CashSalesPerformanceSellerPage\n  },\n  {\n    path: \"sales/performance/category\",\n    component: CashSalesPerformanceCategoryPage\n  }\n];\n\n@NgModule({\n  declarations: [\n    CashSalesTrackingComponent,\n    CashSalesPerformanceSellerPage,\n    CashSalesOverviewMonthPage,\n    CashSalesPerformanceCategoryPage,\n    CashSalesOverviewComponent,\n    ProductPerformanceComponent,\n    IndexPage,\n    CashSalesOverviewDayPage,\n    CashSalesPerformanceComponent,\n    CartDetailsComponent,\n    CashSalesPerformanceProductPage,\n    DateRangeComponent,\n    CashSalesOverviewYearPage,\n    InvoiceSalesOverviewComponent,\n    InvoiceSalesOverviewDayPage,\n    InvoiceSalesOverviewMonthPage,\n    InvoiceSalesOverviewYearPage,\n    CashSalesTrackPage\n  ],\n  exports: [],\n  imports: [\n    CommonModule,\n    {\n      ngModule: RouterModule,\n      providers: [\n        {\n          multi: true,\n          provide: ROUTES,\n          useValue: routes\n        }\n      ]\n    },\n    MatSidenavModule,\n    MatCardModule,\n    MatFormFieldModule,\n    MatDatepickerModule,\n    ReactiveFormsModule,\n    MatTableModule,\n    MatPaginatorModule,\n    MatSortModule,\n    MatIconModule,\n    MatButtonModule,\n    MatProgressSpinnerModule,\n    MatNativeDateModule,\n    MatTooltipModule,\n    MatSelectModule,\n    MatDividerModule,\n    MatInputModule,\n    MatMenuModule,\n    MatRippleModule,\n    LibModule,\n    MatBottomSheetModule,\n    MatListModule,\n    MatMomentDateModule,\n    MatDialogModule,\n    MatAutocompleteModule\n  ]\n})\nexport class ReportsModule {\n  constructor(private readonly reportNav: ReportNavigationService) {\n    this.reportNav.init();\n    reportNav.selected();\n  }\n}\n","/*\n * Public API Surface of reports\n */\n\n\nexport * from './reports.module';\nexport * from './services/report-navigation.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","i2","i1","i2.ReportService","i3.ReportNavigationService","i1.ReportService","i3","i4.ReportState","i5","i2.ReportState","i1.ReportNavigationService"],"mappings":"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"}