@muraai/mnl-form 0.0.1-alpha-32ca3fa → 0.0.1-alpha-11e96eb
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 +5 -5
- package/fesm2022/muraai-mnl-form.mjs +152 -145
- package/fesm2022/muraai-mnl-form.mjs.map +1 -1
- package/lib/{formly-lib/formly-lib.component.d.ts → mnl-form/mnl-form.component.d.ts} +3 -3
- 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/public-api.d.ts +2 -2
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +0 -34
- package/esm2022/lib/formly-lib/formly-lib.component.mjs +0 -199
- package/esm2022/lib/formly-lib/formly-standalone.module.mjs +0 -155
- 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
- /package/lib/{formly-lib/formly-standalone.module.d.ts → mnl-form/mnl-form-standalone.module.d.ts} +0 -0
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import gql from 'graphql-tag';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "apollo-angular";
|
|
5
|
-
import * as i2 from "@muraai/mnl-commons";
|
|
6
|
-
export class GraphQLService {
|
|
7
|
-
constructor(apollo, appConfigService) {
|
|
8
|
-
this.apollo = apollo;
|
|
9
|
-
this.appConfigService = appConfigService;
|
|
10
|
-
}
|
|
11
|
-
executeQuery(query, variables) {
|
|
12
|
-
return this.apollo.use('masterDataClient').watchQuery({
|
|
13
|
-
query: gql `${query}`,
|
|
14
|
-
variables,
|
|
15
|
-
context: {
|
|
16
|
-
uri: this.appConfigService.get('masterDataURL'),
|
|
17
|
-
},
|
|
18
|
-
fetchPolicy: 'network-only'
|
|
19
|
-
}).valueChanges;
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: i2.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GraphQLService, providedIn: 'root' }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GraphQLService, decorators: [{
|
|
25
|
-
type: Injectable,
|
|
26
|
-
args: [{
|
|
27
|
-
providedIn: 'root'
|
|
28
|
-
}]
|
|
29
|
-
}], ctorParameters: () => [{ type: i1.Apollo }, { type: i2.AppConfigService }] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7Ozs7QUFNOUIsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsTUFBYyxFQUN4QixnQkFBa0M7UUFEeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3hDLENBQUM7SUFFTCxZQUFZLENBQUMsS0FBYSxFQUFFLFNBQWU7UUFDekMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNwRCxLQUFLLEVBQUUsR0FBRyxDQUFBLEdBQUcsS0FBSyxFQUFFO1lBQ3BCLFNBQVM7WUFDVCxPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO2FBQ2hEO1lBQ0QsV0FBVyxFQUFFLGNBQWM7U0FDNUIsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNsQixDQUFDOytHQWRVLGNBQWM7bUhBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJ0BtdXJhYWkvbW5sLWNvbW1vbnMnO1xuaW1wb3J0IHsgQXBvbGxvIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdyYXBoUUxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcG9sbG86IEFwb2xsbyxcbiAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2VcbiAgKSB7IH1cblxuICBleGVjdXRlUXVlcnkocXVlcnk6IHN0cmluZywgdmFyaWFibGVzPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKCdtYXN0ZXJEYXRhQ2xpZW50Jykud2F0Y2hRdWVyeSh7XG4gICAgICBxdWVyeTogZ3FsYCR7cXVlcnl9YCxcbiAgICAgIHZhcmlhYmxlcyxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgdXJpOiB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0KCdtYXN0ZXJEYXRhVVJMJyksXG4gICAgICB9LFxuICAgICAgZmV0Y2hQb2xpY3k6ICduZXR3b3JrLW9ubHknXG4gICAgfSkudmFsdWVDaGFuZ2VzO1xuICB9XG59XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zY29yaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFDLEtBQVUsRUFBRSxNQUEyQjtRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVUsRUFBRSxNQUF1RDtRQUN6RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQXNELEVBQUUsQ0FBQztRQUU1RSxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXFELEVBQUUsRUFBRTtZQUNoRixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFFbkQsNERBQTREO1lBQzVELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsMkRBQTJEO2dCQUMzRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDNUUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTztZQUVuQyxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxjQUFjLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDakYsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUc7b0JBQy9CLEtBQUssRUFBRSxDQUFDO29CQUNSLE1BQU0sRUFBRSxjQUFjO2lCQUN2QixDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUNsRSxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFFdEIsS0FBSyxNQUFNLENBQUMsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQVUsQ0FBQztnQkFDdEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7b0JBQ3pDLENBQUMsQ0FBQyxDQUFDLEdBQUksU0FBbUIsRUFBRSxDQUFDLENBQUMsR0FBVSxDQUFDO29CQUN6QyxDQUFDLENBQUMsQ0FBQyxTQUFnQixFQUFFLENBQUMsQ0FBQyxHQUFVLENBQUMsQ0FBQztnQkFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBaUIsQ0FBQyxDQUFDO2dCQUU3RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztnQkFDakMsSUFBSSxDQUFDLE9BQU87b0JBQUUsU0FBUztnQkFFdkIsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUVwQixRQUFRLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDekIsS0FBSyxXQUFXO3dCQUNkLE9BQU87NEJBQ0wsTUFBTSxLQUFLLElBQUk7Z0NBQ2YsTUFBTSxLQUFLLFNBQVM7Z0NBQ3BCLENBQUMsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDN0QsTUFBTTtvQkFFUixLQUFLLFlBQVk7d0JBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDOzRCQUNsQywwREFBMEQ7NEJBQzFELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dDQUMxQixvRkFBb0Y7Z0NBQ3BGLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDL0UsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLG9CQUFvQjtnQ0FDcEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUM1QyxDQUFDO3dCQUNILENBQUM7d0JBQ0QsTUFBTTtvQkFFUixLQUFLLE9BQU87d0JBQ1YsTUFBTSxHQUFHLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDakUsT0FBTzs0QkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQ0FDcEIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRztnQ0FDekIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO3dCQUM1QixNQUFNO2dCQUNWLENBQUM7Z0JBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDWixhQUFhLElBQUksaUJBQWlCLENBQUM7Z0JBQ3JDLENBQUM7WUFDSCxDQUFDO1lBRUQsVUFBVSxJQUFJLGFBQWEsQ0FBQztZQUM1QixlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUc7Z0JBQy9CLEtBQUssRUFBRSxhQUFhO2dCQUNwQixNQUFNLEVBQUUsY0FBYzthQUN2QixDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsdUJBQXVCO1FBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFaEMsT0FBTztZQUNMLFVBQVU7WUFDVixlQUFlO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBR1MsY0FBYyxDQUFDLEdBQVEsRUFBRSxHQUEwQztRQUN6RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDOytHQTVHVSxjQUFjO21IQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNjb3JpbmdTZXJ2aWNlIHtcblxuICB1cGRhdGVTY29yZShtb2RlbDogYW55LCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10pIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNhbGN1bGF0ZVNjb3JlKG1vZGVsLCBmaWVsZHMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuIHByaXZhdGUgY2FsY3VsYXRlU2NvcmUobW9kZWw6IGFueSwgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXSkge1xuICBsZXQgdG90YWxTY29yZSA9IDA7XG4gIGxldCBjYXRlZ29yeVJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIHsgc2NvcmU6IG51bWJlcjsgd2VpZ2h0OiBudW1iZXIgfT4gPSB7fTtcblxuICBjb25zdCBwcm9jZXNzQ2F0ZWdvcnkgPSAoY2F0ZWdvcnk6IEZvcm1seUZpZWxkQ29uZmlnIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICBjb25zdCBjYXRlZ29yeUxhYmVsID0gY2F0ZWdvcnkucHJvcHM/LmxhYmVsO1xuICAgIGNvbnN0IGNhdGVnb3J5V2VpZ2h0ID0gY2F0ZWdvcnkucHJvcHM/LndlaWdodCA/PyAwO1xuXG4gICAgLy8gT25seSB0cmVhdCBhcyBzY29yaW5nIGNhdGVnb3J5IGlmIGl0IGhhcyBhIGxhYmVsICsgd2VpZ2h0XG4gICAgaWYgKCFjYXRlZ29yeUxhYmVsIHx8ICFjYXRlZ29yeVdlaWdodCkge1xuICAgICAgLy8gU3RpbGwgbmVlZCB0byBnbyBkZWVwZXIgaW4gY2FzZSBjaGlsZHJlbiBoYXZlIGNhdGVnb3JpZXNcbiAgICAgIGlmIChjYXRlZ29yeS5maWVsZEdyb3VwPy5sZW5ndGgpIHtcbiAgICAgICAgY2F0ZWdvcnkuZmllbGRHcm91cC5mb3JFYWNoKHByb2Nlc3NDYXRlZ29yeSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVlc3Rpb25zID0gKGNhdGVnb3J5LmZpZWxkR3JvdXAgfHwgW10pLmZpbHRlcihxID0+IHEucHJvcHM/LnNjb3JpbmcpO1xuICAgIGlmIChxdWVzdGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICBjb25zdCBzY29yZWRRdWVzdGlvbnMgPSBxdWVzdGlvbnMuZmlsdGVyKHEgPT4gcS5wcm9wcz8uaGFzU2NvcmVJbXBhY3QgIT09IGZhbHNlKTtcbiAgICBpZiAoc2NvcmVkUXVlc3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2F0ZWdvcnlSZXN1bHRzW2NhdGVnb3J5TGFiZWxdID0ge1xuICAgICAgICBzY29yZTogMCxcbiAgICAgICAgd2VpZ2h0OiBjYXRlZ29yeVdlaWdodCxcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGVyUXVlc3Rpb25XZWlnaHQgPSBjYXRlZ29yeVdlaWdodCAvIHNjb3JlZFF1ZXN0aW9ucy5sZW5ndGg7XG4gICAgbGV0IGNhdGVnb3J5U2NvcmUgPSAwO1xuXG4gICAgZm9yIChjb25zdCBxIG9mIHNjb3JlZFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgcGFyZW50S2V5ID0gY2F0ZWdvcnkua2V5IGFzIGFueTtcbiAgICAgIGNvbnN0IG5lc3RlZFBhdGggPSBBcnJheS5pc0FycmF5KHBhcmVudEtleSlcbiAgICAgICAgPyBbLi4uKHBhcmVudEtleSBhcyBhbnlbXSksIHEua2V5IGFzIGFueV1cbiAgICAgICAgOiBbcGFyZW50S2V5IGFzIGFueSwgcS5rZXkgYXMgYW55XTtcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuZ2V0TmVzdGVkVmFsdWUobW9kZWwsIG5lc3RlZFBhdGggYXMgYW55KTtcblxuICAgICAgY29uc3Qgc2NvcmluZyA9IHEucHJvcHM/LnNjb3Jpbmc7XG4gICAgICBpZiAoIXNjb3JpbmcpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgY29ycmVjdCA9IGZhbHNlO1xuICAgICAgXG4gICAgICBzd2l0Y2ggKHNjb3JpbmcuY3JpdGVyaWEpIHtcbiAgICAgICAgY2FzZSAnYXR0ZW1wdGVkJzpcbiAgICAgICAgICBjb3JyZWN0ID1cbiAgICAgICAgICAgIGFuc3dlciAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYW5zd2VyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICh0eXBlb2YgYW5zd2VyID09PSAnc3RyaW5nJyA/IGFuc3dlci50cmltKCkgIT09ICcnIDogdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZXhhY3RNYXRjaCc6XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2NvcmluZy5hbnN3ZXIpKSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVyZSBhbnN3ZXIgaXMgYWxzbyBhbiBhcnJheSAobXVsdGlzZWxlY3QpXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbnN3ZXIpKSB7XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIGFuc3dlciBpcyBub3QgZW1wdHkgQU5EIGFsbCBzZWxlY3RlZCBhbnN3ZXJzIGFyZSBpbiB0aGUgZXhwZWN0ZWQgYW5zd2Vyc1xuICAgICAgICAgICAgICBjb3JyZWN0ID0gYW5zd2VyLmxlbmd0aCA+IDAgJiYgYW5zd2VyLmV2ZXJ5KGEgPT4gc2NvcmluZy5hbnN3ZXIuaW5jbHVkZXMoYSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2luZ2xlIHZhbHVlIGNhc2VcbiAgICAgICAgICAgICAgY29ycmVjdCA9IHNjb3JpbmcuYW5zd2VyLmluY2x1ZGVzKGFuc3dlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JhbmdlJzpcbiAgICAgICAgICBjb25zdCBudW0gPSB0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJyA/IGFuc3dlciA6IE51bWJlcihhbnN3ZXIpO1xuICAgICAgICAgIGNvcnJlY3QgPVxuICAgICAgICAgICAgTnVtYmVyLmlzRmluaXRlKG51bSkgJiZcbiAgICAgICAgICAgIG51bSA+PSBzY29yaW5nLmFuc3dlci5taW4gJiZcbiAgICAgICAgICAgIG51bSA8PSBzY29yaW5nLmFuc3dlci5tYXg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb3JyZWN0KSB7XG4gICAgICAgIGNhdGVnb3J5U2NvcmUgKz0gcGVyUXVlc3Rpb25XZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdG90YWxTY29yZSArPSBjYXRlZ29yeVNjb3JlO1xuICAgIGNhdGVnb3J5UmVzdWx0c1tjYXRlZ29yeUxhYmVsXSA9IHtcbiAgICAgIHNjb3JlOiBjYXRlZ29yeVNjb3JlLFxuICAgICAgd2VpZ2h0OiBjYXRlZ29yeVdlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIC8vIHN0YXJ0IHJlY3Vyc2l2ZSB3YWxrXG4gIGZpZWxkcy5mb3JFYWNoKHByb2Nlc3NDYXRlZ29yeSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0b3RhbFNjb3JlLFxuICAgIGNhdGVnb3J5UmVzdWx0cyxcbiAgfTtcbn1cblxuXG4gIHByaXZhdGUgZ2V0TmVzdGVkVmFsdWUob2JqOiBhbnksIGtleTogc3RyaW5nIHwgbnVtYmVyIHwgKHN0cmluZyB8IG51bWJlcilbXSk6IGFueSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5KSkge1xuICAgICAgcmV0dXJuIGtleS5yZWR1Y2UoKGN1cnJlbnQsIGspID0+IGN1cnJlbnQ/LltrXSwgb2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iaj8uW2tleV07XG4gIH1cbn0iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL3R5cGVzL2FjdGlvbi1idXR0b24tcmVuZGVyZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQW1CdEQsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDOytHQWpCVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixxRkFaOUI7Ozs7Ozs7Ozs7R0FVVCwyREFYUyxZQUFZLDhCQUFFLGVBQWUsMklBQUUsYUFBYSxtTEFBRSxnQkFBZ0IsNFRBQUUsZUFBZTs7NEZBYTlFLDZCQUE2QjtrQkFoQnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztvQkFDMUYsUUFBUSxFQUFFOzs7Ozs7Ozs7O0dBVVQ7aUJBQ0Y7O0FBcUJELGVBQWUsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdS1kZWxldGUtYnV0dG9uLXJlbmRlcmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPVwib25EZWxldGUoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwicGFyYW1zLmRpc2FibGVCdXR0b25cIlxuICAgICAgbWF0VG9vbHRpcD1cIkRlbGV0ZSBSb3dcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJ1dHRvblJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcbiAgcGFyYW1zOiBhbnk7XG5cbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gIH1cblxuICByZWZyZXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uRGVsZXRlKCkge1xuICAgIGlmICh0aGlzLnBhcmFtcz8ub25EZWxldGUgJiYgdHlwZW9mIHRoaXMucGFyYW1zLm9uRGVsZXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLnBhcmFtcy5vbkRlbGV0ZSh0aGlzLnBhcmFtcy5ub2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignRGVsZXRlIGZ1bmN0aW9uIG5vdCBmb3VuZCBvciBpbmNvcnJlY3QgcGFyYW1zOicsIHRoaXMucGFyYW1zKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uQnV0dG9uUmVuZGVyZXJDb21wb25lbnQ7XG5cbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXR5cGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi90eXBlcy9hdXRvY29tcGxldGUtdHlwZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUE4QmhELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUEwQjtJQUd2RSxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzlDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDYixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRCxDQUFDO0lBQ0osQ0FBQzsrR0FSVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qiw4R0FoQjFCOzs7Ozs7Ozs7Ozs7OztHQWNULDJEQXRCQyxXQUFXLHNaQUNYLGtCQUFrQiw4QkFDbEIsY0FBYywwV0FDZCxxQkFBcUIsdzFCQUNyQixtQkFBbUIsNk1BQ25CLFNBQVMsNkNBQ1QsWUFBWTs7NEZBa0JILHlCQUF5QjtrQkE1QnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxZQUFZO3FCQUNiO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7R0FjVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCJAbmd4LWZvcm1seS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSBcIkBuZ3gtZm9ybWx5L2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtdS1mb3JtbHktYXV0b2NvbXBsZXRlLXR5cGVcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3BzLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gICAgLz5cbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiPlxuICAgICAgQGZvciAodmFsdWUgb2YgZmlsdGVyIHwgYXN5bmM7IHRyYWNrIHZhbHVlKSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidmFsdWVcIj57eyB2YWx1ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZVR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPlxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZpbHRlciE6IE9ic2VydmFibGU8YW55PjtcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXIgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKFwiXCIpLFxuICAgICAgc3dpdGNoTWFwKCh0ZXJtKSA9PiB0aGlzLnByb3BzPy5bXCJmaWx0ZXJcIl0odGVybSkpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL3R5cGVzL2J1dHRvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBc0M3QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsU0FBUztJQUNsRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDOytHQUxVLHFCQUFxQjttR0FBckIscUJBQXFCLHlHQWhDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJULHdIQXhCUyxZQUFZLGdPQUFFLFdBQVcsOEJBQUUsZUFBZSwyTkFBRSxhQUFhLG1MQUFFLGdCQUFnQjs7NEZBaUMxRSxxQkFBcUI7a0JBcENqQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsWUFDNUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ211LWZvcm1seS1maWVsZC1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cInRvLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgICAgW25nQ2xhc3NdPVwieydyZXF1aXJlZC1idG4nOiB0b1snc2hvd1N0YXJNYXJrJ119XCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvLmxhYmVsXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJ0bz8uWydpY29uJ11cIj57eyB0b1snaWNvbiddIH19PC9tYXQtaWNvbj5cbiAgICAgIHt7IHRvLmxhYmVsIH19XG4gICAgICA8c3BhbiAqbmdJZj1cInRvWydzaG93U3Rhck1hcmsnXVwiPio8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICA8ZGl2ICpuZ0lmPVwidG9bJ3Nob3dIaW50J11cIiBjbGFzcz1cInRleHQtZ3JheS01MDAgbXQtMSBtbC02XCI+e3sgdG9bJ3Nob3dIaW50J10gfX08L2Rpdj5cbiAgIDxkaXYgKm5nSWY9XCJ0b1snc2hvd05vdGUnXVwiXG4gICAgIGNsYXNzPVwidGV4dC1ncmF5LTUwMCBtdC0xIG1sLTYgdy1bNTIwcHhdIGxlYWRpbmctbm9uZVwiIFxuICAgICBbaW5uZXJIVE1MXT1cInRvWydzaG93Tm90ZSddXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInRvWydzaG93QXVkaXRSZXNwb25lJ11cIlxuICAgICBjbGFzcz1cInRleHQtZ3JheS01MDAgbXQtMSBtbC0yIHctWzUyMHB4XSBsZWFkaW5nLW5vbmVcIlxuICAgICBbbmdDbGFzc109XCJ0b1sncmVzcG9uc2VDb2xvciddXCJcbiAgICAgW2lubmVySFRNTF09XCJ0b1snc2hvd0F1ZGl0UmVzcG9uZSddXCI+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5yZXF1aXJlZC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5QnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy50b1snb25DbGljayddKSB7XG4gICAgICAgIHRoaXMudG9bJ29uQ2xpY2snXSgpO1xuICAgICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tbGliL3NyYy9saWIvdHlwZXMvY29tbWVudHMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7QUE0RHRELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxTQUFTO0lBMUQxRDs7UUEyREUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLG9CQUFlLEdBQVksSUFBSSxDQUFDO0tBNEJqQztJQTFCQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ2xCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtnQkFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2pCLENBQUM7WUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0E3QlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsbUdBdEQ1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JULDBaQXpCUyxZQUFZLGtUQUFFLGVBQWUsMkZBQUUsWUFBWSw4QkFBRSxtQkFBbUIsc1pBQUUsY0FBYyx1dkJBQUUsZUFBZSwySUFBRSxXQUFXLHNQQUFFLGFBQWE7OzRGQXVENUgsMkJBQTJCO2tCQTFEdkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLFlBQzlIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtY29tbWVudC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgRm9ybWx5TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0SWNvbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAqbmdJZj1cImlzSW5wdXRSZXF1aXJlZFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LVs4MCVdXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgdG8ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb21tZW50XCIgXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3snQ09NTUVOVFMuQ09NTUVOVF9QTEFDRUhPTERFUicgfCB0cmFuc2xhdGV9fVwiIFxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0by5yZWFkb25seVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0by5kaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNlbmRCdXR0b25cIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJTZW5kXCIgKGNsaWNrKT1cInNlbmRDb21tZW50KClcIiBbZGlzYWJsZWRdPVwidG8uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+c2VuZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWw/LltmaWVsZD8ucHJvcHM/LlsnY29tbWVudE1vZGVsS2V5J11dPy5sZW5ndGhcIj5cbiAgICAgIDxoMiBjbGFzcz1cImNvbW1lbnRzSGVhZGVyIG1ubC1iZy1wcmltYXJ5XCI+e3sgdG8ubGFiZWwgfX08L2gyPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29tbWVudCBvZiBtb2RlbD8uW2ZpZWxkPy5wcm9wcz8uWydjb21tZW50TW9kZWxLZXknXV1cIiBjbGFzcz1cImNvbW1lbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzRGF0ZVwiPnt7IGNvbW1lbnQuZGF0ZSB8IGRhdGU6ICdkZC1NTU0teXl5eSBISDptbTpzcycgfX0gPHN0cm9uZyBjbGFzcz1cImNvbW1lbnRlZFVzZXJcIj57eyBjb21tZW50LnVzZXIgfX08L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJjb21tZW50LXRleHRcIj57eyBjb21tZW50LnRleHQgfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5jb21tZW50IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIC5jb21tZW50c0RhdGUge1xuICAgICAgICBjb2xvcjogZ3JheTtcbiAgICB9XG4gICAgLmNvbW1lbnRlZFVzZXIge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICAgIC5jb21tZW50c0hlYWRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAuY29tbWVudC10ZXh0IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnNlbmRCdXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUNvbW1lbnRJbnB1dENvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbW1lbnQgPSAnJztcbiAgaXNJbnB1dFJlcXVpcmVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWVsZD8ucHJvcHM/LlsnaXNJbnB1dFJlcXVpcmVkJ10gPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmlzSW5wdXRSZXF1aXJlZCA9IHRoaXM/LmZpZWxkLnByb3BzPy5bJ2lzSW5wdXRSZXF1aXJlZCddO1xuICAgIH1cbiAgfVxuXG4gIHNlbmRDb21tZW50KCkge1xuICAgIGNvbnN0IHVzZXJEYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xvZ2dlZEluVXNlckRldGFpbHMnKTtcbiAgICBjb25zdCB1c2VyID0gdXNlckRhdGEgPyBKU09OLnBhcnNlKHVzZXJEYXRhKSA6ICcnO1xuICAgIGlmICh0aGlzLmNvbW1lbnQudHJpbSgpKSB7XG4gICAgICBjb25zdCBuZXdDb21tZW50ID0ge1xuICAgICAgICB0ZXh0OiB0aGlzLmNvbW1lbnQsXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgdXNlcjogdXNlci5lbWFpbFxuICAgICAgfTtcblxuICAgICAgaWYgKCF0aGlzLm1vZGVsLmNvbW1lbnRzKSB7XG4gICAgICAgIHRoaXMubW9kZWwuY29tbWVudHMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHRoaXMubW9kZWwuY29tbWVudHMudW5zaGlmdChuZXdDb21tZW50KTtcbiAgICAgIHRoaXMuY29tbWVudCA9ICcnO1xuICAgICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5wcm9wcz8uWydzYXZlQ29tbWVudCddKSB7XG4gICAgICAgIHRoaXMuZmllbGQucHJvcHM/Llsnc2F2ZUNvbW1lbnQnXSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|