techlify-inventory-common 18.35.0 → 18.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +5 -5
- package/esm2022/lib/inventory-common/stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.mjs +139 -0
- package/esm2022/lib/inventory-common/stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.mjs +138 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.component.mjs +49 -95
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.mjs +33 -13
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +35 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form.component.mjs +102 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-product.service.mjs +16 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-routing.module.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue.module.mjs +1 -17
- package/esm2022/lib/inventory-common/stock-receipts/grouped-stock-receipt-list/grouped-stock-receipt-list.component.mjs +151 -0
- package/esm2022/lib/inventory-common/stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.mjs +146 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form-button/stock-receipt-product-form-button.component.mjs +37 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component.mjs +80 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product.service.mjs +18 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.mjs +41 -129
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +26 -8
- package/esm2022/public-api.mjs +10 -1
- package/fesm2022/{techlify-inventory-common-category.module-CjruFhHc.mjs → techlify-inventory-common-category.module-CUqub2ML.mjs} +14 -14
- package/fesm2022/techlify-inventory-common-category.module-CUqub2ML.mjs.map +1 -0
- package/fesm2022/{techlify-inventory-common-measure.module-B8UHsYQT.mjs → techlify-inventory-common-measure.module-CIonhS7Z.mjs} +11 -11
- package/fesm2022/{techlify-inventory-common-measure.module-B8UHsYQT.mjs.map → techlify-inventory-common-measure.module-CIonhS7Z.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-C5DXKp05.mjs → techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs} +10 -10
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-C5DXKp05.mjs.map → techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-issue-batch-form.component-D5Df9-Xg.mjs → techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs} +7 -7
- package/fesm2022/{techlify-inventory-common-stock-issue-batch-form.component-D5Df9-Xg.mjs.map → techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-issue-view.component-Cm9zHnNw.mjs → techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-stock-issue-view.component-Cm9zHnNw.mjs.map → techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-techlify-inventory-common-ekkMO8hI.mjs → techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs} +887 -262
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common.mjs +1 -1
- package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +4 -4
- package/lib/inventory-common/stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.d.ts +28 -0
- package/lib/inventory-common/stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.d.ts +27 -0
- package/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.component.d.ts +12 -13
- package/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.d.ts +15 -12
- package/lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.d.ts +12 -0
- package/lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form.component.d.ts +21 -0
- package/lib/inventory-common/stock-issuances/stock-issue-product.service.d.ts +7 -0
- package/lib/inventory-common/stock-issuances/stock-issue.module.d.ts +6 -10
- package/lib/inventory-common/stock-receipts/grouped-stock-receipt-list/grouped-stock-receipt-list.component.d.ts +30 -0
- package/lib/inventory-common/stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.d.ts +28 -0
- package/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form-button/stock-receipt-product-form-button.component.d.ts +12 -0
- package/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component.d.ts +17 -0
- package/lib/inventory-common/stock-receipts/stock-receipt-product.service.d.ts +7 -0
- package/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.d.ts +13 -21
- package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +16 -13
- package/package.json +1 -1
- package/public-api.d.ts +9 -0
- package/fesm2022/techlify-inventory-common-category.module-CjruFhHc.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-ekkMO8hI.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { ad as ExportToExcelButtonComponent, G as GroupedStockIssueListComponent, H as GroupedStockReceiptListComponent, a7 as IncidentFormButtonComponent, a6 as IncidentFormComponent, a5 as IncidentListComponent, a3 as IncidentModule, a4 as IncidentService, h as InventoryCommonModule, I as InventoryCommonRoutingModule, z as ItemizedStockIssueProductsListComponent, J as ItemizedStockReceiptProductsListComponent, ah as LocationFormButtonComponent, ag as LocationFormComponent, af as LocationListComponent, ae as LocationModule, L as LocationService, M as MeasureService, a2 as PayeeSelectorComponent, a1 as PayeeSelectorModule, l as ProductBasicInfoComponent, t as ProductBatchUpdateFormComponent, m as ProductFormButtonComponent, k as ProductFormComponent, s as ProductFormService, u as ProductImportPageComponent, q as ProductListComponent, j as ProductModule, n as ProductQuickSearchComponent, p as ProductSearchComponent, o as ProductSearchModule, r as ProductService, v as ProductViewPageComponent, ac as RatingFormButtonComponent, ab as RatingFormComponent, aa as RatingListComponent, a8 as RatingModule, a9 as RatingService, am as ShelfFormButtonComponent, al as ShelfFormComponent, ak as ShelfListComponent, ai as ShelfModule, aj as ShelfService, e as StockIssueFormButtonComponent, d as StockIssueFormModule, x as StockIssueListComponent, y as StockIssueListModule, w as StockIssueModule, C as StockIssueProductFormButtonComponent, B as StockIssueProductFormComponent, A as StockIssueProductService, E as StockReceiptDeleteButtonComponent, N as StockReceiptFormButtonComponent, K as StockReceiptFormModule, R as StockReceiptProductFormButtonComponent, Q as StockReceiptProductFormComponent, O as StockReceiptViewComponent, F as StockReceiptsListPageComponent, D as StockReceiptsModule, i as StockSummaryService, W as StockTransferFormButtonComponent, V as StockTransferFormComponent, U as StockTransferListComponent, X as StockTransferService, Z as SupplierFormButtonComponent, _ as SupplierFormComponent, Y as SupplierModule, a0 as SupplierTypeService, $ as SuppliersListComponent, T as TechlifyFilterComponent, a as TechlifyFilterModule } from './techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs';
|
|
2
2
|
//# sourceMappingURL=techlify-inventory-common.mjs.map
|
|
@@ -4,8 +4,8 @@ import { ActivatedRoute } from '@angular/router';
|
|
|
4
4
|
import { Location } from '@angular/common';
|
|
5
5
|
import { ProductLocationListComponent } from '../product-location/product-location-list/product-location-list.component';
|
|
6
6
|
import { StockTransferListComponent } from '../../stock-transfer/stock-transfer-list/stock-transfer-list.component';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { ItemizedStockReceiptProductsListComponent } from '../../stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component';
|
|
8
|
+
import { ItemizedStockIssueProductsListComponent } from '../../stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class ProductViewPageComponent implements OnInit {
|
|
11
11
|
private productService;
|
|
@@ -16,8 +16,8 @@ export declare class ProductViewPageComponent implements OnInit {
|
|
|
16
16
|
isLoading: boolean;
|
|
17
17
|
productLocationList: ProductLocationListComponent;
|
|
18
18
|
stockTransferList: StockTransferListComponent;
|
|
19
|
-
stockReceiptsListPage:
|
|
20
|
-
stockIssueListPage:
|
|
19
|
+
stockReceiptsListPage: ItemizedStockReceiptProductsListComponent;
|
|
20
|
+
stockIssueListPage: ItemizedStockIssueProductsListComponent;
|
|
21
21
|
constructor(productService: ProductService, activatedRoute: ActivatedRoute, location: Location);
|
|
22
22
|
ngOnInit(): void;
|
|
23
23
|
/**
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OnInit } from "@angular/core";
|
|
2
|
+
import { ColumnConfig, TechlifyFeatureService, TechlifyListingControllerInterface } from 'ngx-techlify-core';
|
|
3
|
+
import { StockIssueService } from "../stock-issue.service";
|
|
4
|
+
import { FormBuilder } from "@angular/forms";
|
|
5
|
+
import { Router } from '@angular/router';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class GroupedStockIssueListComponent extends TechlifyListingControllerInterface implements OnInit {
|
|
8
|
+
protected service: StockIssueService;
|
|
9
|
+
private formBuilder;
|
|
10
|
+
private router;
|
|
11
|
+
private featureService;
|
|
12
|
+
filters: import("@angular/core").InputSignal<any>;
|
|
13
|
+
selectedColumns: import("@angular/core").InputSignal<ColumnConfig[]>;
|
|
14
|
+
exportInProgress: import("@angular/core").InputSignal<boolean>;
|
|
15
|
+
listUpdated: import("@angular/core").OutputEmitterRef<any>;
|
|
16
|
+
columnConfigReady: import("@angular/core").OutputEmitterRef<ColumnConfig[]>;
|
|
17
|
+
private _defaultSelectedColumns;
|
|
18
|
+
columnConfig: ColumnConfig[];
|
|
19
|
+
get displayedColumns(): string[];
|
|
20
|
+
get totalQuantity(): number;
|
|
21
|
+
get footerColumns(): string[];
|
|
22
|
+
constructor(service: StockIssueService, formBuilder: FormBuilder, router: Router, featureService: TechlifyFeatureService);
|
|
23
|
+
ngOnInit(): void;
|
|
24
|
+
private loadFeatures;
|
|
25
|
+
redirectToView(model: any): void;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GroupedStockIssueListComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GroupedStockIssueListComponent, "app-grouped-stock-issue-list", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "selectedColumns": { "alias": "selectedColumns"; "required": false; "isSignal": true; }; "exportInProgress": { "alias": "exportInProgress"; "required": false; "isSignal": true; }; }, { "listUpdated": "listUpdated"; "columnConfigReady": "columnConfigReady"; }, never, never, false, never>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { OnInit } from "@angular/core";
|
|
2
|
+
import { ColumnConfig, TechlifyFeatureService, TechlifyListingControllerInterface } from 'ngx-techlify-core';
|
|
3
|
+
import { StockIssueProductService } from "../stock-issue-product.service";
|
|
4
|
+
import { FormBuilder } from "@angular/forms";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ItemizedStockIssueProductsListComponent extends TechlifyListingControllerInterface implements OnInit {
|
|
7
|
+
protected service: StockIssueProductService;
|
|
8
|
+
private formBuilder;
|
|
9
|
+
private featureService;
|
|
10
|
+
filters: import("@angular/core").InputSignal<any>;
|
|
11
|
+
isProductView: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
selectedColumns: import("@angular/core").InputSignal<ColumnConfig[]>;
|
|
13
|
+
exportInProgress: import("@angular/core").InputSignal<boolean>;
|
|
14
|
+
listUpdated: import("@angular/core").OutputEmitterRef<any>;
|
|
15
|
+
columnConfigReady: import("@angular/core").OutputEmitterRef<ColumnConfig[]>;
|
|
16
|
+
private readonly productViewHiddenColumns;
|
|
17
|
+
private _defaultSelectedColumns;
|
|
18
|
+
columnConfig: ColumnConfig[];
|
|
19
|
+
get displayedColumns(): string[];
|
|
20
|
+
get totalQuantity(): number;
|
|
21
|
+
get footerColumns(): string[];
|
|
22
|
+
constructor(service: StockIssueProductService, formBuilder: FormBuilder, featureService: TechlifyFeatureService);
|
|
23
|
+
ngOnInit(): void;
|
|
24
|
+
private loadFeatures;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ItemizedStockIssueProductsListComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ItemizedStockIssueProductsListComponent, "app-itemized-stock-issue-products-list", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "isProductView": { "alias": "isProductView"; "required": false; "isSignal": true; }; "selectedColumns": { "alias": "selectedColumns"; "required": false; "isSignal": true; }; "exportInProgress": { "alias": "exportInProgress"; "required": false; "isSignal": true; }; }, { "listUpdated": "listUpdated"; "columnConfigReady": "columnConfigReady"; }, never, never, false, never>;
|
|
27
|
+
}
|
package/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.component.d.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { ColumnConfig
|
|
3
|
-
import { FormBuilder } from '@angular/forms';
|
|
4
|
-
import { StockIssueService } from '../stock-issue.service';
|
|
1
|
+
import { EventEmitter, OnInit, Signal } from '@angular/core';
|
|
2
|
+
import { ColumnConfig } from 'ngx-techlify-core';
|
|
3
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class StockIssueListComponent
|
|
5
|
+
export declare class StockIssueListComponent implements OnInit {
|
|
7
6
|
private formBuilder;
|
|
8
|
-
protected service: StockIssueService;
|
|
9
|
-
private featureService;
|
|
10
7
|
product: any;
|
|
11
8
|
issuableType: string;
|
|
12
9
|
issuableId: number;
|
|
@@ -14,16 +11,18 @@ export declare class StockIssueListComponent extends TechlifyListingControllerIn
|
|
|
14
11
|
showActions: boolean;
|
|
15
12
|
showFilters: boolean;
|
|
16
13
|
listUpdated: EventEmitter<any>;
|
|
14
|
+
private itemizedList?;
|
|
15
|
+
private groupedList?;
|
|
16
|
+
selectedView: import("@angular/core").WritableSignal<"itemized" | "grouped">;
|
|
17
17
|
exportInProgress: import("@angular/core").WritableSignal<boolean>;
|
|
18
18
|
columnConfig: ColumnConfig[];
|
|
19
19
|
selectedColumns: ColumnConfig[];
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
constructor(formBuilder: FormBuilder, service: StockIssueService, featureService: TechlifyFeatureService);
|
|
20
|
+
filterForm: FormGroup;
|
|
21
|
+
filtersValue: Signal<any>;
|
|
22
|
+
constructor(formBuilder: FormBuilder);
|
|
24
23
|
ngOnInit(): void;
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
reload(): void;
|
|
25
|
+
onColumnConfigReady(config: ColumnConfig[]): void;
|
|
27
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<StockIssueListComponent, never>;
|
|
28
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<StockIssueListComponent, "app-stock-issue-list", never, { "product": { "alias": "product"; "required": false; }; "issuableType": { "alias": "issuableType"; "required": false; }; "issuableId": { "alias": "issuableId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "showFilters": { "alias": "showFilters"; "required": false; }; }, { "listUpdated": "listUpdated"; }, never, never, false, never>;
|
|
29
28
|
}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./stock-issue-list.component";
|
|
3
|
-
import * as i2 from "
|
|
4
|
-
import * as i3 from "
|
|
5
|
-
import * as i4 from "
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "../stock-
|
|
9
|
-
import * as i8 from "
|
|
10
|
-
import * as i9 from "
|
|
11
|
-
import * as i10 from "@angular/
|
|
12
|
-
import * as i11 from "
|
|
13
|
-
import * as i12 from "
|
|
3
|
+
import * as i2 from "../grouped-stock-issue-list/grouped-stock-issue-list.component";
|
|
4
|
+
import * as i3 from "../itemized-stock-issue-products-list/itemized-stock-issue-products-list.component";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
import * as i5 from "ngx-techlify-core";
|
|
7
|
+
import * as i6 from "../../techlify-filter/techlify-filter.module";
|
|
8
|
+
import * as i7 from "../stock-issue-form/stock-issue-form.module";
|
|
9
|
+
import * as i8 from "ngx-infinite-scroll";
|
|
10
|
+
import * as i9 from "../stock-issuance-delete-button/stock-issuance-delete-button.module";
|
|
11
|
+
import * as i10 from "@angular/material/progress-bar";
|
|
12
|
+
import * as i11 from "@angular/router";
|
|
13
|
+
import * as i12 from "@angular/forms";
|
|
14
|
+
import * as i13 from "../../product/widgets/product-category-badges/product-category-badges.component";
|
|
15
|
+
import * as i14 from "../../shared/export-to-excel-button/export-to-excel-button.component";
|
|
16
|
+
import * as i15 from "../stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component";
|
|
14
17
|
export declare class StockIssueListModule {
|
|
15
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<StockIssueListModule, never>;
|
|
16
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<StockIssueListModule, [typeof i1.StockIssueListComponent
|
|
19
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<StockIssueListModule, [typeof i1.StockIssueListComponent, typeof i2.GroupedStockIssueListComponent, typeof i3.ItemizedStockIssueProductsListComponent], [typeof i4.CommonModule, typeof i5.MaterialModule, typeof i6.TechlifyFilterModule, typeof i7.StockIssueFormModule, typeof i8.InfiniteScrollDirective, typeof i9.StockIssuanceDeleteButtonModule, typeof i10.MatProgressBarModule, typeof i11.RouterModule, typeof i5.SearchableSelectorModule, typeof i5.TimelineFilterModule, typeof i12.ReactiveFormsModule, typeof i13.ProductCategoryBadgesComponent, typeof i5.ColumnSelectorModule, typeof i5.TechlifyIconModule, typeof i14.ExportToExcelButtonComponent, typeof i15.StockIssueProductFormButtonComponent, typeof i5.TechlifyDeleteButtonComponent], [typeof i1.StockIssueListComponent, typeof i2.GroupedStockIssueListComponent, typeof i3.ItemizedStockIssueProductsListComponent]>;
|
|
17
20
|
static ɵinj: i0.ɵɵInjectorDeclaration<StockIssueListModule>;
|
|
18
21
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class StockIssueProductFormButtonComponent {
|
|
4
|
+
private dialog;
|
|
5
|
+
stockIssueProduct: import("@angular/core").InputSignal<any>;
|
|
6
|
+
stockIssueId: import("@angular/core").InputSignal<number>;
|
|
7
|
+
saved: import("@angular/core").OutputEmitterRef<any>;
|
|
8
|
+
constructor(dialog: MatDialog);
|
|
9
|
+
open(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StockIssueProductFormButtonComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StockIssueProductFormButtonComponent, "app-stock-issue-product-form-button", never, { "stockIssueProduct": { "alias": "stockIssueProduct"; "required": false; "isSignal": true; }; "stockIssueId": { "alias": "stockIssueId"; "required": true; "isSignal": true; }; }, { "saved": "saved"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { FormValidatorService, SearchableSelectorComponent, TechlifyFormComponentInterface } from 'ngx-techlify-core';
|
|
4
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
5
|
+
import { StockIssueProductService } from '../stock-issue-product.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class StockIssueProductFormComponent extends TechlifyFormComponentInterface implements OnInit {
|
|
8
|
+
private fb;
|
|
9
|
+
protected service: StockIssueProductService;
|
|
10
|
+
data: any;
|
|
11
|
+
batchSelector?: SearchableSelectorComponent;
|
|
12
|
+
batchesApiUrl: string;
|
|
13
|
+
isBatchPatched: boolean;
|
|
14
|
+
constructor(formValidatorService: FormValidatorService, fb: FormBuilder, service: StockIssueProductService, dialogRef: MatDialogRef<StockIssueProductFormComponent>, data: any);
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
onBatchItemsChange(): void;
|
|
17
|
+
private resetBatchSelector;
|
|
18
|
+
cancel(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StockIssueProductFormComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StockIssueProductFormComponent, "app-stock-issue-product-form", never, {}, {}, never, never, true, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HttpService, TechlifyServiceBaseClass } from 'ngx-techlify-core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class StockIssueProductService extends TechlifyServiceBaseClass {
|
|
4
|
+
constructor(httpService: HttpService);
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StockIssueProductService, never>;
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<StockIssueProductService>;
|
|
7
|
+
}
|
|
@@ -3,17 +3,13 @@ import * as i1 from "@angular/common";
|
|
|
3
3
|
import * as i2 from "./stock-issue-routing.module";
|
|
4
4
|
import * as i3 from "@angular/material/card";
|
|
5
5
|
import * as i4 from "../techlify-filter/techlify-filter.module";
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "@angular/material/
|
|
9
|
-
import * as i8 from "@angular/material/
|
|
10
|
-
import * as i9 from "
|
|
11
|
-
import * as i10 from "./stock-issue-form/stock-issue-form.module";
|
|
12
|
-
import * as i11 from "@angular/material/dialog";
|
|
13
|
-
import * as i12 from "@angular/material/button";
|
|
14
|
-
import * as i13 from "./stock-issue-list/stock-issue-list.module";
|
|
6
|
+
import * as i5 from "../stock-receipts/stock-receipt-form/stock-receipt-form.module";
|
|
7
|
+
import * as i6 from "./stock-issue-form/stock-issue-form.module";
|
|
8
|
+
import * as i7 from "@angular/material/dialog";
|
|
9
|
+
import * as i8 from "@angular/material/button";
|
|
10
|
+
import * as i9 from "./stock-issue-list/stock-issue-list.module";
|
|
15
11
|
export declare class StockIssueModule {
|
|
16
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<StockIssueModule, never>;
|
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<StockIssueModule, never, [typeof i1.CommonModule, typeof i2.StockIssueRoutingModule, typeof i3.MatCardModule, typeof i4.TechlifyFilterModule, typeof i5.
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<StockIssueModule, never, [typeof i1.CommonModule, typeof i2.StockIssueRoutingModule, typeof i3.MatCardModule, typeof i4.TechlifyFilterModule, typeof i5.StockReceiptFormModule, typeof i6.StockIssueFormModule, typeof i7.MatDialogModule, typeof i8.MatButtonModule, typeof i9.StockIssueListModule], never>;
|
|
18
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<StockIssueModule>;
|
|
19
15
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OnInit } from "@angular/core";
|
|
2
|
+
import { ColumnConfig, TechlifyFeatureService, TechlifyListingControllerInterface } from 'ngx-techlify-core';
|
|
3
|
+
import { StockReceiptService } from "../stock-receipt.service";
|
|
4
|
+
import { FormBuilder } from "@angular/forms";
|
|
5
|
+
import { Router } from '@angular/router';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class GroupedStockReceiptListComponent extends TechlifyListingControllerInterface implements OnInit {
|
|
8
|
+
protected service: StockReceiptService;
|
|
9
|
+
private formBuilder;
|
|
10
|
+
private router;
|
|
11
|
+
private featureService;
|
|
12
|
+
filters: import("@angular/core").InputSignal<any>;
|
|
13
|
+
selectedColumns: import("@angular/core").InputSignal<ColumnConfig[]>;
|
|
14
|
+
exportInProgress: import("@angular/core").InputSignal<boolean>;
|
|
15
|
+
listUpdated: import("@angular/core").OutputEmitterRef<any>;
|
|
16
|
+
columnConfigReady: import("@angular/core").OutputEmitterRef<ColumnConfig[]>;
|
|
17
|
+
private _defaultSelectedColumns;
|
|
18
|
+
columnConfig: ColumnConfig[];
|
|
19
|
+
get displayedColumns(): string[];
|
|
20
|
+
get totalPurchasePrice(): number;
|
|
21
|
+
get totalValue(): number;
|
|
22
|
+
get footerColumns(): string[];
|
|
23
|
+
constructor(service: StockReceiptService, formBuilder: FormBuilder, router: Router, featureService: TechlifyFeatureService);
|
|
24
|
+
ngOnInit(): void;
|
|
25
|
+
private loadFeatures;
|
|
26
|
+
redirectToView(model: any): void;
|
|
27
|
+
getStockReceiptDeleteTitle(model: any): string;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GroupedStockReceiptListComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GroupedStockReceiptListComponent, "app-grouped-stock-receipt-list", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "selectedColumns": { "alias": "selectedColumns"; "required": false; "isSignal": true; }; "exportInProgress": { "alias": "exportInProgress"; "required": false; "isSignal": true; }; }, { "listUpdated": "listUpdated"; "columnConfigReady": "columnConfigReady"; }, never, never, false, never>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OnInit } from "@angular/core";
|
|
2
|
+
import { ColumnConfig, TechlifyFeatureService, TechlifyListingControllerInterface } from 'ngx-techlify-core';
|
|
3
|
+
import { StockReceiptProductService } from "../stock-receipt-product.service";
|
|
4
|
+
import { FormBuilder } from "@angular/forms";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ItemizedStockReceiptProductsListComponent extends TechlifyListingControllerInterface implements OnInit {
|
|
7
|
+
protected service: StockReceiptProductService;
|
|
8
|
+
private formBuilder;
|
|
9
|
+
private featureService;
|
|
10
|
+
filters: import("@angular/core").InputSignal<any>;
|
|
11
|
+
isProductView: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
selectedColumns: import("@angular/core").InputSignal<ColumnConfig[]>;
|
|
13
|
+
exportInProgress: import("@angular/core").InputSignal<boolean>;
|
|
14
|
+
listUpdated: import("@angular/core").OutputEmitterRef<any>;
|
|
15
|
+
columnConfigReady: import("@angular/core").OutputEmitterRef<ColumnConfig[]>;
|
|
16
|
+
private readonly productViewHiddenColumns;
|
|
17
|
+
private _defaultSelectedColumns;
|
|
18
|
+
columnConfig: ColumnConfig[];
|
|
19
|
+
get displayedColumns(): string[];
|
|
20
|
+
get totalPurchasePrice(): number;
|
|
21
|
+
get totalValue(): number;
|
|
22
|
+
get footerColumns(): string[];
|
|
23
|
+
constructor(service: StockReceiptProductService, formBuilder: FormBuilder, featureService: TechlifyFeatureService);
|
|
24
|
+
ngOnInit(): void;
|
|
25
|
+
private loadFeatures;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ItemizedStockReceiptProductsListComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ItemizedStockReceiptProductsListComponent, "app-itemized-stock-receipt-products-list", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "isProductView": { "alias": "isProductView"; "required": false; "isSignal": true; }; "selectedColumns": { "alias": "selectedColumns"; "required": false; "isSignal": true; }; "exportInProgress": { "alias": "exportInProgress"; "required": false; "isSignal": true; }; }, { "listUpdated": "listUpdated"; "columnConfigReady": "columnConfigReady"; }, never, never, false, never>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class StockReceiptProductFormButtonComponent {
|
|
4
|
+
private dialog;
|
|
5
|
+
stockReceiptProduct: import("@angular/core").InputSignal<any>;
|
|
6
|
+
stockReceiptId: import("@angular/core").InputSignal<number>;
|
|
7
|
+
saved: import("@angular/core").OutputEmitterRef<any>;
|
|
8
|
+
constructor(dialog: MatDialog);
|
|
9
|
+
open(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StockReceiptProductFormButtonComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StockReceiptProductFormButtonComponent, "app-stock-receipt-product-form-button", never, { "stockReceiptProduct": { "alias": "stockReceiptProduct"; "required": false; "isSignal": true; }; "stockReceiptId": { "alias": "stockReceiptId"; "required": true; "isSignal": true; }; }, { "saved": "saved"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { FormValidatorService, TechlifyFormComponentInterface } from 'ngx-techlify-core';
|
|
4
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
5
|
+
import { StockReceiptProductService } from '../stock-receipt-product.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class StockReceiptProductFormComponent extends TechlifyFormComponentInterface implements OnInit {
|
|
8
|
+
private fb;
|
|
9
|
+
protected service: StockReceiptProductService;
|
|
10
|
+
data: any;
|
|
11
|
+
constructor(formValidatorService: FormValidatorService, fb: FormBuilder, service: StockReceiptProductService, dialogRef: MatDialogRef<StockReceiptProductFormComponent>, data: any);
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
private updateAmount;
|
|
14
|
+
cancel(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StockReceiptProductFormComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StockReceiptProductFormComponent, "app-stock-receipt-product-form", never, {}, {}, never, never, true, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HttpService, TechlifyServiceBaseClass } from 'ngx-techlify-core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class StockReceiptProductService extends TechlifyServiceBaseClass {
|
|
4
|
+
constructor(httpService: HttpService);
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StockReceiptProductService, never>;
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<StockReceiptProductService>;
|
|
7
|
+
}
|
|
@@ -1,29 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { FormBuilder } from "@angular/forms";
|
|
5
|
-
import { Router } from '@angular/router';
|
|
1
|
+
import { OnInit, Signal } from "@angular/core";
|
|
2
|
+
import { FormBuilder, FormGroup } from "@angular/forms";
|
|
3
|
+
import { ColumnConfig } from "ngx-techlify-core";
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class StockReceiptsListPageComponent
|
|
8
|
-
protected service: StockReceiptService;
|
|
5
|
+
export declare class StockReceiptsListPageComponent implements OnInit {
|
|
9
6
|
private formBuilder;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
listUpdated: EventEmitter<any>;
|
|
7
|
+
product: import("@angular/core").InputSignal<any>;
|
|
8
|
+
supplierId: import("@angular/core").InputSignal<number | undefined>;
|
|
9
|
+
listUpdated: import("@angular/core").OutputEmitterRef<any>;
|
|
10
|
+
selectedView: import("@angular/core").WritableSignal<"itemized" | "grouped">;
|
|
15
11
|
exportInProgress: import("@angular/core").WritableSignal<boolean>;
|
|
16
12
|
columnConfig: ColumnConfig[];
|
|
17
13
|
selectedColumns: ColumnConfig[];
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
get footerColumns(): string[];
|
|
22
|
-
constructor(service: StockReceiptService, formBuilder: FormBuilder, router: Router, featureService: TechlifyFeatureService);
|
|
14
|
+
filterForm: FormGroup;
|
|
15
|
+
filtersValue: Signal<any>;
|
|
16
|
+
constructor(formBuilder: FormBuilder);
|
|
23
17
|
ngOnInit(): void;
|
|
24
|
-
|
|
25
|
-
handleExport(hideColumns: boolean): void;
|
|
26
|
-
redirectToView(model: any): void;
|
|
18
|
+
onColumnConfigReady(config: ColumnConfig[]): void;
|
|
27
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<StockReceiptsListPageComponent, never>;
|
|
28
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StockReceiptsListPageComponent, "app-stock-receipts-list-page", never, { "product": { "alias": "product"; "required": false; }; "supplierId": { "alias": "supplierId"; "required": false; }; }, { "listUpdated": "listUpdated"; }, never, never, false, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StockReceiptsListPageComponent, "app-stock-receipts-list-page", never, { "product": { "alias": "product"; "required": false; "isSignal": true; }; "supplierId": { "alias": "supplierId"; "required": false; "isSignal": true; }; }, { "listUpdated": "listUpdated"; }, never, never, false, never>;
|
|
29
21
|
}
|
|
@@ -2,20 +2,23 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "./stock-receipts-list-page/stock-receipts-list-page.component";
|
|
3
3
|
import * as i2 from "./stock-receipt-delete-button/stock-receipt-delete-button.component";
|
|
4
4
|
import * as i3 from "./stock-receipt-view/stock-receipt-view.component";
|
|
5
|
-
import * as i4 from "
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "../
|
|
9
|
-
import * as i8 from "
|
|
10
|
-
import * as i9 from "
|
|
11
|
-
import * as i10 from "
|
|
12
|
-
import * as i11 from "
|
|
13
|
-
import * as i12 from "
|
|
14
|
-
import * as i13 from "
|
|
15
|
-
import * as i14 from "
|
|
16
|
-
import * as i15 from "../
|
|
5
|
+
import * as i4 from "./grouped-stock-receipt-list/grouped-stock-receipt-list.component";
|
|
6
|
+
import * as i5 from "./itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component";
|
|
7
|
+
import * as i6 from "@angular/common";
|
|
8
|
+
import * as i7 from "../material.module";
|
|
9
|
+
import * as i8 from "./stock-receipts-routing.module";
|
|
10
|
+
import * as i9 from "../techlify-filter/techlify-filter.module";
|
|
11
|
+
import * as i10 from "ngx-techlify-core";
|
|
12
|
+
import * as i11 from "@angular/forms";
|
|
13
|
+
import * as i12 from "../supplier/payee-selector/payee-selector.module";
|
|
14
|
+
import * as i13 from "ngx-infinite-scroll";
|
|
15
|
+
import * as i14 from "./stock-receipt-form/stock-receipt-form.module";
|
|
16
|
+
import * as i15 from "../product/widgets/product-category-badges/product-category-badges.component";
|
|
17
|
+
import * as i16 from "@angular/router";
|
|
18
|
+
import * as i17 from "../shared/export-to-excel-button/export-to-excel-button.component";
|
|
19
|
+
import * as i18 from "./stock-receipt-product-form/stock-receipt-product-form-button/stock-receipt-product-form-button.component";
|
|
17
20
|
export declare class StockReceiptsModule {
|
|
18
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<StockReceiptsModule, never>;
|
|
19
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<StockReceiptsModule, [typeof i1.StockReceiptsListPageComponent, typeof i2.StockReceiptDeleteButtonComponent, typeof i3.StockReceiptViewComponent], [typeof
|
|
22
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<StockReceiptsModule, [typeof i1.StockReceiptsListPageComponent, typeof i2.StockReceiptDeleteButtonComponent, typeof i3.StockReceiptViewComponent, typeof i4.GroupedStockReceiptListComponent, typeof i5.ItemizedStockReceiptProductsListComponent], [typeof i6.CommonModule, typeof i7.MaterialModule, typeof i8.StockReceiptsRoutingModule, typeof i9.TechlifyFilterModule, typeof i10.SearchableSelectorModule, typeof i10.TimelineFilterModule, typeof i11.ReactiveFormsModule, typeof i12.PayeeSelectorModule, typeof i13.InfiniteScrollDirective, typeof i14.StockReceiptFormModule, typeof i15.ProductCategoryBadgesComponent, typeof i10.ColumnSelectorModule, typeof i10.EntityFilesViewAllModule, typeof i10.TechlifyFeatureModule, typeof i10.NoteModule, typeof i10.TechlifyIconModule, typeof i16.RouterModule, typeof i17.ExportToExcelButtonComponent, typeof i10.TechlifyDeleteButtonComponent, typeof i18.StockReceiptProductFormButtonComponent], [typeof i2.StockReceiptDeleteButtonComponent, typeof i1.StockReceiptsListPageComponent, typeof i4.GroupedStockReceiptListComponent, typeof i5.ItemizedStockReceiptProductsListComponent]>;
|
|
20
23
|
static ɵinj: i0.ɵɵInjectorDeclaration<StockReceiptsModule>;
|
|
21
24
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -21,12 +21,21 @@ export * from './lib/inventory-common/stock-issuances/stock-issue-list/stock-iss
|
|
|
21
21
|
export * from './lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module';
|
|
22
22
|
export * from './lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form.module';
|
|
23
23
|
export * from './lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form-button/stock-issue-form-button.component';
|
|
24
|
+
export * from './lib/inventory-common/stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component';
|
|
25
|
+
export * from './lib/inventory-common/stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component';
|
|
26
|
+
export * from './lib/inventory-common/stock-issuances/stock-issue-product.service';
|
|
27
|
+
export * from './lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form.component';
|
|
28
|
+
export * from './lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component';
|
|
24
29
|
export * from './lib/inventory-common/stock-receipts/stock-receipts.module';
|
|
25
30
|
export * from './lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component';
|
|
26
31
|
export * from './lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component';
|
|
32
|
+
export * from './lib/inventory-common/stock-receipts/grouped-stock-receipt-list/grouped-stock-receipt-list.component';
|
|
33
|
+
export * from './lib/inventory-common/stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component';
|
|
27
34
|
export * from './lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module';
|
|
28
35
|
export * from './lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component';
|
|
29
36
|
export * from './lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component';
|
|
37
|
+
export * from './lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component';
|
|
38
|
+
export * from './lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form-button/stock-receipt-product-form-button.component';
|
|
30
39
|
export * from './lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component';
|
|
31
40
|
export * from './lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component';
|
|
32
41
|
export * from './lib/inventory-common/stock-transfer/stock-transfer-form-button/stock-transfer-form-button.component';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"techlify-inventory-common-category.module-CjruFhHc.mjs","sources":["../../../projects/inventory-common/src/lib/inventory-common/category/category.service.ts","../../../projects/inventory-common/src/lib/inventory-common/category/category-form/category-form.component.ts","../../../projects/inventory-common/src/lib/inventory-common/category/category-form/category-form.component.html","../../../projects/inventory-common/src/lib/inventory-common/category/category-form-button/category-form-button.component.ts","../../../projects/inventory-common/src/lib/inventory-common/category/category-form-button/category-form-button.component.html","../../../projects/inventory-common/src/lib/inventory-common/category/category-list-page/category-list-page.component.ts","../../../projects/inventory-common/src/lib/inventory-common/category/category-list-page/category-list-page.component.html","../../../projects/inventory-common/src/lib/inventory-common/category/category-view/category-view.component.ts","../../../projects/inventory-common/src/lib/inventory-common/category/category-view/category-view.component.html","../../../projects/inventory-common/src/lib/inventory-common/category/category-routing.module.ts","../../../projects/inventory-common/src/lib/inventory-common/category/category.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpService, TechlifyServiceBaseClass } from 'ngx-techlify-core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CategoryService extends TechlifyServiceBaseClass {\n constructor(httpService: HttpService) {\n super(httpService, 'product-categories');\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { AlertService, FormValidatorService, TechlifyFormComponentInterface } from 'ngx-techlify-core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { CategoryService } from '../category.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'app-category-form',\n templateUrl: './category-form.component.html',\n styleUrls: ['./category-form.component.scss'],\n})\nexport class CategoryFormComponent extends TechlifyFormComponentInterface implements OnInit {\n @Input() category: any;\n @Output() saved: EventEmitter<any> = new EventEmitter<any>();\n @Output() cancelled: EventEmitter<any> = new EventEmitter<any>();\n\n isSaving: boolean = false;\n constructor(\n formValidatorService: FormValidatorService,\n private formBuilder: FormBuilder,\n private categoryService: CategoryService,\n ) {\n super(formValidatorService);\n this.errorMessages = {\n title: {\n required: 'The title field is required.',\n },\n };\n\n this.form = this.formBuilder.group({\n id: [''],\n title: ['', Validators.required],\n description: [''],\n });\n }\n\n save() {\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n this.alertService.addAlert('Please check the form for errors.', 'error');\n return;\n }\n\n this.isSaving = true;\n const data: any = { ...this.form.value };\n let request: Observable<any> = this.categoryService.store(data);\n if (this.category?.id) {\n request = this.categoryService.update(data);\n }\n request.subscribe({\n next: (response: any) => {\n this.isSaving = false;\n this.alertService.addAlert('Category saved successfully!', 'success');\n this.saved.emit(response?.item);\n },\n error: () => {\n this.isSaving = false;\n },\n });\n }\n\n ngOnInit(): void {\n if (this.category) {\n this.form.patchValue({ ...this.category });\n }\n }\n}\n","<form [formGroup]=\"form\" (submit)=\"save()\" class=\"d-flex flex-column justify-content-start\">\n <mat-form-field>\n <mat-label>Title</mat-label>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Title\" />\n <mat-error *ngIf=\"isFieldValid('title')\">\n {{ getErrorMessage('title') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea matInput formControlName=\"description\" placeholder=\"Description\"></textarea>\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-2\">\n <button [disabled]=\"isSaving\" type=\"submit\" mat-raised-button color=\"primary\">Save</button>\n <button [disabled]=\"isSaving\" type=\"button\" mat-flat-button (click)=\"cancelled.emit()\">Cancel</button>\n </div>\n</form>\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-category-form-button',\n templateUrl: './category-form-button.component.html',\n styleUrls: ['./category-form-button.component.scss'],\n})\nexport class CategoryFormButtonComponent {\n @Input() category: any;\n @Output() saved: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(public matDialog: MatDialog) {}\n\n showCategoryForm(templateRef: TemplateRef<any>) {\n this.matDialog.open(templateRef, { width: '500px' });\n }\n\n onCategorySaved(category: any) {\n this.matDialog.closeAll();\n this.saved.emit(category);\n }\n}\n","<mat-icon *ngIf=\"!category\" color=\"primary\" class=\"cursor-pointer\" (click)=\"showCategoryForm(categoryFormTemplate)\">\n add\n</mat-icon>\n\n<mat-icon *ngIf=\"category\" class=\"cursor-pointer\" (click)=\"showCategoryForm(categoryFormTemplate)\"> edit </mat-icon>\n\n<ng-template #categoryFormTemplate>\n <h3 class=\"mb-0\" mat-dialog-title>{{ category ? 'Edit' : 'Create' }} Category</h3>\n <small class=\"text-secondary px-4\"> Note that category names are unique and cannot be duplicated. </small>\n <div mat-dialog-content>\n <app-category-form\n class=\"mt-3\"\n [category]=\"category\"\n (saved)=\"onCategorySaved($event)\"\n (cancelled)=\"matDialog.closeAll()\"\n ></app-category-form>\n </div>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { TechlifyListingControllerInterface } from 'ngx-techlify-core';\nimport { FormBuilder } from '@angular/forms';\nimport { CategoryService } from '../category.service';\nimport { Sort } from '@angular/material/sort';\n\n@Component({\n selector: 'app-category-list-page',\n templateUrl: './category-list-page.component.html',\n styleUrls: ['./category-list-page.component.scss'],\n})\nexport class CategoryListPageComponent extends TechlifyListingControllerInterface {\n filterConfig = {\n search: {\n placeholder: 'Search category title, description',\n },\n };\n displayedColumns: string[] = ['no', 'title', 'description', 'products', 'actions'];\n\n constructor(private formBuilder: FormBuilder, private categoryService: CategoryService) {\n super();\n this.filterForm = this.formBuilder.group({\n search: [''],\n sort_by: ['created_at|desc'],\n });\n }\n\n override loadData() {\n this.isWorking = true;\n const params: any = { ...this.filterForm.value };\n params.perPage = this.perPage;\n params.page = this.page;\n params.withCount = 'products';\n\n this.categoryService.index(params).subscribe({\n next: (response: any) => {\n this.models = this.models.concat(response?.data);\n this.lastPage = response?.last_page;\n this.isWorking = false;\n },\n error: () => (this.isWorking = false),\n });\n }\n\n onSortChange(sort: Sort) {\n let { active, direction } = sort;\n if (!active) active = 'created_at';\n if (!direction) direction = 'desc';\n\n this.filterForm.get('sort_by').setValue(active + '|' + direction);\n }\n}\n","<mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <h3 class=\"mb-0\">Product Categories</h3>\n <app-category-form-button (saved)=\"reload()\"></app-category-form-button>\n </div>\n <app-techlify-filter\n [filterForm]=\"filterForm\"\n (filterUpdated)=\"reload()\"\n [filterConfig]=\"filterConfig\"\n ></app-techlify-filter>\n </mat-card-content>\n</mat-card>\n\n<mat-card class=\"mt-2\">\n <mat-card-content class=\"p-0\">\n <table\n mat-table\n [dataSource]=\"models\"\n class=\"w-100\"\n aria-describedby=\"Product Categories\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\"\n matSort\n (matSortChange)=\"onSortChange($event)\"\n >\n <!-- # Column -->\n <ng-container matColumnDef=\"no\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Title</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.title }}</td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.description }}</td>\n </ng-container>\n\n <!-- Products Column -->\n <ng-container matColumnDef=\"products\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header=\"products_count\">Products</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.products_count }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <app-category-form-button [category]=\"element\" (saved)=\"reload()\"></app-category-form-button>\n <a class=\"text-decoration-none text-dark\" [routerLink]=\"[element?.id, 'view']\">\n <mat-icon class=\"text-dark\">visibility</mat-icon>\n </a>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CategoryService } from '../category.service';\n\n@Component({\n selector: 'app-category-view',\n templateUrl: './category-view.component.html',\n styleUrl: './category-view.component.scss',\n})\nexport class CategoryViewComponent implements OnInit {\n id!: number;\n isWorking = false;\n model: any;\n constructor(private activatedRoute: ActivatedRoute, private service: CategoryService) {\n this.id = parseInt(this.activatedRoute.snapshot.params['id']);\n }\n\n ngOnInit() {\n if (this.id) {\n this.loadData();\n }\n }\n\n loadData() {\n this.isWorking = true;\n this.service.show(this.id).subscribe({\n next: (response: any) => {\n this.isWorking = false;\n this.model = response?.item;\n },\n error: (error: any) => {\n this.isWorking = false;\n },\n });\n }\n}\n","<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n\n<div style=\"max-width: 250px\" *ngIf=\"model\" class=\"d-flex flex-column gap-3\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <h3 class=\"fw-bold\">Information</h3>\n <div class=\"d-flex justify-content-end align-items-center\">\n <app-category-form-button [category]=\"model\" (saved)=\"loadData()\"></app-category-form-button>\n </div>\n </mat-card-content>\n <mat-divider class=\"mt-2\"></mat-divider>\n <mat-card-content class=\"mt-3\">\n <div class=\"d-flex flex-column justify-content-start gap-0\">\n <small class=\"text-secondary\">Title</small>\n <p>{{ model?.title }}</p>\n </div>\n <div *ngIf=\"model?.description\" class=\"d-flex flex-column justify-content-start gap-0\">\n <small class=\"text-secondary\">Description</small>\n <p>{{ model?.description }}</p>\n </div>\n </mat-card-content>\n </mat-card>\n\n <app-note-list\n labelText=\"Notes\"\n viewMode=\"timeline\"\n modelType=\"ProductCategory\"\n [relatedModelId]=\"model?.id\"\n ></app-note-list>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { CategoryListPageComponent } from './category-list-page/category-list-page.component';\nimport { CategoryViewComponent } from './category-view/category-view.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: CategoryListPageComponent,\n },\n {\n path: ':id/view',\n component: CategoryViewComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class CategoryRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CategoryRoutingModule } from './category-routing.module';\nimport { CategoryListPageComponent } from './category-list-page/category-list-page.component';\nimport { MatCardModule } from '@angular/material/card';\nimport { CategoryFormButtonComponent } from './category-form-button/category-form-button.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CategoryFormComponent } from './category-form/category-form.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { MaterialModule, NoteModule } from 'ngx-techlify-core';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TechlifyFilterModule } from '../techlify-filter/techlify-filter.module';\nimport { CategoryViewComponent } from './category-view/category-view.component';\n\n@NgModule({\n declarations: [CategoryListPageComponent, CategoryFormButtonComponent, CategoryFormComponent, CategoryViewComponent],\n imports: [\n CommonModule,\n CategoryRoutingModule,\n MatCardModule,\n MatIconModule,\n MatDialogModule,\n ReactiveFormsModule,\n MaterialModule,\n TechlifyFilterModule,\n InfiniteScrollModule,\n MatProgressBarModule,\n NoteModule,\n ],\n exports: [CategoryFormButtonComponent],\n})\nexport class CategoryModule {}\n"],"names":["i3.CategoryService","i4","i5","i7","i1","i2","i3","i4.CategoryFormComponent","i2.CategoryService","i6","i8","i9","i10.TechlifyFilterComponent","i11","i12.CategoryFormButtonComponent","i8.CategoryFormButtonComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMM,MAAO,eAAgB,SAAQ,wBAAwB,CAAA;AAC3D,IAAA,WAAA,CAAY,WAAwB,EAAA;AAClC,QAAA,KAAK,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KAC1C;wGAHU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACMK,MAAO,qBAAsB,SAAQ,8BAA8B,CAAA;AAQ7D,IAAA,WAAA,CAAA;AACA,IAAA,eAAA,CAAA;AARD,IAAA,QAAQ,CAAM;AACb,IAAA,KAAK,GAAsB,IAAI,YAAY,EAAO,CAAC;AACnD,IAAA,SAAS,GAAsB,IAAI,YAAY,EAAO,CAAC;IAEjE,QAAQ,GAAY,KAAK,CAAC;AAC1B,IAAA,WAAA,CACE,oBAA0C,EAClC,WAAwB,EACxB,eAAgC,EAAA;QAExC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAHpB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAGxC,IAAI,CAAC,aAAa,GAAG;AACnB,YAAA,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,8BAA8B;AACzC,aAAA;SACF,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACjC,EAAE,EAAE,CAAC,EAAE,CAAC;AACR,YAAA,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;YAChC,WAAW,EAAE,CAAC,EAAE,CAAC;AAClB,SAAA,CAAC,CAAC;KACJ;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC7B,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;YACzE,OAAO;SACR;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,GAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,OAAO,GAAoB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChE,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;YACrB,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,CAAC,SAAS,CAAC;AAChB,YAAA,IAAI,EAAE,CAAC,QAAa,KAAI;AACtB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACjC;YACD,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;AACF,SAAA,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5C;KACF;wGAtDU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,uKCXlC,w1BAmBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FDRa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,w1BAAA,EAAA,CAAA;8IAKpB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MENI,2BAA2B,CAAA;AAInB,IAAA,SAAA,CAAA;AAHV,IAAA,QAAQ,CAAM;AACb,IAAA,KAAK,GAAsB,IAAI,YAAY,EAAO,CAAC;AAE7D,IAAA,WAAA,CAAmB,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAE3C,IAAA,gBAAgB,CAAC,WAA6B,EAAA;AAC5C,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;KACtD;AAED,IAAA,eAAe,CAAC,QAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC3B;wGAbU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,+HCRxC,svBAkBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FDVa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,0BAA0B,EAAA,QAAA,EAAA,svBAAA,EAAA,CAAA;gFAK3B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;;;AECH,MAAO,yBAA0B,SAAQ,kCAAkC,CAAA;AAQ3D,IAAA,WAAA,CAAA;AAAkC,IAAA,eAAA,CAAA;AAPtD,IAAA,YAAY,GAAG;AACb,QAAA,MAAM,EAAE;AACN,YAAA,WAAW,EAAE,oCAAoC;AAClD,SAAA;KACF,CAAC;AACF,IAAA,gBAAgB,GAAa,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAEnF,WAAoB,CAAA,WAAwB,EAAU,eAAgC,EAAA;AACpF,QAAA,KAAK,EAAE,CAAC;QADU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAU,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAEpF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACvC,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,SAAA,CAAC,CAAC;KACJ;IAEQ,QAAQ,GAAA;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,MAAM,GAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACjD,QAAA,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC9B,QAAA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AAC3C,YAAA,IAAI,EAAE,CAAC,QAAa,KAAI;AACtB,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjD,gBAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,SAAS,CAAC;AACpC,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;YACD,KAAK,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACtC,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,YAAY,CAAC,IAAU,EAAA;AACrB,QAAA,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;AACjC,QAAA,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,YAAY,CAAC;AACnC,QAAA,IAAI,CAAC,SAAS;YAAE,SAAS,GAAG,MAAM,CAAC;AAEnC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;KACnE;wGAvCU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,qFCXtC,izFA0EA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,GAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,GAAA,CAAA,aAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,GAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,6DAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FD/Da,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,izFAAA,EAAA,CAAA;;;MEEvB,qBAAqB,CAAA;AAIZ,IAAA,cAAA,CAAA;AAAwC,IAAA,OAAA,CAAA;AAH5D,IAAA,EAAE,CAAU;IACZ,SAAS,GAAG,KAAK,CAAC;AAClB,IAAA,KAAK,CAAM;IACX,WAAoB,CAAA,cAA8B,EAAU,OAAwB,EAAA;QAAhE,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAAU,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AAClF,QAAA,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/D;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AACnC,YAAA,IAAI,EAAE,CAAC,QAAa,KAAI;AACtB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,gBAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,IAAI,CAAC;aAC7B;AACD,YAAA,KAAK,EAAE,CAAC,KAAU,KAAI;AACpB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;AACF,SAAA,CAAC,CAAC;KACJ;wGAzBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAV,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,yDCTlC,wsCA8BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,2BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FDrBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,wsCAAA,EAAA,CAAA;;;AEA/B,MAAM,MAAM,GAAW;AACrB,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,SAAS,EAAE,yBAAyB;AACrC,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,SAAS,EAAE,qBAAqB;AACjC,KAAA;CACF,CAAC;MAMW,qBAAqB,CAAA;wGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,wCAFtB,YAAY,CAAA,EAAA,CAAA,CAAA;yGAEX,qBAAqB,EAAA,OAAA,EAAA,CAHtB,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAEX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;MCeY,cAAc,CAAA;wGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAd,cAAc,EAAA,YAAA,EAAA,CAhBV,yBAAyB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAEjH,YAAY;YACZ,qBAAqB;YACrB,aAAa;YACb,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,cAAc;YACd,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;AACpB,YAAA,UAAU,aAEF,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAE1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAdvB,YAAY;YACZ,qBAAqB;YACrB,aAAa;YACb,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,cAAc;YACd,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,UAAU,CAAA,EAAA,CAAA,CAAA;;4FAID,cAAc,EAAA,UAAA,EAAA,CAAA;kBAjB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,yBAAyB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;AACpH,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,qBAAqB;wBACrB,aAAa;wBACb,aAAa;wBACb,eAAe;wBACf,mBAAmB;wBACnB,cAAc;wBACd,oBAAoB;wBACpB,oBAAoB;wBACpB,oBAAoB;wBACpB,UAAU;AACX,qBAAA;oBACD,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACvC,iBAAA,CAAA;;;;;"}
|