@wemake4u/form-player-se 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +17 -0
  2. package/esm2022/lib/controls/accordion.mjs +7 -0
  3. package/esm2022/lib/controls/button.mjs +7 -0
  4. package/esm2022/lib/controls/checkbox.mjs +7 -0
  5. package/esm2022/lib/controls/checklist.mjs +7 -0
  6. package/esm2022/lib/controls/chipchecklist.mjs +7 -0
  7. package/esm2022/lib/controls/chipradio.mjs +7 -0
  8. package/esm2022/lib/controls/control.mjs +65 -0
  9. package/esm2022/lib/controls/date.mjs +7 -0
  10. package/esm2022/lib/controls/dynamiclist.mjs +4 -0
  11. package/esm2022/lib/controls/factory.mjs +106 -0
  12. package/esm2022/lib/controls/filepicker.mjs +7 -0
  13. package/esm2022/lib/controls/form.mjs +4 -0
  14. package/esm2022/lib/controls/group.mjs +4 -0
  15. package/esm2022/lib/controls/html.mjs +4 -0
  16. package/esm2022/lib/controls/iframe.mjs +4 -0
  17. package/esm2022/lib/controls/image.mjs +4 -0
  18. package/esm2022/lib/controls/number.mjs +7 -0
  19. package/esm2022/lib/controls/radio.mjs +7 -0
  20. package/esm2022/lib/controls/select.mjs +7 -0
  21. package/esm2022/lib/controls/separator.mjs +4 -0
  22. package/esm2022/lib/controls/spacer.mjs +4 -0
  23. package/esm2022/lib/controls/tab.mjs +7 -0
  24. package/esm2022/lib/controls/table.mjs +13 -0
  25. package/esm2022/lib/controls/taglist.mjs +7 -0
  26. package/esm2022/lib/controls/text.mjs +4 -0
  27. package/esm2022/lib/controls/textarea.mjs +7 -0
  28. package/esm2022/lib/controls/textfield.mjs +18 -0
  29. package/esm2022/lib/controls/time.mjs +7 -0
  30. package/esm2022/lib/controls/toggle.mjs +7 -0
  31. package/esm2022/lib/dataSources/interfaces.mjs +2 -0
  32. package/esm2022/lib/dataSources/odata.mjs +131 -0
  33. package/esm2022/lib/dataSources/rest.mjs +48 -0
  34. package/esm2022/lib/directives/accordion.directive.mjs +52 -0
  35. package/esm2022/lib/directives/adorner.directive.mjs +130 -0
  36. package/esm2022/lib/directives/disable.directive.mjs +38 -0
  37. package/esm2022/lib/directives/display.directive.mjs +46 -0
  38. package/esm2022/lib/directives/dropdown.directive.mjs +233 -0
  39. package/esm2022/lib/directives/frame-security.directive.mjs +66 -0
  40. package/esm2022/lib/directives/grid.directive.mjs +68 -0
  41. package/esm2022/lib/directives/register.directive.mjs +86 -0
  42. package/esm2022/lib/directives/repeat.directive.mjs +38 -0
  43. package/esm2022/lib/directives/tab.directive.mjs +49 -0
  44. package/esm2022/lib/directives/updateblur.directive.mjs +32 -0
  45. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +493 -0
  46. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +395 -0
  47. package/esm2022/lib/locale/locale-it.mjs +13 -0
  48. package/esm2022/lib/services/data.service.mjs +29 -0
  49. package/esm2022/lib/services/event.service.mjs +19 -0
  50. package/esm2022/lib/services/feel.service.mjs +73 -0
  51. package/esm2022/lib/services/formatter.service.mjs +60 -0
  52. package/esm2022/lib/services/markdown.service.mjs +24 -0
  53. package/esm2022/lib/services/mime.service.mjs +32 -0
  54. package/esm2022/lib/services/programmability.service.mjs +221 -0
  55. package/esm2022/lib/services/proxy.service.mjs +131 -0
  56. package/esm2022/lib/services/register.service.mjs +60 -0
  57. package/esm2022/lib/services/sanitize.service.mjs +38 -0
  58. package/esm2022/lib/services/scope.service.mjs +46 -0
  59. package/esm2022/lib/services/toast.service.mjs +37 -0
  60. package/esm2022/lib/services/weak.service.mjs +60 -0
  61. package/esm2022/lib/utils/extractFiles.mjs +30 -0
  62. package/esm2022/lib/utils/gridCells.mjs +49 -0
  63. package/esm2022/lib/utils/groupByRow.mjs +30 -0
  64. package/esm2022/lib/utils/patchForm.mjs +55 -0
  65. package/esm2022/lib/utils/toFormData.mjs +11 -0
  66. package/esm2022/public-api.mjs +8 -0
  67. package/esm2022/wemake4u-form-player-se.mjs +5 -0
  68. package/fesm2022/wemake4u-form-player-se.mjs +3101 -0
  69. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -0
  70. package/index.d.ts +5 -0
  71. package/lib/controls/accordion.d.ts +4 -0
  72. package/lib/controls/button.d.ts +4 -0
  73. package/lib/controls/checkbox.d.ts +4 -0
  74. package/lib/controls/checklist.d.ts +4 -0
  75. package/lib/controls/chipchecklist.d.ts +4 -0
  76. package/lib/controls/chipradio.d.ts +4 -0
  77. package/lib/controls/control.d.ts +24 -0
  78. package/lib/controls/date.d.ts +4 -0
  79. package/lib/controls/dynamiclist.d.ts +3 -0
  80. package/lib/controls/factory.d.ts +4 -0
  81. package/lib/controls/filepicker.d.ts +4 -0
  82. package/lib/controls/form.d.ts +3 -0
  83. package/lib/controls/group.d.ts +3 -0
  84. package/lib/controls/html.d.ts +3 -0
  85. package/lib/controls/iframe.d.ts +3 -0
  86. package/lib/controls/image.d.ts +3 -0
  87. package/lib/controls/number.d.ts +4 -0
  88. package/lib/controls/radio.d.ts +4 -0
  89. package/lib/controls/select.d.ts +4 -0
  90. package/lib/controls/separator.d.ts +3 -0
  91. package/lib/controls/spacer.d.ts +3 -0
  92. package/lib/controls/tab.d.ts +4 -0
  93. package/lib/controls/table.d.ts +6 -0
  94. package/lib/controls/taglist.d.ts +4 -0
  95. package/lib/controls/text.d.ts +3 -0
  96. package/lib/controls/textarea.d.ts +4 -0
  97. package/lib/controls/textfield.d.ts +6 -0
  98. package/lib/controls/time.d.ts +4 -0
  99. package/lib/controls/toggle.d.ts +4 -0
  100. package/lib/dataSources/interfaces.d.ts +8 -0
  101. package/lib/dataSources/odata.d.ts +16 -0
  102. package/lib/dataSources/rest.d.ts +16 -0
  103. package/lib/directives/accordion.directive.d.ts +11 -0
  104. package/lib/directives/adorner.directive.d.ts +22 -0
  105. package/lib/directives/disable.directive.d.ts +12 -0
  106. package/lib/directives/display.directive.d.ts +12 -0
  107. package/lib/directives/dropdown.directive.d.ts +26 -0
  108. package/lib/directives/frame-security.directive.d.ts +14 -0
  109. package/lib/directives/grid.directive.d.ts +17 -0
  110. package/lib/directives/register.directive.d.ts +24 -0
  111. package/lib/directives/repeat.directive.d.ts +12 -0
  112. package/lib/directives/tab.directive.d.ts +11 -0
  113. package/lib/directives/updateblur.directive.d.ts +10 -0
  114. package/lib/dynamic-fields/dynamic-fields.component.d.ts +84 -0
  115. package/lib/dynamic-form/dynamic-form.component.d.ts +76 -0
  116. package/lib/locale/locale-it.d.ts +12 -0
  117. package/lib/services/data.service.d.ts +15 -0
  118. package/lib/services/event.service.d.ts +15 -0
  119. package/lib/services/feel.service.d.ts +10 -0
  120. package/lib/services/formatter.service.d.ts +10 -0
  121. package/lib/services/markdown.service.d.ts +7 -0
  122. package/lib/services/mime.service.d.ts +8 -0
  123. package/lib/services/programmability.service.d.ts +39 -0
  124. package/lib/services/proxy.service.d.ts +31 -0
  125. package/lib/services/register.service.d.ts +18 -0
  126. package/lib/services/sanitize.service.d.ts +12 -0
  127. package/lib/services/scope.service.d.ts +13 -0
  128. package/lib/services/toast.service.d.ts +13 -0
  129. package/lib/services/weak.service.d.ts +10 -0
  130. package/lib/utils/extractFiles.d.ts +4 -0
  131. package/lib/utils/gridCells.d.ts +19 -0
  132. package/lib/utils/groupByRow.d.ts +38 -0
  133. package/lib/utils/patchForm.d.ts +8 -0
  134. package/lib/utils/toFormData.d.ts +1 -0
  135. package/package.json +42 -0
  136. package/public-api.d.ts +4 -0
@@ -0,0 +1,131 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ export class ODataSource {
3
+ url;
4
+ http;
5
+ constructor(url, http) {
6
+ this.url = url;
7
+ this.http = http;
8
+ }
9
+ getRows(params) {
10
+ const queryString = this.getQueryString(params);
11
+ let queryUrl = `${this.url}${queryString}`;
12
+ this.http.get(queryUrl, { observe: 'response' }).subscribe({
13
+ next: response => {
14
+ const data = response.body ?? [];
15
+ const count = response.headers.get('X-Total-Count');
16
+ params.successCallback(data, this.toNumber(count));
17
+ },
18
+ error: error => {
19
+ console.log(error);
20
+ params.failCallback();
21
+ }
22
+ });
23
+ }
24
+ getQueryString(params) {
25
+ let queryParams = new HttpParams();
26
+ queryParams = this.addCount(queryParams);
27
+ queryParams = this.addSkipAndTake(params, queryParams);
28
+ queryParams = this.addOrderBy(params, queryParams);
29
+ queryParams = this.addFilterBy(params, queryParams);
30
+ const queryString = queryParams.toString();
31
+ return queryString ? "?" + queryString : queryString;
32
+ }
33
+ addCount(queryParams) {
34
+ return queryParams.set("$count", "true");
35
+ }
36
+ addSkipAndTake(params, queryParams) {
37
+ return queryParams
38
+ .set("$top", `${params.endRow - params.startRow}`)
39
+ .set("$skip", `${params.startRow}`);
40
+ }
41
+ addOrderBy(params, queryParams) {
42
+ if (!params.sortModel || params.sortModel.length === 0) {
43
+ return queryParams;
44
+ }
45
+ const orderByParams = params.sortModel
46
+ .map(sort => `${sort.colId} ${sort.sort}`)
47
+ .join(",");
48
+ return queryParams.set("$orderby", orderByParams);
49
+ }
50
+ addFilterBy(params, queryParams) {
51
+ const filterModel = params.filterModel;
52
+ if (!filterModel || Object.keys(filterModel).length === 0) {
53
+ return queryParams;
54
+ }
55
+ const filters = [];
56
+ for (const column in filterModel) {
57
+ const filter = filterModel[column];
58
+ const condition = this.getCondition(column, filter);
59
+ if (condition) {
60
+ filters.push(condition);
61
+ }
62
+ }
63
+ return queryParams.set("$filter", filters.join(" and "));
64
+ }
65
+ getCondition(column, filter) {
66
+ if (filter.operator === "AND" || filter.operator === "OR") {
67
+ if (Array.isArray(filter.conditions)) {
68
+ return "(" + filter.conditions.map((subfilter) => this.getCondition(column, subfilter))
69
+ .join(` ${filter.operator.toLowerCase()} `) + ")";
70
+ }
71
+ return null;
72
+ }
73
+ const value = filter.filter;
74
+ switch (filter.filterType) {
75
+ case "text":
76
+ const text = (value ?? "").replace(/'/g, "''");
77
+ if (filter.type === "contains") {
78
+ return `contains(${column}, '${text}')`;
79
+ }
80
+ else if (filter.type === "notContains") {
81
+ return `not contains(${column}, '${text}')`;
82
+ }
83
+ else if (filter.type === "equals") {
84
+ return `${column} eq '${text}'`;
85
+ }
86
+ else if (filter.type === "notEqual") {
87
+ return `${column} ne '${text}'`;
88
+ }
89
+ else if (filter.type === "startsWith") {
90
+ return `startswith(${column}, '${text}')`;
91
+ }
92
+ else if (filter.type === "endsWith") {
93
+ return `endswith(${column}, '${text}')`;
94
+ }
95
+ else if (filter.type === "blank") {
96
+ return `${column} eq null`;
97
+ }
98
+ else if (filter.type === "notBlank") {
99
+ return `${column} ne null`;
100
+ }
101
+ break;
102
+ case "number":
103
+ if (filter.type === "equals") {
104
+ return `${column} eq ${value}`;
105
+ }
106
+ else if (filter.type === "greaterThan") {
107
+ return `${column} gt ${value}`;
108
+ }
109
+ else if (filter.type === "lessThan") {
110
+ return `${column} lt ${value}`;
111
+ }
112
+ else if (filter.type === "greaterThanOrEqual") {
113
+ return `${column} ge ${value}`;
114
+ }
115
+ else if (filter.type === "lessThanOrEqual") {
116
+ return `${column} le ${value}`;
117
+ }
118
+ break;
119
+ case "date":
120
+ return `${column} eq ${value}`; // Modifica se OData usa formati ISO
121
+ }
122
+ return null;
123
+ }
124
+ toNumber(value) {
125
+ if (!value)
126
+ return undefined;
127
+ const num = parseFloat(value);
128
+ return isNaN(num) ? undefined : num;
129
+ }
130
+ }
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kYXRhU291cmNlcy9vZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJOUQsTUFBTSxPQUFPLFdBQVc7SUFDRjtJQUNSO0lBRFosWUFBb0IsR0FBVyxFQUNuQixJQUFnQjtRQURSLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUM1QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQXNCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEQsSUFBSSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsRUFBRSxDQUFBO1FBRTFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM5RCxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQztZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMs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QUMsQ0FBQyxvQ0FBb0M7UUFDeEUsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLENBQUMsS0FBSztZQUNSLE9BQU8sU0FBUyxDQUFDO1FBQ25CLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSUdldFJvd3NQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcbmltcG9ydCB7IElSb3dzU291cmNlIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBPRGF0YVNvdXJjZSBpbXBsZW1lbnRzIElSb3dzU291cmNlICB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1cmw6IHN0cmluZ1xyXG4gICAgLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICB9XHJcblxyXG4gIGdldFJvd3MocGFyYW1zOiBJR2V0Um93c1BhcmFtcykge1xyXG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSB0aGlzLmdldFF1ZXJ5U3RyaW5nKHBhcmFtcyk7XHJcblxyXG4gICAgbGV0IHF1ZXJ5VXJsID0gYCR7dGhpcy51cmx9JHtxdWVyeVN0cmluZ31gXHJcblxyXG4gICAgdGhpcy5odHRwLmdldDxhbnk+KHF1ZXJ5VXJsLCB7IG9ic2VydmU6ICdyZXNwb25zZScgfSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZS5ib2R5ID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IGNvdW50ID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ1gtVG90YWwtQ291bnQnKTtcclxuICAgICAgICBwYXJhbXMuc3VjY2Vzc0NhbGxiYWNrKGRhdGEsIHRoaXMudG9OdW1iZXIoY291bnQpKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgcGFyYW1zLmZhaWxDYWxsYmFjaygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UXVlcnlTdHJpbmcocGFyYW1zOiBJR2V0Um93c1BhcmFtcyk6IHN0cmluZyB7XHJcbiAgICBsZXQgcXVlcnlQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcXVlcnlQYXJhbXMgPSB0aGlzLmFkZENvdW50KHF1ZXJ5UGFyYW1zKTtcclxuICAgIHF1ZXJ5UGFyYW1zID0gdGhpcy5hZGRTa2lwQW5kVGFrZShwYXJhbXMsIHF1ZXJ5UGFyYW1zKTtcclxuICAgIHF1ZXJ5UGFyYW1zID0gdGhpcy5hZGRPcmRlckJ5KHBhcmFtcywgcXVlcnlQYXJhbXMpO1xyXG4gICAgcXVlcnlQYXJhbXMgPSB0aGlzLmFkZEZpbHRlckJ5KHBhcmFtcywgcXVlcnlQYXJhbXMpO1xyXG5cclxuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcXVlcnlQYXJhbXMudG9TdHJpbmcoKTtcclxuICAgIHJldHVybiBxdWVyeVN0cmluZyA/IFwiP1wiICsgcXVlcnlTdHJpbmcgOiBxdWVyeVN0cmluZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQ291bnQocXVlcnlQYXJhbXM6IEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcclxuICAgIHJldHVybiBxdWVyeVBhcmFtcy5zZXQoXCIkY291bnRcIiwgXCJ0cnVlXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRTa2lwQW5kVGFrZShwYXJhbXM6IElHZXRSb3dzUGFyYW1zLCBxdWVyeVBhcmFtczogSHR0cFBhcmFtcyk6IEh0dHBQYXJhbXMge1xyXG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1zXHJcbiAgICAgIC5zZXQoXCIkdG9wXCIsIGAke3BhcmFtcy5lbmRSb3cgLSBwYXJhbXMuc3RhcnRSb3d9YClcclxuICAgICAgLnNldChcIiRza2lwXCIsIGAke3BhcmFtcy5zdGFydFJvd31gKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkT3JkZXJCeShwYXJhbXM6IElHZXRSb3dzUGFyYW1zLCBxdWVyeVBhcmFtczogSHR0cFBhcmFtcyk6IEh0dHBQYXJhbXMge1xyXG4gICAgaWYgKCFwYXJhbXMuc29ydE1vZGVsIHx8IHBhcmFtcy5zb3J0TW9kZWwubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBxdWVyeVBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvcmRlckJ5UGFyYW1zID0gcGFyYW1zLnNvcnRNb2RlbFxyXG4gICAgICAubWFwKHNvcnQgPT4gYCR7c29ydC5jb2xJZH0gJHtzb3J0LnNvcnR9YClcclxuICAgICAgLmpvaW4oXCIsXCIpO1xyXG5cclxuICAgIHJldHVybiBxdWVyeVBhcmFtcy5zZXQoXCIkb3JkZXJieVwiLCBvcmRlckJ5UGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkRmlsdGVyQnkocGFyYW1zOiBJR2V0Um93c1BhcmFtcywgcXVlcnlQYXJhbXM6IEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcclxuXHJcbiAgICBjb25zdCBmaWx0ZXJNb2RlbCA9IHBhcmFtcy5maWx0ZXJNb2RlbDtcclxuXHJcbiAgICBpZiAoIWZpbHRlck1vZGVsIHx8IE9iamVjdC5rZXlzKGZpbHRlck1vZGVsKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHF1ZXJ5UGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbHRlcnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBjb2x1bW4gaW4gZmlsdGVyTW9kZWwpIHtcclxuICAgICAgY29uc3QgZmlsdGVyID0gZmlsdGVyTW9kZWxbY29sdW1uXTtcclxuXHJcbiAgICAgIGNvbnN0IGNvbmRpdGlvbiA9IHRoaXMuZ2V0Q29uZGl0aW9uKGNvbHVtbiwgZmlsdGVyKTtcclxuXHJcbiAgICAgIGlmIChjb25kaXRpb24pIHtcclxuICAgICAgICBmaWx0ZXJzLnB1c2goY29uZGl0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBxdWVyeVBhcmFtcy5zZXQoXCIkZmlsdGVyXCIsIGZpbHRlcnMuam9pbihcIiBhbmQgXCIpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29uZGl0aW9uKGNvbHVtbjogc3RyaW5nLCBmaWx0ZXI6IGFueSk6IHN0cmluZyB8IG51bGwge1xyXG5cclxuICAgIGlmIChmaWx0ZXIub3BlcmF0b3IgPT09IFwiQU5EXCIgfHwgZmlsdGVyLm9wZXJhdG9yID09PSBcIk9SXCIpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsdGVyLmNvbmRpdGlvbnMpKSB7XHJcbiAgICAgICAgcmV0dXJuIFwiKFwiICsgZmlsdGVyLmNvbmRpdGlvbnMubWFwKChzdWJmaWx0ZXI6IGFueSkgPT4gdGhpcy5nZXRDb25kaXRpb24oY29sdW1uLCBzdWJmaWx0ZXIpKVxyXG4gICAgICAgICAgLmpvaW4oYCAke2ZpbHRlci5vcGVyYXRvci50b0xvd2VyQ2FzZSgpfSBgKSArIFwiKVwiO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyLmZpbHRlcjtcclxuXHJcbiAgICBzd2l0Y2ggKGZpbHRlci5maWx0ZXJUeXBlKSB7XHJcbiAgICAgIGNhc2UgXCJ0ZXh0XCI6XHJcbiAgICAgICAgY29uc3QgdGV4dCA9ICh2YWx1ZSA/PyBcIlwiKS5yZXBsYWNlKC8nL2csIFwiJydcIik7XHJcbiAgICAgICAgaWYgKGZpbHRlci50eXBlID09PSBcImNvbnRhaW5zXCIpIHtcclxuICAgICAgICAgIHJldHVybiBgY29udGFpbnMoJHtjb2x1bW59LCAnJHt0ZXh0fScpYDtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlci50eXBlID09PSBcIm5vdENvbnRhaW5zXCIpIHtcclxuICAgICAgICAgIHJldHVybiBgbm90IGNvbnRhaW5zKCR7Y29sdW1ufSwgJyR7dGV4dH0nKWA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gXCJlcXVhbHNcIikge1xyXG4gICAgICAgICAgcmV0dXJuIGAke2NvbHVtbn0gZXEgJyR7dGV4dH0nYDtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlci50eXBlID09PSBcIm5vdEVxdWFsXCIpIHtcclxuICAgICAgICAgIHJldHVybiBgJHtjb2x1bW59IG5lICcke3RleHR9J2A7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gXCJzdGFydHNXaXRoXCIpIHtcclxuICAgICAgICAgIHJldHVybiBgc3RhcnRzd2l0aCgke2NvbHVtbn0sICcke3RleHR9JylgO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZW5kc1dpdGhcIikge1xyXG4gICAgICAgICAgcmV0dXJuIGBlbmRzd2l0aCgke2NvbHVtbn0sICcke3RleHR9JylgO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLnR5cGUgPT09IFwiYmxhbmtcIikge1xyXG4gICAgICAgICAgcmV0dXJuIGAke2NvbHVtbn0gZXEgbnVsbGA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gXCJub3RCbGFua1wiKSB7XHJcbiAgICAgICAgICByZXR1cm4gYCR7Y29sdW1ufSBuZSBudWxsYDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFwibnVtYmVyXCI6XHJcbiAgICAgICAgaWYgKGZpbHRlci50eXBlID09PSBcImVxdWFsc1wiKSB7XHJcbiAgICAgICAgICByZXR1cm4gYCR7Y29sdW1ufSBlcSAke3ZhbHVlfWA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gXCJncmVhdGVyVGhhblwiKSB7XHJcbiAgICAgICAgICByZXR1cm4gYCR7Y29sdW1ufSBndCAke3ZhbHVlfWA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gXCJsZXNzVGhhblwiKSB7XHJcbiAgICAgICAgICByZXR1cm4gYCR7Y29sdW1ufSBsdCAke3ZhbHVlfWA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gXCJncmVhdGVyVGhhbk9yRXF1YWxcIikge1xyXG4gICAgICAgICAgcmV0dXJuIGAke2NvbHVtbn0gZ2UgJHt2YWx1ZX1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLnR5cGUgPT09IFwibGVzc1RoYW5PckVxdWFsXCIpIHtcclxuICAgICAgICAgIHJldHVybiBgJHtjb2x1bW59IGxlICR7dmFsdWV9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFwiZGF0ZVwiOlxyXG4gICAgICAgIHJldHVybiBgJHtjb2x1bW59IGVxICR7dmFsdWV9YDsgLy8gTW9kaWZpY2Egc2UgT0RhdGEgdXNhIGZvcm1hdGkgSVNPXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghdmFsdWUpXHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuICAgIHJldHVybiBpc05hTihudW0pID8gdW5kZWZpbmVkIDogbnVtO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { map } from 'rxjs/operators';
3
+ export class RestDataSource {
4
+ http;
5
+ baseUrl;
6
+ params = {};
7
+ mapFn;
8
+ constructor(http, baseUrl) {
9
+ this.http = http;
10
+ this.baseUrl = baseUrl;
11
+ }
12
+ setParam(key, value) {
13
+ if (value !== undefined && value !== null) {
14
+ this.params[key] = value;
15
+ }
16
+ else {
17
+ delete this.params[key];
18
+ }
19
+ return this;
20
+ }
21
+ setParams(params) {
22
+ this.params = { ...params };
23
+ return this;
24
+ }
25
+ setMapFunction(mapFn) {
26
+ this.mapFn = mapFn;
27
+ return this;
28
+ }
29
+ getMapFunction() {
30
+ return this.mapFn;
31
+ }
32
+ getParam(key) {
33
+ return this.params[key];
34
+ }
35
+ getParams() {
36
+ return this.params;
37
+ }
38
+ getData() {
39
+ let httpParams = new HttpParams();
40
+ Object.keys(this.params).forEach(key => {
41
+ if (this.params[key] !== undefined && this.params[key] !== null) {
42
+ httpParams = httpParams.set(key, this.params[key].toString());
43
+ }
44
+ });
45
+ return this.http.get(this.baseUrl, { params: httpParams }).pipe(map(responseArray => this.mapFn ? responseArray.map(item => this.mapFn(item)) : responseArray));
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RhdGFTb3VyY2VzL3Jlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxNQUFNLE9BQU8sY0FBYztJQUlMO0lBQ1I7SUFKSixNQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUNqQyxLQUFLLENBQW1CO0lBRWhDLFlBQW9CLElBQWdCLEVBQ3hCLE9BQWU7UUFEUCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBSSxDQUFDO0lBRWhDLFFBQVEsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUM5QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBMkI7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQXNCO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksVUFBVSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDaEUsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNoRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xFLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFnQyxDQUM3RixDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXN0RGF0YVNvdXJjZTxULCBUMiA9IFQ+IHtcclxuICBwcml2YXRlIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG4gIHByaXZhdGUgbWFwRm4/OiAoZGF0YTogVCkgPT4gVDI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICAgLCBwcml2YXRlIGJhc2VVcmw6IHN0cmluZykgeyB9XHJcblxyXG4gIHNldFBhcmFtKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogUmVzdERhdGFTb3VyY2U8VCwgVDI+IHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zW2tleV0gPSB2YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnBhcmFtc1trZXldO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzZXRQYXJhbXMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVzdERhdGFTb3VyY2U8VCwgVDI+IHtcclxuICAgIHRoaXMucGFyYW1zID0geyAuLi5wYXJhbXMgfTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc2V0TWFwRnVuY3Rpb24obWFwRm46IChkYXRhOiBUKSA9PiBUMik6IFJlc3REYXRhU291cmNlPFQsIFQyPiB7XHJcbiAgICB0aGlzLm1hcEZuID0gbWFwRm47XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIGdldE1hcEZ1bmN0aW9uKCk6ICgoZGF0YTogVCkgPT4gVDIpIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLm1hcEZuO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFyYW0oa2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1zW2tleV07XHJcbiAgfVxyXG5cclxuICBnZXRQYXJhbXMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbXM7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCk6IE9ic2VydmFibGU8VDJbXT4ge1xyXG4gICAgbGV0IGh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRoaXMucGFyYW1zKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnBhcmFtc1trZXldICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYXJhbXNba2V5XSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChrZXksIHRoaXMucGFyYW1zW2tleV0udG9TdHJpbmcoKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRbXT4odGhpcy5iYXNlVXJsLCB7IHBhcmFtczogaHR0cFBhcmFtcyB9KS5waXBlKFxyXG4gICAgICBtYXAocmVzcG9uc2VBcnJheSA9PlxyXG4gICAgICAgIHRoaXMubWFwRm4gPyByZXNwb25zZUFycmF5Lm1hcChpdGVtID0+IHRoaXMubWFwRm4hKGl0ZW0pKSA6IHJlc3BvbnNlQXJyYXkgYXMgdW5rbm93biBhcyBUMltdXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { Directive, Host, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-sirio-lib";
4
+ export class AccordionDirective {
5
+ sirioAccordion;
6
+ accordionCount = 0;
7
+ constructor(sirioAccordion) {
8
+ this.sirioAccordion = sirioAccordion;
9
+ }
10
+ ngOnChanges(changes) {
11
+ if (changes["accordionCount"]) {
12
+ const previous = changes["accordionCount"].previousValue;
13
+ if (previous === undefined)
14
+ return;
15
+ const current = changes["accordionCount"].currentValue;
16
+ const oldIndex = this.sirioAccordion.panels.toArray().findIndex(panel => panel.panelIsOpen);
17
+ setTimeout(() => {
18
+ const event = new Event("");
19
+ this.sirioAccordion.closePanels(event);
20
+ const panels = this.sirioAccordion.panels.toArray();
21
+ const showPanel = (index) => panels[index].onPanelHeaderClicked(event);
22
+ if (previous < current) {
23
+ showPanel(current - 1);
24
+ }
25
+ else {
26
+ if (oldIndex == current) {
27
+ // remove last
28
+ showPanel(current - 1);
29
+ }
30
+ else if (oldIndex < current) {
31
+ // remove middle
32
+ showPanel(oldIndex);
33
+ }
34
+ }
35
+ }, 100);
36
+ }
37
+ }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccordionDirective, deps: [{ token: i1.SirioAccordionComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
39
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AccordionDirective, isStandalone: true, selector: "[accordionCount]", inputs: { accordionCount: "accordionCount" }, usesOnChanges: true, ngImport: i0 });
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccordionDirective, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ selector: '[accordionCount]',
45
+ standalone: true
46
+ }]
47
+ }], ctorParameters: () => [{ type: i1.SirioAccordionComponent, decorators: [{
48
+ type: Host
49
+ }] }], propDecorators: { accordionCount: [{
50
+ type: Input
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvYWNjb3JkaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7QUFPakYsTUFBTSxPQUFPLGtCQUFrQjtJQUlYO0lBSFQsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUVwQyxZQUNrQixjQUF1QztRQUF2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBeUI7SUFDckQsQ0FBQztJQUVMLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxDQUFDO1lBRXpELElBQUksUUFBUSxLQUFLLFNBQVM7Z0JBQ3hCLE9BQU87WUFFVCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTVGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBRWQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRTVCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFFcEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFL0UsSUFBSSxRQUFRLEdBQUcsT0FBTyxFQUFFLENBQUM7b0JBQ3ZCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLENBQUM7cUJBQ0ksQ0FBQztvQkFDSixJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDeEIsY0FBYzt3QkFDZCxTQUFTLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixDQUFDO3lCQUNJLElBQUksUUFBUSxHQUFHLE9BQU8sRUFBRSxDQUFDO3dCQUM1QixnQkFBZ0I7d0JBQ2hCLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDdEIsQ0FBQztnQkFDSCxDQUFDO1lBRUgsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7d0dBNUNVLGtCQUFrQjs0RkFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBS0ksSUFBSTt5Q0FIRSxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvQWNjb3JkaW9uQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thY2NvcmRpb25Db3VudF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgYWNjb3JkaW9uQ291bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIHNpcmlvQWNjb3JkaW9uOiBTaXJpb0FjY29yZGlvbkNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wiYWNjb3JkaW9uQ291bnRcIl0pIHtcclxuICAgICAgY29uc3QgcHJldmlvdXMgPSBjaGFuZ2VzW1wiYWNjb3JkaW9uQ291bnRcIl0ucHJldmlvdXNWYWx1ZTtcclxuXHJcbiAgICAgIGlmIChwcmV2aW91cyA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBjaGFuZ2VzW1wiYWNjb3JkaW9uQ291bnRcIl0uY3VycmVudFZhbHVlO1xyXG5cclxuICAgICAgY29uc3Qgb2xkSW5kZXggPSB0aGlzLnNpcmlvQWNjb3JkaW9uLnBhbmVscy50b0FycmF5KCkuZmluZEluZGV4KHBhbmVsID0+IHBhbmVsLnBhbmVsSXNPcGVuKTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cclxuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudChcIlwiKTtcclxuXHJcbiAgICAgICAgdGhpcy5zaXJpb0FjY29yZGlvbi5jbG9zZVBhbmVscyhldmVudCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhbmVscyA9IHRoaXMuc2lyaW9BY2NvcmRpb24ucGFuZWxzLnRvQXJyYXkoKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2hvd1BhbmVsID0gKGluZGV4OiBudW1iZXIpID0+IHBhbmVsc1tpbmRleF0ub25QYW5lbEhlYWRlckNsaWNrZWQoZXZlbnQpO1xyXG5cclxuICAgICAgICBpZiAocHJldmlvdXMgPCBjdXJyZW50KSB7XHJcbiAgICAgICAgICBzaG93UGFuZWwoY3VycmVudCAtIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChvbGRJbmRleCA9PSBjdXJyZW50KSB7XHJcbiAgICAgICAgICAgIC8vIHJlbW92ZSBsYXN0XHJcbiAgICAgICAgICAgIHNob3dQYW5lbChjdXJyZW50IC0gMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmIChvbGRJbmRleCA8IGN1cnJlbnQpIHtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlIG1pZGRsZVxyXG4gICAgICAgICAgICBzaG93UGFuZWwob2xkSW5kZXgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICB9LCAxMDApOyAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,130 @@
1
+ import { Input, Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AdornerDirective {
4
+ el;
5
+ renderer;
6
+ prefixAdorner = null;
7
+ suffixAdorner = null;
8
+ constructor(el, renderer) {
9
+ this.el = el;
10
+ this.renderer = renderer;
11
+ }
12
+ ngAfterViewInit() {
13
+ this.updatePrefix(this.prefixAdorner);
14
+ this.updateSuffix(this.suffixAdorner);
15
+ }
16
+ ngOnChanges(changes) {
17
+ if (changes["prefixAdorner"]) {
18
+ this.updatePrefix(changes["prefixAdorner"].currentValue);
19
+ }
20
+ if (changes["suffixAdorner"]) {
21
+ this.updateSuffix(changes["suffixAdorner"].currentValue);
22
+ }
23
+ }
24
+ getWrapper() {
25
+ return this.el.nativeElement.querySelector('div.sirio-input-group');
26
+ }
27
+ ;
28
+ isPrepared() {
29
+ return this.getWrapper() !== null;
30
+ }
31
+ prepare() {
32
+ if (this.isPrepared())
33
+ return this.getWrapper();
34
+ const inputElement = this.el.nativeElement.querySelector('input');
35
+ if (!inputElement)
36
+ return null;
37
+ const wrapper = this.renderer.createElement('div');
38
+ this.renderer.addClass(wrapper, 'sirio-input-group');
39
+ const parent = inputElement.parentNode;
40
+ this.renderer.insertBefore(parent, wrapper, inputElement);
41
+ this.renderer.appendChild(wrapper, inputElement);
42
+ return wrapper;
43
+ }
44
+ updatePrefix(prefixAdorner) {
45
+ const prefixText = this.normalizeText(prefixAdorner);
46
+ this.remove("span.prefix");
47
+ if (prefixText !== null) {
48
+ const wrapper = this.prepare();
49
+ if (wrapper) {
50
+ const inputElement = wrapper.querySelector('input');
51
+ const prefixSpan = this.createSpanElement(prefixText);
52
+ this.renderer.addClass(prefixSpan, "prefix");
53
+ this.renderer.insertBefore(wrapper, prefixSpan, inputElement);
54
+ }
55
+ }
56
+ }
57
+ updateSuffix(suffixAdorner) {
58
+ const suffixText = this.normalizeText(suffixAdorner);
59
+ this.remove("span.suffix");
60
+ if (suffixText !== null) {
61
+ const wrapper = this.prepare();
62
+ if (wrapper) {
63
+ const suffixSpan = this.createSpanElement(suffixText);
64
+ this.renderer.addClass(suffixSpan, "suffix");
65
+ this.renderer.appendChild(wrapper, suffixSpan);
66
+ }
67
+ }
68
+ }
69
+ remove(selector) {
70
+ const wrapper = this.getWrapper();
71
+ if (!wrapper)
72
+ return;
73
+ const span = wrapper.querySelector(selector);
74
+ if (span)
75
+ this.renderer.removeChild(wrapper, span);
76
+ }
77
+ createSpanElement(adorner) {
78
+ const outerSpan = this.renderer.createElement('span');
79
+ this.renderer.addClass(outerSpan, 'sirio-input-group-text');
80
+ const innerSpan = this.renderer.createElement('span');
81
+ this.renderer.setAttribute(innerSpan, 'aria-hidden', 'true');
82
+ const iconClass = this.getIconClassName(adorner);
83
+ if (iconClass) {
84
+ this.renderer.addClass(innerSpan, 'fas');
85
+ this.renderer.addClass(innerSpan, iconClass);
86
+ }
87
+ else {
88
+ const strongElement = this.renderer.createElement('strong');
89
+ this.renderer.appendChild(innerSpan, strongElement);
90
+ const text = this.renderer.createText(adorner);
91
+ this.renderer.appendChild(strongElement, text);
92
+ }
93
+ this.renderer.appendChild(outerSpan, innerSpan);
94
+ return outerSpan;
95
+ }
96
+ ;
97
+ getIconClassName(text) {
98
+ switch (text) {
99
+ case "%":
100
+ return "fa-percent";
101
+ case "@":
102
+ return "fa-envelope";
103
+ case "€":
104
+ return "fa-euro-sign";
105
+ }
106
+ return null;
107
+ }
108
+ ;
109
+ normalizeText(text) {
110
+ if (text) {
111
+ const trimmedValue = text.trim();
112
+ return trimmedValue.length > 0 ? trimmedValue : null;
113
+ }
114
+ return null;
115
+ }
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdornerDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
117
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AdornerDirective, isStandalone: true, selector: "[prefixAdorner], [suffixAdorner]", inputs: { prefixAdorner: "prefixAdorner", suffixAdorner: "suffixAdorner" }, usesOnChanges: true, ngImport: i0 });
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdornerDirective, decorators: [{
120
+ type: Directive,
121
+ args: [{
122
+ selector: '[prefixAdorner], [suffixAdorner]',
123
+ standalone: true
124
+ }]
125
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { prefixAdorner: [{
126
+ type: Input
127
+ }], suffixAdorner: [{
128
+ type: Input
129
+ }] } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRvcm5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2Fkb3JuZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFrRSxNQUFNLGVBQWUsQ0FBQzs7QUFNakgsTUFBTSxPQUFPLGdCQUFnQjtJQUlQO0lBQXdCO0lBSG5DLGFBQWEsR0FBa0IsSUFBSSxDQUFDO0lBQ3BDLGFBQWEsR0FBa0IsSUFBSSxDQUFDO0lBRTdDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFJLENBQUM7SUFFcEUsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQUEsQ0FBQztJQUVNLFVBQVU7UUFD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QUssR0FBRztnQkFDTixPQUFPLFlBQVksQ0FBQztZQUV0QixLQUFLLEdBQUc7Z0JBQ04sT0FBTyxhQUFhLENBQUM7WUFFdkIsS0FBSyxHQUFHO2dCQUNOLE9BQU8sY0FBYyxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQSxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQW1CO1FBRXZDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsT0FBTyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkQsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0E1SVUsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3VHQUVVLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1twcmVmaXhBZG9ybmVyXSwgW3N1ZmZpeEFkb3JuZXJdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZG9ybmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBwcmVmaXhBZG9ybmVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBzdWZmaXhBZG9ybmVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVQcmVmaXgodGhpcy5wcmVmaXhBZG9ybmVyKTtcclxuICAgIHRoaXMudXBkYXRlU3VmZml4KHRoaXMuc3VmZml4QWRvcm5lcik7ICAgIFxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJwcmVmaXhBZG9ybmVyXCJdKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUHJlZml4KGNoYW5nZXNbXCJwcmVmaXhBZG9ybmVyXCJdLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXNbXCJzdWZmaXhBZG9ybmVyXCJdKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlU3VmZml4KGNoYW5nZXNbXCJzdWZmaXhBZG9ybmVyXCJdLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFdyYXBwZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdi5zaXJpby1pbnB1dC1ncm91cCcpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaXNQcmVwYXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldFdyYXBwZXIoKSAhPT0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJlcGFyZSgpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuaXNQcmVwYXJlZCgpKVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXRXcmFwcGVyKCk7XHJcblxyXG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcblxyXG4gICAgaWYgKCFpbnB1dEVsZW1lbnQpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh3cmFwcGVyLCAnc2lyaW8taW5wdXQtZ3JvdXAnKTtcclxuXHJcbiAgICBjb25zdCBwYXJlbnQgPSBpbnB1dEVsZW1lbnQucGFyZW50Tm9kZTtcclxuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudCwgd3JhcHBlciwgaW5wdXRFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHdyYXBwZXIsIGlucHV0RWxlbWVudCk7XHJcblxyXG4gICAgcmV0dXJuIHdyYXBwZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVByZWZpeChwcmVmaXhBZG9ybmVyOiBzdHJpbmcgfCBudWxsKVxyXG4gIHtcclxuICAgIGNvbnN0IHByZWZpeFRleHQgPSB0aGlzLm5vcm1hbGl6ZVRleHQocHJlZml4QWRvcm5lcik7XHJcblxyXG4gICAgdGhpcy5yZW1vdmUoXCJzcGFuLnByZWZpeFwiKTtcclxuICAgIFxyXG4gICAgaWYgKHByZWZpeFRleHQgIT09IG51bGwpIHtcclxuICAgICAgY29uc3Qgd3JhcHBlciA9IHRoaXMucHJlcGFyZSgpO1xyXG4gICAgICBpZiAod3JhcHBlcikge1xyXG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHdyYXBwZXIucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcclxuICAgICAgICBjb25zdCBwcmVmaXhTcGFuID0gdGhpcy5jcmVhdGVTcGFuRWxlbWVudChwcmVmaXhUZXh0KTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHByZWZpeFNwYW4sIFwicHJlZml4XCIpXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUod3JhcHBlciwgcHJlZml4U3BhbiwgaW5wdXRFbGVtZW50KTtcclxuICAgICAgfSAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVN1ZmZpeChzdWZmaXhBZG9ybmVyOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBjb25zdCBzdWZmaXhUZXh0ID0gdGhpcy5ub3JtYWxpemVUZXh0KHN1ZmZpeEFkb3JuZXIpO1xyXG5cclxuICAgIHRoaXMucmVtb3ZlKFwic3Bhbi5zdWZmaXhcIik7XHJcblxyXG4gICAgaWYgKHN1ZmZpeFRleHQgIT09IG51bGwpIHtcclxuICAgICAgY29uc3Qgd3JhcHBlciA9IHRoaXMucHJlcGFyZSgpO1xyXG4gICAgICBpZiAod3JhcHBlcikge1xyXG4gICAgICAgIGNvbnN0IHN1ZmZpeFNwYW4gPSB0aGlzLmNyZWF0ZVNwYW5FbGVtZW50KHN1ZmZpeFRleHQpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3VmZml4U3BhbiwgXCJzdWZmaXhcIilcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHdyYXBwZXIsIHN1ZmZpeFNwYW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZShzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5nZXRXcmFwcGVyKCk7XHJcbiAgICBpZiAoIXdyYXBwZXIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IHNwYW4gPSB3cmFwcGVyLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xyXG4gICAgaWYgKHNwYW4pXHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQod3JhcHBlciwgc3Bhbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVNwYW5FbGVtZW50KGFkb3JuZXI6IHN0cmluZykge1xyXG4gICAgY29uc3Qgb3V0ZXJTcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG91dGVyU3BhbiwgJ3NpcmlvLWlucHV0LWdyb3VwLXRleHQnKTtcclxuICAgIFxyXG4gICAgY29uc3QgaW5uZXJTcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbm5lclNwYW4sICdhcmlhLWhpZGRlbicsICd0cnVlJyk7XHJcblxyXG4gICAgY29uc3QgaWNvbkNsYXNzID0gdGhpcy5nZXRJY29uQ2xhc3NOYW1lKGFkb3JuZXIpO1xyXG5cclxuICAgIGlmIChpY29uQ2xhc3MpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhpbm5lclNwYW4sICdmYXMnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhpbm5lclNwYW4sIGljb25DbGFzcyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3Qgc3Ryb25nRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3Ryb25nJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoaW5uZXJTcGFuLCBzdHJvbmdFbGVtZW50KTtcclxuXHJcbiAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoYWRvcm5lcik7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3Ryb25nRWxlbWVudCwgdGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChvdXRlclNwYW4sIGlubmVyU3Bhbik7XHJcblxyXG4gICAgcmV0dXJuIG91dGVyU3BhbjtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGdldEljb25DbGFzc05hbWUodGV4dDogc3RyaW5nKSB7XHJcblxyXG4gICAgc3dpdGNoICh0ZXh0KSB7XHJcbiAgICAgIGNhc2UgXCIlXCI6XHJcbiAgICAgICAgcmV0dXJuIFwiZmEtcGVyY2VudFwiO1xyXG5cclxuICAgICAgY2FzZSBcIkBcIjpcclxuICAgICAgICByZXR1cm4gXCJmYS1lbnZlbG9wZVwiO1xyXG5cclxuICAgICAgY2FzZSBcIuKCrFwiOlxyXG4gICAgICAgIHJldHVybiBcImZhLWV1cm8tc2lnblwiO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgbm9ybWFsaXplVGV4dCh0ZXh0OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XHJcblxyXG4gICAgaWYgKHRleHQpIHtcclxuICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdGV4dC50cmltKCk7XHJcbiAgICAgIHJldHVybiB0cmltbWVkVmFsdWUubGVuZ3RoID4gMCA/IHRyaW1tZWRWYWx1ZSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ export class DisableDirective {
5
+ ngControl;
6
+ disableControl = null;
7
+ readonly = null;
8
+ constructor(ngControl) {
9
+ this.ngControl = ngControl;
10
+ }
11
+ ngOnChanges(changes) {
12
+ if (changes["disableControl"] || changes["readonly"]) {
13
+ if (this.ngControl.control) {
14
+ if (this.disableControl) {
15
+ this.ngControl.control.disable();
16
+ }
17
+ else {
18
+ this.ngControl.control.enable();
19
+ this.ngControl.valueAccessor?.setDisabledState(this.readonly === true);
20
+ }
21
+ }
22
+ }
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisableDirective, deps: [{ token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
25
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DisableDirective, isStandalone: true, selector: "[disableControl], [readonly]", inputs: { disableControl: "disableControl", readonly: "readonly" }, usesOnChanges: true, ngImport: i0 });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisableDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[disableControl], [readonly]',
31
+ standalone: true
32
+ }]
33
+ }], ctorParameters: () => [{ type: i1.NgControl }], propDecorators: { disableControl: [{
34
+ type: Input
35
+ }], readonly: [{
36
+ type: Input
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2Rpc2FibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7O0FBTzNFLE1BQU0sT0FBTyxnQkFBZ0I7SUFJUDtJQUhYLGNBQWMsR0FBbUIsSUFBSSxDQUFDO0lBQ3RDLFFBQVEsR0FBbUIsSUFBSSxDQUFDO0lBRXpDLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBSSxDQUFDO0lBRTdDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBcUIsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNsRixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3dHQWpCVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEVBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Rpc2FibGVDb250cm9sXSwgW3JlYWRvbmx5XScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlzYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZGlzYWJsZUNvbnRyb2w6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nQ29udHJvbDogTmdDb250cm9sKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJkaXNhYmxlQ29udHJvbFwiXSB8fCBjaGFuZ2VzW1wicmVhZG9ubHlcIl0pIHsgICAgICBcclxuICAgICAgaWYgKHRoaXMubmdDb250cm9sLmNvbnRyb2wpIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlQ29udHJvbCkge1xyXG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICAgICAgICAodGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciBhcyBhbnkpPy5zZXREaXNhYmxlZFN0YXRlKHRoaXMucmVhZG9ubHkgPT09IHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DisplayDirective {
4
+ el;
5
+ renderer;
6
+ hide = null;
7
+ show = null;
8
+ constructor(el, renderer) {
9
+ this.el = el;
10
+ this.renderer = renderer;
11
+ }
12
+ ngOnChanges(changes) {
13
+ if (changes["hide"]) {
14
+ const value = changes["hide"].currentValue;
15
+ if (value === true) {
16
+ this.renderer.setStyle(this.el.nativeElement, 'display', 'none');
17
+ }
18
+ else if (value === false) {
19
+ this.renderer.setStyle(this.el.nativeElement, 'display', 'block');
20
+ }
21
+ }
22
+ if (changes["show"]) {
23
+ const value = changes["show"].currentValue;
24
+ if (value === true) {
25
+ this.renderer.setStyle(this.el.nativeElement, 'display', 'block');
26
+ }
27
+ else if (value === false) {
28
+ this.renderer.setStyle(this.el.nativeElement, 'display', 'none');
29
+ }
30
+ }
31
+ }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisplayDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
33
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DisplayDirective, isStandalone: true, selector: "[hide], [show]", inputs: { hide: "hide", show: "show" }, usesOnChanges: true, ngImport: i0 });
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisplayDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[hide], [show]',
39
+ standalone: true
40
+ }]
41
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { hide: [{
42
+ type: Input
43
+ }], show: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2Rpc3BsYXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFtRCxNQUFNLGVBQWUsQ0FBQzs7QUFNbEcsTUFBTSxPQUFPLGdCQUFnQjtJQUlQO0lBQXdCO0lBSG5DLElBQUksR0FBbUIsSUFBSSxDQUFDO0lBQzVCLElBQUksR0FBbUIsSUFBSSxDQUFDO0lBRXJDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFJLENBQUM7SUFFcEUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUMzQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ25FLENBQUM7aUJBQU0sSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRSxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUMzQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLENBQUM7aUJBQU0sSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNuRSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBeEJVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt1R0FFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2hpZGVdLCBbc2hvd10nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERpc3BsYXlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGhpZGU6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBzaG93OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wiaGlkZVwiXSkge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGNoYW5nZXNbXCJoaWRlXCJdLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcclxuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzW1wic2hvd1wiXSkge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGNoYW5nZXNbXCJzaG93XCJdLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2Jsb2NrJyk7ICAgICAgICBcclxuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=