ngx-techlify-checksheet 18.0.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 (76) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/@shared/file-upload-button/file-upload-button.component.mjs +50 -0
  3. package/esm2022/lib/@shared/index.mjs +2 -0
  4. package/esm2022/lib/@shared/material.module.mjs +171 -0
  5. package/esm2022/lib/@shared/shared.module.mjs +54 -0
  6. package/esm2022/lib/checksheet/checksheet-form/checksheet-form.component.mjs +161 -0
  7. package/esm2022/lib/checksheet/checksheet-form-button/checksheet-form-button.component.mjs +58 -0
  8. package/esm2022/lib/checksheet/checksheet-format-list/checksheet-format-list.component.mjs +123 -0
  9. package/esm2022/lib/checksheet/checksheet-format-question.service.mjs +18 -0
  10. package/esm2022/lib/checksheet/checksheet-format.service.mjs +24 -0
  11. package/esm2022/lib/checksheet/checksheet-list/checksheet-list.component.mjs +138 -0
  12. package/esm2022/lib/checksheet/checksheet-node-view/checksheet-node-view.component.mjs +59 -0
  13. package/esm2022/lib/checksheet/checksheet-question/checksheet-question.component.mjs +174 -0
  14. package/esm2022/lib/checksheet/checksheet-question-form/checksheet-question-form.component.mjs +148 -0
  15. package/esm2022/lib/checksheet/checksheet-question-list/checksheet-question-list.component.mjs +161 -0
  16. package/esm2022/lib/checksheet/checksheet-report/checksheet-report.component.mjs +242 -0
  17. package/esm2022/lib/checksheet/checksheet-review-button/checksheet-review-button.component.mjs +68 -0
  18. package/esm2022/lib/checksheet/checksheet-routing.module.mjs +44 -0
  19. package/esm2022/lib/checksheet/checksheet-submission-answer.service.mjs +18 -0
  20. package/esm2022/lib/checksheet/checksheet-submission-delete-button/checksheet-submission-delete-button.component.mjs +52 -0
  21. package/esm2022/lib/checksheet/checksheet-submission-file/checksheet-submission-file-delete-button/checksheet-submission-file-delete-button.component.mjs +55 -0
  22. package/esm2022/lib/checksheet/checksheet-submission-file/checksheet-submission-files/checksheet-submission-files.component.mjs +67 -0
  23. package/esm2022/lib/checksheet/checksheet-submission-file-upload/checksheet-submisison-file-upload.component.mjs +46 -0
  24. package/esm2022/lib/checksheet/checksheet-submission-file.service.mjs +18 -0
  25. package/esm2022/lib/checksheet/checksheet-submission-form/checksheet-submission-form.component.mjs +131 -0
  26. package/esm2022/lib/checksheet/checksheet-submission-form-button/checksheet-submission-form-button.component.mjs +58 -0
  27. package/esm2022/lib/checksheet/checksheet-submission-list/checksheet-submission-list.component.mjs +107 -0
  28. package/esm2022/lib/checksheet/checksheet-submission-review-button/checksheet-submission-review-button.component.mjs +68 -0
  29. package/esm2022/lib/checksheet/checksheet-submission-view/checksheet-submission-view.component.mjs +142 -0
  30. package/esm2022/lib/checksheet/checksheet-submission.service.mjs +36 -0
  31. package/esm2022/lib/checksheet/checksheet-submittable.type.mjs +2 -0
  32. package/esm2022/lib/checksheet/checksheet-view/checksheet-view.component.mjs +140 -0
  33. package/esm2022/lib/checksheet/checksheet.module.mjs +131 -0
  34. package/esm2022/lib/checksheet/checksheet.service.mjs +44 -0
  35. package/esm2022/lib/checksheet/mechanical-issue-form/mechanical-issue-form.component.mjs +73 -0
  36. package/esm2022/ngx-techlify-checksheet.mjs +5 -0
  37. package/esm2022/public-api.mjs +9 -0
  38. package/fesm2022/ngx-techlify-checksheet.mjs +2550 -0
  39. package/fesm2022/ngx-techlify-checksheet.mjs.map +1 -0
  40. package/index.d.ts +5 -0
  41. package/lib/@shared/file-upload-button/file-upload-button.component.d.ts +20 -0
  42. package/lib/@shared/index.d.ts +1 -0
  43. package/lib/@shared/material.module.d.ts +40 -0
  44. package/lib/@shared/shared.module.d.ts +14 -0
  45. package/lib/checksheet/checksheet-form/checksheet-form.component.d.ts +45 -0
  46. package/lib/checksheet/checksheet-form-button/checksheet-form-button.component.d.ts +29 -0
  47. package/lib/checksheet/checksheet-format-list/checksheet-format-list.component.d.ts +19 -0
  48. package/lib/checksheet/checksheet-format-question.service.d.ts +7 -0
  49. package/lib/checksheet/checksheet-format.service.d.ts +10 -0
  50. package/lib/checksheet/checksheet-list/checksheet-list.component.d.ts +31 -0
  51. package/lib/checksheet/checksheet-node-view/checksheet-node-view.component.d.ts +25 -0
  52. package/lib/checksheet/checksheet-question/checksheet-question.component.d.ts +34 -0
  53. package/lib/checksheet/checksheet-question-form/checksheet-question-form.component.d.ts +38 -0
  54. package/lib/checksheet/checksheet-question-list/checksheet-question-list.component.d.ts +26 -0
  55. package/lib/checksheet/checksheet-report/checksheet-report.component.d.ts +47 -0
  56. package/lib/checksheet/checksheet-review-button/checksheet-review-button.component.d.ts +32 -0
  57. package/lib/checksheet/checksheet-routing.module.d.ts +7 -0
  58. package/lib/checksheet/checksheet-submission-answer.service.d.ts +7 -0
  59. package/lib/checksheet/checksheet-submission-delete-button/checksheet-submission-delete-button.component.d.ts +24 -0
  60. package/lib/checksheet/checksheet-submission-file/checksheet-submission-file-delete-button/checksheet-submission-file-delete-button.component.d.ts +24 -0
  61. package/lib/checksheet/checksheet-submission-file/checksheet-submission-files/checksheet-submission-files.component.d.ts +17 -0
  62. package/lib/checksheet/checksheet-submission-file-upload/checksheet-submisison-file-upload.component.d.ts +13 -0
  63. package/lib/checksheet/checksheet-submission-file.service.d.ts +7 -0
  64. package/lib/checksheet/checksheet-submission-form/checksheet-submission-form.component.d.ts +27 -0
  65. package/lib/checksheet/checksheet-submission-form-button/checksheet-submission-form-button.component.d.ts +29 -0
  66. package/lib/checksheet/checksheet-submission-list/checksheet-submission-list.component.d.ts +24 -0
  67. package/lib/checksheet/checksheet-submission-review-button/checksheet-submission-review-button.component.d.ts +32 -0
  68. package/lib/checksheet/checksheet-submission-view/checksheet-submission-view.component.d.ts +37 -0
  69. package/lib/checksheet/checksheet-submission.service.d.ts +22 -0
  70. package/lib/checksheet/checksheet-submittable.type.d.ts +1 -0
  71. package/lib/checksheet/checksheet-view/checksheet-view.component.d.ts +37 -0
  72. package/lib/checksheet/checksheet.module.d.ts +34 -0
  73. package/lib/checksheet/checksheet.service.d.ts +25 -0
  74. package/lib/checksheet/mechanical-issue-form/mechanical-issue-form.component.d.ts +21 -0
  75. package/package.json +45 -0
  76. package/public-api.d.ts +5 -0
@@ -0,0 +1,68 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/dialog";
4
+ import * as i2 from "ngx-techlify-core";
5
+ import * as i3 from "../checksheet.service";
6
+ import * as i4 from "@angular/common";
7
+ import * as i5 from "@angular/material/button";
8
+ import * as i6 from "@angular/material/icon";
9
+ import * as i7 from "@angular/material/tooltip";
10
+ export class ChecksheetReviewButtonComponent {
11
+ matDialog;
12
+ credentialsService;
13
+ checksheetSubmissionService;
14
+ alertService;
15
+ submission;
16
+ viewType = 'icon';
17
+ requestParams;
18
+ reviewed = new EventEmitter();
19
+ user;
20
+ isWorking = false;
21
+ constructor(matDialog, credentialsService, checksheetSubmissionService, alertService) {
22
+ this.matDialog = matDialog;
23
+ this.credentialsService = credentialsService;
24
+ this.checksheetSubmissionService = checksheetSubmissionService;
25
+ this.alertService = alertService;
26
+ this.user = this.credentialsService.credentials?.user;
27
+ }
28
+ /**
29
+ * Show the review dialog.
30
+ *
31
+ * @param templateRef
32
+ */
33
+ openDialog(templateRef) {
34
+ this.matDialog.open(templateRef, { width: '400px' });
35
+ }
36
+ /**
37
+ * Review checksheet.
38
+ */
39
+ reviewChecksheet() {
40
+ this.isWorking = true;
41
+ this.checksheetSubmissionService
42
+ .review(this.submission?.id, this.requestParams)
43
+ .subscribe({
44
+ next: (response) => {
45
+ this.matDialog.closeAll();
46
+ this.isWorking = false;
47
+ this.reviewed.next(response?.item);
48
+ this.alertService.addAlert('The Checksheet marked as reviewed.', 'success');
49
+ },
50
+ error: () => (this.isWorking = false)
51
+ });
52
+ }
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetReviewButtonComponent, deps: [{ token: i1.MatDialog }, { token: i2.CredentialsService }, { token: i3.ChecksheetService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Component });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChecksheetReviewButtonComponent, selector: "app-checksheet-review-button", inputs: { submission: "submission", viewType: "viewType", requestParams: "requestParams" }, outputs: { reviewed: "reviewed" }, ngImport: i0, template: "<ng-container\n *ngIf=\"submission?.status_id === 2 && submission?.creator_id !== user?.id\"\n>\n <button\n *ngIf=\"viewType === 'button'\"\n mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"openDialog(reviewTemplate)\"\n >\n Review\n </button>\n\n <mat-icon\n *ngIf=\"viewType === 'icon'\"\n class=\"cursor-pointer\"\n matTooltip=\"Review\"\n (click)=\"openDialog(reviewTemplate)\"\n >\n rate_review\n </mat-icon>\n</ng-container>\n\n<ng-template #reviewTemplate>\n <h3 mat-dialog-title>Review Checksheet</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to mark the Checksheet as Reviewed?</p>\n </div>\n <div mat-dialog-actions class=\"d-flex justify-content-end align-items-center\">\n <button [disabled]=\"isWorking\" mat-flat-button mat-dialog-close>\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n mat-raised-button\n color=\"primary\"\n (click)=\"reviewChecksheet()\"\n >\n Review\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetReviewButtonComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'app-checksheet-review-button', template: "<ng-container\n *ngIf=\"submission?.status_id === 2 && submission?.creator_id !== user?.id\"\n>\n <button\n *ngIf=\"viewType === 'button'\"\n mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"openDialog(reviewTemplate)\"\n >\n Review\n </button>\n\n <mat-icon\n *ngIf=\"viewType === 'icon'\"\n class=\"cursor-pointer\"\n matTooltip=\"Review\"\n (click)=\"openDialog(reviewTemplate)\"\n >\n rate_review\n </mat-icon>\n</ng-container>\n\n<ng-template #reviewTemplate>\n <h3 mat-dialog-title>Review Checksheet</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to mark the Checksheet as Reviewed?</p>\n </div>\n <div mat-dialog-actions class=\"d-flex justify-content-end align-items-center\">\n <button [disabled]=\"isWorking\" mat-flat-button mat-dialog-close>\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n mat-raised-button\n color=\"primary\"\n (click)=\"reviewChecksheet()\"\n >\n Review\n </button>\n </div>\n</ng-template>\n" }]
59
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.CredentialsService }, { type: i3.ChecksheetService }, { type: i2.AlertService }], propDecorators: { submission: [{
60
+ type: Input
61
+ }], viewType: [{
62
+ type: Input
63
+ }], requestParams: [{
64
+ type: Input
65
+ }], reviewed: [{
66
+ type: Output
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1yZXZpZXctYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXJldmlldy1idXR0b24vY2hlY2tzaGVldC1yZXZpZXctYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXJldmlldy1idXR0b24vY2hlY2tzaGVldC1yZXZpZXctYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVV2QixNQUFNLE9BQU8sK0JBQStCO0lBU2hDO0lBQ0E7SUFDQTtJQUNBO0lBWEQsVUFBVSxDQUFNO0lBQ2hCLFFBQVEsR0FBc0IsTUFBTSxDQUFDO0lBQ3JDLGFBQWEsQ0FBb0I7SUFDaEMsUUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2hFLElBQUksQ0FBTztJQUNYLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFFM0IsWUFDVSxTQUFvQixFQUNwQixrQkFBc0MsRUFDdEMsMkJBQThDLEVBQzlDLFlBQTBCO1FBSDFCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQW1CO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRWxDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsV0FBNkI7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLDJCQUEyQjthQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUMvQyxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQ3hCLG9DQUFvQyxFQUNwQyxTQUFTLENBQ1YsQ0FBQztZQUNKLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQTdDVSwrQkFBK0I7NEZBQS9CLCtCQUErQixtTUNoQjVDLHNpQ0EwQ0E7OzRGRDFCYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsOEJBQThCOzBLQUsvQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBDcmVkZW50aWFsc1NlcnZpY2UsIFVzZXIgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ2hlY2tzaGVldFNlcnZpY2UgfSBmcm9tICcuLi9jaGVja3NoZWV0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2hlY2tzaGVldC1yZXZpZXctYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrc2hlZXQtcmV2aWV3LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrc2hlZXQtcmV2aWV3LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrc2hlZXRSZXZpZXdCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBzdWJtaXNzaW9uOiBhbnk7XG4gIEBJbnB1dCgpIHZpZXdUeXBlOiAnaWNvbicgfCAnYnV0dG9uJyA9ICdpY29uJztcbiAgQElucHV0KCkgcmVxdWVzdFBhcmFtcyE6IHsgd2l0aDogc3RyaW5nIH07XG4gIEBPdXRwdXQoKSByZXZpZXdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgdXNlcjogVXNlcjtcbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGNyZWRlbnRpYWxzU2VydmljZTogQ3JlZGVudGlhbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hlY2tzaGVldFN1Ym1pc3Npb25TZXJ2aWNlOiBDaGVja3NoZWV0U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudXNlciA9IHRoaXMuY3JlZGVudGlhbHNTZXJ2aWNlLmNyZWRlbnRpYWxzPy51c2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIHJldmlldyBkaWFsb2cuXG4gICAqXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZVJlZlxuICAgKi9cbiAgb3BlbkRpYWxvZyh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMubWF0RGlhbG9nLm9wZW4odGVtcGxhdGVSZWYsIHsgd2lkdGg6ICc0MDBweCcgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV2aWV3IGNoZWNrc2hlZXQuXG4gICAqL1xuICByZXZpZXdDaGVja3NoZWV0KCkge1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uU2VydmljZVxuICAgICAgLnJldmlldyh0aGlzLnN1Ym1pc3Npb24/LmlkLCB0aGlzLnJlcXVlc3RQYXJhbXMpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm1hdERpYWxvZy5jbG9zZUFsbCgpO1xuICAgICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5yZXZpZXdlZC5uZXh0KHJlc3BvbnNlPy5pdGVtKTtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcbiAgICAgICAgICAgICdUaGUgQ2hlY2tzaGVldCBtYXJrZWQgYXMgcmV2aWV3ZWQuJyxcbiAgICAgICAgICAgICdzdWNjZXNzJ1xuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5pc1dvcmtpbmcgPSBmYWxzZSlcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ0lmPVwic3VibWlzc2lvbj8uc3RhdHVzX2lkID09PSAyICYmIHN1Ym1pc3Npb24/LmNyZWF0b3JfaWQgIT09IHVzZXI/LmlkXCJcbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwidmlld1R5cGUgPT09ICdidXR0b24nXCJcbiAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cIm9wZW5EaWFsb2cocmV2aWV3VGVtcGxhdGUpXCJcbiAgPlxuICAgIFJldmlld1xuICA8L2J1dHRvbj5cblxuICA8bWF0LWljb25cbiAgICAqbmdJZj1cInZpZXdUeXBlID09PSAnaWNvbidcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgIG1hdFRvb2x0aXA9XCJSZXZpZXdcIlxuICAgIChjbGljayk9XCJvcGVuRGlhbG9nKHJldmlld1RlbXBsYXRlKVwiXG4gID5cbiAgICByYXRlX3Jldmlld1xuICA8L21hdC1pY29uPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcmV2aWV3VGVtcGxhdGU+XG4gIDxoMyBtYXQtZGlhbG9nLXRpdGxlPlJldmlldyBDaGVja3NoZWV0PC9oMz5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPHA+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG1hcmsgdGhlIENoZWNrc2hlZXQgYXMgUmV2aWV3ZWQ/PC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIiBtYXQtZmxhdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZT5cbiAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAoY2xpY2spPVwicmV2aWV3Q2hlY2tzaGVldCgpXCJcbiAgICA+XG4gICAgICBSZXZpZXdcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,44 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { ChecksheetFormComponent } from './checksheet-form/checksheet-form.component';
4
+ import { ChecksheetFormatListComponent } from './checksheet-format-list/checksheet-format-list.component';
5
+ import { ChecksheetReportComponent } from './checksheet-report/checksheet-report.component';
6
+ import { ChecksheetListComponent } from './checksheet-list/checksheet-list.component';
7
+ import { ChecksheetNodeViewComponent } from './checksheet-node-view/checksheet-node-view.component';
8
+ import { ChecksheetViewComponent } from './checksheet-view/checksheet-view.component';
9
+ import { ChecksheetSubmissionViewComponent } from "./checksheet-submission-view/checksheet-submission-view.component";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/router";
12
+ const routes = [
13
+ { path: 'checksheet-format-list', component: ChecksheetFormatListComponent },
14
+ { path: 'checksheet-report', component: ChecksheetReportComponent },
15
+ { path: 'checksheet-form', component: ChecksheetFormComponent },
16
+ { path: 'checksheet-view/:checksheetId', component: ChecksheetViewComponent },
17
+ { path: 'checksheet-form/:checksheetId', component: ChecksheetFormComponent },
18
+ {
19
+ path: 'checksheets',
20
+ component: ChecksheetListComponent
21
+ },
22
+ {
23
+ path: 'checksheets-view/:submissionId',
24
+ component: ChecksheetNodeViewComponent
25
+ },
26
+ {
27
+ path: 'checksheets/:submissionId/view',
28
+ component: ChecksheetSubmissionViewComponent
29
+ },
30
+ { path: '**', redirectTo: 'checksheet-format-list', pathMatch: 'full' }
31
+ ];
32
+ export class ChecksheetRoutingModule {
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
35
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetRoutingModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ imports: [RouterModule.forChild(routes)],
41
+ exports: [RouterModule]
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLG1FQUFtRSxDQUFDOzs7QUFFcEgsTUFBTSxNQUFNLEdBQVc7SUFDckIsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLDZCQUE2QixFQUFFO0lBQzVFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRTtJQUNuRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUU7SUFDL0QsRUFBRSxJQUFJLEVBQUUsK0JBQStCLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFO0lBQzdFLEVBQUUsSUFBSSxFQUFFLCtCQUErQixFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRTtJQUM3RTtRQUNFLElBQUksRUFBRSxhQUFhO1FBQ25CLFNBQVMsRUFBRSx1QkFBdUI7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxnQ0FBZ0M7UUFDdEMsU0FBUyxFQUFFLDJCQUEyQjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGdDQUFnQztRQUN0QyxTQUFTLEVBQUUsaUNBQWlDO0tBQzdDO0lBQ0QsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0NBQ3hFLENBQUM7QUFNRixNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1Qix3Q0FGeEIsWUFBWTt5R0FFWCx1QkFBdUIsWUFIeEIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTs7NEZBRVgsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2hlY2tzaGVldEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NoZWNrc2hlZXQtZm9ybS9jaGVja3NoZWV0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrc2hlZXRGb3JtYXRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja3NoZWV0LWZvcm1hdC1saXN0L2NoZWNrc2hlZXQtZm9ybWF0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrc2hlZXRSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrc2hlZXQtcmVwb3J0L2NoZWNrc2hlZXQtcmVwb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3NoZWV0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tzaGVldC1saXN0L2NoZWNrc2hlZXQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tzaGVldE5vZGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja3NoZWV0LW5vZGUtdmlldy9jaGVja3NoZWV0LW5vZGUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tzaGVldFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrc2hlZXQtdmlldy9jaGVja3NoZWV0LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7Q2hlY2tzaGVldFN1Ym1pc3Npb25WaWV3Q29tcG9uZW50fSBmcm9tIFwiLi9jaGVja3NoZWV0LXN1Ym1pc3Npb24tdmlldy9jaGVja3NoZWV0LXN1Ym1pc3Npb24tdmlldy5jb21wb25lbnRcIjtcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHsgcGF0aDogJ2NoZWNrc2hlZXQtZm9ybWF0LWxpc3QnLCBjb21wb25lbnQ6IENoZWNrc2hlZXRGb3JtYXRMaXN0Q29tcG9uZW50IH0sXG4gIHsgcGF0aDogJ2NoZWNrc2hlZXQtcmVwb3J0JywgY29tcG9uZW50OiBDaGVja3NoZWV0UmVwb3J0Q29tcG9uZW50IH0sXG4gIHsgcGF0aDogJ2NoZWNrc2hlZXQtZm9ybScsIGNvbXBvbmVudDogQ2hlY2tzaGVldEZvcm1Db21wb25lbnQgfSxcbiAgeyBwYXRoOiAnY2hlY2tzaGVldC12aWV3LzpjaGVja3NoZWV0SWQnLCBjb21wb25lbnQ6IENoZWNrc2hlZXRWaWV3Q29tcG9uZW50IH0sXG4gIHsgcGF0aDogJ2NoZWNrc2hlZXQtZm9ybS86Y2hlY2tzaGVldElkJywgY29tcG9uZW50OiBDaGVja3NoZWV0Rm9ybUNvbXBvbmVudCB9LFxuICB7XG4gICAgcGF0aDogJ2NoZWNrc2hlZXRzJyxcbiAgICBjb21wb25lbnQ6IENoZWNrc2hlZXRMaXN0Q29tcG9uZW50XG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnY2hlY2tzaGVldHMtdmlldy86c3VibWlzc2lvbklkJyxcbiAgICBjb21wb25lbnQ6IENoZWNrc2hlZXROb2RlVmlld0NvbXBvbmVudFxuICB9LFxuICB7XG4gICAgcGF0aDogJ2NoZWNrc2hlZXRzLzpzdWJtaXNzaW9uSWQvdmlldycsXG4gICAgY29tcG9uZW50OiBDaGVja3NoZWV0U3VibWlzc2lvblZpZXdDb21wb25lbnRcbiAgfSxcbiAgeyBwYXRoOiAnKionLCByZWRpcmVjdFRvOiAnY2hlY2tzaGVldC1mb3JtYXQtbGlzdCcsIHBhdGhNYXRjaDogJ2Z1bGwnIH1cbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrc2hlZXRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from 'ngx-techlify-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-techlify-core";
5
+ export class ChecksheetSubmissionAnswerService extends TechlifyServiceBaseClass {
6
+ constructor(httpService) {
7
+ super(httpService, 'checksheet-submission-answers');
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionAnswerService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
10
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionAnswerService, providedIn: 'root' });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionAnswerService, decorators: [{
13
+ type: Injectable,
14
+ args: [{
15
+ providedIn: 'root'
16
+ }]
17
+ }], ctorParameters: () => [{ type: i1.HttpService }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1zdWJtaXNzaW9uLWFuc3dlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNoZWNrc2hlZXQvc3JjL2xpYi9jaGVja3NoZWV0L2NoZWNrc2hlZXQtc3VibWlzc2lvbi1hbnN3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBZSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFLMUUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHdCQUF3QjtJQUM3RSxZQUFZLFdBQXdCO1FBQ2xDLEtBQUssQ0FBQyxXQUFXLEVBQUUsK0JBQStCLENBQUMsQ0FBQztJQUN0RCxDQUFDO3dHQUhVLGlDQUFpQzs0R0FBakMsaUNBQWlDLGNBRmhDLE1BQU07OzRGQUVQLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSwgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGVja3NoZWV0U3VibWlzc2lvbkFuc3dlclNlcnZpY2UgZXh0ZW5kcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xuICBjb25zdHJ1Y3RvcihodHRwU2VydmljZTogSHR0cFNlcnZpY2UpIHtcbiAgICBzdXBlcihodHRwU2VydmljZSwgJ2NoZWNrc2hlZXQtc3VibWlzc2lvbi1hbnN3ZXJzJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/dialog";
4
+ import * as i2 from "../checksheet.service";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "@angular/material/icon";
7
+ export class ChecksheetSubmissionDeleteButtonComponent {
8
+ matDialog;
9
+ checksheetSubmissionService;
10
+ checksheetSubmission;
11
+ deleted = new EventEmitter();
12
+ isDeleting = false;
13
+ constructor(matDialog, checksheetSubmissionService) {
14
+ this.matDialog = matDialog;
15
+ this.checksheetSubmissionService = checksheetSubmissionService;
16
+ }
17
+ /**
18
+ * Show delete confirmation dialog.
19
+ *
20
+ * @param templateRef
21
+ */
22
+ openDialog(templateRef) {
23
+ this.matDialog.open(templateRef, { width: '400px' });
24
+ }
25
+ /**
26
+ * Send request to delete the model.
27
+ */
28
+ deleteModel() {
29
+ this.isDeleting = true;
30
+ this.checksheetSubmissionService
31
+ .delete(this.checksheetSubmission)
32
+ .subscribe({
33
+ next: () => {
34
+ this.isDeleting = false;
35
+ this.deleted.emit();
36
+ this.matDialog.closeAll();
37
+ },
38
+ error: () => (this.isDeleting = false)
39
+ });
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionDeleteButtonComponent, deps: [{ token: i1.MatDialog }, { token: i2.ChecksheetService }], target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChecksheetSubmissionDeleteButtonComponent, selector: "app-checksheet-submission-delete-button", inputs: { checksheetSubmission: "checksheetSubmission" }, outputs: { deleted: "deleted" }, ngImport: i0, template: "<mat-icon class=\"cursor-pointer\" (click)=\"openDialog(deleteTemplate)\">\n delete\n</mat-icon>\n\n<ng-template #deleteTemplate>\n <h3 mat-dialog-title>Delete Checksheet</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to delete the Checksheet?</p>\n </div>\n <div\n mat-dialog-actions\n class=\"d-flex justify-content-end gap-2 align-items-center\"\n >\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n mat-flat-button\n mat-dialog-close\n >\n Cancel\n </button>\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n (click)=\"deleteModel()\"\n mat-raised-button\n color=\"warn\"\n >\n Delete\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionDeleteButtonComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'app-checksheet-submission-delete-button', template: "<mat-icon class=\"cursor-pointer\" (click)=\"openDialog(deleteTemplate)\">\n delete\n</mat-icon>\n\n<ng-template #deleteTemplate>\n <h3 mat-dialog-title>Delete Checksheet</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to delete the Checksheet?</p>\n </div>\n <div\n mat-dialog-actions\n class=\"d-flex justify-content-end gap-2 align-items-center\"\n >\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n mat-flat-button\n mat-dialog-close\n >\n Cancel\n </button>\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n (click)=\"deleteModel()\"\n mat-raised-button\n color=\"warn\"\n >\n Delete\n </button>\n </div>\n</ng-template>\n" }]
47
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.ChecksheetService }], propDecorators: { checksheetSubmission: [{
48
+ type: Input
49
+ }], deleted: [{
50
+ type: Output
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1zdWJtaXNzaW9uLWRlbGV0ZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNoZWNrc2hlZXQvc3JjL2xpYi9jaGVja3NoZWV0L2NoZWNrc2hlZXQtc3VibWlzc2lvbi1kZWxldGUtYnV0dG9uL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZGVsZXRlLWJ1dHRvbi9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTdkIsTUFBTSxPQUFPLHlDQUF5QztJQU0xQztJQUNBO0lBTkQsb0JBQW9CLENBQU07SUFDekIsT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQy9ELFVBQVUsR0FBWSxLQUFLLENBQUM7SUFFNUIsWUFDVSxTQUFvQixFQUNwQiwyQkFBOEM7UUFEOUMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQW1CO0lBQ3JELENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLFdBQTZCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsMkJBQTJCO2FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7YUFDakMsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDdkMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0FsQ1UseUNBQXlDOzRGQUF6Qyx5Q0FBeUMsMEtDZnRELDB1QkFnQ0E7OzRGRGpCYSx5Q0FBeUM7a0JBTHJELFNBQVM7K0JBQ0UseUNBQXlDOzhHQUsxQyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDaGVja3NoZWV0U2VydmljZSB9IGZyb20gJy4uL2NoZWNrc2hlZXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jaGVja3NoZWV0LXN1Ym1pc3Npb24tZGVsZXRlLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tzaGVldFN1Ym1pc3Npb25EZWxldGVCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBjaGVja3NoZWV0U3VibWlzc2lvbjogYW55O1xuICBAT3V0cHV0KCkgZGVsZXRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaXNEZWxldGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBjaGVja3NoZWV0U3VibWlzc2lvblNlcnZpY2U6IENoZWNrc2hlZXRTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogU2hvdyBkZWxldGUgY29uZmlybWF0aW9uIGRpYWxvZy5cbiAgICpcbiAgICogQHBhcmFtIHRlbXBsYXRlUmVmXG4gICAqL1xuICBvcGVuRGlhbG9nKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5tYXREaWFsb2cub3Blbih0ZW1wbGF0ZVJlZiwgeyB3aWR0aDogJzQwMHB4JyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIHJlcXVlc3QgdG8gZGVsZXRlIHRoZSBtb2RlbC5cbiAgICovXG4gIGRlbGV0ZU1vZGVsKCkge1xuICAgIHRoaXMuaXNEZWxldGluZyA9IHRydWU7XG4gICAgdGhpcy5jaGVja3NoZWV0U3VibWlzc2lvblNlcnZpY2VcbiAgICAgIC5kZWxldGUodGhpcy5jaGVja3NoZWV0U3VibWlzc2lvbilcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0RlbGV0aW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5kZWxldGVkLmVtaXQoKTtcbiAgICAgICAgICB0aGlzLm1hdERpYWxvZy5jbG9zZUFsbCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4gKHRoaXMuaXNEZWxldGluZyA9IGZhbHNlKVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9wZW5EaWFsb2coZGVsZXRlVGVtcGxhdGUpXCI+XG4gIGRlbGV0ZVxuPC9tYXQtaWNvbj5cblxuPG5nLXRlbXBsYXRlICNkZWxldGVUZW1wbGF0ZT5cbiAgPGgzIG1hdC1kaWFsb2ctdGl0bGU+RGVsZXRlIENoZWNrc2hlZXQ8L2gzPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8cD5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZSBDaGVja3NoZWV0PzwvcD5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBtYXQtZGlhbG9nLWFjdGlvbnNcbiAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEZWxldGluZ1wiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgbWF0LWRpYWxvZy1jbG9zZVxuICAgID5cbiAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCJpc0RlbGV0aW5nXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZU1vZGVsKClcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgPlxuICAgICAgRGVsZXRlXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { MaterialModule } from "ngx-techlify-core";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "../../checksheet-submission-file.service";
8
+ import * as i3 from "@angular/material/icon";
9
+ import * as i4 from "@angular/material/button";
10
+ export class ChecksheetSubmissionFileDeleteButtonComponent {
11
+ matDialog;
12
+ checksheetSubmissionFileService;
13
+ checksheetSubmissionFile;
14
+ deleted = new EventEmitter();
15
+ isDeleting = false;
16
+ constructor(matDialog, checksheetSubmissionFileService) {
17
+ this.matDialog = matDialog;
18
+ this.checksheetSubmissionFileService = checksheetSubmissionFileService;
19
+ }
20
+ /**
21
+ * Show delete confirmation dialog.
22
+ *
23
+ * @param templateRef
24
+ */
25
+ openDialog(templateRef) {
26
+ this.matDialog.open(templateRef, { width: '400px' });
27
+ }
28
+ /**
29
+ * Send request to delete the model.
30
+ */
31
+ deleteModel() {
32
+ this.isDeleting = true;
33
+ this.checksheetSubmissionFileService
34
+ .delete(this.checksheetSubmissionFile)
35
+ .subscribe({
36
+ next: () => {
37
+ this.isDeleting = false;
38
+ this.deleted.emit();
39
+ this.matDialog.closeAll();
40
+ },
41
+ error: () => (this.isDeleting = false)
42
+ });
43
+ }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFileDeleteButtonComponent, deps: [{ token: i1.MatDialog }, { token: i2.ChecksheetSubmissionFileService }], target: i0.ɵɵFactoryTarget.Component });
45
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChecksheetSubmissionFileDeleteButtonComponent, isStandalone: true, selector: "app-checksheet-submission-file-delete-button", inputs: { checksheetSubmissionFile: "checksheetSubmissionFile" }, outputs: { deleted: "deleted" }, ngImport: i0, template: "<mat-icon class=\"cursor-pointer\" (click)=\"openDialog(deleteTemplate)\">\n delete\n</mat-icon>\n\n<ng-template #deleteTemplate>\n <h3 mat-dialog-title>Delete Checksheet Attachment</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to delete the file?</p>\n </div>\n <div\n mat-dialog-actions\n class=\"d-flex justify-content-end gap-2 align-items-center\"\n >\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n mat-flat-button\n mat-dialog-close\n >\n Cancel\n </button>\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n (click)=\"deleteModel()\"\n mat-raised-button\n color=\"warn\"\n >\n Delete\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFileDeleteButtonComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'app-checksheet-submission-file-delete-button', standalone: true, imports: [CommonModule, MatIconModule, MaterialModule], template: "<mat-icon class=\"cursor-pointer\" (click)=\"openDialog(deleteTemplate)\">\n delete\n</mat-icon>\n\n<ng-template #deleteTemplate>\n <h3 mat-dialog-title>Delete Checksheet Attachment</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to delete the file?</p>\n </div>\n <div\n mat-dialog-actions\n class=\"d-flex justify-content-end gap-2 align-items-center\"\n >\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n mat-flat-button\n mat-dialog-close\n >\n Cancel\n </button>\n <button\n [disabled]=\"isDeleting\"\n type=\"button\"\n (click)=\"deleteModel()\"\n mat-raised-button\n color=\"warn\"\n >\n Delete\n </button>\n </div>\n</ng-template>\n" }]
50
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.ChecksheetSubmissionFileService }], propDecorators: { checksheetSubmissionFile: [{
51
+ type: Input
52
+ }], deleted: [{
53
+ type: Output
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUtZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY2hlY2tzaGVldC9zcmMvbGliL2NoZWNrc2hlZXQvY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUvY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUtZGVsZXRlLWJ1dHRvbi9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS1kZWxldGUtYnV0dG9uL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlLWRlbGV0ZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBU2pELE1BQU0sT0FBTyw2Q0FBNkM7SUFNOUM7SUFDQTtJQU5ELHdCQUF3QixDQUFNO0lBQzdCLE9BQU8sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUMvRCxVQUFVLEdBQVksS0FBSyxDQUFDO0lBRTVCLFlBQ1UsU0FBb0IsRUFDcEIsK0JBQWdFO1FBRGhFLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztJQUN2RSxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxXQUE2QjtRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLCtCQUErQjthQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO2FBQ3JDLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBbENVLDZDQUE2Qzs0RkFBN0MsNkNBQTZDLDJNQ3BCMUQsK3VCQWdDQSx5RERoQlksWUFBWSw4QkFBRSxhQUFhLG1MQUFFLGNBQWM7OzRGQUkxQyw2Q0FBNkM7a0JBUHpELFNBQVM7K0JBQ0UsOENBQThDLGNBQzVDLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDOzRIQUs3Qyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHtNYXRlcmlhbE1vZHVsZX0gZnJvbSBcIm5neC10ZWNobGlmeS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS1kZWxldGUtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0ZXJpYWxNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUtZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlLWRlbGV0ZS1idXR0b24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja3NoZWV0U3VibWlzc2lvbkZpbGVEZWxldGVCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBjaGVja3NoZWV0U3VibWlzc2lvbkZpbGU6IGFueTtcbiAgQE91dHB1dCgpIGRlbGV0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGlzRGVsZXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgY2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZTogQ2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFNob3cgZGVsZXRlIGNvbmZpcm1hdGlvbiBkaWFsb2cuXG4gICAqXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZVJlZlxuICAgKi9cbiAgb3BlbkRpYWxvZyh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMubWF0RGlhbG9nLm9wZW4odGVtcGxhdGVSZWYsIHsgd2lkdGg6ICc0MDBweCcgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2VuZCByZXF1ZXN0IHRvIGRlbGV0ZSB0aGUgbW9kZWwuXG4gICAqL1xuICBkZWxldGVNb2RlbCgpIHtcbiAgICB0aGlzLmlzRGVsZXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuY2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZVxuICAgICAgLmRlbGV0ZSh0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uRmlsZSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0RlbGV0aW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5kZWxldGVkLmVtaXQoKTtcbiAgICAgICAgICB0aGlzLm1hdERpYWxvZy5jbG9zZUFsbCgpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4gKHRoaXMuaXNEZWxldGluZyA9IGZhbHNlKVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9wZW5EaWFsb2coZGVsZXRlVGVtcGxhdGUpXCI+XG4gIGRlbGV0ZVxuPC9tYXQtaWNvbj5cblxuPG5nLXRlbXBsYXRlICNkZWxldGVUZW1wbGF0ZT5cbiAgPGgzIG1hdC1kaWFsb2ctdGl0bGU+RGVsZXRlIENoZWNrc2hlZXQgQXR0YWNobWVudDwvaDM+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIGZpbGU/PC9wPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIG1hdC1kaWFsb2ctYWN0aW9uc1xuICAgIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCJpc0RlbGV0aW5nXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICBtYXQtZGlhbG9nLWNsb3NlXG4gICAgPlxuICAgICAgQ2FuY2VsXG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgW2Rpc2FibGVkXT1cImlzRGVsZXRpbmdcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiZGVsZXRlTW9kZWwoKVwiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICA+XG4gICAgICBEZWxldGVcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,67 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MaterialModule, TechlifyListingControllerInterface } from 'ngx-techlify-core';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
6
+ import { ChecksheetSubmissionFileDeleteButtonComponent } from "../checksheet-submission-file-delete-button/checksheet-submission-file-delete-button.component";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "../../checksheet-submission-file.service";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "@angular/material/form-field";
12
+ import * as i5 from "@angular/material/input";
13
+ import * as i6 from "@angular/material/table";
14
+ import * as i7 from "@angular/material/card";
15
+ import * as i8 from "@angular/material/progress-bar";
16
+ export class ChecksheetSubmissionFilesComponent extends TechlifyListingControllerInterface {
17
+ formBuilder;
18
+ checksheetSubmissionFileService;
19
+ submissionId;
20
+ questionId;
21
+ displayedColumns = ['No', 'File', 'Actions'];
22
+ constructor(formBuilder, checksheetSubmissionFileService) {
23
+ super();
24
+ this.formBuilder = formBuilder;
25
+ this.checksheetSubmissionFileService = checksheetSubmissionFileService;
26
+ this.lastPage = 0;
27
+ this.filterForm = this.formBuilder.group({
28
+ search: [''],
29
+ submission_ids: [''],
30
+ question_ids: ['']
31
+ });
32
+ }
33
+ ngOnInit() {
34
+ this.filterForm.patchValue({
35
+ submission_ids: this.submissionId ?? '',
36
+ question_ids: this.questionId ?? ''
37
+ }, { emitEvent: false });
38
+ this.listenForChanges();
39
+ this.loadData();
40
+ }
41
+ loadData() {
42
+ const params = {
43
+ ...this.filterForm.value,
44
+ perPage: this.perPage,
45
+ page: this.page
46
+ };
47
+ this.isWorking = true;
48
+ this.checksheetSubmissionFileService.index(params).subscribe({
49
+ next: (response) => {
50
+ this.models = this.models.concat(response?.data);
51
+ this.lastPage = response?.last_page;
52
+ },
53
+ complete: () => (this.isWorking = false)
54
+ });
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFilesComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ChecksheetSubmissionFileService }], target: i0.ɵɵFactoryTarget.Component });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChecksheetSubmissionFilesComponent, isStandalone: true, selector: "app-checksheet-submission-files", inputs: { submissionId: "submissionId", questionId: "questionId" }, usesInheritance: true, ngImport: i0, template: "<mat-card class=\"p-0\">\n <mat-card-content\n class=\"p-2 mb-0 d-flex justify-content-between align-items-center\"\n >\n <div>\n <h3 class=\"mb-0\">Files</h3>\n </div>\n <form [formGroup]=\"filterForm\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input\n formControlName=\"search\"\n type=\"text\"\n matInput\n placeholder=\"Search\"\n />\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- No Column -->\n <ng-container matColumnDef=\"No\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"Title\">\n <th mat-header-cell *matHeaderCellDef>Title</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.title }}</td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"Details\">\n <th mat-header-cell *matHeaderCellDef>Details</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.description }}</td>\n </ng-container>\n\n <!-- File Column -->\n <ng-container matColumnDef=\"File\">\n <th mat-header-cell *matHeaderCellDef>File</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.file_name }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <a\n class=\"text-decoration-none cursor-pointer text-dark\"\n [href]=\"element?.file_url\"\n target=\"_blank\"\n >\n <span class=\"material-symbols-outlined\"> visibility </span>\n </a>\n\n <app-checksheet-submission-file-delete-button\n [checksheetSubmissionFile]=\"element\"\n (deleted)=\"reload()\"\n ></app-checksheet-submission-file-delete-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.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: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ChecksheetSubmissionFileDeleteButtonComponent, selector: "app-checksheet-submission-file-delete-button", inputs: ["checksheetSubmissionFile"], outputs: ["deleted"] }] });
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFilesComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'app-checksheet-submission-files', standalone: true, imports: [CommonModule, MaterialModule, MatProgressBarModule, ReactiveFormsModule, ChecksheetSubmissionFileDeleteButtonComponent], template: "<mat-card class=\"p-0\">\n <mat-card-content\n class=\"p-2 mb-0 d-flex justify-content-between align-items-center\"\n >\n <div>\n <h3 class=\"mb-0\">Files</h3>\n </div>\n <form [formGroup]=\"filterForm\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input\n formControlName=\"search\"\n type=\"text\"\n matInput\n placeholder=\"Search\"\n />\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- No Column -->\n <ng-container matColumnDef=\"No\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"Title\">\n <th mat-header-cell *matHeaderCellDef>Title</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.title }}</td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"Details\">\n <th mat-header-cell *matHeaderCellDef>Details</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.description }}</td>\n </ng-container>\n\n <!-- File Column -->\n <ng-container matColumnDef=\"File\">\n <th mat-header-cell *matHeaderCellDef>File</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.file_name }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <a\n class=\"text-decoration-none cursor-pointer text-dark\"\n [href]=\"element?.file_url\"\n target=\"_blank\"\n >\n <span class=\"material-symbols-outlined\"> visibility </span>\n </a>\n\n <app-checksheet-submission-file-delete-button\n [checksheetSubmissionFile]=\"element\"\n (deleted)=\"reload()\"\n ></app-checksheet-submission-file-delete-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n" }]
62
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ChecksheetSubmissionFileService }], propDecorators: { submissionId: [{
63
+ type: Input
64
+ }], questionId: [{
65
+ type: Input
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZXMvY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZXMvY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGtDQUFrQyxFQUNuQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBYyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFDTCw2Q0FBNkMsRUFDOUMsTUFBTSxnR0FBZ0csQ0FBQzs7Ozs7Ozs7OztBQVN4RyxNQUFNLE9BQU8sa0NBQ1gsU0FBUSxrQ0FBa0M7SUFRaEM7SUFDQTtJQU5ELFlBQVksQ0FBVTtJQUN0QixVQUFVLENBQVU7SUFDN0IsZ0JBQWdCLEdBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXZELFlBQ1UsV0FBd0IsRUFDeEIsK0JBQWdFO1FBRXhFLEtBQUssRUFBRSxDQUFDO1FBSEEsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUd4RSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNaLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNwQixZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FDeEI7WUFDRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUU7U0FDcEMsRUFDRCxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FDckIsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFRO1lBQ2xCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQUUsU0FBUyxDQUFDO1lBQ3RDLENBQUM7WUFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQS9DVSxrQ0FBa0M7NEZBQWxDLGtDQUFrQyxzTENwQi9DLDBrRkF3RUEseUREeERZLFlBQVksa0lBQUUsY0FBYyxvOURBQUUsb0JBQW9CLDhCQUFFLG1CQUFtQiw2OEJBQUUsNkNBQTZDOzs0RkFJckgsa0NBQWtDO2tCQVA5QyxTQUFTOytCQUNFLGlDQUFpQyxjQUMvQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLDZDQUE2QyxDQUFDOzhIQVF4SCxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBNYXRlcmlhbE1vZHVsZSxcbiAgVGVjaGxpZnlMaXN0aW5nQ29udHJvbGxlckludGVyZmFjZVxufSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGVja3NoZWV0U3VibWlzc2lvbkZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge1xuICBDaGVja3NoZWV0U3VibWlzc2lvbkZpbGVEZWxldGVCdXR0b25Db21wb25lbnRcbn0gZnJvbSBcIi4uL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlLWRlbGV0ZS1idXR0b24vY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUtZGVsZXRlLWJ1dHRvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdGVyaWFsTW9kdWxlLCBNYXRQcm9ncmVzc0Jhck1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQ2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlRGVsZXRlQnV0dG9uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrc2hlZXRTdWJtaXNzaW9uRmlsZXNDb21wb25lbnRcbiAgZXh0ZW5kcyBUZWNobGlmeUxpc3RpbmdDb250cm9sbGVySW50ZXJmYWNlXG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIEBJbnB1dCgpIHN1Ym1pc3Npb25JZCE6IG51bWJlcjtcbiAgQElucHV0KCkgcXVlc3Rpb25JZCE6IG51bWJlcjtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbJ05vJywgJ0ZpbGUnLCAnQWN0aW9ucyddO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgY2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZTogQ2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGFzdFBhZ2UgPSAwO1xuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgc3VibWlzc2lvbl9pZHM6IFsnJ10sXG4gICAgICBxdWVzdGlvbl9pZHM6IFsnJ11cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyRm9ybS5wYXRjaFZhbHVlKFxuICAgICAge1xuICAgICAgICBzdWJtaXNzaW9uX2lkczogdGhpcy5zdWJtaXNzaW9uSWQgPz8gJycsXG4gICAgICAgIHF1ZXN0aW9uX2lkczogdGhpcy5xdWVzdGlvbklkID8/ICcnXG4gICAgICB9LFxuICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICApO1xuICAgIHRoaXMubGlzdGVuRm9yQ2hhbmdlcygpO1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xuICAgICAgLi4udGhpcy5maWx0ZXJGb3JtLnZhbHVlLFxuICAgICAgcGVyUGFnZTogdGhpcy5wZXJQYWdlLFxuICAgICAgcGFnZTogdGhpcy5wYWdlXG4gICAgfTtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgdGhpcy5jaGVja3NoZWV0U3VibWlzc2lvbkZpbGVTZXJ2aWNlLmluZGV4KHBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHMuY29uY2F0KHJlc3BvbnNlPy5kYXRhKTtcbiAgICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3BvbnNlPy5sYXN0X3BhZ2U7XG4gICAgICB9LFxuICAgICAgY29tcGxldGU6ICgpID0+ICh0aGlzLmlzV29ya2luZyA9IGZhbHNlKVxuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJwLTBcIj5cbiAgPG1hdC1jYXJkLWNvbnRlbnRcbiAgICBjbGFzcz1cInAtMiBtYi0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICA+XG4gICAgPGRpdj5cbiAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj5GaWxlczwvaDM+XG4gICAgPC9kaXY+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+U2VhcmNoPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJwLTBcIj5cbiAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgIDwhLS0gTm8gQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJOb1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBpbmRleFwiPnt7IGkgKyAxIH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIFRpdGxlIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiVGl0bGVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5UaXRsZTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudD8udGl0bGUgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gRGV0YWlscyBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIkRldGFpbHNcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5EZXRhaWxzPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50Py5kZXNjcmlwdGlvbiB9fTwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBGaWxlIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiRmlsZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkZpbGU8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQ/LmZpbGVfbmFtZSB9fTwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBBY3Rpb25zIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uc1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkFjdGlvbnM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSBjdXJzb3ItcG9pbnRlciB0ZXh0LWRhcmtcIlxuICAgICAgICAgICAgICBbaHJlZl09XCJlbGVtZW50Py5maWxlX3VybFwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiB2aXNpYmlsaXR5IDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPGFwcC1jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS1kZWxldGUtYnV0dG9uXG4gICAgICAgICAgICAgIFtjaGVja3NoZWV0U3VibWlzc2lvbkZpbGVdPVwiZWxlbWVudFwiXG4gICAgICAgICAgICAgIChkZWxldGVkKT1cInJlbG9hZCgpXCJcbiAgICAgICAgICAgID48L2FwcC1jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS1kZWxldGUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPC90YWJsZT5cbiAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNXb3JraW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuIl19
@@ -0,0 +1,46 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { forkJoin, map } from 'rxjs';
4
+ import { FileUploadButtonComponent } from '../../@shared/file-upload-button/file-upload-button.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../checksheet-submission-file.service";
7
+ export class ChecksheetSubmissionFileUploadComponent {
8
+ checksheetSubmissionFileService;
9
+ submissionId;
10
+ questionId;
11
+ uploaded = new EventEmitter();
12
+ constructor(checksheetSubmissionFileService) {
13
+ this.checksheetSubmissionFileService = checksheetSubmissionFileService;
14
+ }
15
+ onUploadComplete(uploadedFiles) {
16
+ const uploadObservables = uploadedFiles.map((file) => {
17
+ const data = {
18
+ file_name: file.item.file_name,
19
+ file_url: file.item.url,
20
+ submission_id: this.submissionId,
21
+ question_id: this.questionId
22
+ };
23
+ return this.checksheetSubmissionFileService
24
+ .store(data)
25
+ .pipe(map((response) => response?.item));
26
+ });
27
+ forkJoin(uploadObservables).subscribe({
28
+ next: (checksheetSubmissionFiles) => {
29
+ this.uploaded.emit(checksheetSubmissionFiles);
30
+ }
31
+ });
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFileUploadComponent, deps: [{ token: i1.ChecksheetSubmissionFileService }], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChecksheetSubmissionFileUploadComponent, isStandalone: true, selector: "app-checksheet-submission-file-upload", inputs: { submissionId: "submissionId", questionId: "questionId" }, outputs: { uploaded: "uploaded" }, ngImport: i0, template: "<app-file-upload-button\n (uploaded)=\"onUploadComplete($event)\"\n [config]=\"{ fileId: 'question-' + questionId }\"\n></app-file-upload-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: FileUploadButtonComponent, selector: "app-file-upload-button", inputs: ["config"], outputs: ["uploaded"] }] });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFileUploadComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'app-checksheet-submission-file-upload', standalone: true, imports: [CommonModule, FileUploadButtonComponent], template: "<app-file-upload-button\n (uploaded)=\"onUploadComplete($event)\"\n [config]=\"{ fileId: 'question-' + questionId }\"\n></app-file-upload-button>\n" }]
39
+ }], ctorParameters: () => [{ type: i1.ChecksheetSubmissionFileService }], propDecorators: { submissionId: [{
40
+ type: Input
41
+ }], questionId: [{
42
+ type: Input
43
+ }], uploaded: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1zdWJtaXNpc29uLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS11cGxvYWQvY2hlY2tzaGVldC1zdWJtaXNpc29uLWZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS11cGxvYWQvY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDOzs7QUFTMUcsTUFBTSxPQUFPLHVDQUF1QztJQU14QztJQUxELFlBQVksQ0FBVTtJQUN0QixVQUFVLENBQVU7SUFDbkIsUUFBUSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO0lBRXBFLFlBQ1UsK0JBQWdFO1FBQWhFLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7SUFDdkUsQ0FBQztJQUVKLGdCQUFnQixDQUFDLGFBQW9CO1FBQ25DLE1BQU0saUJBQWlCLEdBQXNCLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0RSxNQUFNLElBQUksR0FBUTtnQkFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDOUIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUNoQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDN0IsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLCtCQUErQjtpQkFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsQ0FBQyx5QkFBZ0MsRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ2hELENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTNCVSx1Q0FBdUM7NEZBQXZDLHVDQUF1Qyx3TUNicEQsdUpBSUEseURES1ksWUFBWSwrQkFBRSx5QkFBeUI7OzRGQUl0Qyx1Q0FBdUM7a0JBUG5ELFNBQVM7K0JBQ0UsdUNBQXVDLGNBQ3JDLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQztvR0FLekMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoZWNrc2hlZXRTdWJtaXNzaW9uRmlsZVNlcnZpY2UgfSBmcm9tICcuLi9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IGZvcmtKb2luLCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbGVVcGxvYWRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9Ac2hhcmVkL2ZpbGUtdXBsb2FkLWJ1dHRvbi9maWxlLXVwbG9hZC1idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlLXVwbG9hZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZpbGVVcGxvYWRCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3VibWlzc2lvbklkITogbnVtYmVyO1xuICBASW5wdXQoKSBxdWVzdGlvbklkITogbnVtYmVyO1xuICBAT3V0cHV0KCkgdXBsb2FkZWQ6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZTogQ2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZVxuICApIHt9XG5cbiAgb25VcGxvYWRDb21wbGV0ZSh1cGxvYWRlZEZpbGVzOiBhbnlbXSkge1xuICAgIGNvbnN0IHVwbG9hZE9ic2VydmFibGVzOiBPYnNlcnZhYmxlPGFueT5bXSA9IHVwbG9hZGVkRmlsZXMubWFwKChmaWxlKSA9PiB7XG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSB7XG4gICAgICAgIGZpbGVfbmFtZTogZmlsZS5pdGVtLmZpbGVfbmFtZSxcbiAgICAgICAgZmlsZV91cmw6IGZpbGUuaXRlbS51cmwsXG4gICAgICAgIHN1Ym1pc3Npb25faWQ6IHRoaXMuc3VibWlzc2lvbklkLFxuICAgICAgICBxdWVzdGlvbl9pZDogdGhpcy5xdWVzdGlvbklkXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tzaGVldFN1Ym1pc3Npb25GaWxlU2VydmljZVxuICAgICAgICAuc3RvcmUoZGF0YSlcbiAgICAgICAgLnBpcGUobWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2U/Lml0ZW0pKTtcbiAgICB9KTtcblxuICAgIGZvcmtKb2luKHVwbG9hZE9ic2VydmFibGVzKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGNoZWNrc2hlZXRTdWJtaXNzaW9uRmlsZXM6IGFueVtdKSA9PiB7XG4gICAgICAgIHRoaXMudXBsb2FkZWQuZW1pdChjaGVja3NoZWV0U3VibWlzc2lvbkZpbGVzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGFwcC1maWxlLXVwbG9hZC1idXR0b25cbiAgKHVwbG9hZGVkKT1cIm9uVXBsb2FkQ29tcGxldGUoJGV2ZW50KVwiXG4gIFtjb25maWddPVwieyBmaWxlSWQ6ICdxdWVzdGlvbi0nICsgcXVlc3Rpb25JZCB9XCJcbj48L2FwcC1maWxlLXVwbG9hZC1idXR0b24+XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from 'ngx-techlify-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-techlify-core";
5
+ export class ChecksheetSubmissionFileService extends TechlifyServiceBaseClass {
6
+ constructor(httpService) {
7
+ super(httpService, 'checksheet-submission-files');
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFileService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
10
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFileService, providedIn: 'root' });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetSubmissionFileService, decorators: [{
13
+ type: Injectable,
14
+ args: [{
15
+ providedIn: 'root'
16
+ }]
17
+ }], ctorParameters: () => [{ type: i1.HttpService }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1zdWJtaXNzaW9uLWZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUsxRSxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsd0JBQXdCO0lBQzNFLFlBQVksV0FBd0I7UUFDbEMsS0FBSyxDQUFDLFdBQVcsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7d0dBSFUsK0JBQStCOzRHQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs7NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlLCBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3MgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrc2hlZXRTdWJtaXNzaW9uRmlsZVNlcnZpY2UgZXh0ZW5kcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xuICBjb25zdHJ1Y3RvcihodHRwU2VydmljZTogSHR0cFNlcnZpY2UpIHtcbiAgICBzdXBlcihodHRwU2VydmljZSwgJ2NoZWNrc2hlZXQtc3VibWlzc2lvbi1maWxlcycpO1xuICB9XG59XG4iXX0=