info-library 2.15.1-beta → 3.0.0-beta

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 (184) hide show
  1. package/controls/alert/alert.component.d.ts +7 -7
  2. package/controls/autocomplete/autocomplete.component.d.ts +52 -51
  3. package/controls/big-checkbox/big-checkbox.component.d.ts +41 -41
  4. package/controls/card/card.component.d.ts +16 -16
  5. package/controls/card-menu/card-menu.component.d.ts +23 -23
  6. package/controls/checkbox/checkbox.component.d.ts +27 -27
  7. package/controls/chips/chips.component.d.ts +23 -23
  8. package/controls/date/date.component.d.ts +38 -37
  9. package/controls/date-month/date-month.component.d.ts +40 -39
  10. package/controls/editor/editor.component.d.ts +40 -40
  11. package/controls/grid/grid.component.d.ts +172 -172
  12. package/controls/input/input.component.d.ts +47 -37
  13. package/controls/input-list/input-list.component.d.ts +29 -29
  14. package/controls/list-checkbox/list-checkbox.component.d.ts +26 -26
  15. package/controls/message/message.component.d.ts +10 -10
  16. package/controls/multi-select/multi-select.component.d.ts +39 -37
  17. package/controls/paginator/paginator.component.d.ts +25 -25
  18. package/controls/select/select.component.d.ts +42 -41
  19. package/controls/timeline/timeline.component.d.ts +17 -17
  20. package/directives/mask.directive.d.ts +24 -24
  21. package/directives/unmask.directive.d.ts +12 -11
  22. package/enum/dialog-buttons.enum.d.ts +7 -7
  23. package/enum/index.d.ts +3 -3
  24. package/enum/modal-action.enum.d.ts +10 -10
  25. package/enum/page-action.enum.d.ts +8 -8
  26. package/esm2022/controls/alert/alert.component.mjs +72 -0
  27. package/esm2022/controls/autocomplete/autocomplete.component.mjs +265 -0
  28. package/esm2022/controls/big-checkbox/big-checkbox.component.mjs +300 -0
  29. package/esm2022/controls/card/card.component.mjs +83 -0
  30. package/esm2022/controls/card-menu/card-menu.component.mjs +143 -0
  31. package/esm2022/controls/checkbox/checkbox.component.mjs +93 -0
  32. package/esm2022/controls/chips/chips.component.mjs +114 -0
  33. package/esm2022/controls/date/date.component.mjs +173 -0
  34. package/esm2022/controls/date-month/date-month.component.mjs +181 -0
  35. package/esm2022/controls/editor/editor.component.mjs +139 -0
  36. package/esm2022/controls/grid/grid.component.mjs +1818 -0
  37. package/esm2022/controls/input/input.component.mjs +389 -0
  38. package/esm2022/controls/input-list/input-list.component.mjs +259 -0
  39. package/{esm2020 → esm2022}/controls/list-checkbox/list-checkbox.component.mjs +242 -238
  40. package/esm2022/controls/message/message.component.mjs +48 -0
  41. package/esm2022/controls/multi-select/multi-select.component.mjs +174 -0
  42. package/esm2022/controls/paginator/paginator.component.mjs +177 -0
  43. package/esm2022/controls/select/select.component.mjs +189 -0
  44. package/esm2022/controls/timeline/timeline.component.mjs +116 -0
  45. package/esm2022/directives/mask.directive.mjs +134 -0
  46. package/esm2022/directives/unmask.directive.mjs +35 -0
  47. package/{esm2020 → esm2022}/enum/dialog-buttons.enum.mjs +8 -8
  48. package/{esm2020 → esm2022}/enum/index.mjs +3 -3
  49. package/{esm2020 → esm2022}/enum/modal-action.enum.mjs +11 -11
  50. package/{esm2020 → esm2022}/enum/page-action.enum.mjs +9 -9
  51. package/{esm2020 → esm2022}/global-config.mjs +3 -3
  52. package/{esm2020 → esm2022}/info-library.mjs +4 -4
  53. package/esm2022/info-library.module.mjs +283 -0
  54. package/esm2022/layouts/dialog/dialog.component.mjs +192 -0
  55. package/esm2022/layouts/filter/filter.component.mjs +179 -0
  56. package/esm2022/layouts/loading/loading.component.mjs +40 -0
  57. package/esm2022/layouts/main/main.component.mjs +305 -0
  58. package/esm2022/layouts/modal/modal.component.mjs +273 -0
  59. package/esm2022/layouts/pagebar/pagebar.component.mjs +432 -0
  60. package/esm2022/layouts/sidebar/sidebar.component.mjs +447 -0
  61. package/esm2022/layouts/topbar/topbar.component.mjs +1032 -0
  62. package/esm2022/layouts/topmenu/topmenu.component.mjs +173 -0
  63. package/esm2022/model/app-config.model.mjs +14 -0
  64. package/esm2022/model/data-access.model.mjs +37 -0
  65. package/esm2022/model/dialog-result.model.mjs +9 -0
  66. package/esm2022/model/dialog.model.mjs +15 -0
  67. package/esm2022/model/form-prop.model.mjs +37 -0
  68. package/esm2022/model/grid-button.model.mjs +26 -0
  69. package/{esm2020 → esm2022}/model/index.mjs +14 -14
  70. package/esm2022/model/last-search.model.mjs +7 -0
  71. package/esm2022/model/login.model.mjs +11 -0
  72. package/esm2022/model/method-grid-button.model.mjs +11 -0
  73. package/esm2022/model/notification.model.mjs +13 -0
  74. package/{esm2020 → esm2022}/model/pagebar-buttons.model.mjs +15 -15
  75. package/esm2022/model/permission.model.mjs +6 -0
  76. package/esm2022/model/platform.model.mjs +20 -0
  77. package/esm2022/model/session.model.mjs +27 -0
  78. package/{esm2020 → esm2022}/pipe/index.mjs +2 -2
  79. package/esm2022/pipe/mask.pipe.mjs +38 -0
  80. package/esm2022/pipe/translate.pipe.mjs +27 -0
  81. package/{esm2020 → esm2022}/public_api.mjs +37 -36
  82. package/esm2022/service/authentication.service.mjs +411 -0
  83. package/esm2022/service/configuration.service.mjs +90 -0
  84. package/esm2022/service/data.service.mjs +129 -0
  85. package/{esm2020 → esm2022}/service/index.mjs +5 -5
  86. package/esm2022/service/theme.service.mjs +89 -0
  87. package/esm2022/service/translate.service.mjs +57 -0
  88. package/esm2022/utils/utilities.mjs +189 -0
  89. package/fesm2022/info-library.mjs +9364 -0
  90. package/fesm2022/info-library.mjs.map +1 -0
  91. package/global-config.d.ts +3 -3
  92. package/index.d.ts +5 -5
  93. package/info-library-3.0.0-beta.tgz +0 -0
  94. package/info-library.module.d.ts +61 -60
  95. package/layouts/dialog/dialog.component.d.ts +29 -29
  96. package/layouts/filter/filter.component.d.ts +24 -0
  97. package/layouts/loading/loading.component.d.ts +8 -8
  98. package/layouts/main/main.component.d.ts +60 -56
  99. package/layouts/modal/modal.component.d.ts +40 -39
  100. package/layouts/pagebar/pagebar.component.d.ts +45 -45
  101. package/layouts/sidebar/sidebar.component.d.ts +40 -40
  102. package/layouts/topbar/topbar.component.d.ts +69 -66
  103. package/layouts/topmenu/topmenu.component.d.ts +34 -34
  104. package/model/app-config.model.d.ts +13 -11
  105. package/model/data-access.model.d.ts +12 -12
  106. package/model/dialog-result.model.d.ts +6 -6
  107. package/model/dialog.model.d.ts +14 -14
  108. package/model/form-prop.model.d.ts +12 -12
  109. package/model/grid-button.model.d.ts +18 -18
  110. package/model/index.d.ts +14 -14
  111. package/model/last-search.model.d.ts +6 -6
  112. package/model/login.model.d.ts +6 -6
  113. package/model/method-grid-button.model.d.ts +6 -6
  114. package/model/notification.model.d.ts +12 -12
  115. package/model/pagebar-buttons.model.d.ts +10 -10
  116. package/model/permission.model.d.ts +5 -5
  117. package/model/platform.model.d.ts +16 -16
  118. package/model/session.model.d.ts +27 -22
  119. package/package.json +5 -11
  120. package/pipe/index.d.ts +2 -2
  121. package/pipe/mask.pipe.d.ts +8 -8
  122. package/pipe/translate.pipe.d.ts +10 -10
  123. package/public_api.d.ts +34 -33
  124. package/service/authentication.service.d.ts +63 -61
  125. package/service/configuration.service.d.ts +17 -14
  126. package/service/data.service.d.ts +41 -39
  127. package/service/index.d.ts +5 -5
  128. package/service/theme.service.d.ts +16 -16
  129. package/service/translate.service.d.ts +16 -16
  130. package/utils/utilities.d.ts +38 -27
  131. package/esm2020/controls/alert/alert.component.mjs +0 -74
  132. package/esm2020/controls/autocomplete/autocomplete.component.mjs +0 -258
  133. package/esm2020/controls/big-checkbox/big-checkbox.component.mjs +0 -298
  134. package/esm2020/controls/card/card.component.mjs +0 -77
  135. package/esm2020/controls/card-menu/card-menu.component.mjs +0 -145
  136. package/esm2020/controls/checkbox/checkbox.component.mjs +0 -93
  137. package/esm2020/controls/chips/chips.component.mjs +0 -113
  138. package/esm2020/controls/date/date.component.mjs +0 -141
  139. package/esm2020/controls/date-month/date-month.component.mjs +0 -148
  140. package/esm2020/controls/editor/editor.component.mjs +0 -135
  141. package/esm2020/controls/grid/grid.component.mjs +0 -1800
  142. package/esm2020/controls/input/input.component.mjs +0 -314
  143. package/esm2020/controls/input-list/input-list.component.mjs +0 -258
  144. package/esm2020/controls/message/message.component.mjs +0 -50
  145. package/esm2020/controls/multi-select/multi-select.component.mjs +0 -161
  146. package/esm2020/controls/paginator/paginator.component.mjs +0 -178
  147. package/esm2020/controls/select/select.component.mjs +0 -180
  148. package/esm2020/controls/timeline/timeline.component.mjs +0 -117
  149. package/esm2020/directives/mask.directive.mjs +0 -125
  150. package/esm2020/directives/unmask.directive.mjs +0 -28
  151. package/esm2020/info-library.module.mjs +0 -278
  152. package/esm2020/layouts/dialog/dialog.component.mjs +0 -188
  153. package/esm2020/layouts/loading/loading.component.mjs +0 -42
  154. package/esm2020/layouts/main/main.component.mjs +0 -258
  155. package/esm2020/layouts/modal/modal.component.mjs +0 -258
  156. package/esm2020/layouts/pagebar/pagebar.component.mjs +0 -404
  157. package/esm2020/layouts/sidebar/sidebar.component.mjs +0 -395
  158. package/esm2020/layouts/topbar/topbar.component.mjs +0 -868
  159. package/esm2020/layouts/topmenu/topmenu.component.mjs +0 -165
  160. package/esm2020/model/app-config.model.mjs +0 -14
  161. package/esm2020/model/data-access.model.mjs +0 -35
  162. package/esm2020/model/dialog-result.model.mjs +0 -8
  163. package/esm2020/model/dialog.model.mjs +0 -16
  164. package/esm2020/model/form-prop.model.mjs +0 -35
  165. package/esm2020/model/grid-button.model.mjs +0 -21
  166. package/esm2020/model/last-search.model.mjs +0 -9
  167. package/esm2020/model/login.model.mjs +0 -9
  168. package/esm2020/model/method-grid-button.model.mjs +0 -9
  169. package/esm2020/model/notification.model.mjs +0 -9
  170. package/esm2020/model/permission.model.mjs +0 -3
  171. package/esm2020/model/platform.model.mjs +0 -21
  172. package/esm2020/model/session.model.mjs +0 -8
  173. package/esm2020/pipe/mask.pipe.mjs +0 -34
  174. package/esm2020/pipe/translate.pipe.mjs +0 -26
  175. package/esm2020/service/authentication.service.mjs +0 -358
  176. package/esm2020/service/configuration.service.mjs +0 -59
  177. package/esm2020/service/data.service.mjs +0 -112
  178. package/esm2020/service/theme.service.mjs +0 -79
  179. package/esm2020/service/translate.service.mjs +0 -53
  180. package/esm2020/utils/utilities.mjs +0 -142
  181. package/fesm2015/info-library.mjs +0 -9312
  182. package/fesm2015/info-library.mjs.map +0 -1
  183. package/fesm2020/info-library.mjs +0 -8462
  184. package/fesm2020/info-library.mjs.map +0 -1
@@ -0,0 +1,259 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { InfoDialogModal } from "../../layouts/dialog/dialog.component";
3
+ import { InfoDialogButtons } from "../../enum/dialog-buttons.enum";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../layouts/dialog/dialog.component";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@angular/material/icon";
9
+ import * as i5 from "@angular/material/button";
10
+ import * as i6 from "@angular/material/tooltip";
11
+ import * as i7 from "../alert/alert.component";
12
+ import * as i8 from "../input/input.component";
13
+ import * as i9 from "../../pipe/translate.pipe";
14
+ function InfoInputListComponent_div_0_info_input_1_Template(rf, ctx) { if (rf & 1) {
15
+ const _r5 = i0.ɵɵgetCurrentView();
16
+ i0.ɵɵelementStart(0, "info-input", 11);
17
+ i0.ɵɵlistener("ngModelChange", function InfoInputListComponent_div_0_info_input_1_Template_info_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.novoValor.De = $event); });
18
+ i0.ɵɵpipe(1, "translate");
19
+ i0.ɵɵelementEnd();
20
+ } if (rf & 2) {
21
+ const ctx_r3 = i0.ɵɵnextContext(2);
22
+ i0.ɵɵpropertyInterpolate2("placeholder", "", i0.ɵɵpipeBind1(1, 4, "De"), " ", ctx_r3.percent ? "%" : "", "");
23
+ i0.ɵɵproperty("ngModel", ctx_r3.novoValor.De)("ismask", ctx_r3.mask);
24
+ } }
25
+ function InfoInputListComponent_div_0_Template(rf, ctx) { if (rf & 1) {
26
+ const _r7 = i0.ɵɵgetCurrentView();
27
+ i0.ɵɵelementStart(0, "div", 4);
28
+ i0.ɵɵtemplate(1, InfoInputListComponent_div_0_info_input_1_Template, 2, 6, "info-input", 5);
29
+ i0.ɵɵelementStart(2, "info-input", 6);
30
+ i0.ɵɵlistener("ngModelChange", function InfoInputListComponent_div_0_Template_info_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.novoValor.Ate = $event); });
31
+ i0.ɵɵpipe(3, "translate");
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelementStart(4, "info-input", 7);
34
+ i0.ɵɵlistener("ngModelChange", function InfoInputListComponent_div_0_Template_info_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.novoValor.Valor = $event); });
35
+ i0.ɵɵpipe(5, "translate");
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementStart(6, "div", 8)(7, "button", 9);
38
+ i0.ɵɵlistener("click", function InfoInputListComponent_div_0_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r7); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.add()); });
39
+ i0.ɵɵelementStart(8, "mat-icon", 10);
40
+ i0.ɵɵtext(9, "add_circle");
41
+ i0.ɵɵelementEnd();
42
+ i0.ɵɵtext(10);
43
+ i0.ɵɵpipe(11, "translate");
44
+ i0.ɵɵelementEnd()()();
45
+ } if (rf & 2) {
46
+ const ctx_r0 = i0.ɵɵnextContext();
47
+ i0.ɵɵadvance(1);
48
+ i0.ɵɵproperty("ngIf", !ctx_r0.hiddenDe);
49
+ i0.ɵɵadvance(1);
50
+ i0.ɵɵpropertyInterpolate2("placeholder", "", i0.ɵɵpipeBind1(3, 10, "Ate"), " ", ctx_r0.percent ? "%" : "", "");
51
+ i0.ɵɵproperty("ngModel", ctx_r0.novoValor.Ate)("ismask", ctx_r0.mask);
52
+ i0.ɵɵadvance(2);
53
+ i0.ɵɵpropertyInterpolate2("placeholder", "", i0.ɵɵpipeBind1(5, 12, "Valor"), " ", ctx_r0.percent ? "%" : "", "");
54
+ i0.ɵɵproperty("ngModel", ctx_r0.novoValor.Valor)("ismask", ctx_r0.mask);
55
+ i0.ɵɵadvance(6);
56
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 14, "AddValor"), "");
57
+ } }
58
+ function InfoInputListComponent_div_1_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementStart(0, "div", 12)(1, "mat-icon", 13);
60
+ i0.ɵɵtext(2, "info");
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵtext(3);
63
+ i0.ɵɵpipe(4, "translate");
64
+ i0.ɵɵelementEnd();
65
+ } if (rf & 2) {
66
+ i0.ɵɵadvance(3);
67
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 1, "UtilizeCamposAcimaAdicionarItens"), "");
68
+ } }
69
+ function InfoInputListComponent_ul_2_li_1_label_1_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelementStart(0, "label", 8);
71
+ i0.ɵɵtext(1);
72
+ i0.ɵɵpipe(2, "translate");
73
+ i0.ɵɵelementEnd();
74
+ } if (rf & 2) {
75
+ i0.ɵɵadvance(1);
76
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "De"));
77
+ } }
78
+ function InfoInputListComponent_ul_2_li_1_Template(rf, ctx) { if (rf & 1) {
79
+ i0.ɵɵelementStart(0, "li", 17);
80
+ i0.ɵɵtemplate(1, InfoInputListComponent_ul_2_li_1_label_1_Template, 3, 3, "label", 18);
81
+ i0.ɵɵelementStart(2, "label", 8);
82
+ i0.ɵɵtext(3);
83
+ i0.ɵɵpipe(4, "translate");
84
+ i0.ɵɵelementEnd();
85
+ i0.ɵɵelementStart(5, "label", 8);
86
+ i0.ɵɵtext(6);
87
+ i0.ɵɵpipe(7, "translate");
88
+ i0.ɵɵelementEnd()();
89
+ } if (rf & 2) {
90
+ const ctx_r10 = i0.ɵɵnextContext(2);
91
+ i0.ɵɵadvance(1);
92
+ i0.ɵɵproperty("ngIf", !ctx_r10.hiddenDe);
93
+ i0.ɵɵadvance(2);
94
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 3, "Ate"));
95
+ i0.ɵɵadvance(3);
96
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 5, "Valor"));
97
+ } }
98
+ function InfoInputListComponent_ul_2_li_2_div_1_Template(rf, ctx) { if (rf & 1) {
99
+ i0.ɵɵelementStart(0, "div", 8);
100
+ i0.ɵɵelement(1, "info-input", 23);
101
+ i0.ɵɵelementEnd();
102
+ } if (rf & 2) {
103
+ const item_r13 = i0.ɵɵnextContext().$implicit;
104
+ const ctx_r15 = i0.ɵɵnextContext(2);
105
+ i0.ɵɵadvance(1);
106
+ i0.ɵɵproperty("ngModel", item_r13.De)("disabled", true)("iconSuffix", ctx_r15.percent ? "%" : "null")("ismask", ctx_r15.mask);
107
+ } }
108
+ function InfoInputListComponent_ul_2_li_2_ng_container_7_Template(rf, ctx) { if (rf & 1) {
109
+ const _r20 = i0.ɵɵgetCurrentView();
110
+ i0.ɵɵelementContainerStart(0);
111
+ i0.ɵɵelementStart(1, "button", 24);
112
+ i0.ɵɵlistener("click", function InfoInputListComponent_ul_2_li_2_ng_container_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r20); const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r18 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r18.remover(item_r13)); });
113
+ i0.ɵɵpipe(2, "translate");
114
+ i0.ɵɵelementStart(3, "mat-icon");
115
+ i0.ɵɵtext(4, "close");
116
+ i0.ɵɵelementEnd()();
117
+ i0.ɵɵelementContainerEnd();
118
+ } if (rf & 2) {
119
+ i0.ɵɵadvance(1);
120
+ i0.ɵɵpropertyInterpolate("matTooltip", i0.ɵɵpipeBind1(2, 1, "Excluir"));
121
+ } }
122
+ const _c0 = function (a0) { return { "silver": a0 }; };
123
+ function InfoInputListComponent_ul_2_li_2_Template(rf, ctx) { if (rf & 1) {
124
+ i0.ɵɵelementStart(0, "li", 19);
125
+ i0.ɵɵtemplate(1, InfoInputListComponent_ul_2_li_2_div_1_Template, 2, 4, "div", 18);
126
+ i0.ɵɵelementStart(2, "div", 8);
127
+ i0.ɵɵelement(3, "info-input", 20);
128
+ i0.ɵɵelementEnd();
129
+ i0.ɵɵelementStart(4, "div", 8);
130
+ i0.ɵɵelement(5, "info-input", 21);
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementStart(6, "div", 8);
133
+ i0.ɵɵtemplate(7, InfoInputListComponent_ul_2_li_2_ng_container_7_Template, 5, 3, "ng-container", 22);
134
+ i0.ɵɵelementEnd()();
135
+ } if (rf & 2) {
136
+ const item_r13 = ctx.$implicit;
137
+ const i_r14 = ctx.index;
138
+ const ctx_r11 = i0.ɵɵnextContext(2);
139
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c0, i_r14 % 2 == 0));
140
+ i0.ɵɵadvance(1);
141
+ i0.ɵɵproperty("ngIf", !ctx_r11.hiddenDe);
142
+ i0.ɵɵadvance(2);
143
+ i0.ɵɵproperty("ngModel", item_r13.Ate)("disabled", true)("iconSuffix", ctx_r11.percent ? "%" : "null")("ismask", ctx_r11.mask);
144
+ i0.ɵɵadvance(2);
145
+ i0.ɵɵproperty("ngModel", item_r13.Valor)("disabled", true)("iconSuffix", ctx_r11.percent ? "%" : "null")("ismask", ctx_r11.mask);
146
+ i0.ɵɵadvance(2);
147
+ i0.ɵɵproperty("ngIf", !ctx_r11.disabled);
148
+ } }
149
+ function InfoInputListComponent_ul_2_Template(rf, ctx) { if (rf & 1) {
150
+ i0.ɵɵelementStart(0, "ul", 14);
151
+ i0.ɵɵtemplate(1, InfoInputListComponent_ul_2_li_1_Template, 8, 7, "li", 15);
152
+ i0.ɵɵtemplate(2, InfoInputListComponent_ul_2_li_2_Template, 8, 13, "li", 16);
153
+ i0.ɵɵelementEnd();
154
+ } if (rf & 2) {
155
+ const ctx_r2 = i0.ɵɵnextContext();
156
+ i0.ɵɵadvance(1);
157
+ i0.ɵɵproperty("ngIf", ctx_r2.disabled);
158
+ i0.ɵɵadvance(1);
159
+ i0.ɵɵproperty("ngForOf", ctx_r2.getModel());
160
+ } }
161
+ export class InfoInputListComponent {
162
+ _dialog;
163
+ model = [];
164
+ readonly = false;
165
+ percent = false;
166
+ hiddenDe = false;
167
+ disabled = false;
168
+ mask = "n2";
169
+ get ismask() {
170
+ return this.mask;
171
+ }
172
+ set ismask(value) {
173
+ this.mask = (value == null ? this.mask : value);
174
+ }
175
+ messages = [];
176
+ novoValor = { De: null, Ate: null, Valor: null, Excluir: false };
177
+ constructor(_dialog) {
178
+ this._dialog = _dialog;
179
+ }
180
+ ngOnChanges() {
181
+ if (this.model == null)
182
+ this.model = [];
183
+ for (var i = 0; i < this.model.length; i++)
184
+ this.model[i].Excluir = false;
185
+ }
186
+ getModel() {
187
+ if (!this.model || this.model == null)
188
+ return [];
189
+ return this.model.filter(m => !m.Excluir);
190
+ }
191
+ add() {
192
+ this.messages = [];
193
+ if (this.hiddenDe && this.novoValor.Ate == null)
194
+ this.messages.push('InformeUmValorDe');
195
+ if (!this.hiddenDe && this.novoValor.De == null && this.novoValor.Ate == null)
196
+ this.messages.push('InformeUmValorDeOuAte');
197
+ if (!this.hiddenDe && this.novoValor.Ate < this.novoValor.De)
198
+ this.messages.push('ValorAteMenorQueDe');
199
+ if (this.novoValor.Valor == null)
200
+ this.messages.push('InformeValor');
201
+ if (this.messages.length > 0) {
202
+ return;
203
+ }
204
+ this.model.push({ De: this.novoValor.De, Ate: this.novoValor.Ate, Valor: this.novoValor.Valor, Excluir: false });
205
+ this.novoValor = { De: null, Ate: null, Valor: null, Excluir: false };
206
+ this.ordernar();
207
+ }
208
+ remover(item) {
209
+ this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {
210
+ if (r.button == InfoDialogButtons.No)
211
+ return;
212
+ item.Excluir = true;
213
+ this.model.splice(this.model.findIndex(m => m == item), 1);
214
+ this.ordernar();
215
+ });
216
+ }
217
+ ordernar() {
218
+ this.model = this.model.sort((a, b) => {
219
+ if (this.hiddenDe ? (a.Ate < b.Ate) : (a.De < b.De))
220
+ return -1;
221
+ else if (this.hiddenDe ? (a.Ate > b.Ate) : (a.De > b.De))
222
+ return 1;
223
+ else
224
+ return 0;
225
+ });
226
+ }
227
+ /** @nocollapse */ static ɵfac = function InfoInputListComponent_Factory(t) { return new (t || InfoInputListComponent)(i0.ɵɵdirectiveInject(i1.InfoDialogModal)); };
228
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoInputListComponent, selectors: [["info-input-list"]], inputs: { model: "model", readonly: "readonly", percent: "percent", hiddenDe: "hiddenDe", disabled: "disabled", ismask: "ismask" }, features: [i0.ɵɵNgOnChangesFeature], decls: 4, vars: 4, consts: [["class", "row", 4, "ngIf"], ["class", "col-md-12", 4, "ngIf"], ["id", "list-values", 4, "ngIf"], [3, "messages"], [1, "row"], ["name", "De", "class", "col-md-3", 3, "placeholder", "ngModel", "ismask", "ngModelChange", 4, "ngIf"], ["name", "Ate", 1, "col-md-3", 3, "placeholder", "ngModel", "ismask", "ngModelChange"], ["name", "Valor", 1, "col-md-3", 3, "placeholder", "ngModel", "ismask", "ngModelChange"], [1, "col-md-3"], ["mat-button", "", "type", "button", "color", "primary", 1, "mt-2", 3, "click"], [1, "fs-20"], ["name", "De", 1, "col-md-3", 3, "placeholder", "ngModel", "ismask", "ngModelChange"], [1, "col-md-12"], [1, "mr-2", 2, "top", "6px"], ["id", "list-values"], ["class", "row header", 4, "ngIf"], ["class", "row", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "row", "header"], ["class", "col-md-3", 4, "ngIf"], [1, "row", 3, "ngClass"], ["name", "ListaValorAte", 3, "ngModel", "disabled", "iconSuffix", "ismask"], ["name", "ListaValorValor", 3, "ngModel", "disabled", "iconSuffix", "ismask"], [4, "ngIf"], ["name", "ListaValorDe", 3, "ngModel", "disabled", "iconSuffix", "ismask"], ["type", "button", "color", "warn", "mat-icon-button", "", 3, "matTooltip", "click"]], template: function InfoInputListComponent_Template(rf, ctx) { if (rf & 1) {
229
+ i0.ɵɵtemplate(0, InfoInputListComponent_div_0_Template, 12, 16, "div", 0);
230
+ i0.ɵɵtemplate(1, InfoInputListComponent_div_1_Template, 5, 3, "div", 1);
231
+ i0.ɵɵtemplate(2, InfoInputListComponent_ul_2_Template, 3, 2, "ul", 2);
232
+ i0.ɵɵelement(3, "info-alert", 3);
233
+ } if (rf & 2) {
234
+ i0.ɵɵproperty("ngIf", !ctx.disabled);
235
+ i0.ɵɵadvance(1);
236
+ i0.ɵɵproperty("ngIf", ctx.model == null || ctx.getModel().length == 0);
237
+ i0.ɵɵadvance(1);
238
+ i0.ɵɵproperty("ngIf", ctx.model != null);
239
+ i0.ɵɵadvance(1);
240
+ i0.ɵɵproperty("messages", ctx.messages);
241
+ } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.NgControlStatus, i3.NgModel, i4.MatIcon, i5.MatButton, i6.MatTooltip, i7.InfoAlertComponent, i8.InfoInputComponent, i9.InfoTranslatePipe], styles: ["[_nghost-%COMP%] .header[_ngcontent-%COMP%]{background:#fafafa;border-top:solid 1px #f0f0f0;border-bottom:solid 2px #f0f0f0;color:#333;text-transform:uppercase;text-align:right;font-size:9px;font-family:Open Sans;font-weight:700;padding:10px 20px 0 0}[_nghost-%COMP%] #list-values[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] #list-values[_ngcontent-%COMP%] li.silver[_ngcontent-%COMP%]{background:#f5f5f5}[_nghost-%COMP%] #list-values[_ngcontent-%COMP%] li.hover[_ngcontent-%COMP%]{background:#eee}[_nghost-%COMP%] #list-values[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{margin-bottom:5px}[_nghost-%COMP%] #list-values[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px}"] });
242
+ }
243
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoInputListComponent, [{
244
+ type: Component,
245
+ args: [{ selector: 'info-input-list', template: "<div class=\"row\" *ngIf=\"!disabled\" >\r\n <info-input placeholder=\"{{ 'De' | translate}} {{ percent ? '%' : '' }}\" name=\"De\" [(ngModel)]=\"novoValor.De\" *ngIf=\"!hiddenDe\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Ate' | translate}} {{ percent ? '%' : '' }}\" name=\"Ate\" [(ngModel)]=\"novoValor.Ate\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Valor' | translate}} {{ percent ? '%' : '' }}\" name=\"Valor\" [(ngModel)]=\"novoValor.Valor\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <div class=\"col-md-3\">\r\n <button mat-button type=\"button\" color=\"primary\" (click)=\"add()\" class=\"mt-2\" ><mat-icon class=\"fs-20\">add_circle</mat-icon> {{ 'AddValor' | translate }}</button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-md-12\" *ngIf=\"model == null || getModel().length == 0\" ><mat-icon style=\"top: 6px;\" class=\"mr-2\">info</mat-icon> {{ 'UtilizeCamposAcimaAdicionarItens' | translate }}</div>\r\n\r\n<ul *ngIf=\"model != null\" id=\"list-values\" >\r\n<li class=\"row header\" *ngIf=\"disabled\">\r\n <label class=\"col-md-3\" *ngIf=\"!hiddenDe\" >{{ 'De' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Ate' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Valor' | translate }}</label>\r\n</li>\r\n\r\n<li *ngFor=\"let item of getModel(); let i = index\" class=\"row\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" >\r\n <div class=\"col-md-3\" *ngIf=\"!hiddenDe\" >\r\n <info-input name=\"ListaValorDe\" [ngModel]=\"item.De\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorAte\" [ngModel]=\"item.Ate\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorValor\" [ngModel]=\"item.Valor\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <ng-container *ngIf=\"!disabled\">\r\n <!-- <button type=\"button\" matTooltip=\"{{ 'OrdernarAcima' | translate }}\" mat-icon-button [disabled]=\"item.Indice <= 0\" (click)=\"alterarIndice(item, item.Indice - 1)\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button type=\"button\" matTooltip=\"{{ 'OrdernarAbaixo' | translate }}\" mat-icon-button [disabled]=\"item.Indice >= (model.length - 1)\" (click)=\"alterarIndice(item, item.Indice + 1)\">\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button> -->\r\n <button type=\"button\" color=\"warn\" matTooltip=\"{{ 'Excluir' | translate }}\" mat-icon-button (click)=\"remover(item)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n</li>\r\n</ul>\r\n\r\n\r\n<info-alert [messages]=\"messages\"></info-alert>", styles: [":host .header{background:#fafafa;border-top:solid 1px #f0f0f0;border-bottom:solid 2px #f0f0f0;color:#333;text-transform:uppercase;text-align:right;font-size:9px;font-family:Open Sans;font-weight:700;padding:10px 20px 0 0}:host #list-values{padding:0}:host #list-values li.silver{background:#f5f5f5}:host #list-values li.hover{background:#eee}:host #list-values mat-form-field{margin-bottom:5px}:host #list-values button mat-icon{font-size:18px}\n"] }]
246
+ }], function () { return [{ type: i1.InfoDialogModal }]; }, { model: [{
247
+ type: Input
248
+ }], readonly: [{
249
+ type: Input
250
+ }], percent: [{
251
+ type: Input
252
+ }], hiddenDe: [{
253
+ type: Input
254
+ }], disabled: [{
255
+ type: Input
256
+ }], ismask: [{
257
+ type: Input
258
+ }] }); })();
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2lucHV0LWxpc3QvaW5wdXQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2lucHV0LWxpc3QvaW5wdXQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7SUNEL0Qsc0NBQWlLO0lBQTlFLDJNQUFhLDRDQUFvQixJQUFQOztJQUFvRCxpQkFBYTs7O0lBQWxLLDRHQUE0RDtJQUFXLDZDQUEwQix1QkFBQTs7OztJQURqSCw4QkFBb0M7SUFDaEMsMkZBQThLO0lBQzlLLHFDQUFrSjtJQUE3RCw2TEFBYSw2Q0FBcUIsSUFBUDs7SUFBa0MsaUJBQWE7SUFDL0oscUNBQXdKO0lBQS9ELDZMQUFhLCtDQUF1QixJQUFQOztJQUFrQyxpQkFBYTtJQUNySyw4QkFBc0IsZ0JBQUE7SUFDK0IsbUtBQVMsZUFBQSxZQUFLLENBQUEsSUFBQztJQUFlLG9DQUF3QjtJQUFBLDBCQUFVO0lBQUEsaUJBQVc7SUFBQyxhQUE0Qjs7SUFBQSxpQkFBUyxFQUFBLEVBQUE7OztJQUp2RCxlQUFlO0lBQWYsdUNBQWU7SUFDbEgsZUFBNkQ7SUFBN0QsOEdBQTZEO0lBQVksOENBQTJCLHVCQUFBO0lBQ3BHLGVBQStEO0lBQS9ELGdIQUErRDtJQUFjLGdEQUE2Qix1QkFBQTtJQUVXLGVBQTRCO0lBQTVCLGtFQUE0Qjs7O0lBSWpLLCtCQUF3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LENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsT0FBTyxDQUFDLENBQUM7O2dCQUVSLE9BQU8sQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzttR0F6RlEsc0JBQXNCOzRGQUF0QixzQkFBc0I7WUNUbkMseUVBT007WUFFTix1RUFBMkw7WUFFM0wscUVBa0NLO1lBR0wsZ0NBQStDOztZQWhEN0Isb0NBQWU7WUFTVCxlQUE2QztZQUE3QyxzRUFBNkM7WUFFaEUsZUFBbUI7WUFBbkIsd0NBQW1CO1lBcUNaLGVBQXFCO1lBQXJCLHVDQUFxQjs7O3VGRHZDcEIsc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0ksaUJBQWlCO2tFQU1sQixLQUFLO2tCQUFiLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJRixNQUFNO2tCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nTW9kYWwgfSBmcm9tIFwiLi4vLi4vbGF5b3V0cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nQnV0dG9ucyB9IGZyb20gXCIuLi8uLi9lbnVtL2RpYWxvZy1idXR0b25zLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLWlucHV0LWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydpbnB1dC1saXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9JbnB1dExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgXHJcbiAgICBASW5wdXQoKSBtb2RlbDogYW55ID0gW11cclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2VcclxuICAgIEBJbnB1dCgpIHBlcmNlbnQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgQElucHV0KCkgaGlkZGVuRGU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICAgIG1hc2s6IHN0cmluZyA9IFwibjJcIjtcclxuICAgIEBJbnB1dCgpIFxyXG4gICAgZ2V0IGlzbWFzaygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXNrO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc21hc2sodmFsdWUpIHtcclxuICAgICAgICB0aGlzLm1hc2sgPSAodmFsdWUgPT0gbnVsbCA/IHRoaXMubWFzayA6IHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBtZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIG5vdm9WYWxvciA9IHsgRGU6IG51bGwsIEF0ZTogbnVsbCwgVmFsb3I6IG51bGwsIEV4Y2x1aXI6IGZhbHNlIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nOiBJbmZvRGlhbG9nTW9kYWwpIHsgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsID09IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBbXTtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLm1vZGVsLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICB0aGlzLm1vZGVsW2ldLkV4Y2x1aXIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRNb2RlbCgpOiBhbnlbXXtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwgfHwgdGhpcy5tb2RlbCA9PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsLmZpbHRlcihtID0+ICFtLkV4Y2x1aXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZCgpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkRlICYmIHRoaXMubm92b1ZhbG9yLkF0ZSA9PSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2goJ0luZm9ybWVVbVZhbG9yRGUnKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmhpZGRlbkRlICYmIHRoaXMubm92b1ZhbG9yLkRlID09IG51bGwgJiYgdGhpcy5ub3ZvVmFsb3IuQXRlID09IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaCgnSW5mb3JtZVVtVmFsb3JEZU91QXRlJyk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5oaWRkZW5EZSAmJiB0aGlzLm5vdm9WYWxvci5BdGUgPCB0aGlzLm5vdm9WYWxvci5EZSlcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdWYWxvckF0ZU1lbm9yUXVlRGUnKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubm92b1ZhbG9yLlZhbG9yID09IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaCgnSW5mb3JtZVZhbG9yJyk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VzLmxlbmd0aCA+IDApe1xyXG5cclxuICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm1vZGVsLnB1c2goeyBEZTogdGhpcy5ub3ZvVmFsb3IuRGUsIEF0ZTogdGhpcy5ub3ZvVmFsb3IuQXRlLCBWYWxvcjogdGhpcy5ub3ZvVmFsb3IuVmFsb3IsIEV4Y2x1aXI6IGZhbHNlIH0pO1xyXG4gICAgICAgIHRoaXMubm92b1ZhbG9yID0geyBEZTogbnVsbCwgQXRlOiBudWxsLCBWYWxvcjogbnVsbCwgRXhjbHVpcjogZmFsc2UgfTtcclxuXHJcbiAgICAgICAgdGhpcy5vcmRlcm5hcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZXIoaXRlbTogYW55KXtcclxuXHJcbiAgICAgICAgdGhpcy5fZGlhbG9nLlllc09yTm8oJ01lbnNhZ2VtRXhjbHVpcicpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuYnV0dG9uID09IEluZm9EaWFsb2dCdXR0b25zLk5vKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgaXRlbS5FeGNsdWlyID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UodGhpcy5tb2RlbC5maW5kSW5kZXgobSA9PiBtID09IGl0ZW0pLCAxKTtcclxuICAgICAgICAgICAgdGhpcy5vcmRlcm5hcigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9yZGVybmFyKCl7XHJcblxyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsLnNvcnQoKGEsIGIpID0+IHsgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhpZGRlbkRlID8gKGEuQXRlIDwgYi5BdGUpIDogKGEuRGUgPCBiLkRlKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiAtMTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuaGlkZGVuRGUgPyAoYS5BdGUgPiBiLkF0ZSkgOiAoYS5EZSA+IGIuRGUpKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDE7XHJcblxyXG4gICAgICAgICAgICBlbHNlIHJldHVybiAwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiIWRpc2FibGVkXCIgPlxyXG4gICAgPGluZm8taW5wdXQgcGxhY2Vob2xkZXI9XCJ7eyAnRGUnIHwgdHJhbnNsYXRlfX0ge3sgcGVyY2VudCA/ICclJyA6ICcnIH19XCIgbmFtZT1cIkRlXCIgWyhuZ01vZGVsKV09XCJub3ZvVmFsb3IuRGVcIiAqbmdJZj1cIiFoaWRkZW5EZVwiIGNsYXNzPVwiY29sLW1kLTNcIiBbaXNtYXNrXT1cIm1hc2tcIj48L2luZm8taW5wdXQ+XHJcbiAgICA8aW5mby1pbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdBdGUnIHwgdHJhbnNsYXRlfX0ge3sgcGVyY2VudCA/ICclJyA6ICcnIH19XCIgbmFtZT1cIkF0ZVwiIFsobmdNb2RlbCldPVwibm92b1ZhbG9yLkF0ZVwiIGNsYXNzPVwiY29sLW1kLTNcIiBbaXNtYXNrXT1cIm1hc2tcIj48L2luZm8taW5wdXQ+XHJcbiAgICA8aW5mby1pbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdWYWxvcicgfCB0cmFuc2xhdGV9fSB7eyBwZXJjZW50ID8gJyUnIDogJycgfX1cIiBuYW1lPVwiVmFsb3JcIiBbKG5nTW9kZWwpXT1cIm5vdm9WYWxvci5WYWxvclwiIGNsYXNzPVwiY29sLW1kLTNcIiBbaXNtYXNrXT1cIm1hc2tcIj48L2luZm8taW5wdXQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGQoKVwiIGNsYXNzPVwibXQtMlwiID48bWF0LWljb24gY2xhc3M9XCJmcy0yMFwiPmFkZF9jaXJjbGU8L21hdC1pY29uPiB7eyAnQWRkVmFsb3InIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgKm5nSWY9XCJtb2RlbCA9PSBudWxsIHx8IGdldE1vZGVsKCkubGVuZ3RoID09IDBcIiA+PG1hdC1pY29uIHN0eWxlPVwidG9wOiA2cHg7XCIgY2xhc3M9XCJtci0yXCI+aW5mbzwvbWF0LWljb24+IHt7ICdVdGlsaXplQ2FtcG9zQWNpbWFBZGljaW9uYXJJdGVucycgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuXHJcbjx1bCAqbmdJZj1cIm1vZGVsICE9IG51bGxcIiBpZD1cImxpc3QtdmFsdWVzXCIgPlxyXG48bGkgY2xhc3M9XCJyb3cgaGVhZGVyXCIgKm5nSWY9XCJkaXNhYmxlZFwiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLW1kLTNcIiAqbmdJZj1cIiFoaWRkZW5EZVwiID57eyAnRGUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC0zXCIgPnt7ICdBdGUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC0zXCIgPnt7ICdWYWxvcicgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG48L2xpPlxyXG5cclxuPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldE1vZGVsKCk7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInJvd1wiIFtuZ0NsYXNzXT1cInsgJ3NpbHZlcic6IGkgJSAyID09IDAgfVwiID5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiICpuZ0lmPVwiIWhpZGRlbkRlXCIgPlxyXG4gICAgICAgIDxpbmZvLWlucHV0IG5hbWU9XCJMaXN0YVZhbG9yRGVcIiBbbmdNb2RlbF09XCJpdGVtLkRlXCIgW2Rpc2FibGVkXT1cInRydWVcIiBbaWNvblN1ZmZpeF09XCIocGVyY2VudCA/ICclJyA6ICdudWxsJylcIiBbaXNtYXNrXT1cIm1hc2tcIj48L2luZm8taW5wdXQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICA8aW5mby1pbnB1dCBuYW1lPVwiTGlzdGFWYWxvckF0ZVwiIFtuZ01vZGVsXT1cIml0ZW0uQXRlXCIgW2Rpc2FibGVkXT1cInRydWVcIiBbaWNvblN1ZmZpeF09XCIocGVyY2VudCA/ICclJyA6ICdudWxsJylcIiBbaXNtYXNrXT1cIm1hc2tcIj48L2luZm8taW5wdXQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICA8aW5mby1pbnB1dCBuYW1lPVwiTGlzdGFWYWxvclZhbG9yXCIgW25nTW9kZWxdPVwiaXRlbS5WYWxvclwiIFtkaXNhYmxlZF09XCJ0cnVlXCIgW2ljb25TdWZmaXhdPVwiKHBlcmNlbnQgPyAnJScgOiAnbnVsbCcpXCIgW2lzbWFza109XCJtYXNrXCI+PC9pbmZvLWlucHV0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJ7eyAnT3JkZXJuYXJBY2ltYScgfCB0cmFuc2xhdGUgfX1cIiBtYXQtaWNvbi1idXR0b24gW2Rpc2FibGVkXT1cIml0ZW0uSW5kaWNlIDw9IDBcIiAoY2xpY2spPVwiYWx0ZXJhckluZGljZShpdGVtLCBpdGVtLkluZGljZSAtIDEpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJ7eyAnT3JkZXJuYXJBYmFpeG8nIHwgdHJhbnNsYXRlIH19XCIgbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJpdGVtLkluZGljZSA+PSAobW9kZWwubGVuZ3RoIC0gMSlcIiAoY2xpY2spPVwiYWx0ZXJhckluZGljZShpdGVtLCBpdGVtLkluZGljZSArIDEpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZG93bndhcmQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwid2FyblwiIG1hdFRvb2x0aXA9XCJ7eyAnRXhjbHVpcicgfCB0cmFuc2xhdGUgfX1cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlbW92ZXIoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvbGk+XHJcbjwvdWw+XHJcblxyXG5cclxuPGluZm8tYWxlcnQgW21lc3NhZ2VzXT1cIm1lc3NhZ2VzXCI+PC9pbmZvLWFsZXJ0PiJdfQ==