@muraai/mnl-form 0.0.1-alpha-db495b1 → 0.0.1-alpha-6116399
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/fesm2022/muraai-mnl-form.mjs +150 -143
- package/fesm2022/muraai-mnl-form.mjs.map +1 -1
- package/lib/types/upload-file.d.ts +1 -1
- package/lib/workflow-status/ workflow-status.module.d.ts +8 -8
- package/lib/workflow-status/workflow-status.component.d.ts +1 -1
- package/package.json +4 -5
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +0 -34
- package/esm2022/lib/mnl-form/mnl-form-standalone.module.mjs +0 -155
- package/esm2022/lib/mnl-form/mnl-form.component.mjs +0 -199
- package/esm2022/lib/models/custom-form-field.model.mjs +0 -2
- package/esm2022/lib/models/workflow-status.model.mjs +0 -2
- package/esm2022/lib/services/graphql.service.mjs +0 -30
- package/esm2022/lib/services/scoring.service.mjs +0 -103
- package/esm2022/lib/types/action-button-renderer.component.mjs +0 -59
- package/esm2022/lib/types/autocomplete-type.component.mjs +0 -68
- package/esm2022/lib/types/button.type.mjs +0 -72
- package/esm2022/lib/types/comments.type.mjs +0 -102
- package/esm2022/lib/types/country-code-input.type.mjs +0 -181
- package/esm2022/lib/types/custom-date.type.mjs +0 -20
- package/esm2022/lib/types/custom-input.component.mjs +0 -62
- package/esm2022/lib/types/date-format.type.mjs +0 -196
- package/esm2022/lib/types/expansion-panel.types.mjs +0 -85
- package/esm2022/lib/types/formly-field-panel.type.mjs +0 -70
- package/esm2022/lib/types/grid-actionable.type.mjs +0 -197
- package/esm2022/lib/types/grid-formly-cell.component.mjs +0 -42
- package/esm2022/lib/types/grid.type.mjs +0 -125
- package/esm2022/lib/types/input.type.mjs +0 -43
- package/esm2022/lib/types/mu-helper-text.type.mjs +0 -331
- package/esm2022/lib/types/multi-select-autocomplete.mjs +0 -139
- package/esm2022/lib/types/multi-select-checkbox.component.mjs +0 -247
- package/esm2022/lib/types/radio.type.mjs +0 -71
- package/esm2022/lib/types/scrollable-tabs.types.mjs +0 -220
- package/esm2022/lib/types/select-api-auto-complete.component.mjs +0 -111
- package/esm2022/lib/types/select-autocomplete-redefined.component.mjs +0 -142
- package/esm2022/lib/types/select-autocomplete.type.mjs +0 -254
- package/esm2022/lib/types/stepper.type.mjs +0 -268
- package/esm2022/lib/types/table.types.mjs +0 -79
- package/esm2022/lib/types/tabs.types.mjs +0 -293
- package/esm2022/lib/types/tabular-form-dialog.component.mjs +0 -331
- package/esm2022/lib/types/tabular-form.type.mjs +0 -641
- package/esm2022/lib/types/upload-file.mjs +0 -524
- package/esm2022/lib/types/view-file-dialog.component.mjs +0 -90
- package/esm2022/lib/utils/formly.utils.mjs +0 -105
- package/esm2022/lib/validators/custom-email-validator.mjs +0 -18
- package/esm2022/lib/validators/ein-validators.mjs +0 -11
- package/esm2022/lib/validators/gst-validator.mjs +0 -11
- package/esm2022/lib/validators/normal-email-validator.mjs +0 -17
- package/esm2022/lib/validators/npi-validator.mjs +0 -11
- package/esm2022/lib/validators/pan-validator.mjs +0 -11
- package/esm2022/lib/validators/phone-number-validator.mjs +0 -22
- package/esm2022/lib/validators/select-validator.mjs +0 -7
- package/esm2022/lib/validators/tinSsn-validator.mjs +0 -12
- package/esm2022/lib/workflow-status/ workflow-status.module.mjs +0 -52
- package/esm2022/lib/workflow-status/workflow-status.component.mjs +0 -70
- package/esm2022/lib/wrappers/form-field-description-wrapper.component.mjs +0 -44
- package/esm2022/lib/wrappers/form-field-wrapper.component.mjs +0 -34
- package/esm2022/lib/wrappers/formly-wrapper-with-old-value.component.mjs +0 -140
- package/esm2022/lib/wrappers/prefix-suffix-wrapper.component.mjs +0 -95
- package/esm2022/lib/wrappers/prefix-sufix-extension.component.mjs +0 -9
- package/esm2022/muraai-mnl-form.mjs +0 -5
- package/esm2022/public-api.mjs +0 -12
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ScoringService {
|
|
4
|
-
updateScore(model, fields) {
|
|
5
|
-
const result = this.calculateScore(model, fields);
|
|
6
|
-
return result;
|
|
7
|
-
}
|
|
8
|
-
calculateScore(model, fields) {
|
|
9
|
-
let totalScore = 0;
|
|
10
|
-
let categoryResults = {};
|
|
11
|
-
const processCategory = (category) => {
|
|
12
|
-
const categoryLabel = category.props?.label;
|
|
13
|
-
const categoryWeight = category.props?.weight ?? 0;
|
|
14
|
-
// Only treat as scoring category if it has a label + weight
|
|
15
|
-
if (!categoryLabel || !categoryWeight) {
|
|
16
|
-
// Still need to go deeper in case children have categories
|
|
17
|
-
if (category.fieldGroup?.length) {
|
|
18
|
-
category.fieldGroup.forEach(processCategory);
|
|
19
|
-
}
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const questions = (category.fieldGroup || []).filter(q => q.props?.scoring);
|
|
23
|
-
if (questions.length === 0)
|
|
24
|
-
return;
|
|
25
|
-
const scoredQuestions = questions.filter(q => q.props?.hasScoreImpact !== false);
|
|
26
|
-
if (scoredQuestions.length === 0) {
|
|
27
|
-
categoryResults[categoryLabel] = {
|
|
28
|
-
score: 0,
|
|
29
|
-
weight: categoryWeight,
|
|
30
|
-
};
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const perQuestionWeight = categoryWeight / scoredQuestions.length;
|
|
34
|
-
let categoryScore = 0;
|
|
35
|
-
for (const q of scoredQuestions) {
|
|
36
|
-
const parentKey = category.key;
|
|
37
|
-
const nestedPath = Array.isArray(parentKey)
|
|
38
|
-
? [...parentKey, q.key]
|
|
39
|
-
: [parentKey, q.key];
|
|
40
|
-
const answer = this.getNestedValue(model, nestedPath);
|
|
41
|
-
const scoring = q.props?.scoring;
|
|
42
|
-
if (!scoring)
|
|
43
|
-
continue;
|
|
44
|
-
let correct = false;
|
|
45
|
-
switch (scoring.criteria) {
|
|
46
|
-
case 'attempted':
|
|
47
|
-
correct =
|
|
48
|
-
answer !== null &&
|
|
49
|
-
answer !== undefined &&
|
|
50
|
-
(typeof answer === 'string' ? answer.trim() !== '' : true);
|
|
51
|
-
break;
|
|
52
|
-
case 'exactMatch':
|
|
53
|
-
if (Array.isArray(scoring.answer)) {
|
|
54
|
-
// Handle case where answer is also an array (multiselect)
|
|
55
|
-
if (Array.isArray(answer)) {
|
|
56
|
-
// Check if answer is not empty AND all selected answers are in the expected answers
|
|
57
|
-
correct = answer.length > 0 && answer.every(a => scoring.answer.includes(a));
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// Single value case
|
|
61
|
-
correct = scoring.answer.includes(answer);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
break;
|
|
65
|
-
case 'range':
|
|
66
|
-
const num = typeof answer === 'number' ? answer : Number(answer);
|
|
67
|
-
correct =
|
|
68
|
-
Number.isFinite(num) &&
|
|
69
|
-
num >= scoring.answer.min &&
|
|
70
|
-
num <= scoring.answer.max;
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
if (correct) {
|
|
74
|
-
categoryScore += perQuestionWeight;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
totalScore += categoryScore;
|
|
78
|
-
categoryResults[categoryLabel] = {
|
|
79
|
-
score: categoryScore,
|
|
80
|
-
weight: categoryWeight,
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
|
-
// start recursive walk
|
|
84
|
-
fields.forEach(processCategory);
|
|
85
|
-
return {
|
|
86
|
-
totalScore,
|
|
87
|
-
categoryResults,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
getNestedValue(obj, key) {
|
|
91
|
-
if (Array.isArray(key)) {
|
|
92
|
-
return key.reduce((current, k) => current?.[k], obj);
|
|
93
|
-
}
|
|
94
|
-
return obj?.[key];
|
|
95
|
-
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScoringService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
97
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScoringService, providedIn: 'root' }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScoringService, decorators: [{
|
|
100
|
-
type: Injectable,
|
|
101
|
-
args: [{ providedIn: 'root' }]
|
|
102
|
-
}] });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mb3JtL3NyYy9saWIvc2VydmljZXMvc2NvcmluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFdBQVcsQ0FBQyxLQUFVLEVBQUUsTUFBMkI7UUFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFVLEVBQUUsTUFBdUQ7UUFDekYsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksZUFBZSxHQUFzRCxFQUFFLENBQUM7UUFFNUUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxRQUFxRCxFQUFFLEVBQUU7WUFDaEYsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDNUMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1lBRW5ELDREQUE0RDtZQUM1RCxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLDJEQUEyRDtnQkFDM0QsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUNoQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztnQkFDRCxPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENB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QUFFLENBQUM7b0JBQ1osYUFBYSxJQUFJLGlCQUFpQixDQUFDO2dCQUNyQyxDQUFDO1lBQ0gsQ0FBQztZQUVELFVBQVUsSUFBSSxhQUFhLENBQUM7WUFDNUIsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHO2dCQUMvQixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsTUFBTSxFQUFFLGNBQWM7YUFDdkIsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLHVCQUF1QjtRQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhDLE9BQU87WUFDTCxVQUFVO1lBQ1YsZUFBZTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUdTLGNBQWMsQ0FBQyxHQUFRLEVBQUUsR0FBMEM7UUFDekUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEIsQ0FBQzsrR0E1R1UsY0FBYzttSEFBZCxjQUFjLGNBREQsTUFBTTs7NEZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTY29yaW5nU2VydmljZSB7XG5cbiAgdXBkYXRlU2NvcmUobW9kZWw6IGFueSwgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5jYWxjdWxhdGVTY29yZShtb2RlbCwgZmllbGRzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiBwcml2YXRlIGNhbGN1bGF0ZVNjb3JlKG1vZGVsOiBhbnksIGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSB8IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW10pIHtcbiAgbGV0IHRvdGFsU2NvcmUgPSAwO1xuICBsZXQgY2F0ZWdvcnlSZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCB7IHNjb3JlOiBudW1iZXI7IHdlaWdodDogbnVtYmVyIH0+ID0ge307XG5cbiAgY29uc3QgcHJvY2Vzc0NhdGVnb3J5ID0gKGNhdGVnb3J5OiBGb3JtbHlGaWVsZENvbmZpZyB8IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgY29uc3QgY2F0ZWdvcnlMYWJlbCA9IGNhdGVnb3J5LnByb3BzPy5sYWJlbDtcbiAgICBjb25zdCBjYXRlZ29yeVdlaWdodCA9IGNhdGVnb3J5LnByb3BzPy53ZWlnaHQgPz8gMDtcblxuICAgIC8vIE9ubHkgdHJlYXQgYXMgc2NvcmluZyBjYXRlZ29yeSBpZiBpdCBoYXMgYSBsYWJlbCArIHdlaWdodFxuICAgIGlmICghY2F0ZWdvcnlMYWJlbCB8fCAhY2F0ZWdvcnlXZWlnaHQpIHtcbiAgICAgIC8vIFN0aWxsIG5lZWQgdG8gZ28gZGVlcGVyIGluIGNhc2UgY2hpbGRyZW4gaGF2ZSBjYXRlZ29yaWVzXG4gICAgICBpZiAoY2F0ZWdvcnkuZmllbGRHcm91cD8ubGVuZ3RoKSB7XG4gICAgICAgIGNhdGVnb3J5LmZpZWxkR3JvdXAuZm9yRWFjaChwcm9jZXNzQ2F0ZWdvcnkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXN0aW9ucyA9IChjYXRlZ29yeS5maWVsZEdyb3VwIHx8IFtdKS5maWx0ZXIocSA9PiBxLnByb3BzPy5zY29yaW5nKTtcbiAgICBpZiAocXVlc3Rpb25zLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgY29uc3Qgc2NvcmVkUXVlc3Rpb25zID0gcXVlc3Rpb25zLmZpbHRlcihxID0+IHEucHJvcHM/Lmhhc1Njb3JlSW1wYWN0ICE9PSBmYWxzZSk7XG4gICAgaWYgKHNjb3JlZFF1ZXN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNhdGVnb3J5UmVzdWx0c1tjYXRlZ29yeUxhYmVsXSA9IHtcbiAgICAgICAgc2NvcmU6IDAsXG4gICAgICAgIHdlaWdodDogY2F0ZWdvcnlXZWlnaHQsXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBlclF1ZXN0aW9uV2VpZ2h0ID0gY2F0ZWdvcnlXZWlnaHQgLyBzY29yZWRRdWVzdGlvbnMubGVuZ3RoO1xuICAgIGxldCBjYXRlZ29yeVNjb3JlID0gMDtcblxuICAgIGZvciAoY29uc3QgcSBvZiBzY29yZWRRdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IHBhcmVudEtleSA9IGNhdGVnb3J5LmtleSBhcyBhbnk7XG4gICAgICBjb25zdCBuZXN0ZWRQYXRoID0gQXJyYXkuaXNBcnJheShwYXJlbnRLZXkpXG4gICAgICAgID8gWy4uLihwYXJlbnRLZXkgYXMgYW55W10pLCBxLmtleSBhcyBhbnldXG4gICAgICAgIDogW3BhcmVudEtleSBhcyBhbnksIHEua2V5IGFzIGFueV07XG4gICAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLmdldE5lc3RlZFZhbHVlKG1vZGVsLCBuZXN0ZWRQYXRoIGFzIGFueSk7XG5cbiAgICAgIGNvbnN0IHNjb3JpbmcgPSBxLnByb3BzPy5zY29yaW5nO1xuICAgICAgaWYgKCFzY29yaW5nKSBjb250aW51ZTtcblxuICAgICAgbGV0IGNvcnJlY3QgPSBmYWxzZTtcbiAgICAgIFxuICAgICAgc3dpdGNoIChzY29yaW5nLmNyaXRlcmlhKSB7XG4gICAgICAgIGNhc2UgJ2F0dGVtcHRlZCc6XG4gICAgICAgICAgY29ycmVjdCA9XG4gICAgICAgICAgICBhbnN3ZXIgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGFuc3dlciAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAodHlwZW9mIGFuc3dlciA9PT0gJ3N0cmluZycgPyBhbnN3ZXIudHJpbSgpICE9PSAnJyA6IHRydWUpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2V4YWN0TWF0Y2gnOlxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNjb3JpbmcuYW5zd2VyKSkge1xuICAgICAgICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlcmUgYW5zd2VyIGlzIGFsc28gYW4gYXJyYXkgKG11bHRpc2VsZWN0KVxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYW5zd2VyKSkge1xuICAgICAgICAgICAgICAvLyBDaGVjayBpZiBhbnN3ZXIgaXMgbm90IGVtcHR5IEFORCBhbGwgc2VsZWN0ZWQgYW5zd2VycyBhcmUgaW4gdGhlIGV4cGVjdGVkIGFuc3dlcnNcbiAgICAgICAgICAgICAgY29ycmVjdCA9IGFuc3dlci5sZW5ndGggPiAwICYmIGFuc3dlci5ldmVyeShhID0+IHNjb3JpbmcuYW5zd2VyLmluY2x1ZGVzKGEpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFNpbmdsZSB2YWx1ZSBjYXNlXG4gICAgICAgICAgICAgIGNvcnJlY3QgPSBzY29yaW5nLmFuc3dlci5pbmNsdWRlcyhhbnN3ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyYW5nZSc6XG4gICAgICAgICAgY29uc3QgbnVtID0gdHlwZW9mIGFuc3dlciA9PT0gJ251bWJlcicgPyBhbnN3ZXIgOiBOdW1iZXIoYW5zd2VyKTtcbiAgICAgICAgICBjb3JyZWN0ID1cbiAgICAgICAgICAgIE51bWJlci5pc0Zpbml0ZShudW0pICYmXG4gICAgICAgICAgICBudW0gPj0gc2NvcmluZy5hbnN3ZXIubWluICYmXG4gICAgICAgICAgICBudW0gPD0gc2NvcmluZy5hbnN3ZXIubWF4O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29ycmVjdCkge1xuICAgICAgICBjYXRlZ29yeVNjb3JlICs9IHBlclF1ZXN0aW9uV2VpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRvdGFsU2NvcmUgKz0gY2F0ZWdvcnlTY29yZTtcbiAgICBjYXRlZ29yeVJlc3VsdHNbY2F0ZWdvcnlMYWJlbF0gPSB7XG4gICAgICBzY29yZTogY2F0ZWdvcnlTY29yZSxcbiAgICAgIHdlaWdodDogY2F0ZWdvcnlXZWlnaHQsXG4gICAgfTtcbiAgfTtcblxuICAvLyBzdGFydCByZWN1cnNpdmUgd2Fsa1xuICBmaWVsZHMuZm9yRWFjaChwcm9jZXNzQ2F0ZWdvcnkpO1xuXG4gIHJldHVybiB7XG4gICAgdG90YWxTY29yZSxcbiAgICBjYXRlZ29yeVJlc3VsdHMsXG4gIH07XG59XG5cblxuICBwcml2YXRlIGdldE5lc3RlZFZhbHVlKG9iajogYW55LCBrZXk6IHN0cmluZyB8IG51bWJlciB8IChzdHJpbmcgfCBudW1iZXIpW10pOiBhbnkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGtleSkpIHtcbiAgICAgIHJldHVybiBrZXkucmVkdWNlKChjdXJyZW50LCBrKSA9PiBjdXJyZW50Py5ba10sIG9iaik7XG4gICAgfVxuICAgIHJldHVybiBvYmo/LltrZXldO1xuICB9XG59Il19
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/button";
|
|
9
|
-
import * as i2 from "@angular/material/icon";
|
|
10
|
-
import * as i3 from "@angular/material/tooltip";
|
|
11
|
-
export class ActionButtonRendererComponent {
|
|
12
|
-
agInit(params) {
|
|
13
|
-
this.params = params;
|
|
14
|
-
}
|
|
15
|
-
refresh() {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
onDelete() {
|
|
19
|
-
if (this.params?.onDelete && typeof this.params.onDelete === 'function') {
|
|
20
|
-
this.params.onDelete(this.params.node);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
console.error('Delete function not found or incorrect params:', this.params);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionButtonRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ActionButtonRendererComponent, isStandalone: true, selector: "mu-delete-button-renderer", ngImport: i0, template: `
|
|
28
|
-
<button
|
|
29
|
-
type="button"
|
|
30
|
-
mat-icon-button
|
|
31
|
-
(click)="onDelete()"
|
|
32
|
-
[disabled]="params.disableButton"
|
|
33
|
-
matTooltip="Delete Row"
|
|
34
|
-
>
|
|
35
|
-
<mat-icon>delete</mat-icon>
|
|
36
|
-
</button>
|
|
37
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TranslateModule }] }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionButtonRendererComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{
|
|
42
|
-
selector: 'mu-delete-button-renderer',
|
|
43
|
-
standalone: true,
|
|
44
|
-
imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule, TranslateModule],
|
|
45
|
-
template: `
|
|
46
|
-
<button
|
|
47
|
-
type="button"
|
|
48
|
-
mat-icon-button
|
|
49
|
-
(click)="onDelete()"
|
|
50
|
-
[disabled]="params.disableButton"
|
|
51
|
-
matTooltip="Delete Row"
|
|
52
|
-
>
|
|
53
|
-
<mat-icon>delete</mat-icon>
|
|
54
|
-
</button>
|
|
55
|
-
`
|
|
56
|
-
}]
|
|
57
|
-
}] });
|
|
58
|
-
export default ActionButtonRendererComponent;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zvcm0vc3JjL2xpYi90eXBlcy9hY3Rpb24tYnV0dG9uLXJlbmRlcmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFtQnRELE1BQU0sT0FBTyw2QkFBNkI7SUFHeEMsTUFBTSxDQUFDLE1BQVc7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLGdEQUFnRCxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQzsrR0FqQlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIscUZBWjlCOzs7Ozs7Ozs7O0dBVVQsMkRBWFMsWUFBWSw4QkFBRSxlQUFlLDJJQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLDRUQUFFLGVBQWU7OzRGQWE5RSw2QkFBNkI7a0JBaEJ6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7b0JBQzFGLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2lCQUNGOztBQXFCRCxlQUFlLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtZGVsZXRlLWJ1dHRvbi1yZW5kZXJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cInBhcmFtcy5kaXNhYmxlQnV0dG9uXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJEZWxldGUgUm93XCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25CdXR0b25SZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XG4gIHBhcmFtczogYW55O1xuXG4gIGFnSW5pdChwYXJhbXM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICB9XG5cbiAgcmVmcmVzaCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkRlbGV0ZSgpIHtcbiAgICBpZiAodGhpcy5wYXJhbXM/Lm9uRGVsZXRlICYmIHR5cGVvZiB0aGlzLnBhcmFtcy5vbkRlbGV0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5wYXJhbXMub25EZWxldGUodGhpcy5wYXJhbXMubm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0RlbGV0ZSBmdW5jdGlvbiBub3QgZm91bmQgb3IgaW5jb3JyZWN0IHBhcmFtczonLCB0aGlzLnBhcmFtcyk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFjdGlvbkJ1dHRvblJlbmRlcmVyQ29tcG9uZW50O1xuXG4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { FieldType } from "@ngx-formly/material";
|
|
3
|
-
import { startWith, switchMap } from "rxjs/operators";
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
5
|
-
import { MatFormFieldModule } from "@angular/material/form-field";
|
|
6
|
-
import { MatInputModule } from "@angular/material/input";
|
|
7
|
-
import { MatAutocompleteModule } from "@angular/material/autocomplete";
|
|
8
|
-
import { AsyncPipe } from "@angular/common";
|
|
9
|
-
import { FormlyModule } from "@ngx-formly/core";
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/forms";
|
|
12
|
-
import * as i2 from "@angular/material/input";
|
|
13
|
-
import * as i3 from "@angular/material/autocomplete";
|
|
14
|
-
import * as i4 from "@angular/material/core";
|
|
15
|
-
import * as i5 from "@ngx-formly/core";
|
|
16
|
-
export class AutocompleteTypeComponent extends FieldType {
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.filter = this.formControl.valueChanges.pipe(startWith(""), switchMap((term) => this.props?.["filter"](term)));
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutocompleteTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AutocompleteTypeComponent, isStandalone: true, selector: "mu-formly-autocomplete-type", usesInheritance: true, ngImport: i0, template: `
|
|
22
|
-
<input
|
|
23
|
-
matInput
|
|
24
|
-
[matAutocomplete]="auto"
|
|
25
|
-
[formControl]="formControl"
|
|
26
|
-
[formlyAttributes]="field"
|
|
27
|
-
[placeholder]="props.placeholder || ''"
|
|
28
|
-
[errorStateMatcher]="errorStateMatcher"
|
|
29
|
-
/>
|
|
30
|
-
<mat-autocomplete #auto="matAutocomplete">
|
|
31
|
-
@for (value of filter | async; track value) {
|
|
32
|
-
<mat-option [value]="value">{{ value }}</mat-option>
|
|
33
|
-
}
|
|
34
|
-
</mat-autocomplete>
|
|
35
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.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: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i5.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }] }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutocompleteTypeComponent, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{
|
|
40
|
-
selector: "mu-formly-autocomplete-type",
|
|
41
|
-
standalone: true,
|
|
42
|
-
imports: [
|
|
43
|
-
FormsModule,
|
|
44
|
-
MatFormFieldModule,
|
|
45
|
-
MatInputModule,
|
|
46
|
-
MatAutocompleteModule,
|
|
47
|
-
ReactiveFormsModule,
|
|
48
|
-
AsyncPipe,
|
|
49
|
-
FormlyModule,
|
|
50
|
-
],
|
|
51
|
-
template: `
|
|
52
|
-
<input
|
|
53
|
-
matInput
|
|
54
|
-
[matAutocomplete]="auto"
|
|
55
|
-
[formControl]="formControl"
|
|
56
|
-
[formlyAttributes]="field"
|
|
57
|
-
[placeholder]="props.placeholder || ''"
|
|
58
|
-
[errorStateMatcher]="errorStateMatcher"
|
|
59
|
-
/>
|
|
60
|
-
<mat-autocomplete #auto="matAutocomplete">
|
|
61
|
-
@for (value of filter | async; track value) {
|
|
62
|
-
<mat-option [value]="value">{{ value }}</mat-option>
|
|
63
|
-
}
|
|
64
|
-
</mat-autocomplete>
|
|
65
|
-
`,
|
|
66
|
-
}]
|
|
67
|
-
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXR5cGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mb3JtL3NyYy9saWIvdHlwZXMvYXV0b2NvbXBsZXRlLXR5cGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7O0FBOEJoRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsU0FBMEI7SUFHdkUsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM5QyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQ2IsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbEQsQ0FBQztJQUNKLENBQUM7K0dBUlUseUJBQXlCO21HQUF6Qix5QkFBeUIsOEdBaEIxQjs7Ozs7Ozs7Ozs7Ozs7R0FjVCwyREF0QkMsV0FBVyxzWkFDWCxrQkFBa0IsOEJBQ2xCLGNBQWMsMFdBQ2QscUJBQXFCLHcxQkFDckIsbUJBQW1CLDZNQUNuQixTQUFTLDZDQUNULFlBQVk7OzRGQWtCSCx5QkFBeUI7a0JBNUJyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLFNBQVM7d0JBQ1QsWUFBWTtxQkFDYjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiQG5neC1mb3JtbHkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlXCI7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tIFwiQG5neC1mb3JtbHkvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibXUtZm9ybWx5LWF1dG9jb21wbGV0ZS10eXBlXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIEZvcm1seU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIlxuICAgIC8+XG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIj5cbiAgICAgIEBmb3IgKHZhbHVlIG9mIGZpbHRlciB8IGFzeW5jOyB0cmFjayB2YWx1ZSkge1xuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInZhbHVlXCI+e3sgdmFsdWUgfX08L21hdC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVUeXBlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZz5cbiAgaW1wbGVtZW50cyBPbkluaXQge1xuICBmaWx0ZXIhOiBPYnNlcnZhYmxlPGFueT47XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChcIlwiKSxcbiAgICAgIHN3aXRjaE1hcCgodGVybSkgPT4gdGhpcy5wcm9wcz8uW1wiZmlsdGVyXCJdKHRlcm0pKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
-
import { FieldType } from '@ngx-formly/core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "@angular/material/button";
|
|
11
|
-
import * as i3 from "@angular/material/icon";
|
|
12
|
-
import * as i4 from "@angular/material/tooltip";
|
|
13
|
-
export class FormlyButtonComponent extends FieldType {
|
|
14
|
-
onClick() {
|
|
15
|
-
if (this.to['onClick']) {
|
|
16
|
-
this.to['onClick']();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyButtonComponent, isStandalone: true, selector: "mu-formly-field-button", usesInheritance: true, ngImport: i0, template: `
|
|
21
|
-
<button mat-flat-button
|
|
22
|
-
type="button"
|
|
23
|
-
[disabled]="to.disabled"
|
|
24
|
-
(click)="onClick()"
|
|
25
|
-
[ngClass]="{'required-btn': to['showStarMark']}"
|
|
26
|
-
class="btn btn-primary flex items-center"
|
|
27
|
-
[matTooltip]="to.label"
|
|
28
|
-
>
|
|
29
|
-
<mat-icon *ngIf="to?.['icon']">{{ to['icon'] }}</mat-icon>
|
|
30
|
-
{{ to.label }}
|
|
31
|
-
<span *ngIf="to['showStarMark']">*</span>
|
|
32
|
-
</button>
|
|
33
|
-
<div *ngIf="to['showHint']" class="text-gray-500 mt-1 ml-6">{{ to['showHint'] }}</div>
|
|
34
|
-
<div *ngIf="to['showNote']"
|
|
35
|
-
class="text-gray-500 mt-1 ml-6 w-[520px] leading-none"
|
|
36
|
-
[innerHTML]="to['showNote']">
|
|
37
|
-
</div>
|
|
38
|
-
<div *ngIf="to['showAuditRespone']"
|
|
39
|
-
class="text-gray-500 mt-1 ml-2 w-[520px] leading-none"
|
|
40
|
-
[ngClass]="to['responseColor']"
|
|
41
|
-
[innerHTML]="to['showAuditRespone']">
|
|
42
|
-
</div>
|
|
43
|
-
`, isInline: true, styles: [".required-btn{background-color:red!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyButtonComponent, decorators: [{
|
|
46
|
-
type: Component,
|
|
47
|
-
args: [{ selector: 'mu-formly-field-button', standalone: true, imports: [CommonModule, FormsModule, MatButtonModule, MatIconModule, MatTooltipModule], template: `
|
|
48
|
-
<button mat-flat-button
|
|
49
|
-
type="button"
|
|
50
|
-
[disabled]="to.disabled"
|
|
51
|
-
(click)="onClick()"
|
|
52
|
-
[ngClass]="{'required-btn': to['showStarMark']}"
|
|
53
|
-
class="btn btn-primary flex items-center"
|
|
54
|
-
[matTooltip]="to.label"
|
|
55
|
-
>
|
|
56
|
-
<mat-icon *ngIf="to?.['icon']">{{ to['icon'] }}</mat-icon>
|
|
57
|
-
{{ to.label }}
|
|
58
|
-
<span *ngIf="to['showStarMark']">*</span>
|
|
59
|
-
</button>
|
|
60
|
-
<div *ngIf="to['showHint']" class="text-gray-500 mt-1 ml-6">{{ to['showHint'] }}</div>
|
|
61
|
-
<div *ngIf="to['showNote']"
|
|
62
|
-
class="text-gray-500 mt-1 ml-6 w-[520px] leading-none"
|
|
63
|
-
[innerHTML]="to['showNote']">
|
|
64
|
-
</div>
|
|
65
|
-
<div *ngIf="to['showAuditRespone']"
|
|
66
|
-
class="text-gray-500 mt-1 ml-2 w-[520px] leading-none"
|
|
67
|
-
[ngClass]="to['responseColor']"
|
|
68
|
-
[innerHTML]="to['showAuditRespone']">
|
|
69
|
-
</div>
|
|
70
|
-
`, styles: [".required-btn{background-color:red!important}\n"] }]
|
|
71
|
-
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zvcm0vc3JjL2xpYi90eXBlcy9idXR0b24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQXNDN0MsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQVM7SUFDbEQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQzsrR0FMVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5R0FoQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVCx3SEF4QlMsWUFBWSxnT0FBRSxXQUFXLDhCQUFFLGVBQWUsMk5BQUUsYUFBYSxtTEFBRSxnQkFBZ0I7OzRGQWlDMUUscUJBQXFCO2tCQXBDakMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFlBQzVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdS1mb3JtbHktZmllbGQtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJ0by5kaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsncmVxdWlyZWQtYnRuJzogdG9bJ3Nob3dTdGFyTWFyayddfVwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJ0by5sYWJlbFwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwidG8/LlsnaWNvbiddXCI+e3sgdG9bJ2ljb24nXSB9fTwvbWF0LWljb24+XG4gICAgICB7eyB0by5sYWJlbCB9fVxuICAgICAgPHNwYW4gKm5nSWY9XCJ0b1snc2hvd1N0YXJNYXJrJ11cIj4qPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgPGRpdiAqbmdJZj1cInRvWydzaG93SGludCddXCIgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIG10LTEgbWwtNlwiPnt7IHRvWydzaG93SGludCddIH19PC9kaXY+XG4gICA8ZGl2ICpuZ0lmPVwidG9bJ3Nob3dOb3RlJ11cIlxuICAgICBjbGFzcz1cInRleHQtZ3JheS01MDAgbXQtMSBtbC02IHctWzUyMHB4XSBsZWFkaW5nLW5vbmVcIiBcbiAgICAgW2lubmVySFRNTF09XCJ0b1snc2hvd05vdGUnXVwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ0b1snc2hvd0F1ZGl0UmVzcG9uZSddXCJcbiAgICAgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIG10LTEgbWwtMiB3LVs1MjBweF0gbGVhZGluZy1ub25lXCJcbiAgICAgW25nQ2xhc3NdPVwidG9bJ3Jlc3BvbnNlQ29sb3InXVwiXG4gICAgIFtpbm5lckhUTUxdPVwidG9bJ3Nob3dBdWRpdFJlc3BvbmUnXVwiPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAucmVxdWlyZWQtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZSB7XG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMudG9bJ29uQ2xpY2snXSkge1xuICAgICAgICB0aGlzLnRvWydvbkNsaWNrJ10oKTtcbiAgICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatInputModule } from '@angular/material/input';
|
|
7
|
-
import { FieldType, FormlyModule } from '@ngx-formly/core';
|
|
8
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/common";
|
|
11
|
-
import * as i2 from "@ngx-translate/core";
|
|
12
|
-
import * as i3 from "@angular/forms";
|
|
13
|
-
import * as i4 from "@angular/material/input";
|
|
14
|
-
import * as i5 from "@angular/material/form-field";
|
|
15
|
-
import * as i6 from "@angular/material/button";
|
|
16
|
-
import * as i7 from "@angular/material/icon";
|
|
17
|
-
export class FormlyCommentInputComponent extends FieldType {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(...arguments);
|
|
20
|
-
this.comment = '';
|
|
21
|
-
this.isInputRequired = true;
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
if (this.field?.props?.['isInputRequired'] === false) {
|
|
25
|
-
this.isInputRequired = this?.field.props?.['isInputRequired'];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
sendComment() {
|
|
29
|
-
const userData = localStorage.getItem('loggedInUserDetails');
|
|
30
|
-
const user = userData ? JSON.parse(userData) : '';
|
|
31
|
-
if (this.comment.trim()) {
|
|
32
|
-
const newComment = {
|
|
33
|
-
text: this.comment,
|
|
34
|
-
date: new Date().toISOString(),
|
|
35
|
-
user: user.email
|
|
36
|
-
};
|
|
37
|
-
if (!this.model.comments) {
|
|
38
|
-
this.model.comments = [];
|
|
39
|
-
}
|
|
40
|
-
this.model.comments.unshift(newComment);
|
|
41
|
-
this.comment = '';
|
|
42
|
-
if (this.field && this.field.props?.['saveComment']) {
|
|
43
|
-
this.field.props?.['saveComment']();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyCommentInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyCommentInputComponent, isStandalone: true, selector: "mu-comment-input", usesInheritance: true, ngImport: i0, template: `
|
|
49
|
-
<div *ngIf="isInputRequired">
|
|
50
|
-
<mat-form-field class="w-[80%]" appearance="outline">
|
|
51
|
-
<mat-label>{{ to.label }}</mat-label>
|
|
52
|
-
<input matInput
|
|
53
|
-
type="text"
|
|
54
|
-
[(ngModel)]="comment"
|
|
55
|
-
placeholder="{{'COMMENTS.COMMENT_PLACEHOLDER' | translate}}"
|
|
56
|
-
class="form-control"
|
|
57
|
-
[readonly]="to.readonly"
|
|
58
|
-
[disabled]="to.disabled || false"
|
|
59
|
-
/>
|
|
60
|
-
<button type="button" class="sendButton" matSuffix mat-icon-button aria-label="Send" (click)="sendComment()" [disabled]="to.disabled">
|
|
61
|
-
<mat-icon>send</mat-icon>
|
|
62
|
-
</button>
|
|
63
|
-
</mat-form-field>
|
|
64
|
-
</div>
|
|
65
|
-
<div *ngIf="model?.[field?.props?.['commentModelKey']]?.length">
|
|
66
|
-
<h2 class="commentsHeader mnl-bg-primary">{{ to.label }}</h2>
|
|
67
|
-
<div *ngFor="let comment of model?.[field?.props?.['commentModelKey']]" class="comment">
|
|
68
|
-
<div class="commentsDate">{{ comment.date | date: 'dd-MMM-yyyy HH:mm:ss' }} <strong class="commentedUser">{{ comment.user }}</strong></div>
|
|
69
|
-
<p class="comment-text">{{ comment.text }}</p>
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
`, isInline: true, styles: [".comment{border-top:1px solid #ddd;padding-top:8px;font-family:Poppins,Helvetica Neue,sans-serif;font-size:14px}.commentsDate{color:gray}.commentedUser{color:#000}.commentsHeader{border-radius:7px;padding-left:10px}.comment-text{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;margin:0}.sendButton{padding:0;height:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
73
|
-
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyCommentInputComponent, decorators: [{
|
|
75
|
-
type: Component,
|
|
76
|
-
args: [{ selector: 'mu-comment-input', standalone: true, imports: [CommonModule, TranslateModule, FormlyModule, ReactiveFormsModule, MatInputModule, MatButtonModule, FormsModule, MatIconModule], template: `
|
|
77
|
-
<div *ngIf="isInputRequired">
|
|
78
|
-
<mat-form-field class="w-[80%]" appearance="outline">
|
|
79
|
-
<mat-label>{{ to.label }}</mat-label>
|
|
80
|
-
<input matInput
|
|
81
|
-
type="text"
|
|
82
|
-
[(ngModel)]="comment"
|
|
83
|
-
placeholder="{{'COMMENTS.COMMENT_PLACEHOLDER' | translate}}"
|
|
84
|
-
class="form-control"
|
|
85
|
-
[readonly]="to.readonly"
|
|
86
|
-
[disabled]="to.disabled || false"
|
|
87
|
-
/>
|
|
88
|
-
<button type="button" class="sendButton" matSuffix mat-icon-button aria-label="Send" (click)="sendComment()" [disabled]="to.disabled">
|
|
89
|
-
<mat-icon>send</mat-icon>
|
|
90
|
-
</button>
|
|
91
|
-
</mat-form-field>
|
|
92
|
-
</div>
|
|
93
|
-
<div *ngIf="model?.[field?.props?.['commentModelKey']]?.length">
|
|
94
|
-
<h2 class="commentsHeader mnl-bg-primary">{{ to.label }}</h2>
|
|
95
|
-
<div *ngFor="let comment of model?.[field?.props?.['commentModelKey']]" class="comment">
|
|
96
|
-
<div class="commentsDate">{{ comment.date | date: 'dd-MMM-yyyy HH:mm:ss' }} <strong class="commentedUser">{{ comment.user }}</strong></div>
|
|
97
|
-
<p class="comment-text">{{ comment.text }}</p>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
`, styles: [".comment{border-top:1px solid #ddd;padding-top:8px;font-family:Poppins,Helvetica Neue,sans-serif;font-size:14px}.commentsDate{color:gray}.commentedUser{color:#000}.commentsHeader{border-radius:7px;padding-left:10px}.comment-text{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;margin:0}.sendButton{padding:0;height:30px}\n"] }]
|
|
101
|
-
}] });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZm9ybS9zcmMvbGliL3R5cGVzL2NvbW1lbnRzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBNER0RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsU0FBUztJQTFEMUQ7O1FBMkRFLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixvQkFBZSxHQUFZLElBQUksQ0FBQztLQTRCakM7SUExQkMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4QixNQUFNLFVBQVUsR0FBRztnQkFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNsQixJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSzthQUNqQixDQUFDO1lBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUMzQixDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBN0JVLDJCQUEyQjttR0FBM0IsMkJBQTJCLG1HQXRENUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVCwwWkF6QlMsWUFBWSxrVEFBRSxlQUFlLDJGQUFFLFlBQVksOEJBQUUsbUJBQW1CLHNaQUFFLGNBQWMsdXZCQUFFLGVBQWUsMklBQUUsV0FBVyxzUEFBRSxhQUFhOzs0RkF1RDVILDJCQUEyQjtrQkExRHZDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxZQUM5SDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ211LWNvbW1lbnQtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEZvcm1seU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKm5nSWY9XCJpc0lucHV0UmVxdWlyZWRcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy1bODAlXVwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IHRvLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29tbWVudFwiIFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7J0NPTU1FTlRTLkNPTU1FTlRfUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlfX1cIiBcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidG8ucmVhZG9ubHlcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidG8uZGlzYWJsZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZW5kQnV0dG9uXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiU2VuZFwiIChjbGljayk9XCJzZW5kQ29tbWVudCgpXCIgW2Rpc2FibGVkXT1cInRvLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsPy5bZmllbGQ/LnByb3BzPy5bJ2NvbW1lbnRNb2RlbEtleSddXT8ubGVuZ3RoXCI+XG4gICAgICA8aDIgY2xhc3M9XCJjb21tZW50c0hlYWRlciBtbmwtYmctcHJpbWFyeVwiPnt7IHRvLmxhYmVsIH19PC9oMj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvbW1lbnQgb2YgbW9kZWw/LltmaWVsZD8ucHJvcHM/LlsnY29tbWVudE1vZGVsS2V5J11dXCIgY2xhc3M9XCJjb21tZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50c0RhdGVcIj57eyBjb21tZW50LmRhdGUgfCBkYXRlOiAnZGQtTU1NLXl5eXkgSEg6bW06c3MnIH19IDxzdHJvbmcgY2xhc3M9XCJjb21tZW50ZWRVc2VyXCI+e3sgY29tbWVudC51c2VyIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwiY29tbWVudC10ZXh0XCI+e3sgY29tbWVudC50ZXh0IH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuY29tbWVudCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICBmb250LWZhbWlseTogUG9wcGlucywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICAuY29tbWVudHNEYXRlIHtcbiAgICAgICAgY29sb3I6IGdyYXk7XG4gICAgfVxuICAgIC5jb21tZW50ZWRVc2VyIHtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgICAuY29tbWVudHNIZWFkZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG4gICAgLmNvbW1lbnQtdGV4dCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5zZW5kQnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlDb21tZW50SW5wdXRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb21tZW50ID0gJyc7XG4gIGlzSW5wdXRSZXF1aXJlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmllbGQ/LnByb3BzPy5bJ2lzSW5wdXRSZXF1aXJlZCddID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5pc0lucHV0UmVxdWlyZWQgPSB0aGlzPy5maWVsZC5wcm9wcz8uWydpc0lucHV0UmVxdWlyZWQnXTtcbiAgICB9XG4gIH1cblxuICBzZW5kQ29tbWVudCgpIHtcbiAgICBjb25zdCB1c2VyRGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsb2dnZWRJblVzZXJEZXRhaWxzJyk7XG4gICAgY29uc3QgdXNlciA9IHVzZXJEYXRhID8gSlNPTi5wYXJzZSh1c2VyRGF0YSkgOiAnJztcbiAgICBpZiAodGhpcy5jb21tZW50LnRyaW0oKSkge1xuICAgICAgY29uc3QgbmV3Q29tbWVudCA9IHtcbiAgICAgICAgdGV4dDogdGhpcy5jb21tZW50LFxuICAgICAgICBkYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIHVzZXI6IHVzZXIuZW1haWxcbiAgICAgIH07XG5cbiAgICAgIGlmICghdGhpcy5tb2RlbC5jb21tZW50cykge1xuICAgICAgICB0aGlzLm1vZGVsLmNvbW1lbnRzID0gW107XG4gICAgICB9XG4gICAgICB0aGlzLm1vZGVsLmNvbW1lbnRzLnVuc2hpZnQobmV3Q29tbWVudCk7XG4gICAgICB0aGlzLmNvbW1lbnQgPSAnJztcbiAgICAgIGlmICh0aGlzLmZpZWxkICYmIHRoaXMuZmllbGQucHJvcHM/Llsnc2F2ZUNvbW1lbnQnXSkge1xuICAgICAgICB0aGlzLmZpZWxkLnByb3BzPy5bJ3NhdmVDb21tZW50J10oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|