tin-spa 9.0.0 → 9.1.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 (249) hide show
  1. package/bundles/tin-spa.umd.js +4416 -1589
  2. package/bundles/tin-spa.umd.js.map +1 -1
  3. package/bundles/tin-spa.umd.min.js +2 -2
  4. package/bundles/tin-spa.umd.min.js.map +1 -1
  5. package/esm2015/lib/classes/Classes.js +58 -45
  6. package/esm2015/lib/classes/TinCore.js +137 -0
  7. package/esm2015/lib/components/activity/activity.component.js +84 -18
  8. package/esm2015/lib/components/attach/attach.component.js +101 -27
  9. package/esm2015/lib/components/change-password/change-password.component.js +122 -34
  10. package/esm2015/lib/components/check/check.component.js +39 -33
  11. package/esm2015/lib/components/chips/chips.component.js +75 -35
  12. package/esm2015/lib/components/create-account/create-account.component.js +124 -42
  13. package/esm2015/lib/components/date/date.component.js +54 -33
  14. package/esm2015/lib/components/datetime/datetime.component.js +43 -30
  15. package/esm2015/lib/components/filter/filter.component.js +64 -0
  16. package/esm2015/lib/components/html/html.component.js +30 -25
  17. package/esm2015/lib/components/label/label.component.js +109 -21
  18. package/esm2015/lib/components/loader/loader.component.js +43 -20
  19. package/esm2015/lib/components/login/login.component.js +194 -76
  20. package/esm2015/lib/components/logs/logs.component.js +180 -28
  21. package/esm2015/lib/components/message/messageDialog.component.js +128 -17
  22. package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
  23. package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
  24. package/esm2015/lib/components/money/money.component.js +141 -39
  25. package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
  26. package/esm2015/lib/components/option/option.component.js +107 -40
  27. package/esm2015/lib/components/profile/profile.component.js +143 -53
  28. package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
  29. package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
  30. package/esm2015/lib/components/roles/roles.component.js +153 -73
  31. package/esm2015/lib/components/select/select.component.js +108 -48
  32. package/esm2015/lib/components/settings/settings.component.js +76 -21
  33. package/esm2015/lib/components/signup/signup.component.js +107 -24
  34. package/esm2015/lib/components/steps/steps.component.js +47 -31
  35. package/esm2015/lib/components/table/table.component.js +301 -35
  36. package/esm2015/lib/components/text/text.component.js +146 -71
  37. package/esm2015/lib/components/tiles/tiles.component.js +75 -21
  38. package/esm2015/lib/components/timeout/timeout.component.js +65 -22
  39. package/esm2015/lib/components/tin-spa.component.js +19 -12
  40. package/esm2015/lib/components/users/users.component.js +308 -65
  41. package/esm2015/lib/components/viewer/viewer.component.js +64 -39
  42. package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
  43. package/esm2015/lib/dnd.directive.js +30 -25
  44. package/esm2015/lib/modules/spa-admin.module.js +65 -51
  45. package/esm2015/lib/modules/spa-index.module.js +45 -20
  46. package/esm2015/lib/modules/spa-mat.module.js +40 -25
  47. package/esm2015/lib/modules/spa-user.module.js +43 -19
  48. package/esm2015/lib/services/auth.service.js +39 -50
  49. package/esm2015/lib/services/data.service.js +82 -49
  50. package/esm2015/lib/services/export.service.js +11 -11
  51. package/esm2015/lib/services/http.service.js +79 -0
  52. package/esm2015/lib/services/loader-interceptor.service.js +30 -30
  53. package/esm2015/lib/services/loader.service.js +11 -11
  54. package/esm2015/lib/services/log.service.js +12 -12
  55. package/esm2015/lib/services/message.service.js +11 -17
  56. package/esm2015/lib/services/storage.service.js +12 -11
  57. package/esm2015/lib/services/tin-spa.service.js +11 -11
  58. package/esm2015/lib/tin-spa.module.js +113 -48
  59. package/esm2015/public-api.js +4 -6
  60. package/esm2015/tin-spa.js +1 -5
  61. package/esm5/lib/classes/Classes.js +70 -55
  62. package/esm5/lib/classes/TinCore.js +164 -0
  63. package/esm5/lib/components/activity/activity.component.js +82 -15
  64. package/esm5/lib/components/attach/attach.component.js +100 -24
  65. package/esm5/lib/components/change-password/change-password.component.js +120 -31
  66. package/esm5/lib/components/check/check.component.js +37 -30
  67. package/esm5/lib/components/chips/chips.component.js +73 -32
  68. package/esm5/lib/components/create-account/create-account.component.js +122 -39
  69. package/esm5/lib/components/date/date.component.js +52 -30
  70. package/esm5/lib/components/datetime/datetime.component.js +41 -27
  71. package/esm5/lib/components/filter/filter.component.js +66 -0
  72. package/esm5/lib/components/html/html.component.js +28 -22
  73. package/esm5/lib/components/label/label.component.js +107 -18
  74. package/esm5/lib/components/loader/loader.component.js +41 -17
  75. package/esm5/lib/components/login/login.component.js +193 -74
  76. package/esm5/lib/components/logs/logs.component.js +178 -25
  77. package/esm5/lib/components/message/messageDialog.component.js +126 -14
  78. package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
  79. package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
  80. package/esm5/lib/components/money/money.component.js +139 -36
  81. package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
  82. package/esm5/lib/components/option/option.component.js +105 -37
  83. package/esm5/lib/components/profile/profile.component.js +141 -50
  84. package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
  85. package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
  86. package/esm5/lib/components/roles/roles.component.js +152 -72
  87. package/esm5/lib/components/select/select.component.js +106 -45
  88. package/esm5/lib/components/settings/settings.component.js +74 -18
  89. package/esm5/lib/components/signup/signup.component.js +105 -21
  90. package/esm5/lib/components/steps/steps.component.js +46 -28
  91. package/esm5/lib/components/table/table.component.js +299 -32
  92. package/esm5/lib/components/text/text.component.js +144 -68
  93. package/esm5/lib/components/tiles/tiles.component.js +73 -18
  94. package/esm5/lib/components/timeout/timeout.component.js +63 -19
  95. package/esm5/lib/components/tin-spa.component.js +16 -8
  96. package/esm5/lib/components/users/users.component.js +307 -62
  97. package/esm5/lib/components/viewer/viewer.component.js +62 -36
  98. package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
  99. package/esm5/lib/dnd.directive.js +28 -22
  100. package/esm5/lib/modules/spa-admin.module.js +63 -48
  101. package/esm5/lib/modules/spa-index.module.js +43 -17
  102. package/esm5/lib/modules/spa-mat.module.js +38 -22
  103. package/esm5/lib/modules/spa-user.module.js +41 -16
  104. package/esm5/lib/services/auth.service.js +37 -47
  105. package/esm5/lib/services/data.service.js +89 -55
  106. package/esm5/lib/services/export.service.js +9 -8
  107. package/esm5/lib/services/http.service.js +81 -0
  108. package/esm5/lib/services/loader-interceptor.service.js +28 -27
  109. package/esm5/lib/services/loader.service.js +9 -8
  110. package/esm5/lib/services/log.service.js +11 -9
  111. package/esm5/lib/services/message.service.js +9 -14
  112. package/esm5/lib/services/storage.service.js +10 -8
  113. package/esm5/lib/services/tin-spa.service.js +9 -8
  114. package/esm5/lib/tin-spa.module.js +111 -45
  115. package/esm5/public-api.js +4 -6
  116. package/esm5/tin-spa.js +1 -5
  117. package/fesm2015/tin-spa.js +4418 -1612
  118. package/fesm2015/tin-spa.js.map +1 -1
  119. package/fesm5/tin-spa.js +4442 -1612
  120. package/fesm5/tin-spa.js.map +1 -1
  121. package/lib/classes/Classes.d.ts +55 -43
  122. package/lib/classes/TinCore.d.ts +27 -0
  123. package/lib/components/activity/activity.component.d.ts +3 -5
  124. package/lib/components/attach/attach.component.d.ts +3 -5
  125. package/lib/components/change-password/change-password.component.d.ts +11 -9
  126. package/lib/components/check/check.component.d.ts +3 -5
  127. package/lib/components/chips/chips.component.d.ts +3 -5
  128. package/lib/components/create-account/create-account.component.d.ts +13 -13
  129. package/lib/components/date/date.component.d.ts +6 -7
  130. package/lib/components/datetime/datetime.component.d.ts +3 -5
  131. package/lib/components/filter/filter.component.d.ts +15 -0
  132. package/lib/components/html/html.component.d.ts +3 -5
  133. package/lib/components/label/label.component.d.ts +3 -5
  134. package/lib/components/loader/loader.component.d.ts +3 -5
  135. package/lib/components/login/login.component.d.ts +12 -14
  136. package/lib/components/logs/logs.component.d.ts +5 -9
  137. package/lib/components/message/messageDialog.component.d.ts +3 -5
  138. package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
  139. package/lib/components/money/currency-input-mask.module.d.ts +8 -0
  140. package/lib/components/money/money.component.d.ts +19 -8
  141. package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
  142. package/lib/components/option/option.component.d.ts +4 -5
  143. package/lib/components/profile/profile.component.d.ts +9 -11
  144. package/lib/components/recover-account/recover-account.component.d.ts +6 -8
  145. package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
  146. package/lib/components/roles/roles.component.d.ts +6 -10
  147. package/lib/components/select/select.component.d.ts +4 -6
  148. package/lib/components/settings/settings.component.d.ts +5 -7
  149. package/lib/components/signup/signup.component.d.ts +6 -8
  150. package/lib/components/steps/steps.component.d.ts +3 -5
  151. package/lib/components/table/table.component.d.ts +3 -5
  152. package/lib/components/text/text.component.d.ts +4 -5
  153. package/lib/components/tiles/tiles.component.d.ts +3 -5
  154. package/lib/components/timeout/timeout.component.d.ts +3 -5
  155. package/lib/components/tin-spa.component.d.ts +3 -5
  156. package/lib/components/users/users.component.d.ts +8 -13
  157. package/lib/components/viewer/viewer.component.d.ts +3 -5
  158. package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
  159. package/lib/dnd.directive.d.ts +3 -5
  160. package/lib/modules/spa-admin.module.d.ts +13 -19
  161. package/lib/modules/spa-index.module.d.ts +10 -11
  162. package/lib/modules/spa-mat.module.d.ts +30 -32
  163. package/lib/modules/spa-user.module.d.ts +9 -10
  164. package/lib/services/auth.service.d.ts +14 -14
  165. package/lib/services/data.service.d.ts +28 -17
  166. package/lib/services/export.service.d.ts +3 -4
  167. package/lib/services/http.service.d.ts +22 -0
  168. package/lib/services/loader-interceptor.service.d.ts +3 -5
  169. package/lib/services/loader.service.d.ts +3 -4
  170. package/lib/services/log.service.d.ts +3 -4
  171. package/lib/services/message.service.d.ts +3 -4
  172. package/lib/services/storage.service.d.ts +3 -4
  173. package/lib/services/tin-spa.service.d.ts +3 -4
  174. package/lib/tin-spa.module.d.ts +35 -35
  175. package/package.json +2 -10
  176. package/public-api.d.ts +3 -5
  177. package/tin-spa.d.ts +1 -6
  178. package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
  179. package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
  180. package/esm2015/lib/components/profiles/profiles.component.js +0 -16
  181. package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
  182. package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
  183. package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
  184. package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
  185. package/esm5/lib/components/profiles/profiles.component.js +0 -18
  186. package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
  187. package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
  188. package/esm5/lib/components/users/addUserDialog.component.js +0 -55
  189. package/esm5/lib/components/users/editUserDialog.component.js +0 -99
  190. package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
  191. package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
  192. package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
  193. package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
  194. package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
  195. package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
  196. package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
  197. package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
  198. package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
  199. package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
  200. package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
  201. package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
  202. package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
  203. package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
  204. package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
  205. package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
  206. package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
  207. package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
  208. package/lib/components/profiles/profiles.component.d.ts +0 -10
  209. package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
  210. package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
  211. package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  212. package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
  213. package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  214. package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
  215. package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
  216. package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
  217. package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
  218. package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
  219. package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
  220. package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
  221. package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
  222. package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
  223. package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
  224. package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
  225. package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
  226. package/lib/components/users/addUserDialog.component.d.ts +0 -21
  227. package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
  228. package/lib/components/users/editUserDialog.component.d.ts +0 -32
  229. package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
  230. package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
  231. package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
  232. package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  233. package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
  234. package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
  235. package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
  236. package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
  237. package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
  238. package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
  239. package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
  240. package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
  241. package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
  242. package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
  243. package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
  244. package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
  245. package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
  246. package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
  247. package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
  248. package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
  249. package/tin-spa.metadata.json +0 -1
@@ -0,0 +1,30 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { CurrencyInputMaskDirective } from './currency-input-mask.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class CurrencyInputModule {
7
+ }
8
+ CurrencyInputModule.ɵmod = i0.ɵɵdefineNgModule({ type: CurrencyInputModule });
9
+ CurrencyInputModule.ɵinj = i0.ɵɵdefineInjector({ factory: function CurrencyInputModule_Factory(t) { return new (t || CurrencyInputModule)(); }, imports: [[
10
+ CommonModule,
11
+ FormsModule
12
+ ]] });
13
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CurrencyInputModule, { declarations: [CurrencyInputMaskDirective], imports: [CommonModule,
14
+ FormsModule], exports: [CurrencyInputMaskDirective] }); })();
15
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CurrencyInputModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [
19
+ CommonModule,
20
+ FormsModule
21
+ ],
22
+ declarations: [
23
+ CurrencyInputMaskDirective
24
+ ],
25
+ exports: [
26
+ CurrencyInputMaskDirective
27
+ ]
28
+ }]
29
+ }], null, null); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQtbWFzay5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbW9uZXkvY3VycmVuY3ktaW5wdXQtbWFzay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWM3RSxNQUFNLE9BQU8sbUJBQW1COzt1REFBbkIsbUJBQW1CO3FIQUFuQixtQkFBbUIsa0JBWHJCO1lBQ1AsWUFBWTtZQUNaLFdBQVc7U0FDWjt3RkFRVSxtQkFBbUIsbUJBTjVCLDBCQUEwQixhQUoxQixZQUFZO1FBQ1osV0FBVyxhQU1YLDBCQUEwQjtrREFHakIsbUJBQW1CO2NBWi9CLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO2lCQUNaO2dCQUNELFlBQVksRUFBRTtvQkFDWiwwQkFBMEI7aUJBQzNCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7aUJBQzNCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEN1cnJlbmN5SW5wdXRNYXNrRGlyZWN0aXZlIH0gZnJvbSAnLi9jdXJyZW5jeS1pbnB1dC1tYXNrLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEN1cnJlbmN5SW5wdXRNYXNrRGlyZWN0aXZlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDdXJyZW5jeUlucHV0TWFza0RpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5SW5wdXRNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -1,50 +1,152 @@
1
- import { __decorate } from "tslib";
2
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- let MoneyComponent = class MoneyComponent {
2
+ import { FormControl, Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/form-field";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/input";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "./currency-input-mask.directive";
9
+ function MoneyComponent_span_4_Template(rf, ctx) { if (rf & 1) {
10
+ i0.ɵɵelementStart(0, "span", 4);
11
+ i0.ɵɵtext(1);
12
+ i0.ɵɵelementEnd();
13
+ } if (rf & 2) {
14
+ const ctx_r0 = i0.ɵɵnextContext();
15
+ i0.ɵɵadvance(1);
16
+ i0.ɵɵtextInterpolate1("", ctx_r0.currency, "\u00A0");
17
+ } }
18
+ function MoneyComponent_mat_error_5_Template(rf, ctx) { if (rf & 1) {
19
+ i0.ɵɵelementStart(0, "mat-error");
20
+ i0.ɵɵtext(1);
21
+ i0.ɵɵelementEnd();
22
+ } if (rf & 2) {
23
+ const ctx_r1 = i0.ɵɵnextContext();
24
+ i0.ɵɵadvance(1);
25
+ i0.ɵɵtextInterpolate(ctx_r1.validate(ctx_r1.control));
26
+ } }
27
+ const _c0 = function (a0) { return { "width": a0 }; };
28
+ export class MoneyComponent {
4
29
  constructor() {
5
30
  this.readonly = false;
31
+ this.hint = "";
6
32
  this.display = "";
33
+ this.placeholder = "";
7
34
  this.value = "";
8
- this.valueChange = new EventEmitter();
9
35
  this.width = "100%";
10
- this.hint = "";
11
- this.currency = "$";
36
+ this.currency = "";
37
+ this.valueChange = new EventEmitter();
38
+ this.leave = new EventEmitter();
39
+ this.enterPress = new EventEmitter();
40
+ //validation input
41
+ this.required = true;
42
+ this.min = 0;
43
+ this.max = 9000000000000000; //Math.max 9000000000000000
44
+ //validation
45
+ this.control = new FormControl(this.value, [Validators.required, Validators.min(this.min), Validators.max(this.max)]);
12
46
  }
13
47
  ngOnInit() {
48
+ if (this.placeholder == "") {
49
+ this.placeholder = "Enter " + this.display;
50
+ }
14
51
  }
15
52
  ngOnChanges() {
16
53
  }
17
- changed() {
18
- this.valueChange.emit(this.value);
19
- }
20
- };
21
- __decorate([
22
- Input()
23
- ], MoneyComponent.prototype, "readonly", void 0);
24
- __decorate([
25
- Input()
26
- ], MoneyComponent.prototype, "display", void 0);
27
- __decorate([
28
- Input()
29
- ], MoneyComponent.prototype, "value", void 0);
30
- __decorate([
31
- Output()
32
- ], MoneyComponent.prototype, "valueChange", void 0);
33
- __decorate([
34
- Input()
35
- ], MoneyComponent.prototype, "width", void 0);
36
- __decorate([
37
- Input()
38
- ], MoneyComponent.prototype, "hint", void 0);
39
- __decorate([
40
- Input()
41
- ], MoneyComponent.prototype, "currency", void 0);
42
- MoneyComponent = __decorate([
43
- Component({
44
- selector: 'spa-money',
45
- template: "\r\n<div class=\"tin-input-row\">\r\n\r\n<Label>{{currency}}</Label>\r\n<mat-form-field [hintLabel]=\"hint\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\" >\r\n <mat-label>{{display}}</mat-label>\r\n <!-- <span>$</span> -->\r\n <input matInput class=\"example-right-align\" autocomplete=\"off\" type=\"number\" min=\"0.00\" step=\"0.01\" [(ngModel)]=\"value \" [placeholder]=\"display\" (change)=\"changed()\" [readonly]=\"readonly\" />\r\n<!-- <span matTextSuffix>.00</span> -->\r\n</mat-form-field>\r\n</div>\r\n\r\n\r\n\r\n\r\n",
46
- styles: ["input.example-right-align{-moz-appearance:textfield}.example-right-align{text-align:right}input.example-right-align::-webkit-inner-spin-button,input.example-right-align::-webkit-outer-spin-button{display:none}.curr{background-color:red}"]
47
- })
48
- ], MoneyComponent);
49
- export { MoneyComponent };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL21vbmV5L21vbmV5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvRSxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBRXpCO1FBV1MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNWLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVsQyxVQUFLLEdBQUcsTUFBTSxDQUFBO1FBQ2QsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGFBQVEsR0FBRyxHQUFHLENBQUM7SUFsQlIsQ0FBQztJQUVqQixRQUFRO0lBR1IsQ0FBQztJQUVELFdBQVc7SUFFWCxDQUFDO0lBZUQsT0FBTztRQUVMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxDQUFDO0NBR0YsQ0FBQTtBQXBCVTtJQUFSLEtBQUssRUFBRTtnREFBa0I7QUFDakI7SUFBUixLQUFLLEVBQUU7K0NBQWM7QUFDYjtJQUFSLEtBQUssRUFBRTs2Q0FBWTtBQUNWO0lBQVQsTUFBTSxFQUFFO21EQUFrQztBQUVsQztJQUFSLEtBQUssRUFBRTs2Q0FBZTtBQUNkO0lBQVIsS0FBSyxFQUFFOzRDQUFXO0FBQ1Y7SUFBUixLQUFLLEVBQUU7Z0RBQWdCO0FBcEJiLGNBQWM7SUFMMUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFdBQVc7UUFDckIsb2pCQUFxQzs7S0FFdEMsQ0FBQztHQUNXLGNBQWMsQ0FpQzFCO1NBakNZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vIGltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvcmUgfSBmcm9tICd0aW4tY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1tb25leScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vbmV5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tb25leS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmV5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG5cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgdmFsdWUgPSBcIlwiO1xyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCkgd2lkdGggPSBcIjEwMCVcIlxyXG4gIEBJbnB1dCgpIGhpbnQgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIGN1cnJlbmN5ID0gXCIkXCI7XHJcblxyXG5cclxuXHJcblxyXG5cclxuICBjaGFuZ2VkKCl7XHJcblxyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG5cclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
54
+ ngAfterViewInit() {
55
+ this.initControl(this.control);
56
+ }
57
+ initControl(control) {
58
+ if (this.readonly) {
59
+ control.setValidators(null);
60
+ control.updateValueAndValidity();
61
+ }
62
+ if (!this.required && !this.readonly) {
63
+ control.setValidators([Validators.min(this.min), Validators.max(this.max)]);
64
+ this.control.updateValueAndValidity();
65
+ }
66
+ }
67
+ changed(x) {
68
+ this.valueChange.emit(x);
69
+ }
70
+ leaved() {
71
+ this.leave.emit();
72
+ }
73
+ enterPressed() {
74
+ this.enterPress.emit();
75
+ }
76
+ validate(control) {
77
+ if (this.required && control.hasError('required')) {
78
+ return `Required`;
79
+ }
80
+ if (parseFloat(this.value) < this.min) {
81
+ return `Minimun value is ${this.min}`;
82
+ }
83
+ if (parseFloat(this.value) > this.max) {
84
+ return `Maximum value is ${this.max}`;
85
+ }
86
+ if (control.hasError('min')) {
87
+ return `Minimun value is ${this.min}`;
88
+ }
89
+ if (control.hasError('max')) {
90
+ return `Maximum value is ${this.max}`;
91
+ }
92
+ return "";
93
+ }
94
+ }
95
+ MoneyComponent.ɵfac = function MoneyComponent_Factory(t) { return new (t || MoneyComponent)(); };
96
+ MoneyComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MoneyComponent, selectors: [["spa-money"]], inputs: { readonly: "readonly", hint: "hint", display: "display", placeholder: "placeholder", value: "value", width: "width", currency: "currency", required: "required", min: "min", max: "max" }, outputs: { valueChange: "valueChange", leave: "leave", enterPress: "enterPress" }, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 13, consts: [["hideRequiredMarker", "true", "hideRequiredMarker", "true", 2, "margin-right", "5px", 3, "hintLabel", "ngStyle"], ["matInput", "", "appCurrencyInputMask", "", "autocomplete", "off", 2, "text-align", "right", 3, "min", "max", "ngModel", "placeholder", "formControl", "readonly", "ngModelChange", "keyup.enter", "blur"], ["matPrefix", "", 4, "ngIf"], [4, "ngIf"], ["matPrefix", ""]], template: function MoneyComponent_Template(rf, ctx) { if (rf & 1) {
97
+ i0.ɵɵelementStart(0, "mat-form-field", 0);
98
+ i0.ɵɵelementStart(1, "mat-label");
99
+ i0.ɵɵtext(2);
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelementStart(3, "input", 1);
102
+ i0.ɵɵlistener("ngModelChange", function MoneyComponent_Template_input_ngModelChange_3_listener($event) { return ctx.changed($event); })("keyup.enter", function MoneyComponent_Template_input_keyup_enter_3_listener() { return ctx.enterPressed(); })("blur", function MoneyComponent_Template_input_blur_3_listener() { return ctx.leaved(); });
103
+ i0.ɵɵelementEnd();
104
+ i0.ɵɵtemplate(4, MoneyComponent_span_4_Template, 2, 1, "span", 2);
105
+ i0.ɵɵtemplate(5, MoneyComponent_mat_error_5_Template, 2, 1, "mat-error", 3);
106
+ i0.ɵɵelementEnd();
107
+ } if (rf & 2) {
108
+ i0.ɵɵproperty("hintLabel", ctx.hint)("ngStyle", i0.ɵɵpureFunction1(11, _c0, ctx.width));
109
+ i0.ɵɵadvance(2);
110
+ i0.ɵɵtextInterpolate(ctx.display);
111
+ i0.ɵɵadvance(1);
112
+ i0.ɵɵproperty("min", ctx.min)("max", ctx.max)("ngModel", ctx.value)("placeholder", ctx.placeholder)("formControl", ctx.control)("readonly", ctx.readonly);
113
+ i0.ɵɵadvance(1);
114
+ i0.ɵɵproperty("ngIf", ctx.currency != "");
115
+ i0.ɵɵadvance(1);
116
+ i0.ɵɵproperty("ngIf", ctx.control.invalid);
117
+ } }, directives: [i1.MatFormField, i2.NgStyle, i1.MatLabel, i3.MatInput, i4.DefaultValueAccessor, i5.CurrencyInputMaskDirective, i4.NgControlStatus, i4.FormControlDirective, i2.NgIf, i1.MatPrefix, i1.MatError], styles: ["input.example-right-align[_ngcontent-%COMP%]{-moz-appearance:textfield}.example-right-align[_ngcontent-%COMP%]{text-align:right}input.example-right-align[_ngcontent-%COMP%]::-webkit-inner-spin-button, input.example-right-align[_ngcontent-%COMP%]::-webkit-outer-spin-button{display:none}.curr[_ngcontent-%COMP%]{background-color:red}"] });
118
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MoneyComponent, [{
119
+ type: Component,
120
+ args: [{
121
+ selector: 'spa-money',
122
+ templateUrl: './money.component.html',
123
+ styleUrls: ['./money.component.css']
124
+ }]
125
+ }], function () { return []; }, { readonly: [{
126
+ type: Input
127
+ }], hint: [{
128
+ type: Input
129
+ }], display: [{
130
+ type: Input
131
+ }], placeholder: [{
132
+ type: Input
133
+ }], value: [{
134
+ type: Input
135
+ }], width: [{
136
+ type: Input
137
+ }], currency: [{
138
+ type: Input
139
+ }], valueChange: [{
140
+ type: Output
141
+ }], leave: [{
142
+ type: Output
143
+ }], enterPress: [{
144
+ type: Output
145
+ }], required: [{
146
+ type: Input
147
+ }], min: [{
148
+ type: Input
149
+ }], max: [{
150
+ type: Input
151
+ }] }); })();
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL21vbmV5L21vbmV5LmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL21vbmV5L21vbmV5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7SUNNdkQsK0JBQXFDO0lBQUEsWUFBa0I7SUFBQSxpQkFBTzs7O0lBQXpCLGVBQWtCO0lBQWxCLG9EQUFrQjs7O0lBQ3ZELGlDQUFtQztJQUFBLFlBQXFCO0lBQUEsaUJBQVk7OztJQUFqQyxlQUFxQjtJQUFyQixxREFBcUI7OztBREExRCxNQUFNLE9BQU8sY0FBYztJQUV6QjtRQTRCUyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxNQUFNLENBQUE7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTFDLGtCQUFrQjtRQUNULGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLDJCQUEyQjtRQWU1RCxZQUFZO1FBQ1osWUFBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQTdEakcsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVELFdBQVc7SUFFWCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBb0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFFcEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBc0JELE9BQU8sQ0FBQyxDQUFDO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBS0QsUUFBUSxDQUFDLE9BQW9CO1FBRTNCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pELE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUM7WUFDcEMsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckMsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sb0JBQW9CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUN2QztRQUVELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixPQUFPLG9CQUFvQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDdkM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OzRFQXhGVSxjQUFjO21EQUFkLGNBQWM7UUNOM0IseUNBQ0U7UUFBQSxpQ0FBVztRQUFBLFlBQVc7UUFBQSxpQkFBWTtRQUNsQyxnQ0FHQTtRQURrQixnSEFBaUIsbUJBQWUsSUFBQyx5RkFBZ0Isa0JBQWMsSUFBOUIsMkVBQXdDLFlBQVEsSUFBaEQ7UUFGbkQsaUJBR0E7UUFBQSxpRUFBcUM7UUFDckMsMkVBQW1DO1FBQ3JDLGlCQUFpQjs7UUFQeUIsb0NBQWtCLG1EQUFBO1FBQy9DLGVBQVc7UUFBWCxpQ0FBVztRQUV0QixlQUFXO1FBQVgsNkJBQVcsZ0JBQUEsc0JBQUEsZ0NBQUEsNEJBQUEsMEJBQUE7UUFFTCxlQUFvQjtRQUFwQix5Q0FBb0I7UUFDZixlQUF1QjtRQUF2QiwwQ0FBdUI7O2tEREF2QixjQUFjO2NBTDFCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDckM7O2tCQStCRSxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFFTCxNQUFNOztrQkFDTixNQUFNOztrQkFDTixNQUFNOztrQkFLTixLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLW1vbmV5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9uZXkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21vbmV5LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9uZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyID09IFwiXCIpIHtcclxuICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IFwiRW50ZXIgXCIgKyB0aGlzLmRpc3BsYXk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXRDb250cm9sKHRoaXMuY29udHJvbClcclxuICB9XHJcblxyXG4gIGluaXRDb250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sKSB7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMobnVsbCk7XHJcbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnJlcXVpcmVkICYmICF0aGlzLnJlYWRvbmx5KSB7XHJcblxyXG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWluKHRoaXMubWluKSwgVmFsaWRhdG9ycy5tYXgodGhpcy5tYXgpXSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpbnQgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXkgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gXCJcIjtcclxuICBASW5wdXQoKSB2YWx1ZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgd2lkdGggPSBcIjEwMCVcIlxyXG4gIEBJbnB1dCgpIGN1cnJlbmN5ID0gXCJcIjtcclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZW50ZXJQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblxyXG5cclxuICAvL3ZhbGlkYXRpb24gaW5wdXRcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgbWluID0gMDtcclxuICBASW5wdXQoKSBtYXggPSA5MDAwMDAwMDAwMDAwMDAwOyAvL01hdGgubWF4IDkwMDAwMDAwMDAwMDAwMDBcclxuXHJcblxyXG4gIGNoYW5nZWQoeCl7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoeCk7XHJcbiAgfVxyXG5cclxuICBsZWF2ZWQoKSB7XHJcbiAgICB0aGlzLmxlYXZlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGVudGVyUHJlc3NlZCgpIHtcclxuICAgIHRoaXMuZW50ZXJQcmVzcy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvL3ZhbGlkYXRpb25cclxuICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMudmFsdWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbih0aGlzLm1pbiksIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4KV0pO1xyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCk6IHN0cmluZyB7XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xyXG4gICAgICByZXR1cm4gYFJlcXVpcmVkYDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA8IHRoaXMubWluKXtcclxuICAgICAgcmV0dXJuIGBNaW5pbXVuIHZhbHVlIGlzICR7dGhpcy5taW59YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA+IHRoaXMubWF4KSB7XHJcbiAgICAgIHJldHVybiBgTWF4aW11bSB2YWx1ZSBpcyAke3RoaXMubWF4fWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoJ21pbicpKSB7XHJcbiAgICAgIHJldHVybiBgTWluaW11biB2YWx1ZSBpcyAke3RoaXMubWlufWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoJ21heCcpKSB7XHJcbiAgICAgIHJldHVybiBgTWF4aW11bSB2YWx1ZSBpcyAke3RoaXMubWF4fWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiXHJcblxyXG48bWF0LWZvcm0tZmllbGQgaGlkZVJlcXVpcmVkTWFya2VyPVwidHJ1ZVwiIFtoaW50TGFiZWxdPVwiaGludFwiICBbbmdTdHlsZV09XCJ7J3dpZHRoJzp3aWR0aH1cIiBoaWRlUmVxdWlyZWRNYXJrZXI9XCJ0cnVlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweDtcIj5cclxuICA8bWF0LWxhYmVsPnt7ZGlzcGxheX19PC9tYXQtbGFiZWw+XHJcbiAgPGlucHV0IG1hdElucHV0IGFwcEN1cnJlbmN5SW5wdXRNYXNrIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCJcclxuICBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCJcclxuICBbbmdNb2RlbF09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZWQoJGV2ZW50KVwiIChrZXl1cC5lbnRlcik9XCJlbnRlclByZXNzZWQoKVwiIChibHVyKT1cImxlYXZlZCgpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiAvPlxyXG4gIDxzcGFuICpuZ0lmPVwiY3VycmVuY3khPScnXCIgbWF0UHJlZml4Pnt7Y3VycmVuY3l9fSZuYnNwOzwvc3Bhbj5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkXCI+e3t2YWxpZGF0ZShjb250cm9sKX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4iXX0=
@@ -1,9 +1,161 @@
1
- import { __decorate } from "tslib";
2
1
  import { AppConfig } from './../../classes/Classes';
3
2
  import { Component, Input } from '@angular/core';
4
- import { Router } from '@angular/router';
5
- import { AuthService } from '../../services/auth.service';
6
- let NavMenuComponent = class NavMenuComponent {
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ import * as i2 from "../../services/auth.service";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/button";
8
+ import * as i5 from "@angular/material/icon";
9
+ import * as i6 from "@angular/material/menu";
10
+ function NavMenuComponent_header_0_img_3_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelement(0, "img", 8);
12
+ } if (rf & 2) {
13
+ const ctx_r1 = i0.ɵɵnextContext(2);
14
+ i0.ɵɵproperty("src", ctx_r1.appConfig.logo, i0.ɵɵsanitizeUrl);
15
+ } }
16
+ function NavMenuComponent_header_0_div_8_div_14_button_1_Template(rf, ctx) { if (rf & 1) {
17
+ const _r13 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementStart(0, "button", 19);
19
+ i0.ɵɵlistener("click", function NavMenuComponent_header_0_div_8_div_14_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const item_r5 = i0.ɵɵnextContext().$implicit; const ctx_r11 = i0.ɵɵnextContext(3); return ctx_r11.redirectTo(item_r5.link); });
20
+ i0.ɵɵtext(1);
21
+ i0.ɵɵelementEnd();
22
+ } if (rf & 2) {
23
+ const item_r5 = i0.ɵɵnextContext().$implicit;
24
+ i0.ɵɵadvance(1);
25
+ i0.ɵɵtextInterpolate(item_r5.display);
26
+ } }
27
+ function NavMenuComponent_header_0_div_8_div_14_button_2_Template(rf, ctx) { if (rf & 1) {
28
+ const _r17 = i0.ɵɵgetCurrentView();
29
+ i0.ɵɵelementStart(0, "button", 19);
30
+ i0.ɵɵlistener("click", function NavMenuComponent_header_0_div_8_div_14_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const item_r5 = i0.ɵɵnextContext().$implicit; const ctx_r15 = i0.ɵɵnextContext(3); return ctx_r15.redirectTo(item_r5.link); });
31
+ i0.ɵɵtext(1);
32
+ i0.ɵɵelementEnd();
33
+ } if (rf & 2) {
34
+ const item_r5 = i0.ɵɵnextContext().$implicit;
35
+ i0.ɵɵadvance(1);
36
+ i0.ɵɵtextInterpolate(item_r5.display);
37
+ } }
38
+ function NavMenuComponent_header_0_div_8_div_14_button_3_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelementStart(0, "button", 20);
40
+ i0.ɵɵtext(1);
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const item_r5 = i0.ɵɵnextContext().$implicit;
44
+ const _r9 = i0.ɵɵreference(5);
45
+ i0.ɵɵproperty("matMenuTriggerFor", _r9);
46
+ i0.ɵɵadvance(1);
47
+ i0.ɵɵtextInterpolate(item_r5.display);
48
+ } }
49
+ function NavMenuComponent_header_0_div_8_div_14_div_6_button_1_Template(rf, ctx) { if (rf & 1) {
50
+ const _r24 = i0.ɵɵgetCurrentView();
51
+ i0.ɵɵelementStart(0, "button", 22);
52
+ i0.ɵɵlistener("click", function NavMenuComponent_header_0_div_8_div_14_div_6_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const subItem_r20 = i0.ɵɵnextContext().$implicit; const ctx_r22 = i0.ɵɵnextContext(4); return ctx_r22.redirectTo(subItem_r20.link); });
53
+ i0.ɵɵtext(1);
54
+ i0.ɵɵelementEnd();
55
+ } if (rf & 2) {
56
+ const subItem_r20 = i0.ɵɵnextContext().$implicit;
57
+ i0.ɵɵadvance(1);
58
+ i0.ɵɵtextInterpolate(subItem_r20.display);
59
+ } }
60
+ function NavMenuComponent_header_0_div_8_div_14_div_6_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵelementStart(0, "div");
62
+ i0.ɵɵtemplate(1, NavMenuComponent_header_0_div_8_div_14_div_6_button_1_Template, 2, 1, "button", 21);
63
+ i0.ɵɵelementEnd();
64
+ } if (rf & 2) {
65
+ const subItem_r20 = ctx.$implicit;
66
+ const ctx_r10 = i0.ɵɵnextContext(4);
67
+ i0.ɵɵadvance(1);
68
+ i0.ɵɵproperty("ngIf", ctx_r10.myRole[subItem_r20.name] && subItem_r20.showMenu);
69
+ } }
70
+ function NavMenuComponent_header_0_div_8_div_14_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "div");
72
+ i0.ɵɵtemplate(1, NavMenuComponent_header_0_div_8_div_14_button_1_Template, 2, 1, "button", 16);
73
+ i0.ɵɵtemplate(2, NavMenuComponent_header_0_div_8_div_14_button_2_Template, 2, 1, "button", 16);
74
+ i0.ɵɵtemplate(3, NavMenuComponent_header_0_div_8_div_14_button_3_Template, 2, 2, "button", 17);
75
+ i0.ɵɵelementStart(4, "mat-menu", null, 18);
76
+ i0.ɵɵtemplate(6, NavMenuComponent_header_0_div_8_div_14_div_6_Template, 2, 1, "div", 15);
77
+ i0.ɵɵelementEnd();
78
+ i0.ɵɵelementEnd();
79
+ } if (rf & 2) {
80
+ const item_r5 = ctx.$implicit;
81
+ const ctx_r4 = i0.ɵɵnextContext(3);
82
+ i0.ɵɵadvance(1);
83
+ i0.ɵɵproperty("ngIf", ctx_r4.myRole[item_r5.name] && !item_r5.capSubItems && item_r5.showMenu);
84
+ i0.ɵɵadvance(1);
85
+ i0.ɵɵproperty("ngIf", ctx_r4.myRole[item_r5.name] && item_r5.capSubItems && item_r5.showMenu && item_r5.ignoreSubsDisplay);
86
+ i0.ɵɵadvance(1);
87
+ i0.ɵɵproperty("ngIf", ctx_r4.myRole[item_r5.name] && item_r5.capSubItems && item_r5.showMenu && !item_r5.ignoreSubsDisplay);
88
+ i0.ɵɵadvance(3);
89
+ i0.ɵɵproperty("ngForOf", item_r5.capSubItems);
90
+ } }
91
+ const _c0 = function (a0) { return { show: a0 }; };
92
+ function NavMenuComponent_header_0_div_8_Template(rf, ctx) { if (rf & 1) {
93
+ const _r27 = i0.ɵɵgetCurrentView();
94
+ i0.ɵɵelementStart(0, "div", 9);
95
+ i0.ɵɵelementStart(1, "button", 10);
96
+ i0.ɵɵlistener("click", function NavMenuComponent_header_0_div_8_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return ctx_r26.redirectTo("login"); });
97
+ i0.ɵɵelementStart(2, "mat-icon");
98
+ i0.ɵɵtext(3, "logout");
99
+ i0.ɵɵelementEnd();
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelementStart(4, "button", 11);
102
+ i0.ɵɵelementStart(5, "mat-icon");
103
+ i0.ɵɵtext(6, "account_circle");
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵtext(7);
106
+ i0.ɵɵelementEnd();
107
+ i0.ɵɵelementStart(8, "mat-menu", null, 12);
108
+ i0.ɵɵelementStart(10, "button", 13);
109
+ i0.ɵɵlistener("click", function NavMenuComponent_header_0_div_8_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r27); const ctx_r28 = i0.ɵɵnextContext(2); return ctx_r28.redirectTo("home/user/profile"); });
110
+ i0.ɵɵtext(11, "Profile");
111
+ i0.ɵɵelementEnd();
112
+ i0.ɵɵelementStart(12, "button", 14);
113
+ i0.ɵɵlistener("click", function NavMenuComponent_header_0_div_8_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r27); const ctx_r29 = i0.ɵɵnextContext(2); return ctx_r29.redirectTo("login"); });
114
+ i0.ɵɵtext(13, "Log Off");
115
+ i0.ɵɵelementEnd();
116
+ i0.ɵɵelementEnd();
117
+ i0.ɵɵtemplate(14, NavMenuComponent_header_0_div_8_div_14_Template, 7, 4, "div", 15);
118
+ i0.ɵɵelementEnd();
119
+ } if (rf & 2) {
120
+ const _r3 = i0.ɵɵreference(9);
121
+ const ctx_r2 = i0.ɵɵnextContext(2);
122
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx_r2.isExpanded));
123
+ i0.ɵɵadvance(4);
124
+ i0.ɵɵproperty("matMenuTriggerFor", _r3);
125
+ i0.ɵɵadvance(3);
126
+ i0.ɵɵtextInterpolate1(" \u00A0", ctx_r2.loggedUserFullName, "");
127
+ i0.ɵɵadvance(7);
128
+ i0.ɵɵproperty("ngForOf", ctx_r2.appConfig.capItems);
129
+ } }
130
+ function NavMenuComponent_header_0_Template(rf, ctx) { if (rf & 1) {
131
+ const _r31 = i0.ɵɵgetCurrentView();
132
+ i0.ɵɵelementStart(0, "header");
133
+ i0.ɵɵelementStart(1, "nav", 1);
134
+ i0.ɵɵelementStart(2, "div", 2);
135
+ i0.ɵɵtemplate(3, NavMenuComponent_header_0_img_3_Template, 1, 1, "img", 3);
136
+ i0.ɵɵelementStart(4, "div", 4);
137
+ i0.ɵɵtext(5);
138
+ i0.ɵɵelementEnd();
139
+ i0.ɵɵelementStart(6, "button", 5);
140
+ i0.ɵɵlistener("click", function NavMenuComponent_header_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(); return ctx_r30.toggle(); });
141
+ i0.ɵɵelement(7, "span", 6);
142
+ i0.ɵɵelementEnd();
143
+ i0.ɵɵtemplate(8, NavMenuComponent_header_0_div_8_Template, 15, 6, "div", 7);
144
+ i0.ɵɵelementEnd();
145
+ i0.ɵɵelementEnd();
146
+ i0.ɵɵelementEnd();
147
+ } if (rf & 2) {
148
+ const ctx_r0 = i0.ɵɵnextContext();
149
+ i0.ɵɵadvance(3);
150
+ i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logo != "");
151
+ i0.ɵɵadvance(2);
152
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.appConfig.appName, " ");
153
+ i0.ɵɵadvance(1);
154
+ i0.ɵɵattribute("aria-expanded", ctx_r0.isExpanded);
155
+ i0.ɵɵadvance(2);
156
+ i0.ɵɵproperty("ngIf", ctx_r0.myRole);
157
+ } }
158
+ export class NavMenuComponent {
7
159
  constructor(router, authService) {
8
160
  this.router = router;
9
161
  this.authService = authService;
@@ -32,20 +184,21 @@ let NavMenuComponent = class NavMenuComponent {
32
184
  this.router.navigate([link]);
33
185
  }
34
186
  }
35
- };
36
- NavMenuComponent.ctorParameters = () => [
37
- { type: Router },
38
- { type: AuthService }
39
- ];
40
- __decorate([
41
- Input()
42
- ], NavMenuComponent.prototype, "appConfig", void 0);
43
- NavMenuComponent = __decorate([
44
- Component({
45
- selector: 'spa-nav-menu',
46
- template: "<header *ngIf=\"loggedin\">\r\n <nav class=\"toolbar navbar navbar-expand-sm navbar-toggleable-sm navbar-light border-bottom box-shadow mb-3 \" style=\"padding-right: 10px;\">\r\n <div class=\"container-fluid\" style=\"padding-right: 0px;\">\r\n <!--<a class=\"navbar-brand\" [routerLink]=\"['/']\">Orbit</a>-->\r\n\r\n <img *ngIf=\"appConfig.logo!=''\" [src]=\"appConfig.logo\" style=\"height: 50px; margin-right: 2em\" />\r\n\r\n\r\n <div style=\"font-size: 20px;\">\r\n {{appConfig.appName}}\r\n </div>\r\n\r\n\r\n <button class=\"navbar-toggler\"\r\n type=\"button\"\r\n data-toggle=\"collapse\"\r\n data-target=\".navbar-collapse\"\r\n aria-label=\"Toggle navigation\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n (click)=\"toggle()\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n\r\n <div *ngIf=\"myRole\" class=\"navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse stack-top\" style=\"margin-right: 0px;\" [ngClass]=\"{ show: isExpanded }\" >\r\n\r\n <button mat-icon-button (click)=\"redirectTo('login')\"> <mat-icon>logout</mat-icon> </button>\r\n\r\n <button id=\"btnUser\" mat-button [matMenuTriggerFor]=\"profileMenu\" style=\"margin-left:2em\"><mat-icon>account_circle</mat-icon> &nbsp;{{loggedUserFullName}}</button>\r\n\r\n <mat-menu #profileMenu=\"matMenu\">\r\n <button id=\"btnProfile\" mat-menu-item (click)=\"redirectTo('home/user/profile')\" >Profile</button>\r\n <button id=\"btnLogOff\" mat-menu-item (click)=\"redirectTo('login')\">Log Off</button>\r\n </mat-menu>\r\n\r\n <div *ngFor=\"let item of appConfig.capItems\">\r\n\r\n <!-- Menu Item -->\r\n <button id=\"btnMenu\" *ngIf=\"myRole[item.name] && !item.capSubItems && item.showMenu\" mat-button (click)=\"redirectTo(item.link)\">{{item.display}}</button>\r\n\r\n <!-- Menu Item with Sub items ignored -->\r\n <button id=\"btnMenu\" *ngIf=\"myRole[item.name] && item.capSubItems && item.showMenu && item.ignoreSubsDisplay\" mat-button (click)=\"redirectTo(item.link)\">{{item.display}}</button>\r\n\r\n <!-- Menu Item with Sub items to display-->\r\n <button id=\"btnMenu\" *ngIf=\"myRole[item.name] && item.capSubItems && item.showMenu && !item.ignoreSubsDisplay\" mat-button [matMenuTriggerFor]=\"adminMenu\">{{item.display}}</button>\r\n\r\n\r\n <!-- Sub Menu Items -->\r\n <mat-menu #adminMenu=\"matMenu\">\r\n\r\n <div *ngFor=\"let subItem of item.capSubItems\">\r\n\r\n <button *ngIf=\"myRole[subItem.name] && subItem.showMenu\" mat-menu-item (click)=\"redirectTo(subItem.link)\">{{subItem.display}}</button>\r\n\r\n </div>\r\n\r\n </mat-menu>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </nav>\r\n</header>\r\n",
47
- styles: ["a.navbar-brand{white-space:normal;text-align:center;word-break:break-all}html{font-size:14px}@media (min-width:768px){html{font-size:16px}}.box-shadow{box-shadow:0 .25rem .75rem rgba(0,0,0,.05)}.toolbar{height:60px;display:flex;align-items:center;background-color:#03a;color:#fff;font-weight:600}.stack-top{z-index:9;margin:20px}"]
48
- })
49
- ], NavMenuComponent);
50
- export { NavMenuComponent };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL25hdi1tZW51L25hdi1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUcsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPM0QsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFFM0IsWUFBbUIsTUFBYyxFQUFTLFdBQXdCO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWFsRSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRVYsY0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFmaUMsQ0FBQztJQUV2RSxRQUFRO1FBRU4sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDckYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFBO0lBRXZFLENBQUM7SUFXRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYTtJQUNiLCtDQUErQztJQUMvQyxnREFBZ0Q7SUFDaEQscUNBQXFDO0lBQ3JDLG9DQUFvQztJQUNwQyxJQUFJO0lBRUosVUFBVSxDQUFDLElBQVk7UUFFckIsSUFBSSxJQUFJLElBQUUsRUFBRSxFQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzlCO0lBRUgsQ0FBQztDQU1GLENBQUE7O1lBOUM0QixNQUFNO1lBQXNCLFdBQVc7O0FBZXpEO0lBQVIsS0FBSyxFQUFFO21EQUE2QjtBQWpCMUIsZ0JBQWdCO0lBTDVCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxjQUFjO1FBQ3hCLDA3RkFBd0M7O0tBRXpDLENBQUM7R0FDVyxnQkFBZ0IsQ0FnRDVCO1NBaERZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tICcuLy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyAgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtbmF2LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LW1lbnUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZNZW51Q29tcG9uZW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyLCBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dnZWRVc2VyRnVsbE5hbWUuc3Vic2NyaWJlKHVzZXIgPT4gdGhpcy5sb2dnZWRVc2VyRnVsbE5hbWUgPSB1c2VyKVxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5teVJvbGVPYnNlcnYuc3Vic2NyaWJlKHJvbCA9PiB0aGlzLm15Um9sZSA9IHJvbCk7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2dlZGluT2JzZXJ2LnN1YnNjcmliZShvYmogPT4gdGhpcy5sb2dnZWRpbiA9IG9iailcclxuXHJcbiAgfVxyXG5cclxuICBteVJvbGU7XHJcbiAgbG9nZ2VkVXNlckZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgbG9nZ2VkaW46IGJvb2xlYW47XHJcbiAgaXNFeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBhcHBDb25maWcgPSBuZXcgQXBwQ29uZmlnKCk7XHJcblxyXG5cclxuXHJcbiAgY29sbGFwc2UoKSB7XHJcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZSgpIHtcclxuICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBsb2dvZmYoKSB7XHJcbiAgLy8gICAvLyB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZWxvZ2dlZGluKGZhbHNlKTtcclxuICAvLyAgIC8vIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlUm9sZShuZXcgUm9sZSgpKTtcclxuICAvLyAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdKTtcclxuICAvLyAgIC8vIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKTtcclxuICAvLyB9XHJcblxyXG4gIHJlZGlyZWN0VG8obGluazogc3RyaW5nKXtcclxuXHJcbiAgICBpZiAobGluayE9XCJcIil7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtsaW5rXSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
187
+ }
188
+ NavMenuComponent.ɵfac = function NavMenuComponent_Factory(t) { return new (t || NavMenuComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.AuthService)); };
189
+ NavMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: NavMenuComponent, selectors: [["spa-nav-menu"]], inputs: { appConfig: "appConfig" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "toolbar", "navbar", "navbar-expand-sm", "navbar-toggleable-sm", "navbar-light", "border-bottom", "box-shadow", "mb-3", 2, "padding-right", "10px"], [1, "container-fluid", 2, "padding-right", "0px"], ["style", "height: 50px; margin-right: 2em", 3, "src", 4, "ngIf"], [2, "font-size", "20px"], ["type", "button", "data-toggle", "collapse", "data-target", ".navbar-collapse", "aria-label", "Toggle navigation", 1, "navbar-toggler", 3, "click"], [1, "navbar-toggler-icon"], ["class", "navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse stack-top", "style", "margin-right: 0px;", 3, "ngClass", 4, "ngIf"], [2, "height", "50px", "margin-right", "2em", 3, "src"], [1, "navbar-collapse", "collapse", "d-sm-inline-flex", "flex-sm-row-reverse", "stack-top", 2, "margin-right", "0px", 3, "ngClass"], ["mat-icon-button", "", 3, "click"], ["id", "btnUser", "mat-button", "", 2, "margin-left", "2em", 3, "matMenuTriggerFor"], ["profileMenu", "matMenu"], ["id", "btnProfile", "mat-menu-item", "", 3, "click"], ["id", "btnLogOff", "mat-menu-item", "", 3, "click"], [4, "ngFor", "ngForOf"], ["id", "btnMenu", "mat-button", "", 3, "click", 4, "ngIf"], ["id", "btnMenu", "mat-button", "", 3, "matMenuTriggerFor", 4, "ngIf"], ["adminMenu", "matMenu"], ["id", "btnMenu", "mat-button", "", 3, "click"], ["id", "btnMenu", "mat-button", "", 3, "matMenuTriggerFor"], ["mat-menu-item", "", 3, "click", 4, "ngIf"], ["mat-menu-item", "", 3, "click"]], template: function NavMenuComponent_Template(rf, ctx) { if (rf & 1) {
190
+ i0.ɵɵtemplate(0, NavMenuComponent_header_0_Template, 9, 4, "header", 0);
191
+ } if (rf & 2) {
192
+ i0.ɵɵproperty("ngIf", ctx.loggedin);
193
+ } }, directives: [i3.NgIf, i3.NgClass, i4.MatButton, i5.MatIcon, i6.MatMenuTrigger, i6._MatMenu, i6.MatMenuItem, i3.NgForOf], styles: ["a.navbar-brand[_ngcontent-%COMP%]{white-space:normal;text-align:center;word-break:break-all}html[_ngcontent-%COMP%]{font-size:14px}@media (min-width:768px){html[_ngcontent-%COMP%]{font-size:16px}}.box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem rgba(0,0,0,.05)}.toolbar[_ngcontent-%COMP%]{height:60px;display:flex;align-items:center;background-color:#03a;color:#fff;font-weight:600}.stack-top[_ngcontent-%COMP%]{z-index:9;margin:20px}"] });
194
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(NavMenuComponent, [{
195
+ type: Component,
196
+ args: [{
197
+ selector: 'spa-nav-menu',
198
+ templateUrl: './nav-menu.component.html',
199
+ styleUrls: ['./nav-menu.component.css']
200
+ }]
201
+ }], function () { return [{ type: i1.Router }, { type: i2.AuthService }]; }, { appConfig: [{
202
+ type: Input
203
+ }] }); })();
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL25hdi1tZW51L25hdi1tZW51LmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL25hdi1tZW51L25hdi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0lDSW5ELHlCQUdBOzs7SUFIZ0MsNkRBQXNCOzs7O0lBZ0NoRCxrQ0FBZ0k7SUFBaEMsMlFBQStCO0lBQUMsWUFBZ0I7SUFBQSxpQkFBUzs7O0lBQXpCLGVBQWdCO0lBQWhCLHFDQUFnQjs7OztJQUdoSixrQ0FBeUo7SUFBaEMsMlFBQStCO0lBQUMsWUFBZ0I7SUFBQSxpQkFBUzs7O0lBQXpCLGVBQWdCO0lBQWhCLHFDQUFnQjs7O0lBR3pLLGtDQUEwSjtJQUFBLFlBQWdCO0lBQUEsaUJBQVM7Ozs7SUFBekQsdUNBQStCO0lBQUMsZUFBZ0I7SUFBaEIscUNBQWdCOzs7O0lBUXRLLGtDQUEwRztJQUFuQyx5UkFBa0M7SUFBQyxZQUFtQjtJQUFBLGlCQUFTOzs7SUFBNUIsZUFBbUI7SUFBbkIseUNBQW1COzs7SUFGL0gsMkJBRUU7SUFBQSxvR0FBMEc7SUFFNUcsaUJBQU07Ozs7SUFGSSxlQUFnRDtJQUFoRCwrRUFBZ0Q7OztJQWpCOUQsMkJBRUU7SUFDQSw4RkFBZ0k7SUFHaEksOEZBQXlKO0lBR3pKLDhGQUEwSjtJQUkxSiwwQ0FFRTtJQUFBLHdGQUVFO0lBSUosaUJBQVc7SUFFYixpQkFBTTs7OztJQXBCaUIsZUFBK0Q7SUFBL0QsOEZBQStEO0lBRy9ELGVBQXdGO0lBQXhGLDBIQUF3RjtJQUd4RixlQUF5RjtJQUF6RiwySEFBeUY7SUFNdkcsZUFBd0M7SUFBeEMsNkNBQXdDOzs7OztJQTFCckQsOEJBRUU7SUFBQSxrQ0FBdUQ7SUFBL0IsNExBQW9CLE9BQU8sS0FBRTtJQUFFLGdDQUFVO0lBQUEsc0JBQU07SUFBQSxpQkFBVztJQUFDLGlCQUFTO0lBRTVGLGtDQUEwRjtJQUFBLGdDQUFVO0lBQUEsOEJBQWM7SUFBQSxpQkFBVztJQUFFLFlBQTRCO0lBQUEsaUJBQVM7SUFFcEssMENBQ0U7SUFBQSxtQ0FBaUY7SUFBM0MsNkxBQW9CLG1CQUFtQixLQUFFO0lBQUUsd0JBQU87SUFBQSxpQkFBUztJQUNqRyxtQ0FBbUU7SUFBOUIsNkxBQW9CLE9BQU8sS0FBRTtJQUFDLHdCQUFPO0lBQUEsaUJBQVM7SUFDckYsaUJBQVc7SUFFVCxtRkFFRTtJQXVCSixpQkFBTTs7OztJQXBDdUgsdUVBQWdDO0lBSTdILGVBQWlDO0lBQWpDLHVDQUFpQztJQUE4RCxlQUE0QjtJQUE1QiwrREFBNEI7SUFPcEosZUFBdUM7SUFBdkMsbURBQXVDOzs7O0lBbEN0RCw4QkFDRTtJQUFBLDhCQUNFO0lBQUEsOEJBQ0U7SUFFQSwwRUFHQTtJQUFBLDhCQUNFO0lBQUEsWUFDRjtJQUFBLGlCQUFNO0lBR04saUNBT0U7SUFETSxzTEFBa0I7SUFDeEIsMEJBQXlDO0lBQzNDLGlCQUFTO0lBRVQsMkVBRUU7SUFxQ0YsaUJBQU07SUFFVixpQkFBTTtJQUNSLGlCQUFTOzs7SUE1REUsZUFBMEI7SUFBMUIsa0RBQTBCO0lBSTdCLGVBQ0Y7SUFERSx5REFDRjtJQVFRLGVBQWlDO0lBQWpDLGtEQUFpQztJQUtwQyxlQUFjO0lBQWQsb0NBQWM7O0FEYnpCLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFBbUIsTUFBYyxFQUFTLFdBQXdCO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWFsRSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRVYsY0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFmaUMsQ0FBQztJQUV2RSxRQUFRO1FBRU4sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDckYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFBO0lBRXZFLENBQUM7SUFXRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYTtJQUNiLCtDQUErQztJQUMvQyxnREFBZ0Q7SUFDaEQscUNBQXFDO0lBQ3JDLG9DQUFvQztJQUNwQyxJQUFJO0lBRUosVUFBVSxDQUFDLElBQVk7UUFFckIsSUFBSSxJQUFJLElBQUUsRUFBRSxFQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzlCO0lBRUgsQ0FBQzs7Z0ZBMUNVLGdCQUFnQjtxREFBaEIsZ0JBQWdCO1FDVjdCLHVFQUNFOztRQURNLG1DQUFnQjs7a0REVVgsZ0JBQWdCO2NBTDVCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsV0FBVyxFQUFFLDJCQUEyQjtnQkFDeEMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7YUFDeEM7O2tCQWtCRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgIEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLW5hdi1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25hdi1tZW51LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2TWVudUNvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nZ2VkVXNlckZ1bGxOYW1lLnN1YnNjcmliZSh1c2VyID0+IHRoaXMubG9nZ2VkVXNlckZ1bGxOYW1lID0gdXNlcilcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubXlSb2xlT2JzZXJ2LnN1YnNjcmliZShyb2wgPT4gdGhpcy5teVJvbGUgPSByb2wpO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dnZWRpbk9ic2Vydi5zdWJzY3JpYmUob2JqID0+IHRoaXMubG9nZ2VkaW4gPSBvYmopXHJcblxyXG4gIH1cclxuXHJcbiAgbXlSb2xlO1xyXG4gIGxvZ2dlZFVzZXJGdWxsTmFtZTogc3RyaW5nO1xyXG4gIGxvZ2dlZGluOiBib29sZWFuO1xyXG4gIGlzRXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZygpO1xyXG5cclxuXHJcblxyXG4gIGNvbGxhcHNlKCkge1xyXG4gICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB0b2dnbGUoKSB7XHJcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xyXG4gIH1cclxuXHJcbiAgLy8gbG9nb2ZmKCkge1xyXG4gIC8vICAgLy8gdGhpcy5hdXRoU2VydmljZS51cGRhdGVsb2dnZWRpbihmYWxzZSk7XHJcbiAgLy8gICAvLyB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZVJvbGUobmV3IFJvbGUoKSk7XHJcbiAgLy8gICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJsb2dpblwiXSk7XHJcbiAgLy8gICAvLyB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmNsZWFyKCk7XHJcbiAgLy8gfVxyXG5cclxuICByZWRpcmVjdFRvKGxpbms6IHN0cmluZyl7XHJcblxyXG4gICAgaWYgKGxpbmshPVwiXCIpe1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbGlua10pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxufVxyXG4iLCI8aGVhZGVyICpuZ0lmPVwibG9nZ2VkaW5cIj5cclxuICA8bmF2IGNsYXNzPVwidG9vbGJhciBuYXZiYXIgbmF2YmFyLWV4cGFuZC1zbSBuYXZiYXItdG9nZ2xlYWJsZS1zbSBuYXZiYXItbGlnaHQgIGJvcmRlci1ib3R0b20gYm94LXNoYWRvdyBtYi0zIFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDBweDtcIj5cclxuICAgICAgPCEtLTxhIGNsYXNzPVwibmF2YmFyLWJyYW5kXCIgW3JvdXRlckxpbmtdPVwiWycvJ11cIj5PcmJpdDwvYT4tLT5cclxuXHJcbiAgICAgIDxpbWcgKm5nSWY9XCJhcHBDb25maWcubG9nbyE9JydcIiBbc3JjXT1cImFwcENvbmZpZy5sb2dvXCIgc3R5bGU9XCJoZWlnaHQ6IDUwcHg7IG1hcmdpbi1yaWdodDogMmVtXCIgLz5cclxuXHJcblxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAyMHB4O1wiPlxyXG4gICAgICAgIHt7YXBwQ29uZmlnLmFwcE5hbWV9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXJcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIlxyXG4gICAgICAgICAgICAgIGRhdGEtdGFyZ2V0PVwiLm5hdmJhci1jb2xsYXBzZVwiXHJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlRvZ2dsZSBuYXZpZ2F0aW9uXCJcclxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXItaWNvblwiPjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwibXlSb2xlXCIgY2xhc3M9XCJuYXZiYXItY29sbGFwc2UgY29sbGFwc2UgZC1zbS1pbmxpbmUtZmxleCBmbGV4LXNtLXJvdy1yZXZlcnNlIHN0YWNrLXRvcFwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAwcHg7XCIgW25nQ2xhc3NdPVwieyBzaG93OiBpc0V4cGFuZGVkIH1cIiA+XHJcblxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZWRpcmVjdFRvKCdsb2dpbicpXCI+IDxtYXQtaWNvbj5sb2dvdXQ8L21hdC1pY29uPiA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiBpZD1cImJ0blVzZXJcIiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJwcm9maWxlTWVudVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6MmVtXCI+PG1hdC1pY29uPmFjY291bnRfY2lyY2xlPC9tYXQtaWNvbj4gICZuYnNwO3t7bG9nZ2VkVXNlckZ1bGxOYW1lfX08L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPG1hdC1tZW51ICNwcm9maWxlTWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgIDxidXR0b24gaWQ9XCJidG5Qcm9maWxlXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicmVkaXJlY3RUbygnaG9tZS91c2VyL3Byb2ZpbGUnKVwiID5Qcm9maWxlPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIGlkPVwiYnRuTG9nT2ZmXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicmVkaXJlY3RUbygnbG9naW4nKVwiPkxvZyBPZmY8L2J1dHRvbj5cclxuICAgICAgICA8L21hdC1tZW51PlxyXG5cclxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYXBwQ29uZmlnLmNhcEl0ZW1zXCI+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE1lbnUgSXRlbSAtLT5cclxuICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImJ0bk1lbnVcIiAqbmdJZj1cIm15Um9sZVtpdGVtLm5hbWVdICYmICFpdGVtLmNhcFN1Ykl0ZW1zICYmIGl0ZW0uc2hvd01lbnVcIiBtYXQtYnV0dG9uIChjbGljayk9XCJyZWRpcmVjdFRvKGl0ZW0ubGluaylcIj57e2l0ZW0uZGlzcGxheX19PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE1lbnUgSXRlbSB3aXRoIFN1YiBpdGVtcyBpZ25vcmVkIC0tPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGlkPVwiYnRuTWVudVwiICpuZ0lmPVwibXlSb2xlW2l0ZW0ubmFtZV0gJiYgaXRlbS5jYXBTdWJJdGVtcyAmJiBpdGVtLnNob3dNZW51ICYmIGl0ZW0uaWdub3JlU3Vic0Rpc3BsYXlcIiBtYXQtYnV0dG9uIChjbGljayk9XCJyZWRpcmVjdFRvKGl0ZW0ubGluaylcIj57e2l0ZW0uZGlzcGxheX19PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE1lbnUgSXRlbSB3aXRoIFN1YiBpdGVtcyB0byBkaXNwbGF5LS0+XHJcbiAgICAgICAgICAgIDxidXR0b24gaWQ9XCJidG5NZW51XCIgKm5nSWY9XCJteVJvbGVbaXRlbS5uYW1lXSAmJiBpdGVtLmNhcFN1Ykl0ZW1zICYmIGl0ZW0uc2hvd01lbnUgJiYgIWl0ZW0uaWdub3JlU3Vic0Rpc3BsYXlcIiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJhZG1pbk1lbnVcIj57e2l0ZW0uZGlzcGxheX19PC9idXR0b24+XHJcblxyXG5cclxuICAgICAgICAgICAgPCEtLSBTdWIgTWVudSBJdGVtcyAtLT5cclxuICAgICAgICAgICAgPG1hdC1tZW51ICNhZG1pbk1lbnU9XCJtYXRNZW51XCI+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHN1Ykl0ZW0gb2YgaXRlbS5jYXBTdWJJdGVtc1wiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJteVJvbGVbc3ViSXRlbS5uYW1lXSAmJiBzdWJJdGVtLnNob3dNZW51XCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicmVkaXJlY3RUbyhzdWJJdGVtLmxpbmspXCI+e3tzdWJJdGVtLmRpc3BsYXl9fTwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICA8L25hdj5cclxuPC9oZWFkZXI+XHJcbiJdfQ==