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.
- package/README.md +24 -0
- package/esm2022/lib/@shared/file-upload-button/file-upload-button.component.mjs +50 -0
- package/esm2022/lib/@shared/index.mjs +2 -0
- package/esm2022/lib/@shared/material.module.mjs +171 -0
- package/esm2022/lib/@shared/shared.module.mjs +54 -0
- package/esm2022/lib/checksheet/checksheet-form/checksheet-form.component.mjs +161 -0
- package/esm2022/lib/checksheet/checksheet-form-button/checksheet-form-button.component.mjs +58 -0
- package/esm2022/lib/checksheet/checksheet-format-list/checksheet-format-list.component.mjs +123 -0
- package/esm2022/lib/checksheet/checksheet-format-question.service.mjs +18 -0
- package/esm2022/lib/checksheet/checksheet-format.service.mjs +24 -0
- package/esm2022/lib/checksheet/checksheet-list/checksheet-list.component.mjs +138 -0
- package/esm2022/lib/checksheet/checksheet-node-view/checksheet-node-view.component.mjs +59 -0
- package/esm2022/lib/checksheet/checksheet-question/checksheet-question.component.mjs +174 -0
- package/esm2022/lib/checksheet/checksheet-question-form/checksheet-question-form.component.mjs +148 -0
- package/esm2022/lib/checksheet/checksheet-question-list/checksheet-question-list.component.mjs +161 -0
- package/esm2022/lib/checksheet/checksheet-report/checksheet-report.component.mjs +242 -0
- package/esm2022/lib/checksheet/checksheet-review-button/checksheet-review-button.component.mjs +68 -0
- package/esm2022/lib/checksheet/checksheet-routing.module.mjs +44 -0
- package/esm2022/lib/checksheet/checksheet-submission-answer.service.mjs +18 -0
- package/esm2022/lib/checksheet/checksheet-submission-delete-button/checksheet-submission-delete-button.component.mjs +52 -0
- package/esm2022/lib/checksheet/checksheet-submission-file/checksheet-submission-file-delete-button/checksheet-submission-file-delete-button.component.mjs +55 -0
- package/esm2022/lib/checksheet/checksheet-submission-file/checksheet-submission-files/checksheet-submission-files.component.mjs +67 -0
- package/esm2022/lib/checksheet/checksheet-submission-file-upload/checksheet-submisison-file-upload.component.mjs +46 -0
- package/esm2022/lib/checksheet/checksheet-submission-file.service.mjs +18 -0
- package/esm2022/lib/checksheet/checksheet-submission-form/checksheet-submission-form.component.mjs +131 -0
- package/esm2022/lib/checksheet/checksheet-submission-form-button/checksheet-submission-form-button.component.mjs +58 -0
- package/esm2022/lib/checksheet/checksheet-submission-list/checksheet-submission-list.component.mjs +107 -0
- package/esm2022/lib/checksheet/checksheet-submission-review-button/checksheet-submission-review-button.component.mjs +68 -0
- package/esm2022/lib/checksheet/checksheet-submission-view/checksheet-submission-view.component.mjs +142 -0
- package/esm2022/lib/checksheet/checksheet-submission.service.mjs +36 -0
- package/esm2022/lib/checksheet/checksheet-submittable.type.mjs +2 -0
- package/esm2022/lib/checksheet/checksheet-view/checksheet-view.component.mjs +140 -0
- package/esm2022/lib/checksheet/checksheet.module.mjs +131 -0
- package/esm2022/lib/checksheet/checksheet.service.mjs +44 -0
- package/esm2022/lib/checksheet/mechanical-issue-form/mechanical-issue-form.component.mjs +73 -0
- package/esm2022/ngx-techlify-checksheet.mjs +5 -0
- package/esm2022/public-api.mjs +9 -0
- package/fesm2022/ngx-techlify-checksheet.mjs +2550 -0
- package/fesm2022/ngx-techlify-checksheet.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/@shared/file-upload-button/file-upload-button.component.d.ts +20 -0
- package/lib/@shared/index.d.ts +1 -0
- package/lib/@shared/material.module.d.ts +40 -0
- package/lib/@shared/shared.module.d.ts +14 -0
- package/lib/checksheet/checksheet-form/checksheet-form.component.d.ts +45 -0
- package/lib/checksheet/checksheet-form-button/checksheet-form-button.component.d.ts +29 -0
- package/lib/checksheet/checksheet-format-list/checksheet-format-list.component.d.ts +19 -0
- package/lib/checksheet/checksheet-format-question.service.d.ts +7 -0
- package/lib/checksheet/checksheet-format.service.d.ts +10 -0
- package/lib/checksheet/checksheet-list/checksheet-list.component.d.ts +31 -0
- package/lib/checksheet/checksheet-node-view/checksheet-node-view.component.d.ts +25 -0
- package/lib/checksheet/checksheet-question/checksheet-question.component.d.ts +34 -0
- package/lib/checksheet/checksheet-question-form/checksheet-question-form.component.d.ts +38 -0
- package/lib/checksheet/checksheet-question-list/checksheet-question-list.component.d.ts +26 -0
- package/lib/checksheet/checksheet-report/checksheet-report.component.d.ts +47 -0
- package/lib/checksheet/checksheet-review-button/checksheet-review-button.component.d.ts +32 -0
- package/lib/checksheet/checksheet-routing.module.d.ts +7 -0
- package/lib/checksheet/checksheet-submission-answer.service.d.ts +7 -0
- package/lib/checksheet/checksheet-submission-delete-button/checksheet-submission-delete-button.component.d.ts +24 -0
- package/lib/checksheet/checksheet-submission-file/checksheet-submission-file-delete-button/checksheet-submission-file-delete-button.component.d.ts +24 -0
- package/lib/checksheet/checksheet-submission-file/checksheet-submission-files/checksheet-submission-files.component.d.ts +17 -0
- package/lib/checksheet/checksheet-submission-file-upload/checksheet-submisison-file-upload.component.d.ts +13 -0
- package/lib/checksheet/checksheet-submission-file.service.d.ts +7 -0
- package/lib/checksheet/checksheet-submission-form/checksheet-submission-form.component.d.ts +27 -0
- package/lib/checksheet/checksheet-submission-form-button/checksheet-submission-form-button.component.d.ts +29 -0
- package/lib/checksheet/checksheet-submission-list/checksheet-submission-list.component.d.ts +24 -0
- package/lib/checksheet/checksheet-submission-review-button/checksheet-submission-review-button.component.d.ts +32 -0
- package/lib/checksheet/checksheet-submission-view/checksheet-submission-view.component.d.ts +37 -0
- package/lib/checksheet/checksheet-submission.service.d.ts +22 -0
- package/lib/checksheet/checksheet-submittable.type.d.ts +1 -0
- package/lib/checksheet/checksheet-view/checksheet-view.component.d.ts +37 -0
- package/lib/checksheet/checksheet.module.d.ts +34 -0
- package/lib/checksheet/checksheet.service.d.ts +25 -0
- package/lib/checksheet/mechanical-issue-form/mechanical-issue-form.component.d.ts +21 -0
- package/package.json +45 -0
- package/public-api.d.ts +5 -0
package/esm2022/lib/checksheet/checksheet-review-button/checksheet-review-button.component.mjs
ADDED
|
@@ -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=
|