techlify-inventory-common 18.1.0 → 18.2.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/inventory-common-routing.module.mjs +11 -1
- package/esm2022/lib/inventory-common/inventory-common.module.mjs +8 -4
- package/esm2022/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.mjs +10 -8
- package/esm2022/lib/inventory-common/inventory-value-report.service.mjs +21 -0
- package/esm2022/lib/inventory-common/low-stock-report.service.mjs +23 -0
- package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.mjs +9 -7
- package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +3 -3
- package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +92 -0
- package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +18 -0
- package/esm2022/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.mjs +170 -0
- package/esm2022/lib/inventory-common/reports/low-stock-report/low-stock-report.component.mjs +165 -0
- package/esm2022/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.mjs +64 -0
- package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.mjs +43 -0
- package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +11 -3
- package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +6 -65
- package/fesm2022/{techlify-inventory-common-category.module-CNm2bEsx.mjs → techlify-inventory-common-category.module-BKEBFEeZ.mjs} +9 -9
- package/fesm2022/{techlify-inventory-common-category.module-CNm2bEsx.mjs.map → techlify-inventory-common-category.module-BKEBFEeZ.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-measure.module-BEaRHh5Z.mjs → techlify-inventory-common-measure.module-CZHhYoQd.mjs} +9 -9
- package/fesm2022/{techlify-inventory-common-measure.module-BEaRHh5Z.mjs.map → techlify-inventory-common-measure.module-CZHhYoQd.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-stock-issuances.module-BQRRP-hW.mjs → techlify-inventory-common-stock-issuances.module-BjPbzqUW.mjs} +2 -4
- package/fesm2022/{techlify-inventory-common-stock-issuances.module-BQRRP-hW.mjs.map → techlify-inventory-common-stock-issuances.module-BjPbzqUW.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-supplier.module-Bwa7gx14.mjs → techlify-inventory-common-supplier.module-CFDwJ-TS.mjs} +251 -218
- package/fesm2022/techlify-inventory-common-supplier.module-CFDwJ-TS.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-CYiCJfk9.mjs +3143 -0
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-CYiCJfk9.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common.mjs +1 -1
- package/lib/inventory-common/inventory-common.module.d.ts +2 -1
- package/lib/inventory-common/inventory-value-report.service.d.ts +9 -0
- package/lib/inventory-common/low-stock-report.service.d.ts +10 -0
- package/lib/inventory-common/product/product-quick-search/product-quick-search.component.d.ts +15 -0
- package/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.d.ts +6 -0
- package/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.d.ts +26 -0
- package/lib/inventory-common/reports/low-stock-report/low-stock-report.component.d.ts +26 -0
- package/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.d.ts +18 -0
- package/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.d.ts +13 -0
- package/lib/inventory-common/supplier/supplier.module.d.ts +3 -1
- package/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.d.ts +0 -8
- package/package.json +1 -1
- package/fesm2022/techlify-inventory-common-product.module-BV9Cy88x.mjs +0 -1168
- package/fesm2022/techlify-inventory-common-product.module-BV9Cy88x.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-issuances-list.module-Dt6gx-ji.mjs +0 -436
- package/fesm2022/techlify-inventory-common-stock-issuances-list.module-Dt6gx-ji.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-receipt-form.module-DND0GNlf.mjs +0 -302
- package/fesm2022/techlify-inventory-common-stock-receipt-form.module-DND0GNlf.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-receipts.module-BvYaKITT.mjs +0 -253
- package/fesm2022/techlify-inventory-common-stock-receipts.module-BvYaKITT.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-supplier-form.component-DVBnhiyH.mjs +0 -177
- package/fesm2022/techlify-inventory-common-supplier-form.component-DVBnhiyH.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-supplier.module-Bwa7gx14.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-techlify-form-service-CiVfwYTS.mjs +0 -14
- package/fesm2022/techlify-inventory-common-techlify-form-service-CiVfwYTS.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-GFYF7JCA.mjs +0 -495
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-GFYF7JCA.mjs.map +0 -1
|
@@ -1,46 +1,44 @@
|
|
|
1
1
|
import * as i1$1 from 'ngx-techlify-core';
|
|
2
2
|
import { ActionPopupComponent, TechlifyListingControllerInterface, SearchableSelectorModule, AuditLogForModelModule, NoteModule } from 'ngx-techlify-core';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Input, Component, Injectable, NgModule } from '@angular/core';
|
|
5
|
-
import * as i4 from '@angular/common';
|
|
4
|
+
import { Input, Component, Injectable, NgModule, EventEmitter, Output } from '@angular/core';
|
|
5
|
+
import * as i4$1 from '@angular/common';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import { lastValueFrom, debounceTime, distinctUntilChanged } from 'rxjs';
|
|
8
|
-
import { S as SupplierFormComponent, a as SupplierService } from './techlify-inventory-common-
|
|
8
|
+
import { S as SupplierFormComponent, a as SupplierService, T as TechlifyFormService } from './techlify-inventory-common-techlify-inventory-common-CYiCJfk9.mjs';
|
|
9
9
|
import * as i2 from '@angular/router';
|
|
10
10
|
import { RouterModule } from '@angular/router';
|
|
11
|
-
import * as
|
|
11
|
+
import * as i4 from '@angular/material/card';
|
|
12
12
|
import { MatCardModule } from '@angular/material/card';
|
|
13
13
|
import * as i7 from '@angular/material/progress-bar';
|
|
14
14
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
15
|
-
import * as i6
|
|
15
|
+
import * as i6 from '@angular/material/tabs';
|
|
16
16
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
17
17
|
import * as i1 from '@angular/material/dialog';
|
|
18
18
|
import { MatDialogModule } from '@angular/material/dialog';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i3 from '@angular/material/divider';
|
|
20
20
|
import { MatDividerModule } from '@angular/material/divider';
|
|
21
21
|
import * as i3$1 from '@angular/material/icon';
|
|
22
22
|
import { MatIconModule } from '@angular/material/icon';
|
|
23
|
-
import { T as TechlifyFormService } from './techlify-inventory-common-techlify-form-service-CiVfwYTS.mjs';
|
|
24
23
|
import { __decorate } from 'tslib';
|
|
25
24
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
|
26
|
-
import * as
|
|
25
|
+
import * as i4$2 from 'ngx-spinner';
|
|
27
26
|
import * as i2$1 from '@angular/forms';
|
|
28
27
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
29
|
-
import * as
|
|
28
|
+
import * as i7$1 from '@angular/material/form-field';
|
|
30
29
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
31
|
-
import * as
|
|
30
|
+
import * as i9 from '@angular/material/input';
|
|
32
31
|
import { MatInputModule } from '@angular/material/input';
|
|
33
|
-
import * as
|
|
32
|
+
import * as i13 from '@angular/material/sort';
|
|
34
33
|
import { MatSortModule } from '@angular/material/sort';
|
|
35
|
-
import * as
|
|
34
|
+
import * as i14 from '@angular/material/table';
|
|
36
35
|
import { MatTableModule } from '@angular/material/table';
|
|
37
36
|
import * as i2$2 from '@angular/material/tooltip';
|
|
38
37
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
39
38
|
import * as i10 from 'ngx-infinite-scroll';
|
|
40
39
|
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
41
|
-
import * as
|
|
40
|
+
import * as i5 from 'ngx-permissions';
|
|
42
41
|
import { NgxPermissionsModule } from 'ngx-permissions';
|
|
43
|
-
import { FlexModule } from '@angular/flex-layout';
|
|
44
42
|
import { MatCommonModule, MatLineModule, MatNativeDateModule, MatOptionModule, MatPseudoCheckboxModule, MatRippleModule } from '@angular/material/core';
|
|
45
43
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
46
44
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
@@ -64,6 +62,7 @@ import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
|
64
62
|
import { MatStepperModule } from '@angular/material/stepper';
|
|
65
63
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
66
64
|
import { MatTreeModule } from '@angular/material/tree';
|
|
65
|
+
import { FlexModule } from '@angular/flex-layout';
|
|
67
66
|
|
|
68
67
|
class SupplierInformationComponent {
|
|
69
68
|
dialog;
|
|
@@ -117,7 +116,7 @@ class SupplierInformationComponent {
|
|
|
117
116
|
});
|
|
118
117
|
}
|
|
119
118
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierInformationComponent, deps: [{ token: i1.MatDialog }, { token: SupplierService }, { token: i1$1.AlertService }, { token: i2.Router }, { token: i1$1.ErrorHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierInformationComponent, selector: "app-supplier-information", inputs: { supplier: "supplier" }, ngImport: i0, template: "<mat-card>\n <mat-card-content>\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"mb-0\">Personal Information</h3>\n <div class=\"d-flex justify-content-end align-items-center gap-1\">\n <app-audit-log-for-model\n [modelId]=\"supplier?.id\"\n modelType=\"Supplier\"\n logView=\"all\"\n ></app-audit-log-for-model>\n <mat-icon\n class=\"material-icons cursor-pointer\"\n (click)=\"modifySupplier(supplier)\"\n >\n edit\n </mat-icon>\n <mat-icon\n class=\"material-icons cursor-pointer\"\n (click)=\"deleteSupplier(supplier)\"\n >\n delete\n </mat-icon>\n </div>\n </div>\n\n <mat-divider></mat-divider>\n\n <div class=\"mt-2\">\n <div class=\"d-flex justify-content-start gap-2\">\n <div>\n <h3 class=\"mb-0\">{{ supplier?.company_name }}</h3>\n <span class=\"status-pill-sm status-light-orange\">{{\n supplier?.type?.title\n }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"row mt-3\">\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Contact Name</p>\n <p class=\"text-wrap\">{{ supplier?.contact_name }}</p>\n </div>\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Email</p>\n <p class=\"text-wrap\">{{ supplier?.email }}</p>\n </div>\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Phone</p>\n <p class=\"text-wrap\">{{ supplier?.phone }}</p>\n </div>\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Details</p>\n <p class=\"text-wrap\">{{ supplier?.details }}</p>\n </div>\n </div>\n\n <div class=\"row mt-2 h-100\">\n <div class=\"d-flex\">\n <mat-icon class=\"material-icons text-primary my-auto\"\n >location_on</mat-icon\n >\n <p class=\"ms-2 my-auto\">{{ supplier?.address }}</p>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n", dependencies: [{ kind: "component", type:
|
|
119
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierInformationComponent, selector: "app-supplier-information", inputs: { supplier: "supplier" }, ngImport: i0, template: "<mat-card>\n <mat-card-content>\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"mb-0\">Personal Information</h3>\n <div class=\"d-flex justify-content-end align-items-center gap-1\">\n <app-audit-log-for-model\n [modelId]=\"supplier?.id\"\n modelType=\"Supplier\"\n logView=\"all\"\n ></app-audit-log-for-model>\n <mat-icon\n class=\"material-icons cursor-pointer\"\n (click)=\"modifySupplier(supplier)\"\n >\n edit\n </mat-icon>\n <mat-icon\n class=\"material-icons cursor-pointer\"\n (click)=\"deleteSupplier(supplier)\"\n >\n delete\n </mat-icon>\n </div>\n </div>\n\n <mat-divider></mat-divider>\n\n <div class=\"mt-2\">\n <div class=\"d-flex justify-content-start gap-2\">\n <div>\n <h3 class=\"mb-0\">{{ supplier?.company_name }}</h3>\n <span class=\"status-pill-sm status-light-orange\">{{\n supplier?.type?.title\n }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"row mt-3\">\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Contact Name</p>\n <p class=\"text-wrap\">{{ supplier?.contact_name }}</p>\n </div>\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Email</p>\n <p class=\"text-wrap\">{{ supplier?.email }}</p>\n </div>\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Phone</p>\n <p class=\"text-wrap\">{{ supplier?.phone }}</p>\n </div>\n <div class=\"col-6\">\n <p class=\"text-muted mb-0\">Details</p>\n <p class=\"text-wrap\">{{ supplier?.details }}</p>\n </div>\n </div>\n\n <div class=\"row mt-2 h-100\">\n <div class=\"d-flex\">\n <mat-icon class=\"material-icons text-primary my-auto\"\n >location_on</mat-icon\n >\n <p class=\"ms-2 my-auto\">{{ supplier?.address }}</p>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n", dependencies: [{ kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1$1.AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: ["modelType", "modelId", "logView"] }], preserveWhitespaces: true });
|
|
121
120
|
}
|
|
122
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierInformationComponent, decorators: [{
|
|
123
122
|
type: Component,
|
|
@@ -174,7 +173,7 @@ class SupplierViewComponent {
|
|
|
174
173
|
this.supplier = result.item;
|
|
175
174
|
}
|
|
176
175
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierViewComponent, deps: [{ token: SupplierService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
177
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierViewComponent, selector: "app-supplier-view", ngImport: i0, template: "<mat-progress-bar *ngIf=\"isLoading\" mode=\"indeterminate\"></mat-progress-bar>\n\n<div *ngIf=\"supplier\" class=\"d-flex justify-content-start gap-3\">\n <div style=\"width: 300px\">\n <app-supplier-information [supplier]=\"supplier\"></app-supplier-information>\n <mat-card class=\"mt-3\">\n <mat-card-content class=\"p-0\">\n <app-note-list\n modelType=\"Supplier\"\n [relatedModelId]=\"supplier?.id\"\n ></app-note-list>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div style=\"width: calc(100% - 300px - 1rem)\">\n <mat-card style=\"width: fit-content\">\n <mat-card-content class=\"p-0\">\n <mat-tab-group\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [selectedIndex]=\"selectedTabIndex\"\n (selectedTabChange)=\"onTabChange($event)\"\n >\n <mat-tab>\n <ng-template mat-tab-label>\n <div\n class=\"d-flex justify-content-start align-items-center gap-1\"\n >\n <span class=\"material-symbols-outlined\">unknown_document</span>\n <span class=\"pl-2\">Incidents</span>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <div\n class=\"d-flex justify-content-start align-items-center gap-1\"\n >\n <span class=\"material-symbols-outlined\">star</span>\n <span class=\"pl-2\">Ratings</span>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <div\n class=\"d-flex justify-content-start align-items-center gap-1\"\n >\n <span class=\"material-symbols-outlined\">price_change</span>\n <span class=\"pl-2\">Estimates</span>\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-card-content>\n </mat-card>\n <router-outlet></router-outlet>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type:
|
|
176
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierViewComponent, selector: "app-supplier-view", ngImport: i0, template: "<mat-progress-bar *ngIf=\"isLoading\" mode=\"indeterminate\"></mat-progress-bar>\n\n<div *ngIf=\"supplier\" class=\"d-flex justify-content-start gap-3\">\n <div style=\"width: 300px\">\n <app-supplier-information [supplier]=\"supplier\"></app-supplier-information>\n <mat-card class=\"mt-3\">\n <mat-card-content class=\"p-0\">\n <app-note-list\n modelType=\"Supplier\"\n [relatedModelId]=\"supplier?.id\"\n ></app-note-list>\n </mat-card-content>\n </mat-card>\n </div>\n\n <div style=\"width: calc(100% - 300px - 1rem)\">\n <mat-card style=\"width: fit-content\">\n <mat-card-content class=\"p-0\">\n <mat-tab-group\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [selectedIndex]=\"selectedTabIndex\"\n (selectedTabChange)=\"onTabChange($event)\"\n >\n <mat-tab>\n <ng-template mat-tab-label>\n <div\n class=\"d-flex justify-content-start align-items-center gap-1\"\n >\n <span class=\"material-symbols-outlined\">unknown_document</span>\n <span class=\"pl-2\">Incidents</span>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <div\n class=\"d-flex justify-content-start align-items-center gap-1\"\n >\n <span class=\"material-symbols-outlined\">star</span>\n <span class=\"pl-2\">Ratings</span>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <div\n class=\"d-flex justify-content-start align-items-center gap-1\"\n >\n <span class=\"material-symbols-outlined\">price_change</span>\n <span class=\"pl-2\">Estimates</span>\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-card-content>\n </mat-card>\n <router-outlet></router-outlet>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i6.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i1$1.NoteListComponent, selector: "app-note-list", inputs: ["relatedModelId", "modelType", "readonly", "labelText", "commentsView", "viewMode"] }, { kind: "component", type: SupplierInformationComponent, selector: "app-supplier-information", inputs: ["supplier"] }], preserveWhitespaces: true });
|
|
178
177
|
}
|
|
179
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierViewComponent, decorators: [{
|
|
180
179
|
type: Component,
|
|
@@ -210,6 +209,229 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
210
209
|
args: [{ selector: "app-supplier", template: "<div>\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
211
210
|
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: SupplierFormService }] });
|
|
212
211
|
|
|
212
|
+
/*
|
|
213
|
+
* This module imports and re-exports all Angular Material modules for convenience,
|
|
214
|
+
* so only 1 module import is needed in your feature modules.
|
|
215
|
+
* See https://material.angular.io/guide/getting-started#step-3-import-the-component-modules.
|
|
216
|
+
*
|
|
217
|
+
* To optimize your production builds, you should only import the components used in your app.
|
|
218
|
+
*/
|
|
219
|
+
class MaterialModule {
|
|
220
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
221
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, exports: [MatAutocompleteModule,
|
|
222
|
+
MatBadgeModule,
|
|
223
|
+
MatButtonModule,
|
|
224
|
+
MatButtonToggleModule,
|
|
225
|
+
MatCardModule,
|
|
226
|
+
MatCheckboxModule,
|
|
227
|
+
MatChipsModule,
|
|
228
|
+
MatCommonModule,
|
|
229
|
+
MatDatepickerModule,
|
|
230
|
+
MatDialogModule,
|
|
231
|
+
MatDividerModule,
|
|
232
|
+
MatExpansionModule,
|
|
233
|
+
MatFormFieldModule,
|
|
234
|
+
MatGridListModule,
|
|
235
|
+
MatIconModule,
|
|
236
|
+
MatInputModule,
|
|
237
|
+
MatLineModule,
|
|
238
|
+
MatListModule,
|
|
239
|
+
MatMenuModule,
|
|
240
|
+
MatNativeDateModule,
|
|
241
|
+
MatOptionModule,
|
|
242
|
+
MatPaginatorModule,
|
|
243
|
+
MatProgressBarModule,
|
|
244
|
+
MatProgressSpinnerModule,
|
|
245
|
+
MatPseudoCheckboxModule,
|
|
246
|
+
MatRadioModule,
|
|
247
|
+
MatRippleModule,
|
|
248
|
+
MatSelectModule,
|
|
249
|
+
MatSidenavModule,
|
|
250
|
+
MatSlideToggleModule,
|
|
251
|
+
MatSliderModule,
|
|
252
|
+
MatSnackBarModule,
|
|
253
|
+
MatSortModule,
|
|
254
|
+
MatStepperModule,
|
|
255
|
+
MatTableModule,
|
|
256
|
+
MatTabsModule,
|
|
257
|
+
MatToolbarModule,
|
|
258
|
+
MatTooltipModule,
|
|
259
|
+
MatTreeModule] });
|
|
260
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, imports: [MatAutocompleteModule,
|
|
261
|
+
MatBadgeModule,
|
|
262
|
+
MatButtonModule,
|
|
263
|
+
MatButtonToggleModule,
|
|
264
|
+
MatCardModule,
|
|
265
|
+
MatCheckboxModule,
|
|
266
|
+
MatChipsModule,
|
|
267
|
+
MatCommonModule,
|
|
268
|
+
MatDatepickerModule,
|
|
269
|
+
MatDialogModule,
|
|
270
|
+
MatDividerModule,
|
|
271
|
+
MatExpansionModule,
|
|
272
|
+
MatFormFieldModule,
|
|
273
|
+
MatGridListModule,
|
|
274
|
+
MatIconModule,
|
|
275
|
+
MatInputModule,
|
|
276
|
+
MatLineModule,
|
|
277
|
+
MatListModule,
|
|
278
|
+
MatMenuModule,
|
|
279
|
+
MatNativeDateModule,
|
|
280
|
+
MatOptionModule,
|
|
281
|
+
MatPaginatorModule,
|
|
282
|
+
MatProgressBarModule,
|
|
283
|
+
MatProgressSpinnerModule,
|
|
284
|
+
MatPseudoCheckboxModule,
|
|
285
|
+
MatRadioModule,
|
|
286
|
+
MatRippleModule,
|
|
287
|
+
MatSelectModule,
|
|
288
|
+
MatSidenavModule,
|
|
289
|
+
MatSlideToggleModule,
|
|
290
|
+
MatSliderModule,
|
|
291
|
+
MatSnackBarModule,
|
|
292
|
+
MatSortModule,
|
|
293
|
+
MatStepperModule,
|
|
294
|
+
MatTableModule,
|
|
295
|
+
MatTabsModule,
|
|
296
|
+
MatToolbarModule,
|
|
297
|
+
MatTooltipModule,
|
|
298
|
+
MatTreeModule] });
|
|
299
|
+
}
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, decorators: [{
|
|
301
|
+
type: NgModule,
|
|
302
|
+
args: [{
|
|
303
|
+
exports: [
|
|
304
|
+
MatAutocompleteModule,
|
|
305
|
+
MatBadgeModule,
|
|
306
|
+
MatButtonModule,
|
|
307
|
+
MatButtonToggleModule,
|
|
308
|
+
MatCardModule,
|
|
309
|
+
MatCheckboxModule,
|
|
310
|
+
MatChipsModule,
|
|
311
|
+
MatCommonModule,
|
|
312
|
+
MatDatepickerModule,
|
|
313
|
+
MatDialogModule,
|
|
314
|
+
MatDividerModule,
|
|
315
|
+
MatExpansionModule,
|
|
316
|
+
MatFormFieldModule,
|
|
317
|
+
MatGridListModule,
|
|
318
|
+
MatIconModule,
|
|
319
|
+
MatInputModule,
|
|
320
|
+
MatLineModule,
|
|
321
|
+
MatListModule,
|
|
322
|
+
MatMenuModule,
|
|
323
|
+
MatNativeDateModule,
|
|
324
|
+
MatOptionModule,
|
|
325
|
+
MatPaginatorModule,
|
|
326
|
+
MatProgressBarModule,
|
|
327
|
+
MatProgressSpinnerModule,
|
|
328
|
+
MatPseudoCheckboxModule,
|
|
329
|
+
MatRadioModule,
|
|
330
|
+
MatRippleModule,
|
|
331
|
+
MatSelectModule,
|
|
332
|
+
MatSidenavModule,
|
|
333
|
+
MatSlideToggleModule,
|
|
334
|
+
MatSliderModule,
|
|
335
|
+
MatSnackBarModule,
|
|
336
|
+
MatSortModule,
|
|
337
|
+
MatStepperModule,
|
|
338
|
+
MatTableModule,
|
|
339
|
+
MatTabsModule,
|
|
340
|
+
MatToolbarModule,
|
|
341
|
+
MatTooltipModule,
|
|
342
|
+
MatTreeModule,
|
|
343
|
+
],
|
|
344
|
+
}]
|
|
345
|
+
}] });
|
|
346
|
+
|
|
347
|
+
class SupplierFormButtonComponent {
|
|
348
|
+
matDialog;
|
|
349
|
+
supplier;
|
|
350
|
+
onSaved = new EventEmitter();
|
|
351
|
+
constructor(matDialog) {
|
|
352
|
+
this.matDialog = matDialog;
|
|
353
|
+
}
|
|
354
|
+
ngOnInit() {
|
|
355
|
+
}
|
|
356
|
+
openDialog() {
|
|
357
|
+
this.matDialog.open(SupplierFormComponent, {
|
|
358
|
+
width: '600px',
|
|
359
|
+
data: {
|
|
360
|
+
details: this.supplier
|
|
361
|
+
},
|
|
362
|
+
}).afterClosed().subscribe((result) => {
|
|
363
|
+
if (result) {
|
|
364
|
+
this.onSaved.emit(result);
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormButtonComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
369
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierFormButtonComponent, isStandalone: true, selector: "app-supplier-form-button", inputs: { supplier: "supplier" }, outputs: { onSaved: "onSaved" }, ngImport: i0, template: "<mat-icon color=\"primary\" class=\"cursor-pointer\" [class.text-secondary]=\"supplier\" (click)=\"openDialog()\">\n {{ supplier ? \"edit\" : \"add\" }}\n</mat-icon>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], preserveWhitespaces: true });
|
|
370
|
+
}
|
|
371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormButtonComponent, decorators: [{
|
|
372
|
+
type: Component,
|
|
373
|
+
args: [{ selector: 'app-supplier-form-button', standalone: true, imports: [
|
|
374
|
+
CommonModule,
|
|
375
|
+
MaterialModule
|
|
376
|
+
], template: "<mat-icon color=\"primary\" class=\"cursor-pointer\" [class.text-secondary]=\"supplier\" (click)=\"openDialog()\">\n {{ supplier ? \"edit\" : \"add\" }}\n</mat-icon>" }]
|
|
377
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { supplier: [{
|
|
378
|
+
type: Input
|
|
379
|
+
}], onSaved: [{
|
|
380
|
+
type: Output
|
|
381
|
+
}] } });
|
|
382
|
+
|
|
383
|
+
class SupplierDeleteButtonComponent {
|
|
384
|
+
dialog;
|
|
385
|
+
alertService;
|
|
386
|
+
errorHandler;
|
|
387
|
+
supplierService;
|
|
388
|
+
supplier;
|
|
389
|
+
onDelete = new EventEmitter();
|
|
390
|
+
constructor(dialog, alertService, errorHandler, supplierService) {
|
|
391
|
+
this.dialog = dialog;
|
|
392
|
+
this.alertService = alertService;
|
|
393
|
+
this.errorHandler = errorHandler;
|
|
394
|
+
this.supplierService = supplierService;
|
|
395
|
+
}
|
|
396
|
+
ngOnInit() {
|
|
397
|
+
}
|
|
398
|
+
openDialog() {
|
|
399
|
+
this.dialog.open(ActionPopupComponent, {
|
|
400
|
+
width: '400px',
|
|
401
|
+
data: {
|
|
402
|
+
title: 'Delete Supplier',
|
|
403
|
+
message: 'Are you sure you want to delete the Supplier?',
|
|
404
|
+
},
|
|
405
|
+
autoFocus: false,
|
|
406
|
+
}).afterClosed().subscribe(async (result) => {
|
|
407
|
+
if (result) {
|
|
408
|
+
try {
|
|
409
|
+
await lastValueFrom(this.supplierService.destroy(this.supplier.id));
|
|
410
|
+
this.alertService.addAlert('Successfully deleted the Supplier', 'success');
|
|
411
|
+
this.onDelete.emit(this.supplier);
|
|
412
|
+
}
|
|
413
|
+
catch (error) {
|
|
414
|
+
this.errorHandler.handleError(error);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierDeleteButtonComponent, deps: [{ token: i1.MatDialog }, { token: i1$1.AlertService }, { token: i1$1.ErrorHandlerService }, { token: SupplierService }], target: i0.ɵɵFactoryTarget.Component });
|
|
420
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierDeleteButtonComponent, isStandalone: true, selector: "app-supplier-delete-button", inputs: { supplier: "supplier" }, outputs: { onDelete: "onDelete" }, ngImport: i0, template: "<mat-icon class=\"cursor-pointer\" *ngxPermissionsOnly=\"['supplier.delete']\" (click)=\"openDialog()\">\n delete\n</mat-icon>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: NgxPermissionsModule }, { kind: "directive", type: i5.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }], preserveWhitespaces: true });
|
|
421
|
+
}
|
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierDeleteButtonComponent, decorators: [{
|
|
423
|
+
type: Component,
|
|
424
|
+
args: [{ selector: 'app-supplier-delete-button', standalone: true, imports: [
|
|
425
|
+
CommonModule,
|
|
426
|
+
MaterialModule,
|
|
427
|
+
NgxPermissionsModule
|
|
428
|
+
], template: "<mat-icon class=\"cursor-pointer\" *ngxPermissionsOnly=\"['supplier.delete']\" (click)=\"openDialog()\">\n delete\n</mat-icon>" }]
|
|
429
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i1$1.AlertService }, { type: i1$1.ErrorHandlerService }, { type: SupplierService }], propDecorators: { supplier: [{
|
|
430
|
+
type: Input
|
|
431
|
+
}], onDelete: [{
|
|
432
|
+
type: Output
|
|
433
|
+
}] } });
|
|
434
|
+
|
|
213
435
|
let SuppliersListComponent = class SuppliersListComponent extends TechlifyListingControllerInterface {
|
|
214
436
|
spinner;
|
|
215
437
|
fb;
|
|
@@ -296,66 +518,6 @@ let SuppliersListComponent = class SuppliersListComponent extends TechlifyListin
|
|
|
296
518
|
this.isWorking = false;
|
|
297
519
|
}
|
|
298
520
|
}
|
|
299
|
-
editForm(model) {
|
|
300
|
-
const dialogRef = this.dialog.open(SupplierFormComponent, {
|
|
301
|
-
width: '400px',
|
|
302
|
-
autoFocus: false,
|
|
303
|
-
data: {
|
|
304
|
-
details: model,
|
|
305
|
-
},
|
|
306
|
-
});
|
|
307
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
308
|
-
if (result) {
|
|
309
|
-
this.reload();
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
deleteForm(supplier) {
|
|
314
|
-
const dialogRef = this.dialog.open(ActionPopupComponent, {
|
|
315
|
-
width: '400px',
|
|
316
|
-
data: {
|
|
317
|
-
title: 'Delete Supplier',
|
|
318
|
-
message: 'Are you sure you want to delete the Supplier?',
|
|
319
|
-
},
|
|
320
|
-
autoFocus: false,
|
|
321
|
-
});
|
|
322
|
-
dialogRef.afterClosed().subscribe(async (result) => {
|
|
323
|
-
if (result) {
|
|
324
|
-
this.spinner.show();
|
|
325
|
-
try {
|
|
326
|
-
const result = await lastValueFrom(this.supplierService.destroy(supplier.id));
|
|
327
|
-
this.alertService.addAlert('Successfully deleted the Supplier', 'success');
|
|
328
|
-
this.reload();
|
|
329
|
-
}
|
|
330
|
-
catch (error) {
|
|
331
|
-
this.errorHandler.handleError(error);
|
|
332
|
-
}
|
|
333
|
-
finally {
|
|
334
|
-
this.spinner.hide();
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
|
-
/**
|
|
340
|
-
* Show the supplier create form.
|
|
341
|
-
*
|
|
342
|
-
* @param model
|
|
343
|
-
*/
|
|
344
|
-
showAddSupplierDialog(model) {
|
|
345
|
-
const dialogRef = this.dialog.open(SupplierFormComponent, {
|
|
346
|
-
width: '400px',
|
|
347
|
-
autoFocus: false,
|
|
348
|
-
data: {
|
|
349
|
-
model,
|
|
350
|
-
},
|
|
351
|
-
});
|
|
352
|
-
dialogRef.afterClosed().subscribe((result) => {
|
|
353
|
-
if (result) {
|
|
354
|
-
// record added successfully, inform the list component.
|
|
355
|
-
this.supplierFormService.listUpdated(true);
|
|
356
|
-
}
|
|
357
|
-
});
|
|
358
|
-
}
|
|
359
521
|
updateFormWithQueryParams() {
|
|
360
522
|
this.requestHelperService.updateFormWithQueryParams(this.filterForm, {
|
|
361
523
|
supplier_type_ids: { multiple: true },
|
|
@@ -373,16 +535,16 @@ let SuppliersListComponent = class SuppliersListComponent extends TechlifyListin
|
|
|
373
535
|
this.reload();
|
|
374
536
|
});
|
|
375
537
|
}
|
|
376
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SuppliersListComponent, deps: [{ token:
|
|
377
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SuppliersListComponent, selector: "app-suppliers-list", usesInheritance: true, ngImport: i0, template: "<mat-card class=\"mb-3\">\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-3\">\n <h3 class=\"mb-0\">Suppliers</h3>\n <mat-icon\n color=\"primary\"\n class=\"cursor-pointer\"\n (click)=\"showAddSupplierDialog()\"\n >\n add\n </mat-icon>\n </div>\n <form\n [formGroup]=\"filterForm\"\n class=\"d-flex justify-content-end align-items-center gap-2\"\n >\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input\n matInput\n placeholder=\"Search Supplier by Name, Phone, Address, Email, Description\"\n formControlName=\"search\"\n />\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector\n apiUrl=\"api/supplier-types\"\n formControlName=\"supplier_type_ids\"\n [multiple]=\"true\"\n >\n </app-searchable-selector>\n </mat-form-field>\n </form>\n </mat-card-content>\n</mat-card>\n<mat-card>\n <mat-card-content class=\"p-0\">\n <table\n mat-table\n #table\n [dataSource]=\"models\"\n class=\"w-100 table-hover\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\"\n matSort\n (matSortChange)=\"sortColumn($event)\"\n aria-describedby=\"Suppliers List\"\n >\n <ng-container matColumnDef=\"#\">\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 <ng-container matColumnDef=\"company_name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.company_name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"type\">\n <th mat-header-cell *matHeaderCellDef>Type</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.type?.title }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"contact_name\">\n <th mat-header-cell *matHeaderCellDef>Contact</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.contact_name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"phone\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Phone</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.phone }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"address\">\n <th mat-header-cell *matHeaderCellDef>Address</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.address }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Email</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.email }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef>Details</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.details }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary d-flex justify-content-start align-items-center gap-2\">\n <a\n class=\"text-decoration-none text-dark mt-2\"\n [routerLink]=\"['/suppliers', element.id, 'view']\"\n routerLinkActive=\"route-link-active\"\n *ngxPermissionsOnly=\"['supplier.read']\"\n >\n <mat-icon matTooltip=\"View\">remove_red_eye</mat-icon>\n </a>\n <mat-icon\n *ngxPermissionsOnly=\"['supplier.update']\"\n class=\"cursor-pointer\"\n (click)=\"editForm(element)\"\n >\n edit\n </mat-icon>\n <mat-icon\n class=\"cursor-pointer\"\n *ngxPermissionsOnly=\"['supplier.delete']\"\n (click)=\"deleteForm(element)\"\n >\n delete\n </mat-icon>\n <app-audit-log-for-model\n [modelId]=\"element?.id\"\n modelType=\"Supplier\"\n logView=\"all\"\n ></app-audit-log-for-model>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7$1.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: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i5.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i6$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$1.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i1$1.AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: ["modelType", "modelId", "logView"] }, { 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: "directive", type: i10.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: i18.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }], preserveWhitespaces: true });
|
|
538
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SuppliersListComponent, deps: [{ token: i4$2.NgxSpinnerService }, { token: i2$1.FormBuilder }, { token: SupplierService }, { token: i1$1.ErrorHandlerService }, { token: i1$1.FilterService }, { token: i2.ActivatedRoute }, { token: i1$1.AlertService }, { token: i1.MatDialog }, { token: SupplierFormService }, { token: i1$1.RequestHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
539
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SuppliersListComponent, selector: "app-suppliers-list", usesInheritance: true, ngImport: i0, template: "<mat-card class=\"mb-3\">\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-3\">\n <h3 class=\"mb-0\">Suppliers</h3>\n <app-supplier-form-button (onSaved)=\"reload()\"></app-supplier-form-button>\n </div>\n <form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input matInput placeholder=\"Search Supplier by Name, Phone, Address, Email, Description\"\n formControlName=\"search\" />\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector apiUrl=\"api/supplier-types\" formControlName=\"supplier_type_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n </form>\n </mat-card-content>\n</mat-card>\n<mat-card>\n <mat-card-content class=\"p-0\">\n <table mat-table #table [dataSource]=\"models\" class=\"w-100 table-hover\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" [fromRoot]=\"true\" matSort\n (matSortChange)=\"sortColumn($event)\" aria-describedby=\"Suppliers List\">\n <ng-container matColumnDef=\"#\">\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 <ng-container matColumnDef=\"company_name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.company_name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"type\">\n <th mat-header-cell *matHeaderCellDef>Type</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.type?.title }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"contact_name\">\n <th mat-header-cell *matHeaderCellDef>Contact</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.contact_name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"phone\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Phone</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.phone }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"address\">\n <th mat-header-cell *matHeaderCellDef>Address</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.address }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Email</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.email }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef>Details</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.details }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary d-flex align-items-center gap-1\">\n\n <a class=\"text-decoration-none text-dark\" [routerLink]=\"['/suppliers', element.id, 'view']\"\n routerLinkActive=\"route-link-active\" *ngxPermissionsOnly=\"['supplier.read']\">\n <mat-icon matTooltip=\"View\">remove_red_eye</mat-icon>\n </a>\n <app-supplier-form-button *ngxPermissionsOnly=\"['supplier.update']\" [supplier]=\"element\"\n (onSaved)=\"reload()\"></app-supplier-form-button>\n <app-supplier-delete-button [supplier]=\"element\" (onDelete)=\"reload()\"></app-supplier-delete-button>\n <app-audit-log-for-model [modelId]=\"element?.id\" modelType=\"Supplier\"\n logView=\"all\"></app-audit-log-for-model>\n\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>", dependencies: [{ kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3$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: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i14.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i14.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i14.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i14.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i14.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i14.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i14.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i14.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i14.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i14.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$1.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i1$1.AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: ["modelType", "modelId", "logView"] }, { 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: "directive", type: i10.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: i5.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { kind: "component", type: SupplierFormButtonComponent, selector: "app-supplier-form-button", inputs: ["supplier"], outputs: ["onSaved"] }, { kind: "component", type: SupplierDeleteButtonComponent, selector: "app-supplier-delete-button", inputs: ["supplier"], outputs: ["onDelete"] }], preserveWhitespaces: true });
|
|
378
540
|
};
|
|
379
541
|
SuppliersListComponent = __decorate([
|
|
380
542
|
UntilDestroy()
|
|
381
543
|
], SuppliersListComponent);
|
|
382
544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SuppliersListComponent, decorators: [{
|
|
383
545
|
type: Component,
|
|
384
|
-
args: [{ selector: 'app-suppliers-list', template: "<mat-card class=\"mb-3\">\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-3\">\n <h3 class=\"mb-0\">Suppliers</h3>\n <
|
|
385
|
-
}], ctorParameters: () => [{ type:
|
|
546
|
+
args: [{ selector: 'app-suppliers-list', template: "<mat-card class=\"mb-3\">\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-3\">\n <h3 class=\"mb-0\">Suppliers</h3>\n <app-supplier-form-button (onSaved)=\"reload()\"></app-supplier-form-button>\n </div>\n <form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input matInput placeholder=\"Search Supplier by Name, Phone, Address, Email, Description\"\n formControlName=\"search\" />\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector apiUrl=\"api/supplier-types\" formControlName=\"supplier_type_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n </form>\n </mat-card-content>\n</mat-card>\n<mat-card>\n <mat-card-content class=\"p-0\">\n <table mat-table #table [dataSource]=\"models\" class=\"w-100 table-hover\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" [fromRoot]=\"true\" matSort\n (matSortChange)=\"sortColumn($event)\" aria-describedby=\"Suppliers List\">\n <ng-container matColumnDef=\"#\">\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 <ng-container matColumnDef=\"company_name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.company_name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"type\">\n <th mat-header-cell *matHeaderCellDef>Type</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.type?.title }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"contact_name\">\n <th mat-header-cell *matHeaderCellDef>Contact</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.contact_name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"phone\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Phone</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.phone }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"address\">\n <th mat-header-cell *matHeaderCellDef>Address</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.address }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Email</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.email }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef>Details</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.details }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary d-flex align-items-center gap-1\">\n\n <a class=\"text-decoration-none text-dark\" [routerLink]=\"['/suppliers', element.id, 'view']\"\n routerLinkActive=\"route-link-active\" *ngxPermissionsOnly=\"['supplier.read']\">\n <mat-icon matTooltip=\"View\">remove_red_eye</mat-icon>\n </a>\n <app-supplier-form-button *ngxPermissionsOnly=\"['supplier.update']\" [supplier]=\"element\"\n (onSaved)=\"reload()\"></app-supplier-form-button>\n <app-supplier-delete-button [supplier]=\"element\" (onDelete)=\"reload()\"></app-supplier-delete-button>\n <app-audit-log-for-model [modelId]=\"element?.id\" modelType=\"Supplier\"\n logView=\"all\"></app-audit-log-for-model>\n\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>" }]
|
|
547
|
+
}], ctorParameters: () => [{ type: i4$2.NgxSpinnerService }, { type: i2$1.FormBuilder }, { type: SupplierService }, { type: i1$1.ErrorHandlerService }, { type: i1$1.FilterService }, { type: i2.ActivatedRoute }, { type: i1$1.AlertService }, { type: i1.MatDialog }, { type: SupplierFormService }, { type: i1$1.RequestHelperService }] });
|
|
386
548
|
|
|
387
549
|
const routes = [
|
|
388
550
|
{
|
|
@@ -417,141 +579,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
417
579
|
}]
|
|
418
580
|
}] });
|
|
419
581
|
|
|
420
|
-
/*
|
|
421
|
-
* This module imports and re-exports all Angular Material modules for convenience,
|
|
422
|
-
* so only 1 module import is needed in your feature modules.
|
|
423
|
-
* See https://material.angular.io/guide/getting-started#step-3-import-the-component-modules.
|
|
424
|
-
*
|
|
425
|
-
* To optimize your production builds, you should only import the components used in your app.
|
|
426
|
-
*/
|
|
427
|
-
class MaterialModule {
|
|
428
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
429
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, exports: [MatAutocompleteModule,
|
|
430
|
-
MatBadgeModule,
|
|
431
|
-
MatButtonModule,
|
|
432
|
-
MatButtonToggleModule,
|
|
433
|
-
MatCardModule,
|
|
434
|
-
MatCheckboxModule,
|
|
435
|
-
MatChipsModule,
|
|
436
|
-
MatCommonModule,
|
|
437
|
-
MatDatepickerModule,
|
|
438
|
-
MatDialogModule,
|
|
439
|
-
MatDividerModule,
|
|
440
|
-
MatExpansionModule,
|
|
441
|
-
MatFormFieldModule,
|
|
442
|
-
MatGridListModule,
|
|
443
|
-
MatIconModule,
|
|
444
|
-
MatInputModule,
|
|
445
|
-
MatLineModule,
|
|
446
|
-
MatListModule,
|
|
447
|
-
MatMenuModule,
|
|
448
|
-
MatNativeDateModule,
|
|
449
|
-
MatOptionModule,
|
|
450
|
-
MatPaginatorModule,
|
|
451
|
-
MatProgressBarModule,
|
|
452
|
-
MatProgressSpinnerModule,
|
|
453
|
-
MatPseudoCheckboxModule,
|
|
454
|
-
MatRadioModule,
|
|
455
|
-
MatRippleModule,
|
|
456
|
-
MatSelectModule,
|
|
457
|
-
MatSidenavModule,
|
|
458
|
-
MatSlideToggleModule,
|
|
459
|
-
MatSliderModule,
|
|
460
|
-
MatSnackBarModule,
|
|
461
|
-
MatSortModule,
|
|
462
|
-
MatStepperModule,
|
|
463
|
-
MatTableModule,
|
|
464
|
-
MatTabsModule,
|
|
465
|
-
MatToolbarModule,
|
|
466
|
-
MatTooltipModule,
|
|
467
|
-
MatTreeModule] });
|
|
468
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, imports: [MatAutocompleteModule,
|
|
469
|
-
MatBadgeModule,
|
|
470
|
-
MatButtonModule,
|
|
471
|
-
MatButtonToggleModule,
|
|
472
|
-
MatCardModule,
|
|
473
|
-
MatCheckboxModule,
|
|
474
|
-
MatChipsModule,
|
|
475
|
-
MatCommonModule,
|
|
476
|
-
MatDatepickerModule,
|
|
477
|
-
MatDialogModule,
|
|
478
|
-
MatDividerModule,
|
|
479
|
-
MatExpansionModule,
|
|
480
|
-
MatFormFieldModule,
|
|
481
|
-
MatGridListModule,
|
|
482
|
-
MatIconModule,
|
|
483
|
-
MatInputModule,
|
|
484
|
-
MatLineModule,
|
|
485
|
-
MatListModule,
|
|
486
|
-
MatMenuModule,
|
|
487
|
-
MatNativeDateModule,
|
|
488
|
-
MatOptionModule,
|
|
489
|
-
MatPaginatorModule,
|
|
490
|
-
MatProgressBarModule,
|
|
491
|
-
MatProgressSpinnerModule,
|
|
492
|
-
MatPseudoCheckboxModule,
|
|
493
|
-
MatRadioModule,
|
|
494
|
-
MatRippleModule,
|
|
495
|
-
MatSelectModule,
|
|
496
|
-
MatSidenavModule,
|
|
497
|
-
MatSlideToggleModule,
|
|
498
|
-
MatSliderModule,
|
|
499
|
-
MatSnackBarModule,
|
|
500
|
-
MatSortModule,
|
|
501
|
-
MatStepperModule,
|
|
502
|
-
MatTableModule,
|
|
503
|
-
MatTabsModule,
|
|
504
|
-
MatToolbarModule,
|
|
505
|
-
MatTooltipModule,
|
|
506
|
-
MatTreeModule] });
|
|
507
|
-
}
|
|
508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialModule, decorators: [{
|
|
509
|
-
type: NgModule,
|
|
510
|
-
args: [{
|
|
511
|
-
exports: [
|
|
512
|
-
MatAutocompleteModule,
|
|
513
|
-
MatBadgeModule,
|
|
514
|
-
MatButtonModule,
|
|
515
|
-
MatButtonToggleModule,
|
|
516
|
-
MatCardModule,
|
|
517
|
-
MatCheckboxModule,
|
|
518
|
-
MatChipsModule,
|
|
519
|
-
MatCommonModule,
|
|
520
|
-
MatDatepickerModule,
|
|
521
|
-
MatDialogModule,
|
|
522
|
-
MatDividerModule,
|
|
523
|
-
MatExpansionModule,
|
|
524
|
-
MatFormFieldModule,
|
|
525
|
-
MatGridListModule,
|
|
526
|
-
MatIconModule,
|
|
527
|
-
MatInputModule,
|
|
528
|
-
MatLineModule,
|
|
529
|
-
MatListModule,
|
|
530
|
-
MatMenuModule,
|
|
531
|
-
MatNativeDateModule,
|
|
532
|
-
MatOptionModule,
|
|
533
|
-
MatPaginatorModule,
|
|
534
|
-
MatProgressBarModule,
|
|
535
|
-
MatProgressSpinnerModule,
|
|
536
|
-
MatPseudoCheckboxModule,
|
|
537
|
-
MatRadioModule,
|
|
538
|
-
MatRippleModule,
|
|
539
|
-
MatSelectModule,
|
|
540
|
-
MatSidenavModule,
|
|
541
|
-
MatSlideToggleModule,
|
|
542
|
-
MatSliderModule,
|
|
543
|
-
MatSnackBarModule,
|
|
544
|
-
MatSortModule,
|
|
545
|
-
MatStepperModule,
|
|
546
|
-
MatTableModule,
|
|
547
|
-
MatTabsModule,
|
|
548
|
-
MatToolbarModule,
|
|
549
|
-
MatTooltipModule,
|
|
550
|
-
MatTreeModule,
|
|
551
|
-
],
|
|
552
|
-
}]
|
|
553
|
-
}] });
|
|
554
|
-
|
|
555
582
|
class SupplierModule {
|
|
556
583
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
557
584
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, declarations: [SupplierComponent,
|
|
@@ -567,7 +594,9 @@ class SupplierModule {
|
|
|
567
594
|
FlexModule,
|
|
568
595
|
ReactiveFormsModule,
|
|
569
596
|
InfiniteScrollModule,
|
|
570
|
-
NgxPermissionsModule
|
|
597
|
+
NgxPermissionsModule,
|
|
598
|
+
SupplierFormButtonComponent,
|
|
599
|
+
SupplierDeleteButtonComponent] });
|
|
571
600
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, imports: [CommonModule,
|
|
572
601
|
SupplierRoutingModule,
|
|
573
602
|
MaterialModule,
|
|
@@ -577,7 +606,9 @@ class SupplierModule {
|
|
|
577
606
|
FlexModule,
|
|
578
607
|
ReactiveFormsModule,
|
|
579
608
|
InfiniteScrollModule,
|
|
580
|
-
NgxPermissionsModule
|
|
609
|
+
NgxPermissionsModule,
|
|
610
|
+
SupplierFormButtonComponent,
|
|
611
|
+
SupplierDeleteButtonComponent] });
|
|
581
612
|
}
|
|
582
613
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, decorators: [{
|
|
583
614
|
type: NgModule,
|
|
@@ -600,9 +631,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
600
631
|
ReactiveFormsModule,
|
|
601
632
|
InfiniteScrollModule,
|
|
602
633
|
NgxPermissionsModule,
|
|
634
|
+
SupplierFormButtonComponent,
|
|
635
|
+
SupplierDeleteButtonComponent
|
|
603
636
|
],
|
|
604
637
|
}]
|
|
605
638
|
}] });
|
|
606
639
|
|
|
607
640
|
export { SupplierModule };
|
|
608
|
-
//# sourceMappingURL=techlify-inventory-common-supplier.module-
|
|
641
|
+
//# sourceMappingURL=techlify-inventory-common-supplier.module-CFDwJ-TS.mjs.map
|