info-library 2.10.87 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/controls/alert/alert.component.d.ts +3 -0
  2. package/controls/autocomplete/autocomplete.component.d.ts +5 -2
  3. package/controls/big-checkbox/big-checkbox.component.d.ts +3 -0
  4. package/controls/card/card.component.d.ts +3 -0
  5. package/controls/card-menu/card-menu.component.d.ts +3 -0
  6. package/controls/checkbox/checkbox.component.d.ts +3 -0
  7. package/controls/chips/chips.component.d.ts +3 -0
  8. package/controls/date/date.component.d.ts +3 -0
  9. package/controls/date-month/date-month.component.d.ts +3 -0
  10. package/controls/editor/editor.component.d.ts +3 -0
  11. package/controls/grid/grid.component.d.ts +5 -0
  12. package/controls/input/input.component.d.ts +3 -0
  13. package/controls/input-list/input-list.component.d.ts +3 -0
  14. package/controls/list-checkbox/list-checkbox.component.d.ts +3 -0
  15. package/controls/message/message.component.d.ts +3 -0
  16. package/controls/multi-select/multi-select.component.d.ts +3 -0
  17. package/controls/paginator/paginator.component.d.ts +3 -0
  18. package/controls/select/select.component.d.ts +3 -0
  19. package/controls/timeline/timeline.component.d.ts +3 -0
  20. package/directives/mask.directive.d.ts +3 -0
  21. package/directives/unmask.directive.d.ts +3 -0
  22. package/esm2020/controls/alert/alert.component.mjs +74 -0
  23. package/esm2020/controls/autocomplete/autocomplete.component.mjs +258 -0
  24. package/esm2020/controls/big-checkbox/big-checkbox.component.mjs +298 -0
  25. package/esm2020/controls/card/card.component.mjs +77 -0
  26. package/esm2020/controls/card-menu/card-menu.component.mjs +145 -0
  27. package/esm2020/controls/checkbox/checkbox.component.mjs +93 -0
  28. package/esm2020/controls/chips/chips.component.mjs +113 -0
  29. package/esm2020/controls/date/date.component.mjs +141 -0
  30. package/esm2020/controls/date-month/date-month.component.mjs +148 -0
  31. package/esm2020/controls/editor/editor.component.mjs +135 -0
  32. package/esm2020/controls/grid/grid.component.mjs +1800 -0
  33. package/esm2020/controls/input/input.component.mjs +314 -0
  34. package/esm2020/controls/input-list/input-list.component.mjs +258 -0
  35. package/esm2020/controls/list-checkbox/list-checkbox.component.mjs +238 -0
  36. package/esm2020/controls/message/message.component.mjs +50 -0
  37. package/esm2020/controls/multi-select/multi-select.component.mjs +161 -0
  38. package/esm2020/controls/paginator/paginator.component.mjs +178 -0
  39. package/esm2020/controls/select/select.component.mjs +180 -0
  40. package/esm2020/controls/timeline/timeline.component.mjs +117 -0
  41. package/esm2020/directives/mask.directive.mjs +125 -0
  42. package/esm2020/directives/unmask.directive.mjs +28 -0
  43. package/esm2020/enum/dialog-buttons.enum.mjs +9 -0
  44. package/esm2020/enum/index.mjs +4 -0
  45. package/esm2020/enum/modal-action.enum.mjs +12 -0
  46. package/esm2020/enum/page-action.enum.mjs +10 -0
  47. package/esm2020/global-config.mjs +4 -0
  48. package/esm2020/info-library.mjs +5 -0
  49. package/esm2020/info-library.module.mjs +278 -0
  50. package/esm2020/layouts/dialog/dialog.component.mjs +188 -0
  51. package/esm2020/layouts/loading/loading.component.mjs +42 -0
  52. package/esm2020/layouts/main/main.component.mjs +276 -0
  53. package/esm2020/layouts/modal/modal.component.mjs +258 -0
  54. package/esm2020/layouts/pagebar/pagebar.component.mjs +404 -0
  55. package/esm2020/layouts/sidebar/sidebar.component.mjs +395 -0
  56. package/esm2020/layouts/topbar/topbar.component.mjs +863 -0
  57. package/esm2020/layouts/topmenu/topmenu.component.mjs +165 -0
  58. package/esm2020/model/app-config.model.mjs +14 -0
  59. package/esm2020/model/data-access.model.mjs +35 -0
  60. package/esm2020/model/dialog-result.model.mjs +8 -0
  61. package/esm2020/model/dialog.model.mjs +16 -0
  62. package/esm2020/model/form-prop.model.mjs +35 -0
  63. package/esm2020/model/grid-button.model.mjs +21 -0
  64. package/esm2020/model/index.mjs +15 -0
  65. package/esm2020/model/last-search.model.mjs +9 -0
  66. package/esm2020/model/login.model.mjs +9 -0
  67. package/esm2020/model/method-grid-button.model.mjs +9 -0
  68. package/esm2020/model/notification.model.mjs +9 -0
  69. package/esm2020/model/pagebar-buttons.model.mjs +15 -0
  70. package/esm2020/model/permission.model.mjs +3 -0
  71. package/esm2020/model/platform.model.mjs +21 -0
  72. package/esm2020/model/session.model.mjs +8 -0
  73. package/esm2020/pipe/index.mjs +3 -0
  74. package/esm2020/pipe/mask.pipe.mjs +34 -0
  75. package/esm2020/pipe/translate.pipe.mjs +26 -0
  76. package/esm2020/public_api.mjs +36 -0
  77. package/esm2020/service/authentication.service.mjs +358 -0
  78. package/esm2020/service/configuration.service.mjs +59 -0
  79. package/esm2020/service/data.service.mjs +112 -0
  80. package/esm2020/service/index.mjs +6 -0
  81. package/esm2020/service/theme.service.mjs +79 -0
  82. package/esm2020/service/translate.service.mjs +53 -0
  83. package/esm2020/utils/utilities.mjs +142 -0
  84. package/fesm2015/info-library.mjs +9326 -0
  85. package/fesm2015/info-library.mjs.map +1 -0
  86. package/fesm2020/info-library.mjs +8474 -0
  87. package/fesm2020/info-library.mjs.map +1 -0
  88. package/index.d.ts +5 -0
  89. package/info-library.module.d.ts +58 -0
  90. package/layouts/dialog/dialog.component.d.ts +5 -0
  91. package/layouts/loading/loading.component.d.ts +3 -0
  92. package/layouts/main/main.component.d.ts +6 -0
  93. package/layouts/modal/modal.component.d.ts +3 -0
  94. package/layouts/pagebar/pagebar.component.d.ts +5 -0
  95. package/layouts/sidebar/sidebar.component.d.ts +4 -1
  96. package/layouts/topbar/topbar.component.d.ts +4 -1
  97. package/layouts/topmenu/topmenu.component.d.ts +3 -0
  98. package/package.json +28 -13
  99. package/pipe/mask.pipe.d.ts +3 -0
  100. package/pipe/translate.pipe.d.ts +3 -0
  101. package/service/authentication.service.d.ts +5 -0
  102. package/service/configuration.service.d.ts +3 -0
  103. package/service/data.service.d.ts +3 -0
  104. package/service/theme.service.d.ts +3 -0
  105. package/service/translate.service.d.ts +3 -0
  106. package/utils/utilities.d.ts +3 -0
  107. package/bundles/info-library.umd.js +0 -9740
  108. package/bundles/info-library.umd.js.map +0 -1
  109. package/bundles/info-library.umd.min.js +0 -2
  110. package/bundles/info-library.umd.min.js.map +0 -1
  111. package/esm2015/controls/alert/alert.component.js +0 -43
  112. package/esm2015/controls/autocomplete/autocomplete.component.js +0 -386
  113. package/esm2015/controls/big-checkbox/big-checkbox.component.js +0 -282
  114. package/esm2015/controls/card/card.component.js +0 -64
  115. package/esm2015/controls/card-menu/card-menu.component.js +0 -90
  116. package/esm2015/controls/checkbox/checkbox.component.js +0 -130
  117. package/esm2015/controls/chips/chips.component.js +0 -124
  118. package/esm2015/controls/date/date.component.js +0 -167
  119. package/esm2015/controls/date-month/date-month.component.js +0 -181
  120. package/esm2015/controls/editor/editor.component.js +0 -237
  121. package/esm2015/controls/grid/grid.component.js +0 -1391
  122. package/esm2015/controls/input/input.component.js +0 -196
  123. package/esm2015/controls/input-list/input-list.component.js +0 -160
  124. package/esm2015/controls/list-checkbox/list-checkbox.component.js +0 -151
  125. package/esm2015/controls/message/message.component.js +0 -47
  126. package/esm2015/controls/multi-select/multi-select.component.js +0 -213
  127. package/esm2015/controls/paginator/paginator.component.js +0 -151
  128. package/esm2015/controls/select/select.component.js +0 -231
  129. package/esm2015/controls/timeline/timeline.component.js +0 -73
  130. package/esm2015/directives/mask.directive.js +0 -202
  131. package/esm2015/directives/unmask.directive.js +0 -51
  132. package/esm2015/enum/dialog-buttons.enum.js +0 -20
  133. package/esm2015/enum/index.js +0 -9
  134. package/esm2015/enum/modal-action.enum.js +0 -26
  135. package/esm2015/enum/page-action.enum.js +0 -22
  136. package/esm2015/global-config.js +0 -11
  137. package/esm2015/info-library.js +0 -27
  138. package/esm2015/info-library.module.js +0 -174
  139. package/esm2015/layouts/dialog/dialog.component.js +0 -173
  140. package/esm2015/layouts/loading/loading.component.js +0 -42
  141. package/esm2015/layouts/main/main.component.js +0 -312
  142. package/esm2015/layouts/modal/modal.component.js +0 -232
  143. package/esm2015/layouts/pagebar/pagebar.component.js +0 -286
  144. package/esm2015/layouts/sidebar/sidebar.component.js +0 -231
  145. package/esm2015/layouts/topbar/topbar.component.js +0 -413
  146. package/esm2015/layouts/topmenu/topmenu.component.js +0 -181
  147. package/esm2015/model/app-config.model.js +0 -39
  148. package/esm2015/model/data-access.model.js +0 -65
  149. package/esm2015/model/dialog-result.model.js +0 -23
  150. package/esm2015/model/dialog.model.js +0 -47
  151. package/esm2015/model/form-prop.model.js +0 -61
  152. package/esm2015/model/grid-button.model.js +0 -62
  153. package/esm2015/model/index.js +0 -20
  154. package/esm2015/model/last-search.model.js +0 -24
  155. package/esm2015/model/login.model.js +0 -27
  156. package/esm2015/model/method-grid-button.model.js +0 -27
  157. package/esm2015/model/notification.model.js +0 -34
  158. package/esm2015/model/pagebar-buttons.model.js +0 -39
  159. package/esm2015/model/permission.model.js +0 -16
  160. package/esm2015/model/platform.model.js +0 -56
  161. package/esm2015/model/session.model.js +0 -53
  162. package/esm2015/pipe/index.js +0 -8
  163. package/esm2015/pipe/mask.pipe.js +0 -47
  164. package/esm2015/pipe/translate.pipe.js +0 -45
  165. package/esm2015/public_api.js +0 -41
  166. package/esm2015/service/authentication.service.js +0 -732
  167. package/esm2015/service/configuration.service.js +0 -107
  168. package/esm2015/service/data.service.js +0 -292
  169. package/esm2015/service/index.js +0 -11
  170. package/esm2015/service/theme.service.js +0 -133
  171. package/esm2015/service/translate.service.js +0 -105
  172. package/esm2015/utils/utilities.js +0 -256
  173. package/fesm2015/info-library.js +0 -8792
  174. package/fesm2015/info-library.js.map +0 -1
  175. package/info-library.d.ts +0 -21
  176. package/info-library.metadata.json +0 -1
@@ -0,0 +1,276 @@
1
+ import { Component, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, ViewChild } from "@angular/core";
2
+ import { Router } from "@angular/router";
3
+ import { InfoDataService } from "../../service/data.service";
4
+ import { InfoPlatformModel } from "../../model/platform.model";
5
+ import { InfoSessionModel } from "../../model/session.model";
6
+ import { InfoThemeService } from '../../service/theme.service';
7
+ import { InfoTopbarComponent } from "../topbar/topbar.component";
8
+ import { InfoSidebarComponent } from "../sidebar/sidebar.component";
9
+ import { Utilities } from "../../utils/utilities";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../../model/platform.model";
12
+ import * as i2 from "../../model/session.model";
13
+ import * as i3 from "@angular/router";
14
+ import * as i4 from "../../service/data.service";
15
+ import * as i5 from "../../service/theme.service";
16
+ import * as i6 from "../../utils/utilities";
17
+ import * as i7 from "@angular/common";
18
+ import * as i8 from "../../controls/alert/alert.component";
19
+ import * as i9 from "../sidebar/sidebar.component";
20
+ import * as i10 from "../topbar/topbar.component";
21
+ import * as i11 from "../topmenu/topmenu.component";
22
+ import * as i12 from "../../pipe/translate.pipe";
23
+ const _c0 = ["topbar"];
24
+ const _c1 = ["sidebar"];
25
+ function InfoMainComponent_info_topmenu_4_Template(rf, ctx) { if (rf & 1) {
26
+ const _r5 = i0.ɵɵgetCurrentView();
27
+ i0.ɵɵelementStart(0, "info-topmenu", 11);
28
+ i0.ɵɵlistener("onchangestate", function InfoMainComponent_info_topmenu_4_Template_info_topmenu_onchangestate_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onChangeSideBarState()); });
29
+ i0.ɵɵelementEnd();
30
+ } if (rf & 2) {
31
+ const ctx_r1 = i0.ɵɵnextContext();
32
+ i0.ɵɵproperty("api", ctx_r1.menuapi)("method", ctx_r1.menumethod);
33
+ } }
34
+ function InfoMainComponent_info_sidebar_5_Template(rf, ctx) { if (rf & 1) {
35
+ const _r8 = i0.ɵɵgetCurrentView();
36
+ i0.ɵɵelementStart(0, "info-sidebar", 12, 13);
37
+ i0.ɵɵlistener("onchangestate", function InfoMainComponent_info_sidebar_5_Template_info_sidebar_onchangestate_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onChangeSideBarState()); });
38
+ i0.ɵɵelementEnd();
39
+ } if (rf & 2) {
40
+ const ctx_r2 = i0.ɵɵnextContext();
41
+ i0.ɵɵproperty("api", ctx_r2.menuapi)("method", ctx_r2.menumethod)("activemenubyurl", ctx_r2.activemenubyurl);
42
+ } }
43
+ function InfoMainComponent_div_13_Template(rf, ctx) { if (rf & 1) {
44
+ i0.ɵɵelementStart(0, "div", 14);
45
+ i0.ɵɵtext(1);
46
+ i0.ɵɵpipe(2, "translate");
47
+ i0.ɵɵelementEnd();
48
+ } if (rf & 2) {
49
+ const ctx_r3 = i0.ɵɵnextContext();
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(2, 2, "Versao"), " ", ctx_r3.version, "");
52
+ } }
53
+ const _c2 = [[["", "infoia", ""]], [["", "main", ""]]];
54
+ const _c3 = function (a0) { return { "open-sidebar": a0 }; };
55
+ const _c4 = ["[infoia]", "[main]"];
56
+ export class InfoMainComponent {
57
+ constructor(_platform, _session, _router, _dataAccessService, _themeService, _renderer, _element, _utilities) {
58
+ this._platform = _platform;
59
+ this._session = _session;
60
+ this._router = _router;
61
+ this._dataAccessService = _dataAccessService;
62
+ this._themeService = _themeService;
63
+ this._renderer = _renderer;
64
+ this._element = _element;
65
+ this._utilities = _utilities;
66
+ this.opened = false;
67
+ this.version = null;
68
+ this.messages = [];
69
+ this.enabledia = false;
70
+ this._themes = [];
71
+ this.languages = [];
72
+ this.profileurl = '';
73
+ this.loginurl = 'login';
74
+ this.menuapi = null;
75
+ this.menumethod = 'GetMenu';
76
+ this.activemenubyurl = false;
77
+ this.loggeduserapi = null;
78
+ this.loggedusermethod = 'GetLoggedUser';
79
+ this.notificationapi = null;
80
+ this.notificationgetmethod = 'Get';
81
+ this.notificationpostmethod = 'PostNotification';
82
+ this.notificationverifymethod = 'Verify';
83
+ this.notificationverifyenabled = true;
84
+ this.fastsearchform = null;
85
+ this.fastsearchformwidth = 1200;
86
+ this.fastsearchtitle = 'PesquisaRapidaCarteira';
87
+ this.setthemeonchangecompany = false;
88
+ this.shortcutapi = null;
89
+ this.ongetnotification = new EventEmitter();
90
+ this.onverifynotification = new EventEmitter();
91
+ }
92
+ get themes() { return this._themes; }
93
+ set themes(value) {
94
+ this._themes = value;
95
+ this._platform.Themes = this.themes;
96
+ if (this._session.TemaId > 0 && this.setthemeonchangecompany)
97
+ this._themeService.setThemeByLoggedCompany();
98
+ }
99
+ ngOnInit() {
100
+ this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);
101
+ if (this._platform.Config.topMenu)
102
+ this._renderer.addClass(this._element.nativeElement, 'topmenu');
103
+ this._platform.Themes = this.themes;
104
+ this._platform.ShortcutApi = this.shortcutapi;
105
+ if (this._utilities.getLocalStorage(this._platform.TokenKey) == null)
106
+ this._router.navigateByUrl(this.loginurl);
107
+ else
108
+ this.getLoggedUser();
109
+ if (document.body.classList.length > 0) {
110
+ let theme = document.body.classList[0];
111
+ if (document.body.classList[0].indexOf('-theme') < 0 && this._platform.Config.theme != null)
112
+ theme = '_' + this._platform.Config.theme + '-theme';
113
+ this._themeService.setTheme(theme);
114
+ }
115
+ }
116
+ onChangeTopBarState() {
117
+ this.opened = !this.opened;
118
+ }
119
+ onChangeSideBarState() {
120
+ this.topbar.openSidebar();
121
+ }
122
+ onClick(targetElement) {
123
+ if (this.opened &&
124
+ !this.sidebar._element.nativeElement.contains(targetElement) &&
125
+ !this.topbar._element.nativeElement.contains(targetElement))
126
+ this.onChangeSideBarState();
127
+ }
128
+ getLoggedUser() {
129
+ var cSession = this._utilities.getLocalStorage(this._platform.SessionKey);
130
+ if (cSession != null)
131
+ Object.assign(this._session, JSON.parse(cSession));
132
+ if (this._session.UsuarioId != null || this.loggeduserapi == null)
133
+ return;
134
+ this._dataAccessService.get(this.loggeduserapi, this.loggedusermethod).subscribe(r => {
135
+ if (r.success) {
136
+ this._session.UsuarioId = r.data.UsuarioId;
137
+ this._session.Usuario = r.data.Usuario;
138
+ this._session.Login = r.data.Login;
139
+ this._session.Email = r.data.Email;
140
+ this._session.Perfil = r.data.Perfil;
141
+ this._session.EmpresaId = r.data.EmpresaId;
142
+ this._session.TemaId = r.data.TemaId;
143
+ this._session.Empresa = r.data.Empresa;
144
+ this._session.UltimoAcesso = r.data.UltimoAcesso;
145
+ this._session.Master = r.data.Master;
146
+ this._session.Clone = r.data.Clone;
147
+ this._session.DataMovimentacao = r.data.DataMovimentacao;
148
+ this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;
149
+ this._session.Empresas = r.data.Empresas;
150
+ this._session.Parametros = r.data.Parametros;
151
+ this._session.MFA = r.data.MFA;
152
+ this._session.TempoInatividade = r.data.TempoInatividade;
153
+ this._session.Versao = r.data.Versao;
154
+ this.version = r.data.Versao;
155
+ if (this._session.Parametros.some(p => p.Chave == 'DisclaimerGeral'))
156
+ this.messages.push(this._session.Parametros.find(p => p.Chave == 'DisclaimerGeral').Valor);
157
+ if (this._session.TemaId != null)
158
+ this._themeService.setThemeByLoggedCompany();
159
+ }
160
+ });
161
+ }
162
+ onGetNotificationsTopBar(event) {
163
+ this.ongetnotification.emit(event);
164
+ }
165
+ onVerifyNotificationsTopBar(event) {
166
+ this.onverifynotification.emit(event);
167
+ }
168
+ }
169
+ /** @nocollapse */ InfoMainComponent.ɵfac = function InfoMainComponent_Factory(t) { return new (t || InfoMainComponent)(i0.ɵɵdirectiveInject(i1.InfoPlatformModel), i0.ɵɵdirectiveInject(i2.InfoSessionModel), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.InfoDataService), i0.ɵɵdirectiveInject(i5.InfoThemeService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i6.Utilities)); };
170
+ /** @nocollapse */ InfoMainComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoMainComponent, selectors: [["info-main"]], viewQuery: function InfoMainComponent_Query(rf, ctx) { if (rf & 1) {
171
+ i0.ɵɵviewQuery(_c0, 5);
172
+ i0.ɵɵviewQuery(_c1, 5);
173
+ } if (rf & 2) {
174
+ let _t;
175
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topbar = _t.first);
176
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sidebar = _t.first);
177
+ } }, hostBindings: function InfoMainComponent_HostBindings(rf, ctx) { if (rf & 1) {
178
+ i0.ɵɵlistener("click", function InfoMainComponent_click_HostBindingHandler($event) { return ctx.onClick($event.target); }, false, i0.ɵɵresolveDocument);
179
+ } }, inputs: { opened: "opened", version: "version", messages: "messages", enabledia: "enabledia", themes: "themes", languages: "languages", profileurl: "profileurl", loginurl: "loginurl", menuapi: "menuapi", menumethod: "menumethod", activemenubyurl: "activemenubyurl", loggeduserapi: "loggeduserapi", loggedusermethod: "loggedusermethod", notificationapi: "notificationapi", notificationgetmethod: "notificationgetmethod", notificationpostmethod: "notificationpostmethod", notificationverifymethod: "notificationverifymethod", notificationverifyenabled: "notificationverifyenabled", fastsearchform: "fastsearchform", fastsearchformwidth: "fastsearchformwidth", fastsearchtitle: "fastsearchtitle", setthemeonchangecompany: "setthemeonchangecompany", shortcutapi: "shortcutapi" }, outputs: { ongetnotification: "ongetnotification", onverifynotification: "onverifynotification" }, ngContentSelectors: _c4, decls: 15, vars: 23, consts: [[1, "site-container", 3, "ngClass"], [3, "themes", "languages", "profileurl", "notificationapi", "notificationgetmethod", "notificationpostmethod", "notificationverifymethod", "notificationverifyenabled", "fastsearchform", "fastsearchformwidth", "fastsearchtitle", "setthemeonchangecompany", "enabledia", "onchangestate", "ongetnotification", "onverifynotification"], ["topbar", ""], [3, "api", "method", "onchangestate", 4, "ngIf"], [3, "api", "method", "activemenubyurl", "onchangestate", 4, "ngIf"], [1, "main-content"], [1, "main-content-wrap"], [1, "footer", "row"], [1, "copyright", "col-md-9"], ["class", "version col-md-3", 4, "ngIf"], [3, "messages"], [3, "api", "method", "onchangestate"], [3, "api", "method", "activemenubyurl", "onchangestate"], ["sidebar", ""], [1, "version", "col-md-3"]], template: function InfoMainComponent_Template(rf, ctx) { if (rf & 1) {
180
+ i0.ɵɵprojectionDef(_c2);
181
+ i0.ɵɵelementStart(0, "div", 0)(1, "info-topbar", 1, 2);
182
+ i0.ɵɵlistener("onchangestate", function InfoMainComponent_Template_info_topbar_onchangestate_1_listener() { return ctx.onChangeTopBarState(); })("ongetnotification", function InfoMainComponent_Template_info_topbar_ongetnotification_1_listener($event) { return ctx.onGetNotificationsTopBar($event); })("onverifynotification", function InfoMainComponent_Template_info_topbar_onverifynotification_1_listener($event) { return ctx.onVerifyNotificationsTopBar($event); });
183
+ i0.ɵɵprojection(3);
184
+ i0.ɵɵelementEnd();
185
+ i0.ɵɵtemplate(4, InfoMainComponent_info_topmenu_4_Template, 1, 2, "info-topmenu", 3);
186
+ i0.ɵɵtemplate(5, InfoMainComponent_info_sidebar_5_Template, 2, 3, "info-sidebar", 4);
187
+ i0.ɵɵelementStart(6, "main", 5)(7, "div", 6);
188
+ i0.ɵɵprojection(8, 1);
189
+ i0.ɵɵelementEnd();
190
+ i0.ɵɵelementStart(9, "div", 7)(10, "div", 8);
191
+ i0.ɵɵtext(11);
192
+ i0.ɵɵpipe(12, "translate");
193
+ i0.ɵɵelementEnd();
194
+ i0.ɵɵtemplate(13, InfoMainComponent_div_13_Template, 3, 4, "div", 9);
195
+ i0.ɵɵelementEnd();
196
+ i0.ɵɵelement(14, "info-alert", 10);
197
+ i0.ɵɵelementEnd()();
198
+ } if (rf & 2) {
199
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c3, ctx.opened));
200
+ i0.ɵɵadvance(1);
201
+ i0.ɵɵproperty("themes", ctx.themes)("languages", ctx.languages)("profileurl", ctx.profileurl)("notificationapi", ctx.notificationapi)("notificationgetmethod", ctx.notificationgetmethod)("notificationpostmethod", ctx.notificationpostmethod)("notificationverifymethod", ctx.notificationverifymethod)("notificationverifyenabled", ctx.notificationverifyenabled)("fastsearchform", ctx.fastsearchform)("fastsearchformwidth", ctx.fastsearchformwidth)("fastsearchtitle", ctx.fastsearchtitle)("setthemeonchangecompany", ctx.setthemeonchangecompany)("enabledia", ctx.enabledia);
202
+ i0.ɵɵadvance(3);
203
+ i0.ɵɵproperty("ngIf", ctx._platform.Config.topMenu);
204
+ i0.ɵɵadvance(1);
205
+ i0.ɵɵproperty("ngIf", !ctx._platform.Config.topMenu);
206
+ i0.ɵɵadvance(6);
207
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 19, "Copyright"));
208
+ i0.ɵɵadvance(2);
209
+ i0.ɵɵproperty("ngIf", ctx.version);
210
+ i0.ɵɵadvance(1);
211
+ i0.ɵɵproperty("messages", ctx.messages);
212
+ } }, dependencies: [i7.NgClass, i7.NgIf, i8.InfoAlertComponent, i9.InfoSidebarComponent, i10.InfoTopbarComponent, i11.InfoTopMenuComponent, i12.InfoTranslatePipe], styles: [".topmenu[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{padding:180px 0 0!important}.uxc3[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{padding:140px 0 0 240px;transition:padding .2s ease-in-out}.uxc3[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .bg[_ngcontent-%COMP%]{background:#FFF}@media screen and (max-width: 991px){.uxc3[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{padding-left:0;padding-top:70px}}.uxc3[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{background:#fafafa}.uxc3[_nghost-%COMP%] .main-content[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{text-align:right}.uxc3[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-topbar[_ngcontent-%COMP%]{left:0}.uxc3[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-sidebar[_ngcontent-%COMP%]{left:0}@media screen and (max-width: 991px){.uxc3[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-sidebar[_ngcontent-%COMP%] .sidebar-overlay[_ngcontent-%COMP%]{opacity:.5;transition:.2s opacity 0s ease-in-out,0s visibility 0s ease-in-out;visibility:visible}}@media screen and (max-width: 991px){.uxc3[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-sidebar[_ngcontent-%COMP%] .site-sidebar[_ngcontent-%COMP%]:before, .uxc3[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-sidebar[_ngcontent-%COMP%] .sub-menu[_ngcontent-%COMP%]{display:block!important}}.uxc2[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{padding:131px 0 0 240px;transition:padding .2s ease-in-out}@media only screen and (max-width: 991px){.uxc2[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{padding-left:0}}@media only screen and (max-width: 543px){.uxc2[_nghost-%COMP%] .main-content[_ngcontent-%COMP%]{padding-top:123px}}.uxc2[_nghost-%COMP%] info-topbar[_ngcontent-%COMP%]{transition:left .2s ease-in-out}@media only screen and (max-width: 991px){.uxc2[_nghost-%COMP%] info-topbar[_ngcontent-%COMP%]{width:100%}}.uxc2[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-topbar[_ngcontent-%COMP%]{left:240px}.uxc2[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-sidebar[_ngcontent-%COMP%]{left:0}@media only screen and (max-width: 991px){.uxc2[_nghost-%COMP%] .open-sidebar[_ngcontent-%COMP%] info-sidebar[_ngcontent-%COMP%] .sidebar-overlay{opacity:1;transition:.2s opacity 0s ease-in-out,0s visibility 0s ease-in-out;visibility:visible}}.uxc2[_nghost-%COMP%] .footer[_ngcontent-%COMP%]{position:sticky;bottom:0;z-index:9997;align-items:center;background:rgba(0,0,0,.1);display:flex;font-size:.8rem;height:3.1428572rem;justify-content:space-between;width:100%}@media only screen and (max-width: 543px){.uxc2[_nghost-%COMP%] .footer[_ngcontent-%COMP%]{font-size:.7rem}}.uxc2[_nghost-%COMP%] .footer[_ngcontent-%COMP%] .copyright[_ngcontent-%COMP%], .uxc2[_nghost-%COMP%] .footer[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{padding:10px 22px}@media only screen and (max-width: 543px){.uxc2[_nghost-%COMP%] .footer[_ngcontent-%COMP%] .copyright[_ngcontent-%COMP%]{padding-right:0}}.uxc2[_nghost-%COMP%] .footer[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{text-align:right;color:#000}"] });
213
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoMainComponent, [{
214
+ type: Component,
215
+ args: [{ selector: 'info-main', template: "<div class=\"site-container\" [ngClass]=\"{ 'open-sidebar': opened }\">\r\n \r\n <info-topbar #topbar\r\n [themes]=\"themes\" \r\n [languages]=\"languages\" \r\n [profileurl]=\"profileurl\"\r\n [notificationapi]=\"notificationapi\" \r\n [notificationgetmethod]=\"notificationgetmethod\" \r\n [notificationpostmethod]=\"notificationpostmethod\"\r\n [notificationverifymethod]=\"notificationverifymethod\"\r\n [notificationverifyenabled]=\"notificationverifyenabled\"\r\n [fastsearchform]=\"fastsearchform\"\r\n [fastsearchformwidth]=\"fastsearchformwidth\"\r\n [fastsearchtitle]=\"fastsearchtitle\"\r\n [setthemeonchangecompany]=\"setthemeonchangecompany\"\r\n (onchangestate)=\"onChangeTopBarState()\"\r\n (ongetnotification)=\"onGetNotificationsTopBar($event)\"\r\n (onverifynotification)=\"onVerifyNotificationsTopBar($event)\"\r\n [enabledia]=\"enabledia\">\r\n <ng-content select=\"[infoia]\"></ng-content>\r\n </info-topbar>\r\n \r\n <info-topmenu *ngIf=\"_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-topmenu>\r\n\r\n <info-sidebar #sidebar *ngIf=\"!_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n [activemenubyurl]=\"activemenubyurl\"\r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-sidebar>\r\n\r\n <main class=\"main-content\">\r\n <div class=\"main-content-wrap\">\r\n <ng-content select=\"[main]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"footer row\">\r\n <div class=\"copyright col-md-9\">{{ 'Copyright' | translate}}</div>\r\n <div class=\"version col-md-3\" *ngIf=\"version\">{{ 'Versao' | translate}} {{ version }}</div>\r\n </div>\r\n \r\n <info-alert [messages]=\"messages\"></info-alert>\r\n </main>\r\n</div>", styles: [":host.topmenu .main-content{padding:180px 0 0!important}:host.uxc3 .main-content{padding:140px 0 0 240px;transition:padding .2s ease-in-out}:host.uxc3 .main-content .bg{background:#FFF}@media screen and (max-width: 991px){:host.uxc3 .main-content{padding-left:0;padding-top:70px}}:host.uxc3 .main-content .footer{background:#fafafa}:host.uxc3 .main-content .footer .version{text-align:right}:host.uxc3 .open-sidebar info-topbar{left:0}:host.uxc3 .open-sidebar info-sidebar{left:0}@media screen and (max-width: 991px){:host.uxc3 .open-sidebar info-sidebar .sidebar-overlay{opacity:.5;transition:.2s opacity 0s ease-in-out,0s visibility 0s ease-in-out;visibility:visible}}@media screen and (max-width: 991px){:host.uxc3 .open-sidebar info-sidebar .site-sidebar:before,:host.uxc3 .open-sidebar info-sidebar .sub-menu{display:block!important}}:host.uxc2 .main-content{padding:131px 0 0 240px;transition:padding .2s ease-in-out}@media only screen and (max-width: 991px){:host.uxc2 .main-content{padding-left:0}}@media only screen and (max-width: 543px){:host.uxc2 .main-content{padding-top:123px}}:host.uxc2 info-topbar{transition:left .2s ease-in-out}@media only screen and (max-width: 991px){:host.uxc2 info-topbar{width:100%}}:host.uxc2 .open-sidebar info-topbar{left:240px}:host.uxc2 .open-sidebar info-sidebar{left:0}@media only screen and (max-width: 991px){:host.uxc2 .open-sidebar info-sidebar ::ng-deep .sidebar-overlay{opacity:1;transition:.2s opacity 0s ease-in-out,0s visibility 0s ease-in-out;visibility:visible}}:host.uxc2 .footer{position:sticky;bottom:0;z-index:9997;align-items:center;background:rgba(0,0,0,.1);display:flex;font-size:.8rem;height:3.1428572rem;justify-content:space-between;width:100%}@media only screen and (max-width: 543px){:host.uxc2 .footer{font-size:.7rem}}:host.uxc2 .footer .copyright,:host.uxc2 .footer .version{padding:10px 22px}@media only screen and (max-width: 543px){:host.uxc2 .footer .copyright{padding-right:0}}:host.uxc2 .footer .version{text-align:right;color:#000}\n"] }]
216
+ }], function () { return [{ type: i1.InfoPlatformModel }, { type: i2.InfoSessionModel }, { type: i3.Router }, { type: i4.InfoDataService }, { type: i5.InfoThemeService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i6.Utilities }]; }, { opened: [{
217
+ type: Input
218
+ }], version: [{
219
+ type: Input
220
+ }], messages: [{
221
+ type: Input
222
+ }], enabledia: [{
223
+ type: Input
224
+ }], themes: [{
225
+ type: Input
226
+ }], languages: [{
227
+ type: Input
228
+ }], profileurl: [{
229
+ type: Input
230
+ }], loginurl: [{
231
+ type: Input
232
+ }], menuapi: [{
233
+ type: Input
234
+ }], menumethod: [{
235
+ type: Input
236
+ }], activemenubyurl: [{
237
+ type: Input
238
+ }], loggeduserapi: [{
239
+ type: Input
240
+ }], loggedusermethod: [{
241
+ type: Input
242
+ }], notificationapi: [{
243
+ type: Input
244
+ }], notificationgetmethod: [{
245
+ type: Input
246
+ }], notificationpostmethod: [{
247
+ type: Input
248
+ }], notificationverifymethod: [{
249
+ type: Input
250
+ }], notificationverifyenabled: [{
251
+ type: Input
252
+ }], fastsearchform: [{
253
+ type: Input
254
+ }], fastsearchformwidth: [{
255
+ type: Input
256
+ }], fastsearchtitle: [{
257
+ type: Input
258
+ }], setthemeonchangecompany: [{
259
+ type: Input
260
+ }], shortcutapi: [{
261
+ type: Input
262
+ }], ongetnotification: [{
263
+ type: Output
264
+ }], onverifynotification: [{
265
+ type: Output
266
+ }], topbar: [{
267
+ type: ViewChild,
268
+ args: ['topbar']
269
+ }], sidebar: [{
270
+ type: ViewChild,
271
+ args: ['sidebar']
272
+ }], onClick: [{
273
+ type: HostListener,
274
+ args: ['document:click', ['$event.target']]
275
+ }] }); })();
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2xheW91dHMvbWFpbi9tYWluLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9tYWluL21haW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2M5Qyx3Q0FHNkM7SUFBekMsNkxBQWlCLGVBQUEsNkJBQXNCLENBQUEsSUFBQztJQUM1QyxpQkFBZTs7O0lBSFgsb0NBQWUsNkJBQUE7Ozs7SUFLbkIsNENBSTZDO0lBQXpDLDZMQUFpQixlQUFBLDZCQUFzQixDQUFBLElBQUM7SUFDNUMsaUJBQWU7OztJQUpYLG9DQUFlLDZCQUFBLDJDQUFBOzs7SUFhWCwrQkFB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bGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgSW5mb0RhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEluZm9QbGF0Zm9ybU1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsXCI7XHJcbmltcG9ydCB7IEluZm9TZXNzaW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWwvc2Vzc2lvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJbmZvVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90aGVtZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5mb1RvcGJhckNvbXBvbmVudCB9IGZyb20gXCIuLi90b3BiYXIvdG9wYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJbmZvU2lkZWJhckNvbXBvbmVudCB9IGZyb20gXCIuLi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFV0aWxpdGllcyB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsaXRpZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLW1haW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdtYWluLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydtYWluLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9NYWluQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHZlcnNpb246IHN0cmluZyA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBtZXNzYWdlczogYW55W10gPSBbXTtcclxuICAgIEBJbnB1dCgpIGVuYWJsZWRpYTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfdGhlbWVzOiBhbnkgPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKSBnZXQgdGhlbWVzKCkgeyByZXR1cm4gdGhpcy5fdGhlbWVzOyB9XHJcbiAgICBzZXQgdGhlbWVzKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fdGhlbWVzID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fcGxhdGZvcm0uVGhlbWVzID0gdGhpcy50aGVtZXM7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLlRlbWFJZCA+IDAgJiYgdGhpcy5zZXR0aGVtZW9uY2hhbmdlY29tcGFueSlcclxuICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lQnlMb2dnZWRDb21wYW55KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbGFuZ3VhZ2VzOiBhbnkgPSBbXTtcclxuICAgIEBJbnB1dCgpIHByb2ZpbGV1cmw6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgbG9naW51cmw6IHN0cmluZyA9ICdsb2dpbic7XHJcblxyXG4gICAgQElucHV0KCkgbWVudWFwaTogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1lbnVtZXRob2Q6IHN0cmluZyA9ICdHZXRNZW51JztcclxuICAgIEBJbnB1dCgpIGFjdGl2ZW1lbnVieXVybDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpIGxvZ2dlZHVzZXJhcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBsb2dnZWR1c2VybWV0aG9kOiBzdHJpbmcgPSAnR2V0TG9nZ2VkVXNlcic7XHJcblxyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uYXBpOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uZ2V0bWV0aG9kOiBzdHJpbmcgPSAnR2V0JztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnBvc3RtZXRob2Q6IHN0cmluZyA9ICdQb3N0Tm90aWZpY2F0aW9uJztcclxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbnZlcmlmeW1ldGhvZDogc3RyaW5nID0gJ1ZlcmlmeSc7XHJcbiAgICBASW5wdXQoKSBub3RpZmljYXRpb252ZXJpZnllbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIFxyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBmYXN0c2VhcmNoZm9ybXdpZHRoOiBudW1iZXIgPSAxMjAwO1xyXG4gICAgQElucHV0KCkgZmFzdHNlYXJjaHRpdGxlOiBzdHJpbmcgPSAnUGVzcXVpc2FSYXBpZGFDYXJ0ZWlyYSc7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpIHNldHRoZW1lb25jaGFuZ2Vjb21wYW55OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgc2hvcnRjdXRhcGk6IGFueSA9IG51bGw7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uZ2V0bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9udmVyaWZ5bm90aWZpY2F0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3RvcGJhcicpIHRvcGJhcjogSW5mb1RvcGJhckNvbXBvbmVudDtcclxuICAgIEBWaWV3Q2hpbGQoJ3NpZGViYXInKSBzaWRlYmFyOiBJbmZvU2lkZWJhckNvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgX3BsYXRmb3JtOiBJbmZvUGxhdGZvcm1Nb2RlbCwgXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9zZXNzaW9uOiBJbmZvU2Vzc2lvbk1vZGVsLCBcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLCBcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2RhdGFBY2Nlc3NTZXJ2aWNlOiBJbmZvRGF0YVNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdGhlbWVTZXJ2aWNlOiBJbmZvVGhlbWVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdXRpbGl0aWVzOiBVdGlsaXRpZXMpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3V4YycgKyB0aGlzLl9wbGF0Zm9ybS5Db25maWcudXgpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5Db25maWcudG9wTWVudSlcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndG9wbWVudScpO1xyXG5cclxuICAgICAgICB0aGlzLl9wbGF0Zm9ybS5UaGVtZXMgPSB0aGlzLnRoZW1lcztcclxuICAgICAgICB0aGlzLl9wbGF0Zm9ybS5TaG9ydGN1dEFwaSA9IHRoaXMuc2hvcnRjdXRhcGk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl91dGlsaXRpZXMuZ2V0TG9jYWxTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLlRva2VuS2V5KSA9PSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmxvZ2ludXJsKTtcclxuXHJcbiAgICAgICAgZWxzZSB0aGlzLmdldExvZ2dlZFVzZXIoKTtcclxuXHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgdGhlbWUgPSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdFswXTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdFswXS5pbmRleE9mKCctdGhlbWUnKSA8IDAgJiYgdGhpcy5fcGxhdGZvcm0uQ29uZmlnLnRoZW1lICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICB0aGVtZSA9ICdfJyArIHRoaXMuX3BsYXRmb3JtLkNvbmZpZy50aGVtZSArICctdGhlbWUnO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VUb3BCYXJTdGF0ZSgpIHtcclxuICAgICAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVNpZGVCYXJTdGF0ZSgpe1xyXG4gICAgICAgIHRoaXMudG9wYmFyLm9wZW5TaWRlYmFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIHB1YmxpYyBvbkNsaWNrKHRhcmdldEVsZW1lbnQpIHsgICAgICAgIFxyXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJlxyXG4gICAgICAgICAgICAhdGhpcy5zaWRlYmFyLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9wYmFyLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VTaWRlQmFyU3RhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRMb2dnZWRVc2VyKCkge1xyXG4gICAgICAgIHZhciBjU2Vzc2lvbiA9IHRoaXMuX3V0aWxpdGllcy5nZXRMb2NhbFN0b3JhZ2UodGhpcy5fcGxhdGZvcm0uU2Vzc2lvbktleSk7XHJcbiAgICAgICAgaWYgKGNTZXNzaW9uICE9IG51bGwpXHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fc2Vzc2lvbiwgSlNPTi5wYXJzZShjU2Vzc2lvbikpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2Vzc2lvbi5Vc3VhcmlvSWQgIT0gbnVsbCB8fCB0aGlzLmxvZ2dlZHVzZXJhcGkgPT0gbnVsbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhQWNjZXNzU2VydmljZS5nZXQodGhpcy5sb2dnZWR1c2VyYXBpLCB0aGlzLmxvZ2dlZHVzZXJtZXRob2QpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5Vc3VhcmlvSWQgPSByLmRhdGEuVXN1YXJpb0lkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5Vc3VhcmlvID0gci5kYXRhLlVzdWFyaW87XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLkxvZ2luID0gci5kYXRhLkxvZ2luO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbWFpbCA9IHIuZGF0YS5FbWFpbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGVyZmlsID0gci5kYXRhLlBlcmZpbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uRW1wcmVzYUlkID0gci5kYXRhLkVtcHJlc2FJZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uVGVtYUlkID0gci5kYXRhLlRlbWFJZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uRW1wcmVzYSA9IHIuZGF0YS5FbXByZXNhO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5VbHRpbW9BY2Vzc28gPSByLmRhdGEuVWx0aW1vQWNlc3NvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5NYXN0ZXIgPSByLmRhdGEuTWFzdGVyO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5DbG9uZSA9IHIuZGF0YS5DbG9uZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uRGF0YU1vdmltZW50YWNhbyA9IHIuZGF0YS5EYXRhTW92aW1lbnRhY2FvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5PY3VsdGFyTm9tZUNsaWVudGUgPSByLmRhdGEuT2N1bHRhck5vbWVDbGllbnRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5FbXByZXNhcyA9IHIuZGF0YS5FbXByZXNhcztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24uUGFyYW1ldHJvcyA9IHIuZGF0YS5QYXJhbWV0cm9zO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5NRkEgPSByLmRhdGEuTUZBO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5UZW1wb0luYXRpdmlkYWRlID0gci5kYXRhLlRlbXBvSW5hdGl2aWRhZGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLlZlcnNhbyA9IHIuZGF0YS5WZXJzYW87XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnNpb24gPSByLmRhdGEuVmVyc2FvO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zZXNzaW9uLlBhcmFtZXRyb3Muc29tZShwID0+IHAuQ2hhdmUgPT0gJ0Rpc2NsYWltZXJHZXJhbCcpKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaCh0aGlzLl9zZXNzaW9uLlBhcmFtZXRyb3MuZmluZChwID0+IHAuQ2hhdmUgPT0gJ0Rpc2NsYWltZXJHZXJhbCcpLlZhbG9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2Vzc2lvbi5UZW1hSWQgIT0gbnVsbClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0VGhlbWVCeUxvZ2dlZENvbXBhbnkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uR2V0Tm90aWZpY2F0aW9uc1RvcEJhcihldmVudCkge1xyXG4gICAgICAgIHRoaXMub25nZXRub3RpZmljYXRpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25WZXJpZnlOb3RpZmljYXRpb25zVG9wQmFyKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5vbnZlcmlmeW5vdGlmaWNhdGlvbi5lbWl0KGV2ZW50KTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJzaXRlLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgJ29wZW4tc2lkZWJhcic6IG9wZW5lZCB9XCI+XHJcbiAgICBcclxuICAgIDxpbmZvLXRvcGJhciAjdG9wYmFyXHJcbiAgICAgICAgW3RoZW1lc109XCJ0aGVtZXNcIiBcclxuICAgICAgICBbbGFuZ3VhZ2VzXT1cImxhbmd1YWdlc1wiIFxyXG4gICAgICAgIFtwcm9maWxldXJsXT1cInByb2ZpbGV1cmxcIlxyXG4gICAgICAgIFtub3RpZmljYXRpb25hcGldPVwibm90aWZpY2F0aW9uYXBpXCIgXHJcbiAgICAgICAgW25vdGlmaWNhdGlvbmdldG1ldGhvZF09XCJub3RpZmljYXRpb25nZXRtZXRob2RcIiBcclxuICAgICAgICBbbm90aWZpY2F0aW9ucG9zdG1ldGhvZF09XCJub3RpZmljYXRpb25wb3N0bWV0aG9kXCJcclxuICAgICAgICBbbm90aWZpY2F0aW9udmVyaWZ5bWV0aG9kXT1cIm5vdGlmaWNhdGlvbnZlcmlmeW1ldGhvZFwiXHJcbiAgICAgICAgW25vdGlmaWNhdGlvbnZlcmlmeWVuYWJsZWRdPVwibm90aWZpY2F0aW9udmVyaWZ5ZW5hYmxlZFwiXHJcbiAgICAgICAgW2Zhc3RzZWFyY2hmb3JtXT1cImZhc3RzZWFyY2hmb3JtXCJcclxuICAgICAgICBbZmFzdHNlYXJjaGZvcm13aWR0aF09XCJmYXN0c2VhcmNoZm9ybXdpZHRoXCJcclxuICAgICAgICBbZmFzdHNlYXJjaHRpdGxlXT1cImZhc3RzZWFyY2h0aXRsZVwiXHJcbiAgICAgICAgW3NldHRoZW1lb25jaGFuZ2Vjb21wYW55XT1cInNldHRoZW1lb25jaGFuZ2Vjb21wYW55XCJcclxuICAgICAgICAob25jaGFuZ2VzdGF0ZSk9XCJvbkNoYW5nZVRvcEJhclN0YXRlKClcIlxyXG4gICAgICAgIChvbmdldG5vdGlmaWNhdGlvbik9XCJvbkdldE5vdGlmaWNhdGlvbnNUb3BCYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9udmVyaWZ5bm90aWZpY2F0aW9uKT1cIm9uVmVyaWZ5Tm90aWZpY2F0aW9uc1RvcEJhcigkZXZlbnQpXCJcclxuICAgICAgICBbZW5hYmxlZGlhXT1cImVuYWJsZWRpYVwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpbmZvaWFdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9pbmZvLXRvcGJhcj5cclxuICAgICAgICBcclxuICAgIDxpbmZvLXRvcG1lbnUgKm5nSWY9XCJfcGxhdGZvcm0uQ29uZmlnLnRvcE1lbnVcIlxyXG4gICAgICAgIFthcGldPVwibWVudWFwaVwiIFxyXG4gICAgICAgIFttZXRob2RdPVwibWVudW1ldGhvZFwiIFxyXG4gICAgICAgIChvbmNoYW5nZXN0YXRlKT1cIm9uQ2hhbmdlU2lkZUJhclN0YXRlKClcIj5cclxuICAgIDwvaW5mby10b3BtZW51PlxyXG5cclxuICAgIDxpbmZvLXNpZGViYXIgI3NpZGViYXIgKm5nSWY9XCIhX3BsYXRmb3JtLkNvbmZpZy50b3BNZW51XCJcclxuICAgICAgICBbYXBpXT1cIm1lbnVhcGlcIiBcclxuICAgICAgICBbbWV0aG9kXT1cIm1lbnVtZXRob2RcIiBcclxuICAgICAgICBbYWN0aXZlbWVudWJ5dXJsXT1cImFjdGl2ZW1lbnVieXVybFwiXHJcbiAgICAgICAgKG9uY2hhbmdlc3RhdGUpPVwib25DaGFuZ2VTaWRlQmFyU3RhdGUoKVwiPlxyXG4gICAgPC9pbmZvLXNpZGViYXI+XHJcblxyXG4gICAgPG1haW4gY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50LXdyYXBcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21haW5dXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyIHJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29weXJpZ2h0IGNvbC1tZC05XCI+e3sgJ0NvcHlyaWdodCcgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVyc2lvbiBjb2wtbWQtM1wiICpuZ0lmPVwidmVyc2lvblwiPnt7ICdWZXJzYW8nIHwgdHJhbnNsYXRlfX0ge3sgdmVyc2lvbiB9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpbmZvLWFsZXJ0IFttZXNzYWdlc109XCJtZXNzYWdlc1wiPjwvaW5mby1hbGVydD5cclxuICAgIDwvbWFpbj5cclxuPC9kaXY+Il19
@@ -0,0 +1,258 @@
1
+ import { Component, Input, Output, EventEmitter, forwardRef, Inject } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
4
+ import { InfoDataService } from '../../service/data.service';
5
+ import { InfoFormPropModel } from '../../model/form-prop.model';
6
+ import { InfoModalAction } from '../../enum/modal-action.enum';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../service/data.service";
9
+ import * as i2 from "@angular/material/dialog";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "@angular/material/icon";
12
+ import * as i5 from "@angular/material/button";
13
+ import * as i6 from "@angular/material/progress-bar";
14
+ import * as i7 from "../../controls/alert/alert.component";
15
+ import * as i8 from "../../pipe/translate.pipe";
16
+ import * as i9 from "../../model/form-prop.model";
17
+ function InfoModalComponent_mat_icon_3_Template(rf, ctx) { if (rf & 1) {
18
+ const _r5 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "mat-icon", 8);
20
+ i0.ɵɵlistener("click", function InfoModalComponent_mat_icon_3_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.close()); });
21
+ i0.ɵɵtext(1, "close");
22
+ i0.ɵɵelementEnd();
23
+ } }
24
+ function InfoModalComponent_section_4_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "section", 9);
26
+ i0.ɵɵelement(1, "mat-progress-bar", 10);
27
+ i0.ɵɵelementEnd();
28
+ } }
29
+ function InfoModalComponent_div_9_button_1_Template(rf, ctx) { if (rf & 1) {
30
+ const _r10 = i0.ɵɵgetCurrentView();
31
+ i0.ɵɵelementStart(0, "button", 14);
32
+ i0.ɵɵlistener("click", function InfoModalComponent_div_9_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.close()); });
33
+ i0.ɵɵtext(1);
34
+ i0.ɵɵpipe(2, "translate");
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ const ctx_r6 = i0.ɵɵnextContext(2);
38
+ i0.ɵɵproperty("disabled", ctx_r6.loading);
39
+ i0.ɵɵadvance(1);
40
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r6.labelclose));
41
+ } }
42
+ function InfoModalComponent_div_9_button_2_Template(rf, ctx) { if (rf & 1) {
43
+ const _r12 = i0.ɵɵgetCurrentView();
44
+ i0.ɵɵelementStart(0, "button", 15);
45
+ i0.ɵɵlistener("click", function InfoModalComponent_div_9_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.close()); });
46
+ i0.ɵɵtext(1);
47
+ i0.ɵɵpipe(2, "translate");
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const ctx_r7 = i0.ɵɵnextContext(2);
51
+ i0.ɵɵproperty("disabled", ctx_r7.loading);
52
+ i0.ɵɵadvance(1);
53
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r7.labelcancel));
54
+ } }
55
+ function InfoModalComponent_div_9_button_3_Template(rf, ctx) { if (rf & 1) {
56
+ const _r14 = i0.ɵɵgetCurrentView();
57
+ i0.ɵɵelementStart(0, "button", 14);
58
+ i0.ɵɵlistener("click", function InfoModalComponent_div_9_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.submit()); });
59
+ i0.ɵɵtext(1);
60
+ i0.ɵɵpipe(2, "translate");
61
+ i0.ɵɵelementEnd();
62
+ } if (rf & 2) {
63
+ const ctx_r8 = i0.ɵɵnextContext(2);
64
+ i0.ɵɵproperty("disabled", ctx_r8.loading || ctx_r8.form != null && !ctx_r8.form.form.valid);
65
+ i0.ɵɵadvance(1);
66
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r8.labelsubmit));
67
+ } }
68
+ function InfoModalComponent_div_9_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵelementStart(0, "div", 11);
70
+ i0.ɵɵtemplate(1, InfoModalComponent_div_9_button_1_Template, 3, 4, "button", 12);
71
+ i0.ɵɵtemplate(2, InfoModalComponent_div_9_button_2_Template, 3, 4, "button", 13);
72
+ i0.ɵɵtemplate(3, InfoModalComponent_div_9_button_3_Template, 3, 4, "button", 12);
73
+ i0.ɵɵelementEnd();
74
+ } if (rf & 2) {
75
+ const ctx_r2 = i0.ɵɵnextContext();
76
+ i0.ɵɵadvance(1);
77
+ i0.ɵɵproperty("ngIf", ctx_r2.labelclose != "" && ctx_r2.readonly);
78
+ i0.ɵɵadvance(1);
79
+ i0.ɵɵproperty("ngIf", ctx_r2.labelcancel != "" && !ctx_r2.readonly);
80
+ i0.ɵɵadvance(1);
81
+ i0.ɵɵproperty("ngIf", ctx_r2.labelsubmit != "" && !ctx_r2.readonly);
82
+ } }
83
+ function InfoModalComponent_div_10_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelement(0, "div", 16);
85
+ } }
86
+ const _c0 = ["*", [["", "buttons", ""]]];
87
+ const _c1 = ["*", "[buttons]"];
88
+ export class InfoModalComponent {
89
+ constructor(_dataAccessService, prop, _ref) {
90
+ this._dataAccessService = _dataAccessService;
91
+ this.prop = prop;
92
+ this._ref = _ref;
93
+ this.modaltitle = '';
94
+ this.showcloseicon = false;
95
+ this.api = null;
96
+ this.method = null;
97
+ this.readonly = null;
98
+ this.loading = false;
99
+ this.loadingblock = true;
100
+ this.form = null;
101
+ this.labelclose = 'Fechar';
102
+ this.labelcancel = 'Cancelar';
103
+ this.labelsubmit = 'Salvar';
104
+ this.messages = [];
105
+ this.width = null;
106
+ this.onsave = new EventEmitter();
107
+ this.onsuccess = new EventEmitter();
108
+ }
109
+ ngOnInit() {
110
+ if (this.modaltitle == '' && this.prop != null && this.prop.title != null)
111
+ this.modaltitle = this.prop.title;
112
+ if (this.api == null && this.prop != null && this.prop.api != null)
113
+ this.api = this.prop.api;
114
+ if (this.width != null)
115
+ this._ref.updateSize(this.width.toString().replace('px', '') + 'px');
116
+ if (this.readonly == null && this.prop != null && this.prop.readonly != null)
117
+ this.readonly = this.prop.readonly;
118
+ this._ref.keydownEvents().subscribe((r) => {
119
+ if (r.ctrlKey && r.key == "Enter" && !(this.loading || (this.form != null && !this.form.form.valid)) && this.labelsubmit != '' && !this.readonly)
120
+ this.submit();
121
+ });
122
+ }
123
+ submit() {
124
+ if (this.onsave.observers.length > 0) {
125
+ this.onsave.next();
126
+ return;
127
+ }
128
+ this.messages = [];
129
+ if (this.api == null || this.api.toString() == '')
130
+ this.messages.push('API não informado');
131
+ var dataInicial = this.model["DataInicial"];
132
+ var dataFinal = this.model["DataFinal"];
133
+ if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {
134
+ this.messages.push('DataInicialMaiorFinal');
135
+ return;
136
+ }
137
+ var dataInicio = this.model["DataInicio"];
138
+ var dataFim = this.model["DataFim"];
139
+ if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {
140
+ this.messages.push('DataInicioMaiorFim');
141
+ return;
142
+ }
143
+ if (this.messages.length > 0)
144
+ return;
145
+ this.loading = true;
146
+ this._dataAccessService
147
+ .post(this.api, this.model, this.method)
148
+ .subscribe(r => {
149
+ if (r.success) {
150
+ this.prop.modalAction = InfoModalAction.Save;
151
+ this.prop.data = this.model;
152
+ this._ref.close(this.prop);
153
+ if (this.onsuccess.observers.length > 0)
154
+ this.onsuccess.next();
155
+ }
156
+ else
157
+ this.messages = r.messages;
158
+ this.loading = false;
159
+ });
160
+ }
161
+ close() {
162
+ this.messages = [];
163
+ this.loading = false;
164
+ this._ref.close(this.prop);
165
+ }
166
+ writeValue(obj) {
167
+ this.model = obj;
168
+ }
169
+ registerOnChange(fn) {
170
+ this.onChange = fn;
171
+ }
172
+ registerOnTouched(fn) {
173
+ this.onTouched = fn;
174
+ }
175
+ setDisabledState(isDisabled) { }
176
+ }
177
+ /** @nocollapse */ InfoModalComponent.ɵfac = function InfoModalComponent_Factory(t) { return new (t || InfoModalComponent)(i0.ɵɵdirectiveInject(i1.InfoDataService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA), i0.ɵɵdirectiveInject(i2.MatDialogRef)); };
178
+ /** @nocollapse */ InfoModalComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoModalComponent, selectors: [["info-modal"]], inputs: { modaltitle: "modaltitle", showcloseicon: "showcloseicon", api: "api", method: "method", readonly: "readonly", loading: "loading", loadingblock: "loadingblock", form: "form", labelclose: "labelclose", labelcancel: "labelcancel", labelsubmit: "labelsubmit", messages: "messages", width: "width" }, outputs: { onsave: "onsave", onsuccess: "onsuccess" }, features: [i0.ɵɵProvidersFeature([
179
+ {
180
+ provide: NG_VALUE_ACCESSOR,
181
+ useExisting: forwardRef((() => InfoModalComponent)),
182
+ multi: true
183
+ }
184
+ ])], ngContentSelectors: _c1, decls: 12, vars: 8, consts: [["mat-dialog-title", ""], [3, "innerHTML"], ["class", "close-icon", 3, "click", 4, "ngIf"], ["class", "loading-bar", 4, "ngIf"], [1, "info-modal-content"], ["class", "ml-5", 4, "ngIf"], ["class", "block", 4, "ngIf"], [3, "messages"], [1, "close-icon", 3, "click"], [1, "loading-bar"], ["color", "primary", "mode", "indeterminate"], [1, "ml-5"], ["mat-button", "", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["mat-button", "", "type", "button", "color", "warn", 3, "disabled", "click", 4, "ngIf"], ["mat-button", "", "type", "button", 3, "disabled", "click"], ["mat-button", "", "type", "button", "color", "warn", 3, "disabled", "click"], [1, "block"]], template: function InfoModalComponent_Template(rf, ctx) { if (rf & 1) {
185
+ i0.ɵɵprojectionDef(_c0);
186
+ i0.ɵɵelementStart(0, "h2", 0);
187
+ i0.ɵɵelement(1, "label", 1);
188
+ i0.ɵɵpipe(2, "translate");
189
+ i0.ɵɵtemplate(3, InfoModalComponent_mat_icon_3_Template, 2, 0, "mat-icon", 2);
190
+ i0.ɵɵtemplate(4, InfoModalComponent_section_4_Template, 2, 0, "section", 3);
191
+ i0.ɵɵelementEnd();
192
+ i0.ɵɵelementStart(5, "mat-dialog-content", 4);
193
+ i0.ɵɵprojection(6);
194
+ i0.ɵɵelementEnd();
195
+ i0.ɵɵelementStart(7, "mat-dialog-actions");
196
+ i0.ɵɵprojection(8, 1);
197
+ i0.ɵɵtemplate(9, InfoModalComponent_div_9_Template, 4, 3, "div", 5);
198
+ i0.ɵɵelementEnd();
199
+ i0.ɵɵtemplate(10, InfoModalComponent_div_10_Template, 1, 0, "div", 6);
200
+ i0.ɵɵelement(11, "info-alert", 7);
201
+ } if (rf & 2) {
202
+ i0.ɵɵadvance(1);
203
+ i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(2, 6, ctx.modaltitle), i0.ɵɵsanitizeHtml);
204
+ i0.ɵɵadvance(2);
205
+ i0.ɵɵproperty("ngIf", ctx.showcloseicon);
206
+ i0.ɵɵadvance(1);
207
+ i0.ɵɵproperty("ngIf", ctx.loading);
208
+ i0.ɵɵadvance(5);
209
+ i0.ɵɵproperty("ngIf", ctx.labelclose != "" && ctx.readonly || ctx.labelcancel != "" && !ctx.readonly || ctx.labelsubmit != "" && !ctx.readonly);
210
+ i0.ɵɵadvance(1);
211
+ i0.ɵɵproperty("ngIf", ctx.loading && ctx.loadingblock);
212
+ i0.ɵɵadvance(1);
213
+ i0.ɵɵproperty("messages", ctx.messages);
214
+ } }, dependencies: [i3.NgIf, i4.MatIcon, i5.MatButton, i2.MatDialogTitle, i2.MatDialogContent, i2.MatDialogActions, i6.MatProgressBar, i7.InfoAlertComponent, i8.InfoTranslatePipe], encapsulation: 2 });
215
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoModalComponent, [{
216
+ type: Component,
217
+ args: [{ selector: 'info-modal', providers: [
218
+ {
219
+ provide: NG_VALUE_ACCESSOR,
220
+ useExisting: forwardRef((() => InfoModalComponent)),
221
+ multi: true
222
+ }
223
+ ], template: "<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || (form != null && !form.form.valid)\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>" }]
224
+ }], function () { return [{ type: i1.InfoDataService }, { type: i9.InfoFormPropModel, decorators: [{
225
+ type: Inject,
226
+ args: [MAT_DIALOG_DATA]
227
+ }] }, { type: i2.MatDialogRef }]; }, { modaltitle: [{
228
+ type: Input
229
+ }], showcloseicon: [{
230
+ type: Input
231
+ }], api: [{
232
+ type: Input
233
+ }], method: [{
234
+ type: Input
235
+ }], readonly: [{
236
+ type: Input
237
+ }], loading: [{
238
+ type: Input
239
+ }], loadingblock: [{
240
+ type: Input
241
+ }], form: [{
242
+ type: Input
243
+ }], labelclose: [{
244
+ type: Input
245
+ }], labelcancel: [{
246
+ type: Input
247
+ }], labelsubmit: [{
248
+ type: Input
249
+ }], messages: [{
250
+ type: Input
251
+ }], width: [{
252
+ type: Input
253
+ }], onsave: [{
254
+ type: Output
255
+ }], onsuccess: [{
256
+ type: Output
257
+ }] }); })();
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9sYXlvdXRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0gzRCxtQ0FBc0U7SUFBekMsc0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUF3QixxQkFBSztJQUFBLGlCQUFXOzs7SUFFdEYsa0NBQTZDO0lBQ3pDLHVDQUEwRTtJQUM5RSxpQkFBVTs7OztJQVVOLGtDQUE2RztJQUF2QywwS0FBUyxlQUFBLGNBQU8sQ0FBQSxJQUFDO0lBQXNCLFlBQTRCOztJQUFBLGlCQUFTOzs7SUFBMUQseUNBQW9CO0lBQUMsZUFBNEI7SUFBNUIsNkRBQTRCOzs7O0lBQ3pJLGtDQUE0SDtJQUFwRCwyS0FBUyxlQUFBLGVBQU8sQ0FBQSxJQUFDO0lBQW1DLFlBQTZCOztJQUFBLGlCQUFTOzs7SUFBM0QseUNBQW9CO0lBQUMsZUFBNkI7SUFBN0IsOERBQTZCOzs7O0lBQ3pKLGtDQUF1SjtJQUFwQiwyS0FBUyxlQUFBLGdCQUFRLENBQUEsSUFBQztJQUFFLFlBQTZCOztJQUFBLGlCQUFTOzs7SUFBckgsMkZBQTBEO0lBQXFCLGVBQTZCO0lBQTdCLDhEQUE2Qjs7O0lBSHhMLCtCQUFpSTtJQUM3SCxnRkFBa0o7SUFDbEosZ0ZBQWtLO0lBQ2xLLGdGQUE2TDtJQUNqTSxpQkFBTTs7O0lBSGtCLGVBQWtDO0lBQWxDLGlFQUFrQztJQUNsQyxlQUFvQztJQUFwQyxtRUFBb0M7SUFDcEMsZUFBb0M7SUFBcEMsbUVBQW9DOzs7SUFJaEUsMEJBQXlEOzs7O0FESnpELE1BQU0sT0FBTyxrQkFBa0I7SUF1QjNCLFlBQW9CLGtCQUFtQyxFQUFrQyxJQUF1QixFQUFVLElBQXVCO1FBQTdILHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBaUI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXJCeEksZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixRQUFHLEdBQVEsSUFBSSxDQUFDO1FBQ2hCLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFDdEIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQzdCLFNBQUksR0FBUSxJQUFJLENBQUM7UUFDakIsZUFBVSxHQUFXLFFBQVEsQ0FBQztRQUM5QixnQkFBVyxHQUFXLFVBQVUsQ0FBQztRQUNqQyxnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUMvQixhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLFVBQUssR0FBVyxJQUFJLENBQUM7UUFFcEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFNNEcsQ0FBQztJQUV0SixRQUFRO1FBRUosSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJO1lBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJO1lBQzlELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUk7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRXpFLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSTtZQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRXZDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxJQUFJLENBQUMsSUFB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LEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFDRyxTQUFTO2tCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgSW5mb0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvRm9ybVByb3BNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL2Zvcm0tcHJvcC5tb2RlbCc7XHJcbmltcG9ydCB7IEluZm9Nb2RhbEFjdGlvbiB9IGZyb20gJy4uLy4uL2VudW0vbW9kYWwtYWN0aW9uLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2luZm8tbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9Nb2RhbENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIEBJbnB1dCgpIG1vZGFsdGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgc2hvd2Nsb3NlaWNvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYXBpOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbWV0aG9kOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBudWxsO1xyXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbG9hZGluZ2Jsb2NrOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBsYWJlbGNsb3NlOiBzdHJpbmcgPSAnRmVjaGFyJztcclxuICAgIEBJbnB1dCgpIGxhYmVsY2FuY2VsOiBzdHJpbmcgPSAnQ2FuY2VsYXInO1xyXG4gICAgQElucHV0KCkgbGFiZWxzdWJtaXQ6IHN0cmluZyA9ICdTYWx2YXInO1xyXG4gICAgQElucHV0KCkgbWVzc2FnZXM6IFN0cmluZ1tdID0gW107XHJcbiAgICBASW5wdXQoKSB3aWR0aDogbnVtYmVyID0gbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25zYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBtb2RlbDogYW55O1xyXG4gICAgb25DaGFuZ2U6IGFueTtcclxuICAgIG9uVG91Y2hlZDogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RhdGFBY2Nlc3NTZXJ2aWNlOiBJbmZvRGF0YVNlcnZpY2UsIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgcHJvcDogSW5mb0Zvcm1Qcm9wTW9kZWwsIHByaXZhdGUgX3JlZjogTWF0RGlhbG9nUmVmPGFueT4pIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2RhbHRpdGxlID09ICcnICYmIHRoaXMucHJvcCAhPSBudWxsICYmIHRoaXMucHJvcC50aXRsZSAhPSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLm1vZGFsdGl0bGUgPSB0aGlzLnByb3AudGl0bGU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwaSA9PSBudWxsICYmIHRoaXMucHJvcCAhPSBudWxsICYmIHRoaXMucHJvcC5hcGkgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5hcGkgPSB0aGlzLnByb3AuYXBpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy53aWR0aCAhPSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLl9yZWYudXBkYXRlU2l6ZSh0aGlzLndpZHRoLnRvU3RyaW5nKCkucmVwbGFjZSgncHgnLCAnJykgKyAncHgnKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkgPT0gbnVsbCAmJiB0aGlzLnByb3AgIT0gbnVsbCAmJiB0aGlzLnByb3AucmVhZG9ubHkgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5yZWFkb25seSA9IHRoaXMucHJvcC5yZWFkb25seTtcclxuXHJcbiAgICAgICAgdGhpcy5fcmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKHIpID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuY3RybEtleSAmJiByLmtleSA9PSBcIkVudGVyXCIgJiYgISh0aGlzLmxvYWRpbmcgfHwgKHRoaXMuZm9ybSAhPSBudWxsICYmICF0aGlzLmZvcm0uZm9ybS52YWxpZCkpICYmIHRoaXMubGFiZWxzdWJtaXQgIT0gJycgJiYgIXRoaXMucmVhZG9ubHkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1Ym1pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5vbnNhdmUub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5vbnNhdmUubmV4dCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuYXBpID09IG51bGwgfHwgdGhpcy5hcGkudG9TdHJpbmcoKSA9PSAnJylcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdBUEkgbsOjbyBpbmZvcm1hZG8nKTtcclxuXHJcbiAgICAgICAgdmFyIGRhdGFJbmljaWFsID0gdGhpcy5tb2RlbFtcIkRhdGFJbmljaWFsXCJdO1xyXG4gICAgICAgIHZhciBkYXRhRmluYWwgPSB0aGlzLm1vZGVsW1wiRGF0YUZpbmFsXCJdO1xyXG4gICAgICAgIGlmIChkYXRhSW5pY2lhbCAhPSBudWxsICYmIGRhdGFGaW5hbCAhPSBudWxsICYmIG5ldyBEYXRlKGRhdGFJbmljaWFsKSA+IG5ldyBEYXRlKGRhdGFGaW5hbCkpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdEYXRhSW5pY2lhbE1haW9yRmluYWwnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGRhdGFJbmljaW8gPSB0aGlzLm1vZGVsW1wiRGF0YUluaWNpb1wiXTtcclxuICAgICAgICB2YXIgZGF0YUZpbSA9IHRoaXMubW9kZWxbXCJEYXRhRmltXCJdO1xyXG4gICAgICAgIGlmIChkYXRhSW5pY2lvICE9IG51bGwgJiYgZGF0YUZpbSAhPSBudWxsICYmIG5ldyBEYXRlKGRhdGFJbmljaW8pID4gbmV3IERhdGUoZGF0YUZpbSkpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdEYXRhSW5pY2lvTWFpb3JGaW0nKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZXMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhQWNjZXNzU2VydmljZVxyXG4gICAgICAgICAgICAucG9zdCh0aGlzLmFwaSwgdGhpcy5tb2RlbCwgdGhpcy5tZXRob2QpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHIuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcC5tb2RhbEFjdGlvbiA9IEluZm9Nb2RhbEFjdGlvbi5TYXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcC5kYXRhID0gdGhpcy5tb2RlbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWYuY2xvc2UodGhpcy5wcm9wKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub25zdWNjZXNzLm9ic2VydmVycy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uc3VjY2Vzcy5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZWxzZSB0aGlzLm1lc3NhZ2VzID0gci5tZXNzYWdlcztcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JlZi5jbG9zZSh0aGlzLnByb3ApO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7IH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZSA+XHJcbiAgICA8bGFiZWwgW2lubmVySFRNTF09XCJtb2RhbHRpdGxlIHwgdHJhbnNsYXRlXCI+PC9sYWJlbD5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2UoKVwiICpuZ0lmPVwic2hvd2Nsb3NlaWNvblwiID5jbG9zZTwvbWF0LWljb24+XHJcblxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIGNvbG9yPVwicHJpbWFyeVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgPC9zZWN0aW9uPlxyXG48L2gyPlxyXG5cclxuPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImluZm8tbW9kYWwtY29udGVudFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYnV0dG9uc11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGxhYmVsY2xvc2UgIT0gJycgJiYgcmVhZG9ubHkpIHx8IChsYWJlbGNhbmNlbCAhPSAnJyAmJiAhcmVhZG9ubHkpIHx8IChsYWJlbHN1Ym1pdCAhPSAnJyAmJiAhcmVhZG9ubHkpXCIgY2xhc3M9XCJtbC01XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwibGFiZWxjbG9zZSAhPSAnJyAmJiByZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+e3sgbGFiZWxjbG9zZSB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImxhYmVsY2FuY2VsICE9ICcnICYmICFyZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIGNvbG9yPVwid2FyblwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+e3sgbGFiZWxjYW5jZWwgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJsYWJlbHN1Ym1pdCAhPSAnJyAmJiAhcmVhZG9ubHlcIiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgKGZvcm0gIT0gbnVsbCAmJiAhZm9ybS5mb3JtLnZhbGlkKVwiIChjbGljayk9XCJzdWJtaXQoKVwiID57eyBsYWJlbHN1Ym1pdCB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+ICAgIFxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcbjxkaXYgY2xhc3M9XCJibG9ja1wiICpuZ0lmPVwibG9hZGluZyAmJiBsb2FkaW5nYmxvY2tcIj48L2Rpdj5cclxuPGluZm8tYWxlcnQgW21lc3NhZ2VzXT1cIm1lc3NhZ2VzXCI+PC9pbmZvLWFsZXJ0PiJdfQ==