techlify-inventory-common 18.19.0 → 18.20.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.
Files changed (17) hide show
  1. package/esm2022/lib/inventory-common/product/product-search/product-search.component.mjs +8 -5
  2. package/esm2022/lib/inventory-common/product/product.module.mjs +4 -2
  3. package/esm2022/public-api.mjs +15 -1
  4. package/fesm2022/{techlify-inventory-common-category.module-B4CGfj58.mjs → techlify-inventory-common-category.module-Bi-p08uw.mjs} +2 -2
  5. package/fesm2022/{techlify-inventory-common-category.module-B4CGfj58.mjs.map → techlify-inventory-common-category.module-Bi-p08uw.mjs.map} +1 -1
  6. package/fesm2022/{techlify-inventory-common-location.module-NaTWwOXZ.mjs → techlify-inventory-common-location.module-DibjfQU_.mjs} +2 -2
  7. package/fesm2022/{techlify-inventory-common-location.module-NaTWwOXZ.mjs.map → techlify-inventory-common-location.module-DibjfQU_.mjs.map} +1 -1
  8. package/fesm2022/{techlify-inventory-common-measure.module-DymSMJIU.mjs → techlify-inventory-common-measure.module-Bx31q5Ky.mjs} +2 -2
  9. package/fesm2022/{techlify-inventory-common-measure.module-DymSMJIU.mjs.map → techlify-inventory-common-measure.module-Bx31q5Ky.mjs.map} +1 -1
  10. package/fesm2022/{techlify-inventory-common-techlify-inventory-common-BYBEwInz.mjs → techlify-inventory-common-techlify-inventory-common-CEDIgU8e.mjs} +14 -9
  11. package/fesm2022/techlify-inventory-common-techlify-inventory-common-CEDIgU8e.mjs.map +1 -0
  12. package/fesm2022/techlify-inventory-common.mjs +1 -1
  13. package/lib/inventory-common/product/product-search/product-search.component.d.ts +2 -1
  14. package/lib/inventory-common/product/product.module.d.ts +1 -1
  15. package/package.json +1 -1
  16. package/public-api.d.ts +14 -0
  17. package/fesm2022/techlify-inventory-common-techlify-inventory-common-BYBEwInz.mjs.map +0 -1
@@ -3214,7 +3214,8 @@ class ProductModule {
3214
3214
  StockTransferListComponent,
3215
3215
  ExportToExcelButtonComponent], exports: [ProductFormComponent,
3216
3216
  ProductBasicInfoComponent,
3217
- ProductFormButtonComponent] });
3217
+ ProductFormButtonComponent,
3218
+ ProductBatchUpdateFormComponent] });
3218
3219
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductModule, imports: [CommonModule,
3219
3220
  ProductRoutingModule,
3220
3221
  SearchableSelectorModule,
@@ -3278,6 +3279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3278
3279
  ProductFormComponent,
3279
3280
  ProductBasicInfoComponent,
3280
3281
  ProductFormButtonComponent,
3282
+ ProductBatchUpdateFormComponent
3281
3283
  ],
3282
3284
  }]
3283
3285
  }] });
@@ -3711,11 +3713,11 @@ const routes$4 = [
3711
3713
  },
3712
3714
  {
3713
3715
  path: 'locations',
3714
- loadChildren: () => import('./techlify-inventory-common-location.module-NaTWwOXZ.mjs').then((mod) => mod.LocationModule),
3716
+ loadChildren: () => import('./techlify-inventory-common-location.module-DibjfQU_.mjs').then((mod) => mod.LocationModule),
3715
3717
  },
3716
3718
  {
3717
3719
  path: "measures",
3718
- loadChildren: () => import('./techlify-inventory-common-measure.module-DymSMJIU.mjs').then((mod) => mod.MeasureModule),
3720
+ loadChildren: () => import('./techlify-inventory-common-measure.module-Bx31q5Ky.mjs').then((mod) => mod.MeasureModule),
3719
3721
  },
3720
3722
  {
3721
3723
  path: 'stock-issues',
@@ -3727,7 +3729,7 @@ const routes$4 = [
3727
3729
  },
3728
3730
  {
3729
3731
  path: 'categories',
3730
- loadChildren: () => import('./techlify-inventory-common-category.module-B4CGfj58.mjs').then((mod) => mod.CategoryModule),
3732
+ loadChildren: () => import('./techlify-inventory-common-category.module-Bi-p08uw.mjs').then((mod) => mod.CategoryModule),
3731
3733
  },
3732
3734
  {
3733
3735
  path: 'products',
@@ -3837,6 +3839,7 @@ let ProductSearchComponent = class ProductSearchComponent {
3837
3839
  ];
3838
3840
  displayedColumns = ['Product Title', 'Product Sku', 'Actions'];
3839
3841
  dataSource = new MatTableDataSource();
3842
+ with = '';
3840
3843
  selected = new EventEmitter();
3841
3844
  constructor(dialog, fb, filterService, productService, activatedRoute) {
3842
3845
  this.dialog = dialog;
@@ -3865,7 +3868,7 @@ let ProductSearchComponent = class ProductSearchComponent {
3865
3868
  filters.page = this.page;
3866
3869
  filters.per_page = this.perPage;
3867
3870
  filters.num_items = this.num_items + '|' + this.currentPage;
3868
- filters.with = 'taxes.tax.type';
3871
+ filters.with = this.with;
3869
3872
  var res = await this.productService.index(filters).toPromise();
3870
3873
  if (this.products.length < 1) {
3871
3874
  this.products = res.data;
@@ -3930,7 +3933,7 @@ let ProductSearchComponent = class ProductSearchComponent {
3930
3933
  });
3931
3934
  }
3932
3935
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSearchComponent, deps: [{ token: i1$1.MatDialog }, { token: i2$1.FormBuilder }, { token: i1.FilterService }, { token: ProductService }, { token: i4$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
3933
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductSearchComponent, selector: "app-product-search", outputs: { selected: "selected" }, ngImport: i0, template: "<div id=\"tableContainer\" #tableContainer fxLayout=\"column\" class=\"table-container\">\n <div class=\"text-dark d-flex flex-row justify-content-start align-items-center gap-2\">\n <mat-icon class=\"material-symbol-outlined\"> campaign </mat-icon>\n <strong>Product Search</strong>\n </div>\n <small class=\"text-secondary mt-2\"> Quickly search for a product to be added as a line item. </small>\n <form [formGroup]=\"searchFormGroup\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Search</mat-label>\n <input fxLayout matInput placeholder=\"Search product, SKU\" formControlName=\"search\" />\n </mat-form-field>\n </form>\n <div\n fxLayout=\"column\"\n fxLayoutGap=\"0.5rem\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [infiniteScrollContainer]=\"tableContainer\"\n (scrolled)=\"onScroll()\"\n [fromRoot]=\"false\"\n >\n <mat-card class=\"p-2\" style=\"background: #d9d9d9\" *ngFor=\"let product of products\">\n <div>\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\n <strong class=\"text-dark\">{{ product?.name }}</strong>\n <strong class=\"text-primary font-xs cursor-pointer\" (click)=\"addProduct(product)\"> Add </strong>\n </div>\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\n <small class=\"text-secondary\">{{ product?.sku }}</small>\n <mat-icon\n (click)=\"viewProduct(product, viewProductTemplate)\"\n class=\"material-symbol-outlined font-md cursor-pointer\"\n >\n contact_support\n </mat-icon>\n </div>\n </div>\n </mat-card>\n </div>\n</div>\n\n<ng-template #viewProductTemplate let-data>\n <div mat-dialog-content>\n <app-product-basic-info [product]=\"data.product\" (saved)=\"reload()\" (deleted)=\"reload()\"></app-product-basic-info>\n\n <div class=\"d-flex justify-content-end mt-2\">\n <button mat-flat-button type=\"button\" mat-dialog-close>Close</button>\n </div>\n </div>\n</ng-template>\n", styles: [".table-container{max-height:600px;overflow-y:scroll}::-webkit-scrollbar{display:none}::-webkit-scrollbar-button{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i11.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: ProductBasicInfoComponent, selector: "app-product-basic-info", inputs: ["product"], outputs: ["saved", "deleted"] }], preserveWhitespaces: true });
3936
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductSearchComponent, selector: "app-product-search", inputs: { with: "with" }, outputs: { selected: "selected" }, ngImport: i0, template: "<div id=\"tableContainer\" #tableContainer fxLayout=\"column\" class=\"table-container\">\n <div class=\"text-dark d-flex flex-row justify-content-start align-items-center gap-2\">\n <mat-icon class=\"material-symbol-outlined\"> campaign </mat-icon>\n <strong>Product Search</strong>\n </div>\n <small class=\"text-secondary mt-2\"> Quickly search for a product to be added as a line item. </small>\n <form [formGroup]=\"searchFormGroup\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Search</mat-label>\n <input fxLayout matInput placeholder=\"Search product, SKU\" formControlName=\"search\" />\n </mat-form-field>\n </form>\n <div\n fxLayout=\"column\"\n fxLayoutGap=\"0.5rem\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [infiniteScrollContainer]=\"tableContainer\"\n (scrolled)=\"onScroll()\"\n [fromRoot]=\"false\"\n >\n <mat-card class=\"p-2\" style=\"background: #d9d9d9\" *ngFor=\"let product of products\">\n <div>\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\n <strong class=\"text-dark\">{{ product?.name }}</strong>\n <strong class=\"text-primary font-xs cursor-pointer\" (click)=\"addProduct(product)\"> Add </strong>\n </div>\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\n <small class=\"text-secondary\">{{ product?.sku }}</small>\n <mat-icon\n (click)=\"viewProduct(product, viewProductTemplate)\"\n class=\"material-symbol-outlined font-md cursor-pointer\"\n >\n contact_support\n </mat-icon>\n </div>\n </div>\n </mat-card>\n </div>\n</div>\n\n<ng-template #viewProductTemplate let-data>\n <div mat-dialog-content>\n <app-product-basic-info [product]=\"data.product\" (saved)=\"reload()\" (deleted)=\"reload()\"></app-product-basic-info>\n\n <div class=\"d-flex justify-content-end mt-2\">\n <button mat-flat-button type=\"button\" mat-dialog-close>Close</button>\n </div>\n </div>\n</ng-template>\n", styles: [".table-container{max-height:600px;overflow-y:scroll}::-webkit-scrollbar{display:none}::-webkit-scrollbar-button{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i11.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: ProductBasicInfoComponent, selector: "app-product-basic-info", inputs: ["product"], outputs: ["saved", "deleted"] }], preserveWhitespaces: true });
3934
3937
  };
3935
3938
  ProductSearchComponent = __decorate([
3936
3939
  UntilDestroy()
@@ -3938,7 +3941,9 @@ ProductSearchComponent = __decorate([
3938
3941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductSearchComponent, decorators: [{
3939
3942
  type: Component,
3940
3943
  args: [{ selector: 'app-product-search', template: "<div id=\"tableContainer\" #tableContainer fxLayout=\"column\" class=\"table-container\">\n <div class=\"text-dark d-flex flex-row justify-content-start align-items-center gap-2\">\n <mat-icon class=\"material-symbol-outlined\"> campaign </mat-icon>\n <strong>Product Search</strong>\n </div>\n <small class=\"text-secondary mt-2\"> Quickly search for a product to be added as a line item. </small>\n <form [formGroup]=\"searchFormGroup\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>Search</mat-label>\n <input fxLayout matInput placeholder=\"Search product, SKU\" formControlName=\"search\" />\n </mat-form-field>\n </form>\n <div\n fxLayout=\"column\"\n fxLayoutGap=\"0.5rem\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [infiniteScrollContainer]=\"tableContainer\"\n (scrolled)=\"onScroll()\"\n [fromRoot]=\"false\"\n >\n <mat-card class=\"p-2\" style=\"background: #d9d9d9\" *ngFor=\"let product of products\">\n <div>\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\n <strong class=\"text-dark\">{{ product?.name }}</strong>\n <strong class=\"text-primary font-xs cursor-pointer\" (click)=\"addProduct(product)\"> Add </strong>\n </div>\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\n <small class=\"text-secondary\">{{ product?.sku }}</small>\n <mat-icon\n (click)=\"viewProduct(product, viewProductTemplate)\"\n class=\"material-symbol-outlined font-md cursor-pointer\"\n >\n contact_support\n </mat-icon>\n </div>\n </div>\n </mat-card>\n </div>\n</div>\n\n<ng-template #viewProductTemplate let-data>\n <div mat-dialog-content>\n <app-product-basic-info [product]=\"data.product\" (saved)=\"reload()\" (deleted)=\"reload()\"></app-product-basic-info>\n\n <div class=\"d-flex justify-content-end mt-2\">\n <button mat-flat-button type=\"button\" mat-dialog-close>Close</button>\n </div>\n </div>\n</ng-template>\n", styles: [".table-container{max-height:600px;overflow-y:scroll}::-webkit-scrollbar{display:none}::-webkit-scrollbar-button{display:none}\n"] }]
3941
- }], ctorParameters: () => [{ type: i1$1.MatDialog }, { type: i2$1.FormBuilder }, { type: i1.FilterService }, { type: ProductService }, { type: i4$1.ActivatedRoute }], propDecorators: { selected: [{
3944
+ }], ctorParameters: () => [{ type: i1$1.MatDialog }, { type: i2$1.FormBuilder }, { type: i1.FilterService }, { type: ProductService }, { type: i4$1.ActivatedRoute }], propDecorators: { with: [{
3945
+ type: Input
3946
+ }], selected: [{
3942
3947
  type: Output
3943
3948
  }] } });
3944
3949
 
@@ -5189,5 +5194,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
5189
5194
  * Generated bundle index. Do not edit.
5190
5195
  */
5191
5196
 
5192
- export { RatingService as A, RatingListComponent as B, RatingFormComponent as C, RatingFormButtonComponent as D, InventoryCommonRoutingModule as I, LocationService as L, MaterialModule as M, ProductModule as P, RatingModule as R, StockTransferFormButtonComponent as S, TechlifyFilterComponent as T, ProductCategoryBadgesComponent as a, MeasureService as b, TechlifyFilterModule as c, InventoryCommonModule as d, StockSummaryService as e, ProductFormComponent as f, ProductBasicInfoComponent as g, ProductFormButtonComponent as h, ProductQuickSearchComponent as i, ProductSearchModule as j, ProductSearchComponent as k, StockIssuancesModule as l, StockIssuancesListComponent as m, StockIssuancesListModule as n, SupplierModule as o, SupplierFormButtonComponent as p, SupplierFormComponent as q, SuppliersListComponent as r, SupplierTypeService as s, PayeeSelectorModule as t, PayeeSelectorComponent as u, IncidentModule as v, IncidentService as w, IncidentListComponent as x, IncidentFormComponent as y, IncidentFormButtonComponent as z };
5193
- //# sourceMappingURL=techlify-inventory-common-techlify-inventory-common-BYBEwInz.mjs.map
5197
+ export { StockReceiptFormButtonComponent as A, SupplierModule as B, SupplierFormButtonComponent as C, SupplierFormComponent as D, SuppliersListComponent as E, SupplierTypeService as F, PayeeSelectorModule as G, PayeeSelectorComponent as H, InventoryCommonRoutingModule as I, IncidentModule as J, IncidentService as K, LocationService as L, MaterialModule as M, IncidentListComponent as N, IncidentFormComponent as O, ProductModule as P, IncidentFormButtonComponent as Q, RatingModule as R, StockTransferFormButtonComponent as S, TechlifyFilterComponent as T, RatingService as U, RatingListComponent as V, RatingFormComponent as W, RatingFormButtonComponent as X, ExportToExcelButtonComponent as Y, ProductCategoryBadgesComponent as a, MeasureService as b, TechlifyFilterModule as c, InventoryCommonModule as d, StockSummaryService as e, ProductFormComponent as f, ProductBasicInfoComponent as g, ProductFormButtonComponent as h, ProductQuickSearchComponent as i, ProductSearchModule as j, ProductSearchComponent as k, ProductListComponent as l, ProductService as m, ProductFormService as n, ProductBatchUpdateFormComponent as o, ProductImportPageComponent as p, ProductViewPageComponent as q, StockIssuancesModule as r, StockIssuancesListComponent as s, StockIssuancesListModule as t, StockIssueFormModule as u, StockIssueFormButtonComponent as v, StockReceiptsModule as w, StockReceiptDeleteButtonComponent as x, StockReceiptsListPageComponent as y, StockReceiptFormModule as z };
5198
+ //# sourceMappingURL=techlify-inventory-common-techlify-inventory-common-CEDIgU8e.mjs.map