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,48 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ function InfoMessageComponent_a_3_Template(rf, ctx) { if (rf & 1) {
5
+ const _r3 = i0.ɵɵgetCurrentView();
6
+ i0.ɵɵelementStart(0, "a", 3);
7
+ i0.ɵɵlistener("click", function InfoMessageComponent_a_3_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); const _r0 = i0.ɵɵreference(1); return i0.ɵɵresetView(ctx_r2.delete($event, _r0)); });
8
+ i0.ɵɵelementStart(1, "i", 4);
9
+ i0.ɵɵtext(2, "clear");
10
+ i0.ɵɵelementEnd()();
11
+ } }
12
+ const _c0 = function (a0, a1, a2, a3, a4, a5) { return { "success-message": a0, "info-message": a1, "warning-message": a2, "danger-message": a3, "with-close": a4, "min": a5 }; };
13
+ const _c1 = ["*"];
14
+ export class InfoMessageComponent {
15
+ color = 'info';
16
+ outline = true;
17
+ close = false;
18
+ min = false;
19
+ delete(event, message) {
20
+ event.preventDefault();
21
+ message.remove();
22
+ }
23
+ /** @nocollapse */ static ɵfac = function InfoMessageComponent_Factory(t) { return new (t || InfoMessageComponent)(); };
24
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoMessageComponent, selectors: [["info-message"]], inputs: { color: "color", outline: "outline", close: "close", min: "min" }, ngContentSelectors: _c1, decls: 4, vars: 9, consts: [[1, "message", 3, "ngClass"], ["message", ""], ["href", "#", "class", "close", 3, "click", 4, "ngIf"], ["href", "#", 1, "close", 3, "click"], [1, "material-icons"]], template: function InfoMessageComponent_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵprojectionDef();
26
+ i0.ɵɵelementStart(0, "div", 0, 1);
27
+ i0.ɵɵprojection(2);
28
+ i0.ɵɵtemplate(3, InfoMessageComponent_a_3_Template, 3, 0, "a", 2);
29
+ i0.ɵɵelementEnd();
30
+ } if (rf & 2) {
31
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction6(2, _c0, ctx.color === "success", ctx.color === "info", ctx.color === "warning", ctx.color === "danger", ctx.close, ctx.min));
32
+ i0.ɵɵadvance(3);
33
+ i0.ɵɵproperty("ngIf", ctx.close);
34
+ } }, dependencies: [i1.NgClass, i1.NgIf], styles: ["body[_ngcontent-%COMP%]{--ux-cor-hover: #F5F5F5;--ux-cor-hover-2: #eee;--ux-cor-hover-3: #fafafa;--ux-cor-hover-4: #e5e3ed;--ux-cor-hover-5: #f9f9f9;--ux-cor-bg: #adadad;--ux-cor-P: #fff;--ux-cor-A: #eeeef2;--ux-cor-X: #f5f5f5;--ux-cor-S: #666;--ux-cor-O: #ddd;--ux-cor-F: #222;--ux-cor-D: #ccdbb4;--ux-cor-linha: #CCCEDB;--ux-cor-btn-pri: #eeeef2;--ux-cor-btn-wrn: #BA5005;--ux-cor-btn-dis: #6a7282}[_nghost-%COMP%]{display:block;margin-bottom:0;padding-right:0!important}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:20px 20px 16px;position:relative;border-radius:3px;font-size:14px}[_nghost-%COMP%] .message.min[_ngcontent-%COMP%]{padding:10px 15px}[_nghost-%COMP%] .message[_ngcontent-%COMP%]:not(.outline-message){color:#fff}[_nghost-%COMP%] .message[_ngcontent-%COMP%]:not(.outline-message) a{color:#fffc}[_nghost-%COMP%] .message[_ngcontent-%COMP%]:not(.outline-message) a:hover{color:#fff}[_nghost-%COMP%] .message[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{background:#0000001a;font-size:20px;line-height:1;position:absolute;right:0;top:0;transition:background .2s ease-in-out,color .2s ease-in-out}[_nghost-%COMP%] .message[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]:hover{background:#ffffff4d;color:red}[_nghost-%COMP%] .message[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{color:inherit;font-size:inherit;margin:0;vertical-align:top}[_nghost-%COMP%] .message[_ngcontent-%COMP%] .material-icons{margin:0 10px 0 0;vertical-align:top;font-size:21px}[_nghost-%COMP%] .message.success-message[_ngcontent-%COMP%]{background:#cbefc4;color:#005e00;border:none}[_nghost-%COMP%] .message.success-message[_ngcontent-%COMP%] .material-icons{color:#005e00}[_nghost-%COMP%] .message.info-message[_ngcontent-%COMP%]{background:#f0f0f0;color:#666;border:none}[_nghost-%COMP%] .message.info-message[_ngcontent-%COMP%] .material-icons{color:#666}[_nghost-%COMP%] .message.warning-message[_ngcontent-%COMP%]{background:#efefc0;color:#705b20;border:none}[_nghost-%COMP%] .message.warning-message[_ngcontent-%COMP%] .material-icons{color:#b59334}[_nghost-%COMP%] .message.danger-message[_ngcontent-%COMP%]{background:#efb7ae;color:#771702;border:none}[_nghost-%COMP%] .message.danger-message[_ngcontent-%COMP%] .material-icons{color:#771702}"] });
35
+ }
36
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoMessageComponent, [{
37
+ type: Component,
38
+ args: [{ selector: 'info-message', template: "<div class=\"message\" [ngClass]=\"{\r\n 'success-message': color === 'success',\r\n 'info-message': color === 'info',\r\n 'warning-message': color === 'warning',\r\n 'danger-message': color === 'danger',\r\n 'with-close': close,\r\n 'min': min }\" #message>\r\n <ng-content></ng-content>\r\n <a href=\"#\" class=\"close\" *ngIf=\"close\" (click)=\"delete($event, message)\"><i class=\"material-icons\">clear</i></a>\r\n</div>", styles: ["body{--ux-cor-hover: #F5F5F5;--ux-cor-hover-2: #eee;--ux-cor-hover-3: #fafafa;--ux-cor-hover-4: #e5e3ed;--ux-cor-hover-5: #f9f9f9;--ux-cor-bg: #adadad;--ux-cor-P: #fff;--ux-cor-A: #eeeef2;--ux-cor-X: #f5f5f5;--ux-cor-S: #666;--ux-cor-O: #ddd;--ux-cor-F: #222;--ux-cor-D: #ccdbb4;--ux-cor-linha: #CCCEDB;--ux-cor-btn-pri: #eeeef2;--ux-cor-btn-wrn: #BA5005;--ux-cor-btn-dis: #6a7282}:host{display:block;margin-bottom:0;padding-right:0!important}:host .message{padding:20px 20px 16px;position:relative;border-radius:3px;font-size:14px}:host .message.min{padding:10px 15px}:host .message:not(.outline-message){color:#fff}:host .message:not(.outline-message) ::ng-deep a{color:#fffc}:host .message:not(.outline-message) ::ng-deep a:hover{color:#fff}:host .message .close{background:#0000001a;font-size:20px;line-height:1;position:absolute;right:0;top:0;transition:background .2s ease-in-out,color .2s ease-in-out}:host .message .close:hover{background:#ffffff4d;color:red}:host .message .close .material-icons{color:inherit;font-size:inherit;margin:0;vertical-align:top}:host .message ::ng-deep .material-icons{margin:0 10px 0 0;vertical-align:top;font-size:21px}:host .message.success-message{background:#cbefc4;color:#005e00;border:none}:host .message.success-message ::ng-deep .material-icons{color:#005e00}:host .message.info-message{background:#f0f0f0;color:#666;border:none}:host .message.info-message ::ng-deep .material-icons{color:#666}:host .message.warning-message{background:#efefc0;color:#705b20;border:none}:host .message.warning-message ::ng-deep .material-icons{color:#b59334}:host .message.danger-message{background:#efb7ae;color:#771702;border:none}:host .message.danger-message ::ng-deep .material-icons{color:#771702}\n"] }]
39
+ }], null, { color: [{
40
+ type: Input
41
+ }], outline: [{
42
+ type: Input
43
+ }], close: [{
44
+ type: Input
45
+ }], min: [{
46
+ type: Input
47
+ }] }); })();
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7SUNRN0MsNEJBQTBFO0lBQWxDLCtMQUFTLGVBQUEsMEJBQXVCLENBQUEsSUFBQztJQUFDLDRCQUEwQjtJQUFBLHFCQUFLO0lBQUEsaUJBQUksRUFBQTs7OztBREFqSCxNQUFNLE9BQU8sb0JBQW9CO0lBRXBCLEtBQUssR0FBVyxNQUFNLENBQUM7SUFDdkIsT0FBTyxHQUFZLElBQUksQ0FBQztJQUN4QixLQUFLLEdBQVksS0FBSyxDQUFDO0lBQ3ZCLEdBQUcsR0FBWSxLQUFLLENBQUM7SUFFOUIsTUFBTSxDQUFDLEtBQVUsRUFBRSxPQUFZO1FBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckIsQ0FBQztpR0FWUSxvQkFBb0I7NEZBQXBCLG9CQUFvQjs7WUNSakMsaUNBTTJCO1lBQ3ZCLGtCQUF5QjtZQUN6QixpRUFBaUg7WUFDckgsaUJBQU07O1lBVGUsd0tBTUo7WUFFYyxlQUFXO1lBQVgsZ0NBQVc7Ozt1RkRBN0Isb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0ksY0FBYztnQkFPZixLQUFLO2tCQUFiLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1tZXNzYWdlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnbWVzc2FnZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgSW5mb01lc3NhZ2VDb21wb25lbnQge1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnaW5mbyc7XHJcbiAgICBASW5wdXQoKSBvdXRsaW5lOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGNsb3NlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBtaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBkZWxldGUoZXZlbnQ6IGFueSwgbWVzc2FnZTogYW55KSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBtZXNzYWdlLnJlbW92ZSgpO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAnc3VjY2Vzcy1tZXNzYWdlJzogY29sb3IgPT09ICdzdWNjZXNzJyxcclxuICAgICdpbmZvLW1lc3NhZ2UnOiBjb2xvciA9PT0gJ2luZm8nLFxyXG4gICAgJ3dhcm5pbmctbWVzc2FnZSc6IGNvbG9yID09PSAnd2FybmluZycsXHJcbiAgICAnZGFuZ2VyLW1lc3NhZ2UnOiBjb2xvciA9PT0gJ2RhbmdlcicsXHJcbiAgICAnd2l0aC1jbG9zZSc6IGNsb3NlLFxyXG4gICAgJ21pbic6IG1pbiB9XCIgI21lc3NhZ2U+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiY2xvc2VcIiAqbmdJZj1cImNsb3NlXCIgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQsIG1lc3NhZ2UpXCI+PGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmNsZWFyPC9pPjwvYT5cclxuPC9kaXY+Il19
@@ -0,0 +1,174 @@
1
+ import { Component, Input, forwardRef, Output, EventEmitter } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { InfoDataService } from "../../service/data.service";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../service/data.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@angular/material/form-field";
9
+ import * as i5 from "@angular/material/select";
10
+ import * as i6 from "@angular/material/core";
11
+ import * as i7 from "@angular/material/progress-bar";
12
+ import * as i8 from "../../pipe/translate.pipe";
13
+ function InfoMultiSelectComponent_mat_option_5_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵelementStart(0, "mat-option", 4);
15
+ i0.ɵɵelement(1, "span", 5);
16
+ i0.ɵɵpipe(2, "translate");
17
+ i0.ɵɵelementEnd();
18
+ } if (rf & 2) {
19
+ const i_r2 = ctx.$implicit;
20
+ const ctx_r0 = i0.ɵɵnextContext();
21
+ i0.ɵɵproperty("value", i_r2.Id);
22
+ i0.ɵɵadvance(1);
23
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind2(2, 2, i_r2.Nome, ctx_r0.notranslate === null), i0.ɵɵsanitizeHtml);
24
+ } }
25
+ function InfoMultiSelectComponent_mat_progress_bar_7_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelement(0, "mat-progress-bar", 6);
27
+ } }
28
+ export class InfoMultiSelectComponent {
29
+ _dataAcessService;
30
+ placeholder = '';
31
+ name = '';
32
+ required = false;
33
+ selectfirst = false;
34
+ disablednoregisters = false;
35
+ api = null;
36
+ method = 'getchavevalor';
37
+ loading = false;
38
+ disabled = false;
39
+ notranslate = null;
40
+ notoken = false;
41
+ onselecteditem = new EventEmitter();
42
+ selectedValues = [];
43
+ onChange;
44
+ onTouched;
45
+ initialized = false;
46
+ _params = null;
47
+ get params() {
48
+ return this._params;
49
+ }
50
+ set params(value) {
51
+ this._params = value;
52
+ if (this.initialized)
53
+ this.getData();
54
+ }
55
+ _data = [];
56
+ get data() {
57
+ return this._data;
58
+ }
59
+ set data(value) {
60
+ this._data = value;
61
+ if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => this.selectedValues?.indexOf(d.Id) > -1))
62
+ this.writeValue([this.data[0].Id]);
63
+ if (this.disablednoregisters)
64
+ this.setDisabledState((this.data == null || this.data.length == 0));
65
+ }
66
+ constructor(_dataAcessService) {
67
+ this._dataAcessService = _dataAcessService;
68
+ }
69
+ ngOnInit() {
70
+ this.name += this.placeholder.replace(/ /g, '');
71
+ this.getData();
72
+ }
73
+ writeValue(value) {
74
+ this.selectedValues = value;
75
+ this.onChangeValue();
76
+ }
77
+ getData() {
78
+ this.initialized = true;
79
+ if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))
80
+ return;
81
+ this.loading = true;
82
+ this.data = [];
83
+ let observable = this.notoken ?
84
+ this._dataAcessService.getNoToken(this.api, this.method, this.params) :
85
+ this._dataAcessService.get(this.api, this.method, this.params);
86
+ observable.subscribe(r => {
87
+ if (r.success) {
88
+ this.data = r.data;
89
+ if ((this.selectedValues || []).length > 0)
90
+ this.onChangeValue();
91
+ }
92
+ this.loading = false;
93
+ });
94
+ }
95
+ onChangeValue() {
96
+ if (this.onChange != null)
97
+ this.onChange(this.selectedValues);
98
+ if (this.onselecteditem != null)
99
+ this.onselecteditem.emit(this.data == null ? null : this.data.filter(r => this.selectedValues?.indexOf(r.Id) > -1));
100
+ }
101
+ registerOnChange(fn) {
102
+ this.onChange = fn;
103
+ }
104
+ registerOnTouched(fn) {
105
+ this.onTouched = fn;
106
+ }
107
+ setDisabledState(isDisabled) {
108
+ this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;
109
+ }
110
+ /** @nocollapse */ static ɵfac = function InfoMultiSelectComponent_Factory(t) { return new (t || InfoMultiSelectComponent)(i0.ɵɵdirectiveInject(i1.InfoDataService)); };
111
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoMultiSelectComponent, selectors: [["info-multi-select"]], inputs: { placeholder: "placeholder", name: "name", required: "required", selectfirst: "selectfirst", disablednoregisters: "disablednoregisters", api: "api", method: "method", loading: "loading", disabled: "disabled", notranslate: "notranslate", notoken: "notoken", params: "params", data: "data" }, outputs: { onselecteditem: "onselecteditem" }, features: [i0.ɵɵProvidersFeature([{
112
+ provide: NG_VALUE_ACCESSOR,
113
+ useExisting: forwardRef((() => InfoMultiSelectComponent)),
114
+ multi: true
115
+ }])], decls: 8, vars: 8, consts: [["multiple", "", 3, "ngModel", "disabled", "required", "ngModelChange", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], [1, "select-loading"], ["color", "primary", "mode", "indeterminate", 4, "ngIf"], [3, "value"], [3, "innerHtml"], ["color", "primary", "mode", "indeterminate"]], template: function InfoMultiSelectComponent_Template(rf, ctx) { if (rf & 1) {
116
+ i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-label");
117
+ i0.ɵɵtext(2);
118
+ i0.ɵɵpipe(3, "translate");
119
+ i0.ɵɵelementEnd();
120
+ i0.ɵɵelementStart(4, "mat-select", 0);
121
+ i0.ɵɵlistener("ngModelChange", function InfoMultiSelectComponent_Template_mat_select_ngModelChange_4_listener($event) { return ctx.selectedValues = $event; })("selectionChange", function InfoMultiSelectComponent_Template_mat_select_selectionChange_4_listener() { return ctx.onChangeValue(); });
122
+ i0.ɵɵtemplate(5, InfoMultiSelectComponent_mat_option_5_Template, 3, 5, "mat-option", 1);
123
+ i0.ɵɵelementEnd()();
124
+ i0.ɵɵelementStart(6, "section", 2);
125
+ i0.ɵɵtemplate(7, InfoMultiSelectComponent_mat_progress_bar_7_Template, 1, 0, "mat-progress-bar", 3);
126
+ i0.ɵɵelementEnd();
127
+ } if (rf & 2) {
128
+ i0.ɵɵadvance(2);
129
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 6, ctx.placeholder));
130
+ i0.ɵɵadvance(2);
131
+ i0.ɵɵproperty("ngModel", ctx.selectedValues)("disabled", ctx.disabled || ctx.loading)("required", ctx.required);
132
+ i0.ɵɵadvance(1);
133
+ i0.ɵɵproperty("ngForOf", ctx.data);
134
+ i0.ɵɵadvance(2);
135
+ i0.ɵɵproperty("ngIf", ctx.loading);
136
+ } }, dependencies: [i2.NgForOf, i2.NgIf, i3.NgControlStatus, i3.RequiredValidator, i3.NgModel, i4.MatFormField, i4.MatLabel, i5.MatSelect, i6.MatOption, i7.MatProgressBar, i8.InfoTranslatePipe], styles: ["[_nghost-%COMP%] .mat-select-trigger[_ngcontent-%COMP%]{height:19px}[_nghost-%COMP%] .mat-form-field-type-mat-select[_ngcontent-%COMP%] .mat-form-field-label[_ngcontent-%COMP%]{height:20px}[_nghost-%COMP%] .select-loading[_ngcontent-%COMP%]{position:relative;bottom:15px;opacity:.3;height:1px}[_nghost-%COMP%] .select-loading[_ngcontent-%COMP%] .mat-progress-bar[_ngcontent-%COMP%]{height:1px;margin:0}.min[_nghost-%COMP%] .mat-form-field[_ngcontent-%COMP%]{margin:0!important}"] });
137
+ }
138
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoMultiSelectComponent, [{
139
+ type: Component,
140
+ args: [{ selector: 'info-multi-select', providers: [{
141
+ provide: NG_VALUE_ACCESSOR,
142
+ useExisting: forwardRef((() => InfoMultiSelectComponent)),
143
+ multi: true
144
+ }], template: "<mat-form-field>\r\n <mat-label>{{placeholder | translate}}</mat-label>\r\n\r\n <mat-select [(ngModel)]=\"selectedValues\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\" multiple>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\">\r\n <span [innerHtml]=\"i.Nome | translate:(notranslate===null)\"></span>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>", styles: [":host .mat-select-trigger{height:19px}:host .mat-form-field-type-mat-select .mat-form-field-label{height:20px}:host .select-loading{position:relative;bottom:15px;opacity:.3;height:1px}:host .select-loading .mat-progress-bar{height:1px;margin:0}:host.min .mat-form-field{margin:0!important}\n"] }]
145
+ }], function () { return [{ type: i1.InfoDataService }]; }, { placeholder: [{
146
+ type: Input
147
+ }], name: [{
148
+ type: Input
149
+ }], required: [{
150
+ type: Input
151
+ }], selectfirst: [{
152
+ type: Input
153
+ }], disablednoregisters: [{
154
+ type: Input
155
+ }], api: [{
156
+ type: Input
157
+ }], method: [{
158
+ type: Input
159
+ }], loading: [{
160
+ type: Input
161
+ }], disabled: [{
162
+ type: Input
163
+ }], notranslate: [{
164
+ type: Input
165
+ }], notoken: [{
166
+ type: Input
167
+ }], onselecteditem: [{
168
+ type: Output
169
+ }], params: [{
170
+ type: Input
171
+ }], data: [{
172
+ type: Input
173
+ }] }); })();
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7SUNFckQscUNBQWtEO0lBQzlDLDBCQUFtRTs7SUFDdkUsaUJBQWE7Ozs7SUFGc0IsK0JBQWM7SUFDdkMsZUFBcUQ7SUFBckQsMkdBQXFEOzs7SUFNbkUsc0NBQ21COztBREV2QixNQUFNLE9BQU8sd0JBQXdCO0lBbURiO0lBakRYLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNWLFFBQVEsR0FBUSxLQUFLLENBQUM7SUFDdEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsR0FBRyxHQUFRLElBQUksQ0FBQztJQUNoQixNQUFNLEdBQUcsZUFBZSxDQUFDO0lBQ3pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixXQUFXLEdBQVEsSUFBSSxDQUFDO0lBQ3hCLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFFeEIsY0FBYyxHQUFHLElBQUksWUFBWSxF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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBmb3J3YXJkUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBJbmZvRGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kYXRhLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLW11bHRpLXNlbGVjdCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ211bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnbXVsdGktc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5mb011bHRpU2VsZWN0Q29tcG9uZW50KSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9NdWx0aVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBASW5wdXQoKSBuYW1lID0gJyc7XHJcbiAgICBASW5wdXQoKSByZXF1aXJlZDogYW55ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RmaXJzdCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWRub3JlZ2lzdGVycyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYXBpOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbWV0aG9kID0gJ2dldGNoYXZldmFsb3InO1xyXG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG5vdHJhbnNsYXRlOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbm90b2tlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbnNlbGVjdGVkaXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBzZWxlY3RlZFZhbHVlczogYW55W10gPSBbXTtcclxuICAgIG9uQ2hhbmdlOiBhbnk7XHJcbiAgICBvblRvdWNoZWQ6IGFueTtcclxuXHJcbiAgICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICBcclxuICAgIF9wYXJhbXM6IHN0cmluZyA9IG51bGw7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHBhcmFtcygpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHBhcmFtcyh2YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5fcGFyYW1zID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKVxyXG4gICAgICAgICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgX2RhdGE6IGFueSA9IFtdO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGRhdGEodmFsdWUpe1xyXG4gICAgICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RmaXJzdCAmJiB0aGlzLmRhdGEgIT0gbnVsbCAmJiB0aGlzLmRhdGEubGVuZ3RoID4gMCAmJiAhdGhpcy5kYXRhLnNvbWUoZCA9PiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5pbmRleE9mKGQuSWQpID4gLTEpKVxyXG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUoW3RoaXMuZGF0YVswXS5JZF0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkbm9yZWdpc3RlcnMpXHJcbiAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSgodGhpcy5kYXRhID09IG51bGwgfHwgdGhpcy5kYXRhLmxlbmd0aCA9PSAwKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGF0YUFjZXNzU2VydmljZTogSW5mb0RhdGFTZXJ2aWNlKSB7ICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5uYW1lICs9IHRoaXMucGxhY2Vob2xkZXIucmVwbGFjZSgvIC9nLCAnJyk7XHJcbiAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERhdGEoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuYXBpID09IG51bGwgfHwgKHRoaXMucGFyYW1zICE9IG51bGwgJiYgdGhpcy5wYXJhbXMudG9Mb3dlckNhc2UoKS5pbmRleE9mKCd1bmRlZmluZWQnKSA+IC0xKSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IFtdO1xyXG5cclxuICAgICAgICBsZXQgb2JzZXJ2YWJsZSA9IHRoaXMubm90b2tlbiA/XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGFBY2Vzc1NlcnZpY2UuZ2V0Tm9Ub2tlbih0aGlzLmFwaSwgdGhpcy5tZXRob2QsIHRoaXMucGFyYW1zKSA6XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGFBY2Vzc1NlcnZpY2UuZ2V0KHRoaXMuYXBpLCB0aGlzLm1ldGhvZCwgdGhpcy5wYXJhbXMpO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBvYnNlcnZhYmxlLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gci5kYXRhO1xyXG4gICAgICAgICAgICAgICAgaWYgKCh0aGlzLnNlbGVjdGVkVmFsdWVzIHx8IFtdKS5sZW5ndGggPiAwKSB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VWYWx1ZSgpe1xyXG4gICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZFZhbHVlcyk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9uc2VsZWN0ZWRpdGVtICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMub25zZWxlY3RlZGl0ZW0uZW1pdCh0aGlzLmRhdGEgPT0gbnVsbCA/IG51bGwgOiB0aGlzLmRhdGEuZmlsdGVyKHIgPT4gdGhpcy5zZWxlY3RlZFZhbHVlcz8uaW5kZXhPZihyLklkKSA+IC0xKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZG5vcmVnaXN0ZXJzICYmICh0aGlzLmRhdGEgPT0gbnVsbCB8fCB0aGlzLmRhdGEubGVuZ3RoID09IDApID8gdHJ1ZSA6IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn0iLCI8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWxhYmVsPnt7cGxhY2Vob2xkZXIgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG5cclxuICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRWYWx1ZXNcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2FkaW5nXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGkgb2YgZGF0YVwiIFt2YWx1ZV09XCJpLklkXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckh0bWxdPVwiaS5Ob21lIHwgdHJhbnNsYXRlOihub3RyYW5zbGF0ZT09PW51bGwpXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPHNlY3Rpb24gY2xhc3M9XCJzZWxlY3QtbG9hZGluZ1wiPlxyXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImxvYWRpbmdcIiA+XHJcbiAgICA8L21hdC1wcm9ncmVzcy1iYXI+XHJcbjwvc2VjdGlvbj4iXX0=
@@ -0,0 +1,177 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "@angular/material/tooltip";
7
+ import * as i5 from "../../pipe/translate.pipe";
8
+ function InfoPaginatorComponent_div_0_label_3_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementStart(0, "label", 9);
10
+ i0.ɵɵtext(1);
11
+ i0.ɵɵelementEnd();
12
+ } if (rf & 2) {
13
+ const ctx_r1 = i0.ɵɵnextContext(2);
14
+ i0.ɵɵadvance(1);
15
+ i0.ɵɵtextInterpolate(ctx_r1.totalDescription);
16
+ } }
17
+ const _c0 = function (a0) { return { "active": a0 }; };
18
+ function InfoPaginatorComponent_div_0_li_16_Template(rf, ctx) { if (rf & 1) {
19
+ const _r5 = i0.ɵɵgetCurrentView();
20
+ i0.ɵɵelementStart(0, "li")(1, "button", 10);
21
+ i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_li_16_Template_button_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r5); const page_r3 = restoredCtx.$implicit; const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.goto(page_r3)); });
22
+ i0.ɵɵtext(2);
23
+ i0.ɵɵelementEnd()();
24
+ } if (rf & 2) {
25
+ const page_r3 = ctx.$implicit;
26
+ const ctx_r2 = i0.ɵɵnextContext(2);
27
+ i0.ɵɵadvance(1);
28
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0, page_r3 === ctx_r2.indexActive));
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵtextInterpolate(page_r3 + 1);
31
+ } }
32
+ const _c1 = function (a0, a1) { return { "descriptions-min": a0, "descriptions": a1 }; };
33
+ const _c2 = function (a0, a1) { return { "pages-min": a0, "pages": a1 }; };
34
+ function InfoPaginatorComponent_div_0_Template(rf, ctx) { if (rf & 1) {
35
+ const _r7 = i0.ɵɵgetCurrentView();
36
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3);
37
+ i0.ɵɵtemplate(3, InfoPaginatorComponent_div_0_label_3_Template, 2, 1, "label", 4);
38
+ i0.ɵɵelementEnd();
39
+ i0.ɵɵelementStart(4, "div", 5)(5, "ul")(6, "li", 6)(7, "button", 7);
40
+ i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.goto(0)); });
41
+ i0.ɵɵpipe(8, "translate");
42
+ i0.ɵɵelementStart(9, "mat-icon");
43
+ i0.ɵɵtext(10, "first_page");
44
+ i0.ɵɵelementEnd()()();
45
+ i0.ɵɵelementStart(11, "li", 6)(12, "button", 7);
46
+ i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.previous()); });
47
+ i0.ɵɵpipe(13, "translate");
48
+ i0.ɵɵelementStart(14, "mat-icon");
49
+ i0.ɵɵtext(15, "chevron_left");
50
+ i0.ɵɵelementEnd()()();
51
+ i0.ɵɵtemplate(16, InfoPaginatorComponent_div_0_li_16_Template, 3, 4, "li", 8);
52
+ i0.ɵɵelementStart(17, "li", 6)(18, "button", 7);
53
+ i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r7); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.next()); });
54
+ i0.ɵɵpipe(19, "translate");
55
+ i0.ɵɵelementStart(20, "mat-icon");
56
+ i0.ɵɵtext(21, "chevron_right");
57
+ i0.ɵɵelementEnd()()();
58
+ i0.ɵɵelementStart(22, "li", 6)(23, "button", 7);
59
+ i0.ɵɵlistener("click", function InfoPaginatorComponent_div_0_Template_button_click_23_listener() { i0.ɵɵrestoreView(_r7); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.goto(ctx_r10.numberPages - 1)); });
60
+ i0.ɵɵpipe(24, "translate");
61
+ i0.ɵɵelementStart(25, "mat-icon");
62
+ i0.ɵɵtext(26, "last_page");
63
+ i0.ɵɵelementEnd()()()()()()();
64
+ } if (rf & 2) {
65
+ const ctx_r0 = i0.ɵɵnextContext();
66
+ i0.ɵɵadvance(2);
67
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(20, _c1, ctx_r0.min == true, ctx_r0.min != true));
68
+ i0.ɵɵadvance(1);
69
+ i0.ɵɵproperty("ngIf", ctx_r0.totalDescription != null);
70
+ i0.ɵɵadvance(1);
71
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(23, _c2, ctx_r0.min == true, ctx_r0.min != true));
72
+ i0.ɵɵadvance(3);
73
+ i0.ɵɵproperty("disabled", ctx_r0.index == 0)("matTooltip", i0.ɵɵpipeBind1(8, 12, "Primeira"));
74
+ i0.ɵɵadvance(5);
75
+ i0.ɵɵproperty("disabled", ctx_r0.index == 0)("matTooltip", i0.ɵɵpipeBind1(13, 14, "Anterior"));
76
+ i0.ɵɵadvance(4);
77
+ i0.ɵɵproperty("ngForOf", ctx_r0.pages);
78
+ i0.ɵɵadvance(2);
79
+ i0.ɵɵproperty("disabled", ctx_r0.index >= ctx_r0.numberPages - 1)("matTooltip", i0.ɵɵpipeBind1(19, 16, "Proxima"));
80
+ i0.ɵɵadvance(5);
81
+ i0.ɵɵproperty("disabled", ctx_r0.index >= ctx_r0.numberPages - 1)("matTooltip", i0.ɵɵpipeBind1(24, 18, "Ultima"));
82
+ } }
83
+ export class InfoPaginatorComponent {
84
+ size = 5;
85
+ min = false;
86
+ show = false;
87
+ index = 0;
88
+ change = new EventEmitter();
89
+ _total = 0;
90
+ get total() {
91
+ return this._total;
92
+ }
93
+ set total(value) {
94
+ this._total = value;
95
+ this.initialize();
96
+ }
97
+ onChange;
98
+ indexActive = 0;
99
+ numberPages = 1;
100
+ pages = [];
101
+ totalDescription = '';
102
+ refresh(total) {
103
+ this.total = total;
104
+ }
105
+ initialize() {
106
+ this.pages = [];
107
+ this.indexActive = this.index;
108
+ this.numberPages = Math.ceil(this.total / this.size);
109
+ if (this.total > this.size) {
110
+ let i = (this.index > 2) ? (this.index - 2) : 0;
111
+ let x = this.numberPages;
112
+ if ((this.index + 2) < this.numberPages) {
113
+ let aux = 3;
114
+ if (this.index < 2)
115
+ aux = (5 - this.index);
116
+ x = (this.index + aux);
117
+ }
118
+ else if ((this.index - 2) > 0)
119
+ i = this.index - (5 - (this.numberPages - this.index));
120
+ if (i < 0)
121
+ i = 0;
122
+ if (x > this.numberPages)
123
+ x = this.numberPages;
124
+ for (i; i < x; i++)
125
+ this.pages.push(i);
126
+ }
127
+ else {
128
+ this.pages.push(0);
129
+ }
130
+ this.setDescription();
131
+ this.show = true;
132
+ }
133
+ goto(index) {
134
+ if (this.index == index)
135
+ return;
136
+ this.index = index;
137
+ this.change.emit(this.index);
138
+ }
139
+ next() {
140
+ this.goto(this.index + 1);
141
+ }
142
+ previous() {
143
+ this.goto(this.index - 1);
144
+ }
145
+ setDescription() {
146
+ let currentInit = (this.size * this.index) + 1;
147
+ let currentEnd = this.size * (this.index + 1);
148
+ if (currentEnd > this.total)
149
+ currentEnd = this.total;
150
+ if (currentInit == null || currentEnd == null)
151
+ return;
152
+ this.totalDescription = currentInit.toLocaleString('pt-BR') + ' - ' + currentEnd.toLocaleString('pt-BR') + ' de ' + this.total.toLocaleString('pt-BR');
153
+ }
154
+ /** @nocollapse */ static ɵfac = function InfoPaginatorComponent_Factory(t) { return new (t || InfoPaginatorComponent)(); };
155
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoPaginatorComponent, selectors: [["info-paginator"]], inputs: { size: "size", min: "min", show: "show", total: "total" }, outputs: { index: "index", change: "change" }, decls: 1, vars: 1, consts: [["class", "info-paginator", 4, "ngIf"], [1, "info-paginator"], [1, "row"], [1, "col-md-2", 3, "ngClass"], ["class", "total", 4, "ngIf"], [1, "col-md", "align-right", 3, "ngClass"], [1, "icon"], ["mat-button", "", 3, "disabled", "matTooltip", "click"], [4, "ngFor", "ngForOf"], [1, "total"], ["mat-button", "", 3, "ngClass", "click"]], template: function InfoPaginatorComponent_Template(rf, ctx) { if (rf & 1) {
156
+ i0.ɵɵtemplate(0, InfoPaginatorComponent_div_0_Template, 27, 26, "div", 0);
157
+ } if (rf & 2) {
158
+ i0.ɵɵproperty("ngIf", ctx.show);
159
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5.InfoTranslatePipe], styles: ["[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .descriptions[_ngcontent-%COMP%], [_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .pages[_ngcontent-%COMP%]{padding-right:10px!important;padding-left:10px!important}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .descriptions-min[_ngcontent-%COMP%], [_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] .pages-min[_ngcontent-%COMP%]{padding-right:0!important;padding-left:0!important}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:inline-block;font-size:14px}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%]{min-width:34px;line-height:25px;padding:0;margin:0 2px}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-button.active[_ngcontent-%COMP%]{font-weight:700}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:20px}[_nghost-%COMP%] > .info-paginator[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li.icon[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%]{padding:0 2px}"] });
160
+ }
161
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoPaginatorComponent, [{
162
+ type: Component,
163
+ args: [{ selector: 'info-paginator', template: "<div class=\"info-paginator\" *ngIf=\"show\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-2\" [ngClass]=\"{ 'descriptions-min': min == true, 'descriptions': min != true }\">\r\n <label class=\"total\" *ngIf=\"totalDescription != null\">{{totalDescription}}</label>\r\n </div>\r\n <div class=\"col-md align-right\" [ngClass]=\"{ 'pages-min': min == true, 'pages': min != true }\">\r\n <ul>\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(0)\" [disabled]=\"index == 0\" [matTooltip]=\"'Primeira' | translate\" >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"previous()\" [disabled]=\"index == 0\" [matTooltip]=\"'Anterior' | translate\" >\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li *ngFor=\"let page of pages\" >\r\n <button mat-button (click)=\"goto(page)\" [ngClass]=\"{\r\n 'active': page === indexActive\r\n }\" >{{page + 1}}</button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"next()\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Proxima' | translate\" >\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(numberPages - 1)\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Ultima' | translate\" >\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>", styles: [":host>.info-paginator .descriptions,:host>.info-paginator .pages{padding-right:10px!important;padding-left:10px!important}:host>.info-paginator .descriptions-min,:host>.info-paginator .pages-min{padding-right:0!important;padding-left:0!important}:host>.info-paginator ul{list-style:none;margin:0;padding:0}:host>.info-paginator ul li{display:inline-block;font-size:14px}:host>.info-paginator ul li .mat-button{min-width:34px;line-height:25px;padding:0;margin:0 2px}:host>.info-paginator ul li .mat-button.active{font-weight:700}:host>.info-paginator ul li .mat-button .mat-icon{font-size:20px}:host>.info-paginator ul li.icon .mat-button{padding:0 2px}\n"] }]
164
+ }], null, { size: [{
165
+ type: Input
166
+ }], min: [{
167
+ type: Input
168
+ }], show: [{
169
+ type: Input
170
+ }], index: [{
171
+ type: Output
172
+ }], change: [{
173
+ type: Output
174
+ }], total: [{
175
+ type: Input
176
+ }] }); })();
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNHM0QsZ0NBQXNEO0lBQUEsWUFBb0I7SUFBQSxpQkFBUTs7O0lBQTVCLGVBQW9CO0lBQXBCLDZDQUFvQjs7Ozs7SUFnQnRFLDBCQUFnQyxpQkFBQTtJQUNULHFPQUFTLGVBQUEsb0JBQVUsQ0FBQSxJQUFDO0lBRW5DLFlBQVk7SUFBQSxpQkFBUyxFQUFBOzs7O0lBRmUsZUFFdEM7SUFGc0Msb0ZBRXRDO0lBQUUsZUFBWTtJQUFaLGlDQUFZOzs7Ozs7SUF0QnBDLDhCQUEwQyxhQUFBLGFBQUE7SUFHOUIsaUZBQWtGO0lBQ3RGLGlCQUFNO0lBQ04sOEJBQStGLFNBQUEsWUFBQSxnQkFBQTtJQUdoRSxtS0FBUyxlQUFBLFlBQUssQ0FBQyxDQUFDLENBQUEsSUFBQzs7SUFDaEMsZ0NBQVU7SUFBQSwyQkFBVTtJQUFBLGlCQUFXLEVBQUEsRUFBQTtJQUl2Qyw4QkFBaUIsaUJBQUE7SUFDTSxvS0FBUyxlQUFBLGlCQUFVLENBQUEsSUFBQzs7SUFDbkMsaUNBQVU7SUFBQSw2QkFBWTtJQUFBLGlCQUFXLEVBQUEsRUFBQTtJQUl6Qyw2RUFJSztJQUVMLDhCQUFpQixpQkFBQTtJQUNNLG9LQUFTLGVBQUEsYUFBTSxDQUFBLElBQUM7O0lBQy9CLGlDQUFVO0lBQUEsOEJBQWE7SUFBQSxpQkFBVyxF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LElBQUksSUFBSTtZQUFFLE9BQU87UUFFdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNKLENBQUM7bUdBN0ZRLHNCQUFzQjs0RkFBdEIsc0JBQXNCO1lDUm5DLHlFQXVDTTs7WUF2Q3VCLCtCQUFVOzs7dUZEUTFCLHNCQUFzQjtjQU5sQyxTQUFTOzJCQUNJLGdCQUFnQjtnQkFPakIsSUFBSTtrQkFBWixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0ksS0FBSztrQkFBZCxNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBSUgsS0FBSztrQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLXBhZ2luYXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsncGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJbmZvUGFnaW5hdG9yQ29tcG9uZW50IHtcclxuXHJcbiAgICBASW5wdXQoKSBzaXplID0gNTtcclxuICAgIEBJbnB1dCgpIG1pbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2hvdyA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIGluZGV4ID0gMDtcclxuICAgIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBfdG90YWwgPSAwO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB0b3RhbCgpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90b3RhbDtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgdG90YWwodmFsdWUpe1xyXG4gICAgICAgIHRoaXMuX3RvdGFsID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2U6IGFueTtcclxuICAgIGluZGV4QWN0aXZlID0gMDtcclxuICAgIG51bWJlclBhZ2VzID0gMTtcclxuICAgIHBhZ2VzID0gW107XHJcbiAgICB0b3RhbERlc2NyaXB0aW9uID0gJyc7XHJcblxyXG4gICAgcmVmcmVzaCh0b3RhbDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy50b3RhbCA9IHRvdGFsO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemUoKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuaW5kZXhBY3RpdmUgPSB0aGlzLmluZGV4O1xyXG4gICAgICAgIHRoaXMubnVtYmVyUGFnZXMgPSBNYXRoLmNlaWwodGhpcy50b3RhbCAvIHRoaXMuc2l6ZSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMudG90YWwgPiB0aGlzLnNpemUpIHtcclxuICAgICAgICAgICAgbGV0IGkgPSAodGhpcy5pbmRleCA+IDIpID8gKHRoaXMuaW5kZXggLSAyKSA6IDA7XHJcbiAgICAgICAgICAgIGxldCB4ID0gdGhpcy5udW1iZXJQYWdlcztcclxuXHJcbiAgICAgICAgICAgIGlmICgodGhpcy5pbmRleCArIDIpIDwgdGhpcy5udW1iZXJQYWdlcyl7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxldCBhdXggPSAzO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5kZXggPCAyKVxyXG4gICAgICAgICAgICAgICAgICAgIGF1eCA9ICg1IC0gdGhpcy5pbmRleCk7XHJcblxyXG4gICAgICAgICAgICAgICAgeCA9ICh0aGlzLmluZGV4ICsgYXV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICgodGhpcy5pbmRleCAtIDIpID4gMClcclxuICAgICAgICAgICAgICAgIGkgPSB0aGlzLmluZGV4IC0gKDUgLSAodGhpcy5udW1iZXJQYWdlcyAtIHRoaXMuaW5kZXgpKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmIChpIDwgMClcclxuICAgICAgICAgICAgICAgIGkgPSAwO1xyXG5cclxuICAgICAgICAgICAgaWYgKHggPiB0aGlzLm51bWJlclBhZ2VzKVxyXG4gICAgICAgICAgICAgICAgeCA9IHRoaXMubnVtYmVyUGFnZXM7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgZm9yIChpOyBpIDwgeDsgaSsrKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlcy5wdXNoKGkpO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2VzLnB1c2goMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuc2V0RGVzY3JpcHRpb24oKTtcclxuICAgICAgICB0aGlzLnNob3cgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGdvdG8oaW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLmluZGV4ID09IGluZGV4KVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5leHQoKSB7XHJcbiAgICAgICAgdGhpcy5nb3RvKHRoaXMuaW5kZXggKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aW91cygpIHtcclxuICAgICAgICB0aGlzLmdvdG8odGhpcy5pbmRleCAtIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERlc2NyaXB0aW9uKCl7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJbml0ID0gKHRoaXMuc2l6ZSAqIHRoaXMuaW5kZXgpICsgMTtcclxuICAgICAgICBsZXQgY3VycmVudEVuZCA9IHRoaXMuc2l6ZSAqICh0aGlzLmluZGV4ICsgMSk7XHJcblxyXG4gICAgICAgIGlmIChjdXJyZW50RW5kID4gdGhpcy50b3RhbClcclxuICAgICAgICAgICAgY3VycmVudEVuZCA9IHRoaXMudG90YWw7XHJcblxyXG4gICAgICAgIGlmIChjdXJyZW50SW5pdCA9PSBudWxsIHx8IGN1cnJlbnRFbmQgPT0gbnVsbCkgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLnRvdGFsRGVzY3JpcHRpb24gPSBjdXJyZW50SW5pdC50b0xvY2FsZVN0cmluZygncHQtQlInKSArICcgLSAnICsgY3VycmVudEVuZC50b0xvY2FsZVN0cmluZygncHQtQlInKSArICcgZGUgJyArIHRoaXMudG90YWwudG9Mb2NhbGVTdHJpbmcoJ3B0LUJSJyk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiaW5mby1wYWdpbmF0b3JcIiAqbmdJZj1cInNob3dcIiA+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCIgW25nQ2xhc3NdPVwieyAnZGVzY3JpcHRpb25zLW1pbic6IG1pbiA9PSB0cnVlLCAnZGVzY3JpcHRpb25zJzogbWluICE9IHRydWUgfVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0b3RhbFwiICpuZ0lmPVwidG90YWxEZXNjcmlwdGlvbiAhPSBudWxsXCI+e3t0b3RhbERlc2NyaXB0aW9ufX08L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQgYWxpZ24tcmlnaHRcIiBbbmdDbGFzc109XCJ7ICdwYWdlcy1taW4nOiBtaW4gPT0gdHJ1ZSwgJ3BhZ2VzJzogbWluICE9IHRydWUgfVwiPlxyXG4gICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJnb3RvKDApXCIgW2Rpc2FibGVkXT1cImluZGV4ID09IDBcIiBbbWF0VG9vbHRpcF09XCInUHJpbWVpcmEnIHwgdHJhbnNsYXRlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Zmlyc3RfcGFnZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInByZXZpb3VzKClcIiBbZGlzYWJsZWRdPVwiaW5kZXggPT0gMFwiIFttYXRUb29sdGlwXT1cIidBbnRlcmlvcicgfCB0cmFuc2xhdGVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jaGV2cm9uX2xlZnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJnb3RvKHBhZ2UpXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnYWN0aXZlJzogcGFnZSA9PT0gaW5kZXhBY3RpdmVcclxuICAgICAgICAgICAgICAgICAgICB9XCIgPnt7cGFnZSArIDF9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJuZXh0KClcIiBbZGlzYWJsZWRdPVwiaW5kZXggPj0gKG51bWJlclBhZ2VzIC0gMSlcIiBbbWF0VG9vbHRpcF09XCInUHJveGltYScgfCB0cmFuc2xhdGVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiZ290byhudW1iZXJQYWdlcyAtIDEpXCIgW2Rpc2FibGVkXT1cImluZGV4ID49IChudW1iZXJQYWdlcyAtIDEpXCIgW21hdFRvb2x0aXBdPVwiJ1VsdGltYScgfCB0cmFuc2xhdGVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5sYXN0X3BhZ2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=