@trudb/tru-common-lib 0.0.725 → 0.0.728

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 (404) hide show
  1. package/{esm2020 → esm2022}/lib/assets/tru-icon-module.mjs +32 -32
  2. package/{esm2020 → esm2022}/lib/assets/tru-search-icon-module.mjs +36 -36
  3. package/{esm2020 → esm2022}/lib/base-classes/tru-component-config-base.mjs +3 -3
  4. package/{esm2020 → esm2022}/lib/base-classes/tru-control-component-config-base.mjs +3 -3
  5. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-control-base.mjs +17 -17
  6. package/esm2022/lib/base-classes/tru-edit-control-config-base.mjs +6 -0
  7. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-parent-control-config-base.mjs +3 -3
  8. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-pkey-control-config-base.mjs +3 -3
  9. package/esm2022/lib/base-classes/tru-entity-base.mjs +14 -0
  10. package/esm2022/lib/base-classes/tru-list-control-config-base.mjs +6 -0
  11. package/{esm2020 → esm2022}/lib/base-classes/tru-property-config-base.mjs +14 -15
  12. package/{esm2020 → esm2022}/lib/base-classes/tru-search-config-base.mjs +3 -3
  13. package/esm2022/lib/base-classes/tru-search-control-base.mjs +45 -0
  14. package/esm2022/lib/base-classes/tru-search-control-config-base.mjs +5 -0
  15. package/esm2022/lib/base-classes/tru-search-control-range-base.mjs +45 -0
  16. package/esm2022/lib/base-classes/tru-table-config-base.mjs +12 -0
  17. package/{esm2020 → esm2022}/lib/base-views/detail/tru-detail-view-base-module.mjs +19 -19
  18. package/esm2022/lib/base-views/detail/tru-detail-view-base.mjs +83 -0
  19. package/esm2022/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +25 -0
  20. package/esm2022/lib/base-views/search/services/tru-search-view-event-handler.mjs +25 -0
  21. package/{esm2020 → esm2022}/lib/base-views/search/tru-search-view-base-module.mjs +19 -19
  22. package/esm2022/lib/base-views/search/tru-search-view-base.mjs +68 -0
  23. package/{esm2020 → esm2022}/lib/base-views/search-result/tru-search-result-view-base-module.mjs +19 -19
  24. package/esm2022/lib/base-views/search-result/tru-search-result-view-base.mjs +54 -0
  25. package/{esm2020 → esm2022}/lib/classes/tru-choice.mjs +2 -2
  26. package/esm2022/lib/classes/tru-context-filter-choice.mjs +11 -0
  27. package/esm2022/lib/classes/tru-context-filter.mjs +16 -0
  28. package/esm2022/lib/classes/tru-data-change-parser.mjs +287 -0
  29. package/esm2022/lib/classes/tru-data-change.mjs +5 -0
  30. package/{esm2020 → esm2022}/lib/classes/tru-formula-eval.mjs +156 -156
  31. package/esm2022/lib/classes/tru-merge-data-set.mjs +11 -0
  32. package/esm2022/lib/classes/tru-merge-data.mjs +20 -0
  33. package/{esm2020 → esm2022}/lib/classes/tru-name-value.mjs +2 -2
  34. package/esm2022/lib/classes/tru-predicate.mjs +47 -0
  35. package/{esm2020 → esm2022}/lib/classes/tru-property-config-cloud-file.mjs +4 -4
  36. package/esm2022/lib/classes/tru-property-config-date.mjs +7 -0
  37. package/esm2022/lib/classes/tru-property-config-decimal.mjs +9 -0
  38. package/{esm2020 → esm2022}/lib/classes/tru-property-config-file.mjs +6 -8
  39. package/esm2022/lib/classes/tru-property-config-foreign-key.mjs +8 -0
  40. package/esm2022/lib/classes/tru-property-config-integer.mjs +7 -0
  41. package/esm2022/lib/classes/tru-property-config-password.mjs +6 -0
  42. package/esm2022/lib/classes/tru-property-config-percentage.mjs +7 -0
  43. package/esm2022/lib/classes/tru-property-config-scientific.mjs +7 -0
  44. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text-choices.mjs +6 -8
  45. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text.mjs +8 -10
  46. package/{esm2020 → esm2022}/lib/classes/tru-property-config-usa-address.mjs +6 -8
  47. package/{esm2020 → esm2022}/lib/classes/tru-property-config-zip-code.mjs +6 -8
  48. package/esm2022/lib/classes/tru-query-predicate-manager.mjs +49 -0
  49. package/{esm2020 → esm2022}/lib/components/confirm-dialog/tru-confirm-dialog-module.mjs +20 -20
  50. package/esm2022/lib/components/confirm-dialog/tru-confirm-dialog.mjs +59 -0
  51. package/{esm2020 → esm2022}/lib/components/data-grid/classes/tru-data-grid-config.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/components/data-grid/enums/tru-data-grid-types.mjs +6 -6
  53. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +40 -0
  54. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +27 -0
  55. package/esm2022/lib/components/data-grid/tru-data-grid-module.mjs +67 -0
  56. package/esm2022/lib/components/data-grid/tru-data-grid.mjs +382 -0
  57. package/{esm2020 → esm2022}/lib/components/desktop/classes/tru-desktop-title.mjs +2 -2
  58. package/esm2022/lib/components/desktop/classes/tru-desktop-view-config.mjs +21 -0
  59. package/{esm2020 → esm2022}/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.mjs +19 -19
  60. package/esm2022/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +122 -0
  61. package/{esm2020 → esm2022}/lib/components/desktop/menubar/tru-desktop-menubar-module.mjs +56 -56
  62. package/esm2022/lib/components/desktop/menubar/tru-desktop-menubar.mjs +36 -0
  63. package/esm2022/lib/components/desktop/services/tru-desktop-manager.mjs +86 -0
  64. package/esm2022/lib/components/desktop/services/tru-desktop-service.mjs +108 -0
  65. package/esm2022/lib/components/desktop/services/tru-window-action-event-handler.mjs +25 -0
  66. package/esm2022/lib/components/desktop/services/tru-window-event-args.mjs +24 -0
  67. package/esm2022/lib/components/desktop/services/tru-window-event-handler.mjs +42 -0
  68. package/{esm2020 → esm2022}/lib/components/desktop/statusbar/tru-desktop-statusbar-module.mjs +19 -19
  69. package/esm2022/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +20 -0
  70. package/{esm2020 → esm2022}/lib/components/desktop/taskbar/tru-desktop-taskbar-module.mjs +21 -21
  71. package/esm2022/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +41 -0
  72. package/{esm2020 → esm2022}/lib/components/desktop/tru-desktop-module.mjs +72 -72
  73. package/esm2022/lib/components/desktop/tru-desktop.mjs +737 -0
  74. package/{esm2020 → esm2022}/lib/components/desktop/view/tru-desktop-view-module.mjs +19 -19
  75. package/esm2022/lib/components/desktop/view/tru-desktop-view.mjs +29 -0
  76. package/{esm2020 → esm2022}/lib/components/desktop/viewport/tru-desktop-viewport-module.mjs +20 -20
  77. package/esm2022/lib/components/desktop/viewport/tru-desktop-viewport.mjs +117 -0
  78. package/{esm2020 → esm2022}/lib/components/desktop/window/tru-desktop-window-module.mjs +58 -58
  79. package/esm2022/lib/components/desktop/window/tru-desktop-window.mjs +467 -0
  80. package/{esm2020 → esm2022}/lib/components/export-dialog/tru-export-dialog-module.mjs +20 -20
  81. package/esm2022/lib/components/export-dialog/tru-export-dialog.mjs +61 -0
  82. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column-module.mjs +19 -19
  83. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column.mjs +12 -12
  84. package/{esm2020 → esm2022}/lib/components/layout/form/tru-form-module.mjs +19 -19
  85. package/esm2022/lib/components/layout/form/tru-form.mjs +35 -0
  86. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box-module.mjs +19 -19
  87. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box.mjs +12 -12
  88. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row-module.mjs +19 -19
  89. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row.mjs +12 -12
  90. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-config.mjs +7 -7
  91. package/esm2022/lib/components/login/classes/tru-auth-jwt-strategy.mjs +63 -0
  92. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-login-request.mjs +5 -3
  93. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-logout-request.mjs +4 -3
  94. package/esm2022/lib/components/login/classes/tru-auth-session-strategy.mjs +21 -0
  95. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-strategy-provider.mjs +19 -19
  96. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-token.mjs +11 -8
  97. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-user-request.mjs +4 -3
  98. package/esm2022/lib/components/login/services/tru-auth-cache.mjs +20 -0
  99. package/esm2022/lib/components/login/services/tru-auth-interceptor.mjs +46 -0
  100. package/esm2022/lib/components/login/services/tru-auth.mjs +87 -0
  101. package/esm2022/lib/components/login/tru-login-module.mjs +46 -0
  102. package/esm2022/lib/components/login/tru-login.mjs +59 -0
  103. package/{esm2020 → esm2022}/lib/components/password-dialog/tru-password-dialog-module.mjs +20 -20
  104. package/esm2022/lib/components/password-dialog/tru-password-dialog.mjs +53 -0
  105. package/{esm2020 → esm2022}/lib/components/toolbar/button/tru-toolbar-button-module.mjs +32 -32
  106. package/esm2022/lib/components/toolbar/button/tru-toolbar-button.mjs +40 -0
  107. package/{esm2020 → esm2022}/lib/components/toolbar/classes/tru-toolbar-dropdown-option.mjs +1 -1
  108. package/{esm2020 → esm2022}/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.mjs +44 -44
  109. package/esm2022/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +26 -0
  110. package/{esm2020 → esm2022}/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.mjs +36 -36
  111. package/esm2022/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +45 -0
  112. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.mjs +19 -19
  113. package/esm2022/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +17 -0
  114. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.mjs +19 -19
  115. package/esm2022/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +26 -0
  116. package/{esm2020 → esm2022}/lib/components/toolbar/menu/tru-toolbar-menu-module.mjs +32 -32
  117. package/esm2022/lib/components/toolbar/menu/tru-toolbar-menu.mjs +33 -0
  118. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator-module.mjs +19 -19
  119. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator.mjs +12 -12
  120. package/{esm2020 → esm2022}/lib/components/toolbar/text/tru-toolbar-text-module.mjs +32 -32
  121. package/esm2022/lib/components/toolbar/text/tru-toolbar-text.mjs +27 -0
  122. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar-module.mjs +73 -73
  123. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar.mjs +20 -21
  124. package/{esm2020 → esm2022}/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.mjs +36 -36
  125. package/esm2022/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +38 -0
  126. package/esm2022/lib/components/validation-dialog/tru-validation-dialog-config.mjs +25 -0
  127. package/{esm2020 → esm2022}/lib/components/validation-dialog/tru-validation-dialog-module.mjs +19 -19
  128. package/esm2022/lib/components/validation-dialog/tru-validation-dialog.mjs +83 -0
  129. package/{esm2020 → esm2022}/lib/directives/breeze-validator/tru-breeze-validator-module.mjs +19 -19
  130. package/esm2022/lib/directives/breeze-validator/tru-breeze-validator.mjs +107 -0
  131. package/{esm2020 → esm2022}/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.mjs +19 -19
  132. package/esm2022/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +155 -0
  133. package/{esm2020 → esm2022}/lib/directives/select-panel/tru-mat-select-panel-module.mjs +19 -19
  134. package/esm2022/lib/directives/select-panel/tru-mat-select-panel.mjs +69 -0
  135. package/{esm2020 → esm2022}/lib/interfaces/tru-value.mjs +1 -1
  136. package/{esm2020 → esm2022}/lib/material.module.mjs +192 -192
  137. package/esm2022/lib/services/tru-app-environment.mjs +113 -0
  138. package/esm2022/lib/services/tru-breeze-context-factory.mjs +84 -0
  139. package/esm2022/lib/services/tru-breeze-metadata-provider.mjs +21 -0
  140. package/esm2022/lib/services/tru-component-lookup.mjs +23 -0
  141. package/esm2022/lib/services/tru-connection-hub.mjs +52 -0
  142. package/esm2022/lib/services/tru-context-filters.mjs +28 -0
  143. package/esm2022/lib/services/tru-data-context.mjs +263 -0
  144. package/esm2022/lib/services/tru-entity-accessor.mjs +292 -0
  145. package/esm2022/lib/services/tru-model-property-lookup.mjs +21 -0
  146. package/{esm2020 → esm2022}/lib/services/tru-predicate-map.mjs +11 -11
  147. package/esm2022/lib/services/tru-search-result-view-manager.mjs +18 -0
  148. package/esm2022/lib/services/tru-sort.mjs +113 -0
  149. package/esm2022/lib/services/tru-table-registry.mjs +15 -0
  150. package/esm2022/lib/services/tru-text-manager.mjs +148 -0
  151. package/esm2022/lib/services/tru-ui-notification.mjs +107 -0
  152. package/esm2022/lib/services/tru-user.mjs +62 -0
  153. package/esm2022/lib/services/tru-util.mjs +76 -0
  154. package/{esm2020 → esm2022}/lib/tru-common-module.mjs +16 -16
  155. package/{esm2020 → esm2022}/public-api.mjs +144 -144
  156. package/{esm2020 → esm2022}/trudb-tru-common-lib.mjs +4 -4
  157. package/fesm2022/trudb-tru-common-lib.mjs +6932 -0
  158. package/fesm2022/trudb-tru-common-lib.mjs.map +1 -0
  159. package/index.d.ts +5 -5
  160. package/lib/assets/tru-icon-module.d.ts +11 -11
  161. package/lib/assets/tru-search-icon-module.d.ts +11 -11
  162. package/lib/base-classes/tru-component-config-base.d.ts +3 -3
  163. package/lib/base-classes/tru-control-component-config-base.d.ts +20 -20
  164. package/lib/base-classes/tru-edit-control-base.d.ts +10 -10
  165. package/lib/base-classes/tru-edit-control-config-base.d.ts +21 -21
  166. package/lib/base-classes/tru-edit-parent-control-config-base.d.ts +9 -9
  167. package/lib/base-classes/tru-edit-pkey-control-config-base.d.ts +11 -11
  168. package/lib/base-classes/tru-entity-base.d.ts +14 -14
  169. package/lib/base-classes/tru-list-control-config-base.d.ts +21 -21
  170. package/lib/base-classes/tru-property-config-base.d.ts +13 -13
  171. package/lib/base-classes/tru-search-config-base.d.ts +9 -9
  172. package/lib/base-classes/tru-search-control-base.d.ts +21 -21
  173. package/lib/base-classes/tru-search-control-config-base.d.ts +13 -13
  174. package/lib/base-classes/tru-search-control-range-base.d.ts +25 -25
  175. package/lib/base-classes/tru-table-config-base.d.ts +11 -11
  176. package/lib/base-views/detail/tru-detail-view-base-module.d.ts +9 -9
  177. package/lib/base-views/detail/tru-detail-view-base.d.ts +32 -32
  178. package/lib/base-views/search/services/tru-search-view-control-event-handler.d.ts +12 -12
  179. package/lib/base-views/search/services/tru-search-view-event-handler.d.ts +11 -11
  180. package/lib/base-views/search/tru-search-view-base-module.d.ts +9 -9
  181. package/lib/base-views/search/tru-search-view-base.d.ts +36 -36
  182. package/lib/base-views/search-result/tru-search-result-view-base-module.d.ts +9 -9
  183. package/lib/base-views/search-result/tru-search-result-view-base.d.ts +25 -25
  184. package/lib/classes/tru-choice.d.ts +8 -8
  185. package/lib/classes/tru-context-filter-choice.d.ts +6 -6
  186. package/lib/classes/tru-context-filter.d.ts +10 -10
  187. package/lib/classes/tru-data-change-parser.d.ts +33 -33
  188. package/lib/classes/tru-data-change.d.ts +4 -4
  189. package/lib/classes/tru-formula-eval.d.ts +31 -31
  190. package/lib/classes/tru-merge-data-set.d.ts +7 -7
  191. package/lib/classes/tru-merge-data.d.ts +9 -9
  192. package/lib/classes/tru-name-value.d.ts +9 -9
  193. package/lib/classes/tru-predicate.d.ts +8 -8
  194. package/lib/classes/tru-property-config-cloud-file.d.ts +4 -4
  195. package/lib/classes/tru-property-config-date.d.ts +6 -6
  196. package/lib/classes/tru-property-config-decimal.d.ts +8 -8
  197. package/lib/classes/tru-property-config-file.d.ts +5 -5
  198. package/lib/classes/tru-property-config-foreign-key.d.ts +7 -7
  199. package/lib/classes/tru-property-config-integer.d.ts +6 -6
  200. package/lib/classes/tru-property-config-password.d.ts +5 -5
  201. package/lib/classes/tru-property-config-percentage.d.ts +6 -6
  202. package/lib/classes/tru-property-config-scientific.d.ts +6 -6
  203. package/lib/classes/tru-property-config-text-choices.d.ts +5 -5
  204. package/lib/classes/tru-property-config-text.d.ts +7 -7
  205. package/lib/classes/tru-property-config-usa-address.d.ts +5 -5
  206. package/lib/classes/tru-property-config-zip-code.d.ts +5 -5
  207. package/lib/classes/tru-query-predicate-manager.d.ts +26 -26
  208. package/lib/components/confirm-dialog/tru-confirm-dialog-module.d.ts +10 -10
  209. package/lib/components/confirm-dialog/tru-confirm-dialog.d.ts +28 -28
  210. package/lib/components/data-grid/classes/tru-data-grid-config.d.ts +7 -7
  211. package/lib/components/data-grid/enums/tru-data-grid-types.d.ts +5 -5
  212. package/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.d.ts +13 -13
  213. package/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.d.ts +13 -13
  214. package/lib/components/data-grid/tru-data-grid-module.d.ts +15 -15
  215. package/lib/components/data-grid/tru-data-grid.d.ts +67 -67
  216. package/lib/components/desktop/classes/tru-desktop-title.d.ts +4 -4
  217. package/lib/components/desktop/classes/tru-desktop-view-config.d.ts +16 -16
  218. package/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.d.ts +9 -9
  219. package/lib/components/desktop/directives/resizable/tru-desktop-resizable.d.ts +32 -32
  220. package/lib/components/desktop/menubar/tru-desktop-menubar-module.d.ts +17 -17
  221. package/lib/components/desktop/menubar/tru-desktop-menubar.d.ts +15 -15
  222. package/lib/components/desktop/services/tru-desktop-manager.d.ts +33 -33
  223. package/lib/components/desktop/services/tru-desktop-service.d.ts +95 -95
  224. package/lib/components/desktop/services/tru-window-action-event-handler.d.ts +12 -12
  225. package/lib/components/desktop/services/tru-window-event-args.d.ts +17 -17
  226. package/lib/components/desktop/services/tru-window-event-handler.d.ts +20 -20
  227. package/lib/components/desktop/statusbar/tru-desktop-statusbar-module.d.ts +9 -9
  228. package/lib/components/desktop/statusbar/tru-desktop-statusbar.d.ts +10 -10
  229. package/lib/components/desktop/taskbar/tru-desktop-taskbar-module.d.ts +11 -11
  230. package/lib/components/desktop/taskbar/tru-desktop-taskbar.d.ts +15 -15
  231. package/lib/components/desktop/tru-desktop-module.d.ts +20 -20
  232. package/lib/components/desktop/tru-desktop.d.ts +337 -337
  233. package/lib/components/desktop/view/tru-desktop-view-module.d.ts +9 -9
  234. package/lib/components/desktop/view/tru-desktop-view.d.ts +14 -14
  235. package/lib/components/desktop/viewport/tru-desktop-viewport-module.d.ts +10 -10
  236. package/lib/components/desktop/viewport/tru-desktop-viewport.d.ts +48 -48
  237. package/lib/components/desktop/window/tru-desktop-window-module.d.ts +17 -17
  238. package/lib/components/desktop/window/tru-desktop-window.d.ts +189 -189
  239. package/lib/components/export-dialog/tru-export-dialog-module.d.ts +10 -10
  240. package/lib/components/export-dialog/tru-export-dialog.d.ts +26 -26
  241. package/lib/components/layout/column/tru-column-module.d.ts +9 -9
  242. package/lib/components/layout/column/tru-column.d.ts +6 -6
  243. package/lib/components/layout/form/tru-form-module.d.ts +9 -9
  244. package/lib/components/layout/form/tru-form.d.ts +10 -10
  245. package/lib/components/layout/group-box/tru-group-box-module.d.ts +9 -9
  246. package/lib/components/layout/group-box/tru-group-box.d.ts +6 -6
  247. package/lib/components/layout/row/tru-row-module.d.ts +9 -9
  248. package/lib/components/layout/row/tru-row.d.ts +6 -6
  249. package/lib/components/login/classes/tru-auth-config.d.ts +16 -16
  250. package/lib/components/login/classes/tru-auth-jwt-strategy.d.ts +15 -15
  251. package/lib/components/login/classes/tru-auth-login-request.d.ts +4 -4
  252. package/lib/components/login/classes/tru-auth-logout-request.d.ts +3 -3
  253. package/lib/components/login/classes/tru-auth-session-strategy.d.ts +13 -13
  254. package/lib/components/login/classes/tru-auth-strategy-provider.d.ts +9 -9
  255. package/lib/components/login/classes/tru-auth-token.d.ts +6 -6
  256. package/lib/components/login/classes/tru-auth-user-request.d.ts +3 -3
  257. package/lib/components/login/services/tru-auth-cache.d.ts +11 -11
  258. package/lib/components/login/services/tru-auth-interceptor.d.ts +16 -16
  259. package/lib/components/login/services/tru-auth.d.ts +29 -29
  260. package/lib/components/login/tru-login-module.d.ts +11 -11
  261. package/lib/components/login/tru-login.d.ts +21 -21
  262. package/lib/components/password-dialog/tru-password-dialog-module.d.ts +10 -10
  263. package/lib/components/password-dialog/tru-password-dialog.d.ts +24 -23
  264. package/lib/components/toolbar/button/tru-toolbar-button-module.d.ts +11 -11
  265. package/lib/components/toolbar/button/tru-toolbar-button.d.ts +16 -16
  266. package/lib/components/toolbar/classes/tru-toolbar-dropdown-option.d.ts +4 -4
  267. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.d.ts +14 -14
  268. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter.d.ts +13 -13
  269. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.d.ts +12 -12
  270. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown.d.ts +18 -18
  271. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.d.ts +9 -9
  272. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.d.ts +7 -7
  273. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.d.ts +9 -9
  274. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.d.ts +8 -8
  275. package/lib/components/toolbar/menu/tru-toolbar-menu-module.d.ts +11 -11
  276. package/lib/components/toolbar/menu/tru-toolbar-menu.d.ts +10 -10
  277. package/lib/components/toolbar/separator/tru-toolbar-separator-module.d.ts +9 -9
  278. package/lib/components/toolbar/separator/tru-toolbar-separator.d.ts +6 -6
  279. package/lib/components/toolbar/text/tru-toolbar-text-module.d.ts +11 -11
  280. package/lib/components/toolbar/text/tru-toolbar-text.d.ts +12 -12
  281. package/lib/components/toolbar/tru-toolbar-module.d.ts +16 -16
  282. package/lib/components/toolbar/tru-toolbar.d.ts +9 -9
  283. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.d.ts +12 -12
  284. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile.d.ts +17 -17
  285. package/lib/components/validation-dialog/tru-validation-dialog-config.d.ts +13 -13
  286. package/lib/components/validation-dialog/tru-validation-dialog-module.d.ts +9 -9
  287. package/lib/components/validation-dialog/tru-validation-dialog.d.ts +20 -20
  288. package/lib/directives/breeze-validator/tru-breeze-validator-module.d.ts +9 -9
  289. package/lib/directives/breeze-validator/tru-breeze-validator.d.ts +27 -27
  290. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.d.ts +9 -9
  291. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.d.ts +40 -40
  292. package/lib/directives/select-panel/tru-mat-select-panel-module.d.ts +9 -9
  293. package/lib/directives/select-panel/tru-mat-select-panel.d.ts +17 -17
  294. package/lib/interfaces/tru-value.d.ts +6 -6
  295. package/lib/material.module.d.ts +50 -50
  296. package/lib/services/tru-app-environment.d.ts +57 -57
  297. package/lib/services/tru-breeze-context-factory.d.ts +32 -32
  298. package/lib/services/tru-breeze-metadata-provider.d.ts +9 -9
  299. package/lib/services/tru-component-lookup.d.ts +9 -9
  300. package/lib/services/tru-connection-hub.d.ts +18 -18
  301. package/lib/services/tru-context-filters.d.ts +10 -10
  302. package/lib/services/tru-data-context.d.ts +42 -42
  303. package/lib/services/tru-entity-accessor.d.ts +46 -46
  304. package/lib/services/tru-model-property-lookup.d.ts +10 -10
  305. package/lib/services/tru-predicate-map.d.ts +6 -6
  306. package/lib/services/tru-search-result-view-manager.d.ts +10 -10
  307. package/lib/services/tru-sort.d.ts +56 -56
  308. package/lib/services/tru-table-registry.d.ts +8 -8
  309. package/lib/services/tru-text-manager.d.ts +68 -68
  310. package/lib/services/tru-ui-notification.d.ts +36 -36
  311. package/lib/services/tru-user.d.ts +29 -29
  312. package/lib/services/tru-util.d.ts +14 -14
  313. package/lib/tru-common-module.d.ts +6 -6
  314. package/package.json +5 -11
  315. package/public-api.d.ts +117 -117
  316. package/esm2020/lib/base-classes/tru-edit-control-config-base.mjs +0 -4
  317. package/esm2020/lib/base-classes/tru-entity-base.mjs +0 -13
  318. package/esm2020/lib/base-classes/tru-list-control-config-base.mjs +0 -4
  319. package/esm2020/lib/base-classes/tru-search-control-base.mjs +0 -47
  320. package/esm2020/lib/base-classes/tru-search-control-config-base.mjs +0 -4
  321. package/esm2020/lib/base-classes/tru-search-control-range-base.mjs +0 -47
  322. package/esm2020/lib/base-classes/tru-table-config-base.mjs +0 -13
  323. package/esm2020/lib/base-views/detail/tru-detail-view-base.mjs +0 -76
  324. package/esm2020/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +0 -27
  325. package/esm2020/lib/base-views/search/services/tru-search-view-event-handler.mjs +0 -27
  326. package/esm2020/lib/base-views/search/tru-search-view-base.mjs +0 -63
  327. package/esm2020/lib/base-views/search-result/tru-search-result-view-base.mjs +0 -51
  328. package/esm2020/lib/classes/tru-context-filter-choice.mjs +0 -8
  329. package/esm2020/lib/classes/tru-context-filter.mjs +0 -16
  330. package/esm2020/lib/classes/tru-data-change-parser.mjs +0 -277
  331. package/esm2020/lib/classes/tru-data-change.mjs +0 -7
  332. package/esm2020/lib/classes/tru-merge-data-set.mjs +0 -12
  333. package/esm2020/lib/classes/tru-merge-data.mjs +0 -17
  334. package/esm2020/lib/classes/tru-predicate.mjs +0 -47
  335. package/esm2020/lib/classes/tru-property-config-date.mjs +0 -9
  336. package/esm2020/lib/classes/tru-property-config-decimal.mjs +0 -11
  337. package/esm2020/lib/classes/tru-property-config-foreign-key.mjs +0 -10
  338. package/esm2020/lib/classes/tru-property-config-integer.mjs +0 -9
  339. package/esm2020/lib/classes/tru-property-config-password.mjs +0 -8
  340. package/esm2020/lib/classes/tru-property-config-percentage.mjs +0 -9
  341. package/esm2020/lib/classes/tru-property-config-scientific.mjs +0 -9
  342. package/esm2020/lib/classes/tru-query-predicate-manager.mjs +0 -49
  343. package/esm2020/lib/components/confirm-dialog/tru-confirm-dialog.mjs +0 -45
  344. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +0 -39
  345. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +0 -26
  346. package/esm2020/lib/components/data-grid/tru-data-grid-module.mjs +0 -67
  347. package/esm2020/lib/components/data-grid/tru-data-grid.mjs +0 -370
  348. package/esm2020/lib/components/desktop/classes/tru-desktop-view-config.mjs +0 -21
  349. package/esm2020/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +0 -109
  350. package/esm2020/lib/components/desktop/menubar/tru-desktop-menubar.mjs +0 -34
  351. package/esm2020/lib/components/desktop/services/tru-desktop-manager.mjs +0 -84
  352. package/esm2020/lib/components/desktop/services/tru-desktop-service.mjs +0 -116
  353. package/esm2020/lib/components/desktop/services/tru-window-action-event-handler.mjs +0 -27
  354. package/esm2020/lib/components/desktop/services/tru-window-event-args.mjs +0 -26
  355. package/esm2020/lib/components/desktop/services/tru-window-event-handler.mjs +0 -44
  356. package/esm2020/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +0 -18
  357. package/esm2020/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +0 -40
  358. package/esm2020/lib/components/desktop/tru-desktop.mjs +0 -731
  359. package/esm2020/lib/components/desktop/view/tru-desktop-view.mjs +0 -25
  360. package/esm2020/lib/components/desktop/viewport/tru-desktop-viewport.mjs +0 -113
  361. package/esm2020/lib/components/desktop/window/tru-desktop-window.mjs +0 -457
  362. package/esm2020/lib/components/export-dialog/tru-export-dialog.mjs +0 -57
  363. package/esm2020/lib/components/layout/form/tru-form.mjs +0 -34
  364. package/esm2020/lib/components/login/classes/tru-auth-jwt-strategy.mjs +0 -65
  365. package/esm2020/lib/components/login/classes/tru-auth-session-strategy.mjs +0 -19
  366. package/esm2020/lib/components/login/services/tru-auth-cache.mjs +0 -22
  367. package/esm2020/lib/components/login/services/tru-auth-interceptor.mjs +0 -43
  368. package/esm2020/lib/components/login/services/tru-auth.mjs +0 -81
  369. package/esm2020/lib/components/login/tru-login-module.mjs +0 -46
  370. package/esm2020/lib/components/login/tru-login.mjs +0 -58
  371. package/esm2020/lib/components/password-dialog/tru-password-dialog.mjs +0 -44
  372. package/esm2020/lib/components/toolbar/button/tru-toolbar-button.mjs +0 -41
  373. package/esm2020/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +0 -24
  374. package/esm2020/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +0 -43
  375. package/esm2020/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +0 -16
  376. package/esm2020/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +0 -26
  377. package/esm2020/lib/components/toolbar/menu/tru-toolbar-menu.mjs +0 -33
  378. package/esm2020/lib/components/toolbar/text/tru-toolbar-text.mjs +0 -28
  379. package/esm2020/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +0 -35
  380. package/esm2020/lib/components/validation-dialog/tru-validation-dialog-config.mjs +0 -21
  381. package/esm2020/lib/components/validation-dialog/tru-validation-dialog.mjs +0 -79
  382. package/esm2020/lib/directives/breeze-validator/tru-breeze-validator.mjs +0 -100
  383. package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +0 -151
  384. package/esm2020/lib/directives/select-panel/tru-mat-select-panel.mjs +0 -66
  385. package/esm2020/lib/services/tru-app-environment.mjs +0 -94
  386. package/esm2020/lib/services/tru-breeze-context-factory.mjs +0 -79
  387. package/esm2020/lib/services/tru-breeze-metadata-provider.mjs +0 -22
  388. package/esm2020/lib/services/tru-component-lookup.mjs +0 -25
  389. package/esm2020/lib/services/tru-connection-hub.mjs +0 -48
  390. package/esm2020/lib/services/tru-context-filters.mjs +0 -29
  391. package/esm2020/lib/services/tru-data-context.mjs +0 -258
  392. package/esm2020/lib/services/tru-entity-accessor.mjs +0 -287
  393. package/esm2020/lib/services/tru-model-property-lookup.mjs +0 -22
  394. package/esm2020/lib/services/tru-search-result-view-manager.mjs +0 -17
  395. package/esm2020/lib/services/tru-sort.mjs +0 -114
  396. package/esm2020/lib/services/tru-table-registry.mjs +0 -16
  397. package/esm2020/lib/services/tru-text-manager.mjs +0 -134
  398. package/esm2020/lib/services/tru-ui-notification.mjs +0 -103
  399. package/esm2020/lib/services/tru-user.mjs +0 -63
  400. package/esm2020/lib/services/tru-util.mjs +0 -77
  401. package/fesm2015/trudb-tru-common-lib.mjs +0 -6799
  402. package/fesm2015/trudb-tru-common-lib.mjs.map +0 -1
  403. package/fesm2020/trudb-tru-common-lib.mjs +0 -6776
  404. package/fesm2020/trudb-tru-common-lib.mjs.map +0 -1
@@ -1,8 +1,11 @@
1
- export class TruAuthToken {
2
- constructor(accessToken, refreshToken, userClaims) {
3
- this.accessToken = accessToken;
4
- this.refreshToken = refreshToken;
5
- this.userClaims = userClaims;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGgtdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vY2xhc3Nlcy90cnUtYXV0aC10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNTLFdBQW1CLEVBQ25CLFlBQW9CLEVBQ3BCLFVBQWtCO1FBRmxCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVE7SUFBSSxDQUFDO0NBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRydUF1dGhUb2tlbiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYWNjZXNzVG9rZW46IHN0cmluZyxcclxuICAgIHB1YmxpYyByZWZyZXNoVG9rZW46IHN0cmluZyxcclxuICAgIHB1YmxpYyB1c2VyQ2xhaW1zOiBzdHJpbmcpIHsgfVxyXG59XHJcbiJdfQ==
1
+ export class TruAuthToken {
2
+ accessToken;
3
+ refreshToken;
4
+ userClaims;
5
+ constructor(accessToken, refreshToken, userClaims) {
6
+ this.accessToken = accessToken;
7
+ this.refreshToken = refreshToken;
8
+ this.userClaims = userClaims;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGgtdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vY2xhc3Nlcy90cnUtYXV0aC10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQUVkO0lBQ0E7SUFDQTtJQUhULFlBQ1MsV0FBbUIsRUFDbkIsWUFBb0IsRUFDcEIsVUFBa0I7UUFGbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtJQUFJLENBQUM7Q0FDakMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVHJ1QXV0aFRva2VuIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhY2Nlc3NUb2tlbjogc3RyaW5nLFxyXG4gICAgcHVibGljIHJlZnJlc2hUb2tlbjogc3RyaW5nLFxyXG4gICAgcHVibGljIHVzZXJDbGFpbXM6IHN0cmluZykgeyB9XHJcbn1cclxuIl19
@@ -1,3 +1,4 @@
1
- export class TruAuthUserRequest {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGgtdXNlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luL2NsYXNzZXMvdHJ1LWF1dGgtdXNlci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7Q0FFOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVHJ1QXV0aFVzZXJSZXF1ZXN0IHtcclxuICAgIHVzZXJuYW1lITogc3RyaW5nO1xyXG59XHJcbiJdfQ==
1
+ export class TruAuthUserRequest {
2
+ username;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGgtdXNlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luL2NsYXNzZXMvdHJ1LWF1dGgtdXNlci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsUUFBUSxDQUFVO0NBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRydUF1dGhVc2VyUmVxdWVzdCB7XHJcbiAgICB1c2VybmFtZSE6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class TruAuthCache {
4
+ prunables = [];
5
+ registerPrunable(prunable) {
6
+ this.prunables.push(prunable);
7
+ }
8
+ pruneAll() {
9
+ this.prunables.forEach((p) => p.pruneCache());
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuthCache, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuthCache, providedIn: "root" });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuthCache, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: "root",
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGgtY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vc2VydmljZXMvdHJ1LWF1dGgtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7SUFDdkIsU0FBUyxHQUFlLEVBQUUsQ0FBQztJQUUzQixnQkFBZ0IsQ0FBQyxRQUFrQjtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO3VHQVRVLFlBQVk7MkdBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVBdXRoQ2FjaGUge1xyXG4gIHBydW5hYmxlczogUHJ1bmFibGVbXSA9IFtdO1xyXG5cclxuICByZWdpc3RlclBydW5hYmxlKHBydW5hYmxlOiBQcnVuYWJsZSkge1xyXG4gICAgdGhpcy5wcnVuYWJsZXMucHVzaChwcnVuYWJsZSk7XHJcbiAgfVxyXG5cclxuICBwcnVuZUFsbCgpIHtcclxuICAgIHRoaXMucHJ1bmFibGVzLmZvckVhY2goKHApID0+IHAucHJ1bmVDYWNoZSgpKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJ1bmFibGUge1xyXG4gIHBydW5lQ2FjaGUoKTogdm9pZDtcclxufVxyXG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Injectable, Inject } from "@angular/core";
2
+ import { throwError } from "rxjs";
3
+ import { catchError } from "rxjs/operators";
4
+ import { TRU_AUTH_STRATEGY } from "../classes/tru-auth-config";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./tru-auth";
7
+ import * as i2 from "../../../services/tru-app-environment";
8
+ import * as i3 from "../classes/tru-auth-jwt-strategy";
9
+ export class TruAuthInterceptor {
10
+ auth;
11
+ appEnvironment;
12
+ jwt;
13
+ constructor(auth, appEnvironment, jwt) {
14
+ this.auth = auth;
15
+ this.appEnvironment = appEnvironment;
16
+ this.jwt = jwt;
17
+ }
18
+ intercept(request, next) {
19
+ if (this.appEnvironment.authType === 'jwt')
20
+ request = this.addToken(request, String(this.jwt.getToken()));
21
+ if (this.appEnvironment.authType === 'session')
22
+ request = request.clone({
23
+ withCredentials: true
24
+ });
25
+ return next.handle(request).pipe(catchError((error) => {
26
+ if (error.status === 401) {
27
+ this.auth.doLogoutAndRedirectToLogin();
28
+ }
29
+ return throwError(error);
30
+ }));
31
+ }
32
+ addToken(request, token) {
33
+ return request.clone({
34
+ setHeaders: { Authorization: `Bearer ${token}` },
35
+ });
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuthInterceptor, deps: [{ token: i1.TruAuth }, { token: i2.TruAppEnvironment }, { token: TRU_AUTH_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuthInterceptor });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuthInterceptor, decorators: [{
41
+ type: Injectable
42
+ }], ctorParameters: () => [{ type: i1.TruAuth }, { type: i2.TruAppEnvironment }, { type: i3.TruAuthJwtStrategy, decorators: [{
43
+ type: Inject,
44
+ args: [TRU_AUTH_STRATEGY]
45
+ }] }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGgtaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vc2VydmljZXMvdHJ1LWF1dGgtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBSS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFFbkI7SUFDQTtJQUMyQjtJQUhyQyxZQUNVLElBQWEsRUFDYixjQUFpQyxFQUNOLEdBQXVCO1FBRmxELFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDTixRQUFHLEdBQUgsR0FBRyxDQUFvQjtJQUN6RCxDQUFDO0lBRUosU0FBUyxDQUNQLE9BQXlCLEVBQ3pCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEtBQUssS0FBSztZQUN4QyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhFLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEtBQUssU0FBUztZQUM1QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO2FBQ3hDO1lBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBeUIsRUFBRSxLQUFhO1FBQ3ZELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNuQixVQUFVLEVBQUUsRUFBRSxhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUUsRUFBRTtTQUNqRCxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQWpDVSxrQkFBa0IsMEVBSW5CLGlCQUFpQjsyR0FKaEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFLTixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbmltcG9ydCB7IFRydUF1dGggfSBmcm9tIFwiLi90cnUtYXV0aFwiO1xyXG5pbXBvcnQgeyBUcnVBdXRoSnd0U3RyYXRlZ3kgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC1qd3Qtc3RyYXRlZ3lcIjtcclxuaW1wb3J0IHsgVFJVX0FVVEhfU1RSQVRFR1kgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC1jb25maWdcIjtcclxuaW1wb3J0IHsgVHJ1QXBwRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdHJ1LWFwcC1lbnZpcm9ubWVudFwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJ1QXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aDogVHJ1QXV0aCxcclxuICAgIHByaXZhdGUgYXBwRW52aXJvbm1lbnQ6IFRydUFwcEVudmlyb25tZW50LFxyXG4gICAgQEluamVjdChUUlVfQVVUSF9TVFJBVEVHWSkgcHJpdmF0ZSBqd3Q6IFRydUF1dGhKd3RTdHJhdGVneVxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgaWYgKHRoaXMuYXBwRW52aXJvbm1lbnQuYXV0aFR5cGUgPT09ICdqd3QnKVxyXG4gICAgICByZXF1ZXN0ID0gdGhpcy5hZGRUb2tlbihyZXF1ZXN0LCBTdHJpbmcodGhpcy5qd3QuZ2V0VG9rZW4oKSkpO1xyXG5cclxuICAgIGlmICh0aGlzLmFwcEVudmlyb25tZW50LmF1dGhUeXBlID09PSAnc2Vzc2lvbicpXHJcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcclxuICAgICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICB0aGlzLmF1dGguZG9Mb2dvdXRBbmRSZWRpcmVjdFRvTG9naW4oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkVG9rZW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgdG9rZW46IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICBzZXRIZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,87 @@
1
+ import { Injectable, Inject } from "@angular/core";
2
+ import { BehaviorSubject } from "rxjs";
3
+ import { TRU_AUTH_STRATEGY } from "../classes/tru-auth-config";
4
+ import { TRU_AUTH_CONFIG } from "../classes/tru-auth-config";
5
+ import { tap } from "rxjs/operators";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "@angular/common/http";
9
+ import * as i3 from "./tru-auth-cache";
10
+ import * as i4 from "../../../services/tru-user";
11
+ import * as i5 from "../../../services/tru-app-environment";
12
+ export class TruAuth {
13
+ router;
14
+ http;
15
+ cache;
16
+ user;
17
+ appEnvironment;
18
+ auth;
19
+ loggedIn = new BehaviorSubject(false);
20
+ baseUrl = '';
21
+ constructor(router, http, cache, user, appEnvironment, auth) {
22
+ this.router = router;
23
+ this.http = http;
24
+ this.cache = cache;
25
+ this.user = user;
26
+ this.appEnvironment = appEnvironment;
27
+ this.auth = auth;
28
+ this.baseUrl = this.appEnvironment.appUri;
29
+ }
30
+ login(loginRequest) {
31
+ return this.http
32
+ .post(`${this.baseUrl}${TRU_AUTH_CONFIG.authUrl}/login`, loginRequest)
33
+ .pipe(tap((data) => {
34
+ this.auth.doLoginUser(data);
35
+ this.loggedIn.next(true);
36
+ }));
37
+ }
38
+ setUser() {
39
+ this.auth.createUser(this.user);
40
+ }
41
+ logout() {
42
+ this.http
43
+ .post(`${this.baseUrl}${TRU_AUTH_CONFIG.authUrl}/logout`, null).subscribe(() => {
44
+ this.doLogoutAndRedirectToLogin();
45
+ });
46
+ }
47
+ userClaims() {
48
+ if (this.appEnvironment.authType === 'session') {
49
+ return this.http
50
+ .get(`${this.baseUrl}${TRU_AUTH_CONFIG.authUrl}/userClaims`)
51
+ .pipe(tap((userClaims) => {
52
+ this.user.create(userClaims);
53
+ }));
54
+ }
55
+ else {
56
+ return this.auth.createUser(this.user);
57
+ }
58
+ }
59
+ get isLoggedIn() {
60
+ if (!this.loggedIn.value) {
61
+ this.loggedIn.next(this.auth.isLoggedIn());
62
+ }
63
+ return this.loggedIn.asObservable();
64
+ }
65
+ doLogoutAndRedirectToLogin() {
66
+ this.doLogoutUser();
67
+ this.loggedIn.next(false);
68
+ this.router.navigate([""]);
69
+ }
70
+ doLogoutUser() {
71
+ this.user.destroy();
72
+ this.cache.pruneAll();
73
+ this.auth.doLogoutUser();
74
+ }
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuth, deps: [{ token: i1.Router }, { token: i2.HttpClient }, { token: i3.TruAuthCache }, { token: i4.TruUser }, { token: i5.TruAppEnvironment }, { token: TRU_AUTH_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
76
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuth, providedIn: "root" });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruAuth, decorators: [{
79
+ type: Injectable,
80
+ args: [{
81
+ providedIn: "root",
82
+ }]
83
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.HttpClient }, { type: i3.TruAuthCache }, { type: i4.TruUser }, { type: i5.TruAppEnvironment }, { type: undefined, decorators: [{
84
+ type: Inject,
85
+ args: [TRU_AUTH_STRATEGY]
86
+ }] }] });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vc2VydmljZXMvdHJ1LWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEdBQUcsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVVqRSxNQUFNLE9BQU8sT0FBTztJQUtSO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDMkI7SUFUN0IsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQy9DLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFFN0IsWUFDVSxNQUFjLEVBQ2QsSUFBZ0IsRUFDaEIsS0FBbUIsRUFDbkIsSUFBYSxFQUNiLGNBQWlDLEVBQ04sSUFBMEI7UUFMckQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ04sU0FBSSxHQUFKLElBQUksQ0FBc0I7UUFFN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQWlDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLFFBQVEsRUFBRSxZQUFZLENBQUM7YUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUk7YUFDTixJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xGLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJO2lCQUNiLEdBQUcsQ0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLE9BQU8sYUFBYSxDQUFDO2lCQUNoRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUNJO1lBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQzt1R0FqRVUsT0FBTyxzSkFVUixpQkFBaUI7MkdBVmhCLE9BQU8sY0FGTixNQUFNOzsyRkFFUCxPQUFPO2tCQUhuQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUcnVBdXRoTG9naW5SZXF1ZXN0IH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWF1dGgtbG9naW4tcmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBUcnVBdXRoQ2FjaGUgfSBmcm9tIFwiLi90cnUtYXV0aC1jYWNoZVwiO1xyXG5pbXBvcnQgeyBUUlVfQVVUSF9TVFJBVEVHWSB9IGZyb20gXCIuLi9jbGFzc2VzL3RydS1hdXRoLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBUcnVBdXRoU3RyYXRlZ3kgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC1jb25maWdcIjtcclxuaW1wb3J0IHsgVFJVX0FVVEhfQ09ORklHIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWF1dGgtY29uZmlnXCI7XHJcbmltcG9ydCB7IHRhcCwgbWFwLCBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgSVRydVVzZXIsIFRydVVzZXIgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdHJ1LXVzZXJcIjtcclxuaW1wb3J0IHsgVHJ1QXBwRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdHJ1LWFwcC1lbnZpcm9ubWVudFwiO1xyXG5pbXBvcnQgeyBUcnVBdXRoVXNlclJlcXVlc3QgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC11c2VyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHsgZmxhdE1hcCB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgVHJ1QXV0aExvZ291dFJlcXVlc3QgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC1sb2dvdXQtcmVxdWVzdFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1QXV0aCB7XHJcbiAgcHJpdmF0ZSBsb2dnZWRJbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY2FjaGU6IFRydUF1dGhDYWNoZSxcclxuICAgIHByaXZhdGUgdXNlcjogVHJ1VXNlcixcclxuICAgIHByaXZhdGUgYXBwRW52aXJvbm1lbnQ6IFRydUFwcEVudmlyb25tZW50LFxyXG4gICAgQEluamVjdChUUlVfQVVUSF9TVFJBVEVHWSkgcHJpdmF0ZSBhdXRoOiBUcnVBdXRoU3RyYXRlZ3k8YW55PlxyXG4gICkge1xyXG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5hcHBFbnZpcm9ubWVudC5hcHBVcmk7XHJcbiAgfVxyXG5cclxuICBsb2dpbihsb2dpblJlcXVlc3Q6IFRydUF1dGhMb2dpblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuYmFzZVVybH0ke1RSVV9BVVRIX0NPTkZJRy5hdXRoVXJsfS9sb2dpbmAsIGxvZ2luUmVxdWVzdClcclxuICAgICAgLnBpcGUodGFwKChkYXRhKSA9PiB7IFxyXG4gICAgICAgICAgdGhpcy5hdXRoLmRvTG9naW5Vc2VyKGRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5sb2dnZWRJbi5uZXh0KHRydWUpO1xyXG4gICAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHNldFVzZXIoKSB7XHJcbiAgICB0aGlzLmF1dGguY3JlYXRlVXNlcih0aGlzLnVzZXIpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5iYXNlVXJsfSR7VFJVX0FVVEhfQ09ORklHLmF1dGhVcmx9L2xvZ291dGAsIG51bGwpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kb0xvZ291dEFuZFJlZGlyZWN0VG9Mb2dpbigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHVzZXJDbGFpbXMoKSB7XHJcbiAgICBpZiAodGhpcy5hcHBFbnZpcm9ubWVudC5hdXRoVHlwZSA9PT0gJ3Nlc3Npb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAuZ2V0PGFueT4oYCR7dGhpcy5iYXNlVXJsfSR7VFJVX0FVVEhfQ09ORklHLmF1dGhVcmx9L3VzZXJDbGFpbXNgKVxyXG4gICAgICAgIC5waXBlKHRhcCgodXNlckNsYWltcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy51c2VyLmNyZWF0ZSh1c2VyQ2xhaW1zKTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXV0aC5jcmVhdGVVc2VyKHRoaXMudXNlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaXNMb2dnZWRJbigpIHtcclxuICAgIGlmICghdGhpcy5sb2dnZWRJbi52YWx1ZSkge1xyXG4gICAgICB0aGlzLmxvZ2dlZEluLm5leHQodGhpcy5hdXRoLmlzTG9nZ2VkSW4oKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sb2dnZWRJbi5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGRvTG9nb3V0QW5kUmVkaXJlY3RUb0xvZ2luKCkge1xyXG4gICAgdGhpcy5kb0xvZ291dFVzZXIoKTtcclxuICAgIHRoaXMubG9nZ2VkSW4ubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJcIl0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkb0xvZ291dFVzZXIoKSB7XHJcbiAgICB0aGlzLnVzZXIuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jYWNoZS5wcnVuZUFsbCgpO1xyXG4gICAgdGhpcy5hdXRoLmRvTG9nb3V0VXNlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MaterialModule } from '../../material.module';
5
+ import { TruLogin } from './tru-login';
6
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
7
+ import { TruAuthInterceptor } from './services/tru-auth-interceptor';
8
+ import { TruAuthStrategyProvider } from './classes/tru-auth-strategy-provider';
9
+ import { RouterModule } from '@angular/router';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/router";
12
+ const routes = [
13
+ {
14
+ path: 'login',
15
+ component: TruLogin
16
+ }
17
+ ];
18
+ export class TruLoginModule {
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruLoginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: TruLoginModule, declarations: [TruLogin], imports: [CommonModule, MaterialModule, FormsModule, ReactiveFormsModule, i1.RouterModule], exports: [TruLogin] });
21
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruLoginModule, providers: [
22
+ {
23
+ provide: HTTP_INTERCEPTORS,
24
+ useClass: TruAuthInterceptor,
25
+ multi: true,
26
+ },
27
+ TruAuthStrategyProvider
28
+ ], imports: [CommonModule, MaterialModule, FormsModule, ReactiveFormsModule, RouterModule.forChild(routes)] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruLoginModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ declarations: [TruLogin],
34
+ imports: [CommonModule, MaterialModule, FormsModule, ReactiveFormsModule, RouterModule.forChild(routes)],
35
+ exports: [TruLogin],
36
+ providers: [
37
+ {
38
+ provide: HTTP_INTERCEPTORS,
39
+ useClass: TruAuthInterceptor,
40
+ multi: true,
41
+ },
42
+ TruAuthStrategyProvider
43
+ ],
44
+ }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWxvZ2luLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9sb2dpbi90cnUtbG9naW4tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7OztBQUV2RCxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLFFBQVE7S0FDcEI7Q0FDRixDQUFDO0FBZUYsTUFBTSxPQUFPLGNBQWM7dUdBQWQsY0FBYzt3R0FBZCxjQUFjLGlCQVpWLFFBQVEsYUFDYixZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsOEJBQzlELFFBQVE7d0dBVVAsY0FBYyxhQVRkO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELHVCQUF1QjtTQUN4QixZQVRTLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDOzsyRkFXNUYsY0FBYztrQkFiMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hHLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFDbkIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxrQkFBa0I7NEJBQzVCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5cclxuaW1wb3J0IHsgVHJ1TG9naW4gfSBmcm9tICcuL3RydS1sb2dpbic7XHJcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBUcnVBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICcuL3NlcnZpY2VzL3RydS1hdXRoLWludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgVHJ1QXV0aFN0cmF0ZWd5UHJvdmlkZXIgfSBmcm9tICcuL2NsYXNzZXMvdHJ1LWF1dGgtc3RyYXRlZ3ktcHJvdmlkZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnbG9naW4nLFxyXG4gICAgY29tcG9uZW50OiBUcnVMb2dpblxyXG4gIH1cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVHJ1TG9naW5dLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdGVyaWFsTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gIGV4cG9ydHM6IFtUcnVMb2dpbl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICB1c2VDbGFzczogVHJ1QXV0aEludGVyY2VwdG9yLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBUcnVBdXRoU3RyYXRlZ3lQcm92aWRlclxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVMb2dpbk1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,59 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormGroup, FormControl, Validators } from '@angular/forms';
3
+ import { finalize } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./services/tru-auth";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/button";
8
+ import * as i4 from "@angular/material/card";
9
+ import * as i5 from "@angular/material/input";
10
+ import * as i6 from "@angular/material/form-field";
11
+ import * as i7 from "@angular/forms";
12
+ export class TruLogin {
13
+ auth;
14
+ loginForm = new FormGroup({
15
+ username: new FormControl('', Validators.required),
16
+ password: new FormControl('', Validators.required)
17
+ });
18
+ loginError = "";
19
+ isLoggingIn = false;
20
+ constructor(auth) {
21
+ this.auth = auth;
22
+ }
23
+ get f() {
24
+ return this.loginForm.controls;
25
+ }
26
+ isDisabled = () => {
27
+ return !this.f.username.value || !this.f.password.value || this.isLoggingIn;
28
+ };
29
+ onSubmit() {
30
+ const loginRequest = {
31
+ username: this.f.username.value,
32
+ password: this.f.password.value
33
+ };
34
+ if (loginRequest.username && loginRequest.password) {
35
+ this.isLoggingIn = true;
36
+ this.auth
37
+ .login(loginRequest).pipe(finalize(() => {
38
+ this.isLoggingIn = false;
39
+ }))
40
+ .subscribe(() => {
41
+ this.isLoggingIn = false;
42
+ }, (error) => {
43
+ if (error.status === 401) {
44
+ this.loginError = "Incorrect username and/or password";
45
+ }
46
+ else {
47
+ this.loginError = "Invalid Login - Error: " + error.status;
48
+ }
49
+ });
50
+ }
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruLogin, deps: [{ token: i1.TruAuth }], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: TruLogin, selector: "tru-login", ngImport: i0, template: "<div class=\"login-wrapper\">\r\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"onSubmit()\">\r\n <mat-card class=\"animate-login\">\r\n <mat-card-header>\r\n <mat-card-title> loginFormTitle </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-form-field>\r\n <mat-label>Username</mat-label>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Password</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" placeholder=\"Password\">\r\n </mat-form-field>\r\n <div *ngIf=\"loginError\" class=\"animate-login-error animated rubberBand\">\r\n <p style=\"color: red; font-weight: bold;\"> {{ loginError }}</p>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-raised-button color=\"primary\" type=\"submit\" [disabled]=\"isDisabled()\">Login</button>\r\n </mat-card-actions>\r\n </mat-card>\r\n </form>\r\n</div>\r\n", styles: [".login-container{display:flex;justify-content:center;align-items:center;height:100vh;margin:0;padding:0}.login-input{margin-bottom:20px}.animate-login{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;margin-top:50px}.wrapper{display:flex;justify-content:center;align-items:center;height:100vh}mat-card{max-width:300px;width:100%;max-height:300px;padding:20px}.form-group{width:100%;max-width:400px;margin-bottom:20px}.login-wrapper{display:flex;justify-content:center;align-items:center;height:100vh}::ng-deep .login-wrapper .mat-mdc-text-field-wrapper{padding:0 16px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruLogin, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'tru-login', template: "<div class=\"login-wrapper\">\r\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"onSubmit()\">\r\n <mat-card class=\"animate-login\">\r\n <mat-card-header>\r\n <mat-card-title> loginFormTitle </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-form-field>\r\n <mat-label>Username</mat-label>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Password</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" placeholder=\"Password\">\r\n </mat-form-field>\r\n <div *ngIf=\"loginError\" class=\"animate-login-error animated rubberBand\">\r\n <p style=\"color: red; font-weight: bold;\"> {{ loginError }}</p>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-raised-button color=\"primary\" type=\"submit\" [disabled]=\"isDisabled()\">Login</button>\r\n </mat-card-actions>\r\n </mat-card>\r\n </form>\r\n</div>\r\n", styles: [".login-container{display:flex;justify-content:center;align-items:center;height:100vh;margin:0;padding:0}.login-input{margin-bottom:20px}.animate-login{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;margin-top:50px}.wrapper{display:flex;justify-content:center;align-items:center;height:100vh}mat-card{max-width:300px;width:100%;max-height:300px;padding:20px}.form-group{width:100%;max-width:400px;margin-bottom:20px}.login-wrapper{display:flex;justify-content:center;align-items:center;height:100vh}::ng-deep .login-wrapper .mat-mdc-text-field-wrapper{padding:0 16px!important}\n"] }]
58
+ }], ctorParameters: () => [{ type: i1.TruAuth }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWxvZ2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luL3RydS1sb2dpbi50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9sb2dpbi90cnUtbG9naW4uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXBFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQU9oQyxNQUFNLE9BQU8sUUFBUTtJQVFDO0lBUHBCLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztRQUN4QixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDbEQsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO0tBQ25ELENBQUMsQ0FBQztJQUNILFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUU3QixZQUFvQixJQUFhO1FBQWIsU0FBSSxHQUFKLElBQUksQ0FBUztJQUFJLENBQUM7SUFFdEMsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxHQUFHLEdBQVksRUFBRTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDOUUsQ0FBQyxDQUFBO0lBRUQsUUFBUTtRQUNOLE1BQU0sWUFBWSxHQUF3QjtZQUN4QyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBTTtZQUNoQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBTTtTQUNqQyxDQUFDO1FBRUYsSUFBSSxZQUFZLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUk7aUJBQ04sS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDdkIsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsRUFDRSxDQUFDLEtBQXdCLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxvQ0FBb0MsQ0FBQTtpQkFDdkQ7cUJBQ0k7b0JBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUM1RDtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0w7SUFDSCxDQUFDO3VHQTdDVSxRQUFROzJGQUFSLFFBQVEsaURDWnJCLDhrQ0F5QkE7OzJGRGJhLFFBQVE7a0JBTHBCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcnVBdXRoIH0gZnJvbSAnLi9zZXJ2aWNlcy90cnUtYXV0aCc7XHJcbmltcG9ydCB7IFRydUF1dGhMb2dpblJlcXVlc3QgfSBmcm9tIFwiLi9jbGFzc2VzL3RydS1hdXRoLWxvZ2luLXJlcXVlc3RcIjtcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndHJ1LWxvZ2luJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LWxvZ2luLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS1sb2dpbi5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1TG9naW4ge1xyXG4gIGxvZ2luRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdXNlcm5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBwYXNzd29yZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIGxvZ2luRXJyb3I6IHN0cmluZyA9IFwiXCI7XHJcbiAgaXNMb2dnaW5nSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGg6IFRydUF1dGgpIHsgfVxyXG5cclxuICBnZXQgZigpIHtcclxuICAgIHJldHVybiB0aGlzLmxvZ2luRm9ybS5jb250cm9scztcclxuICB9XHJcblxyXG4gIGlzRGlzYWJsZWQgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICByZXR1cm4gIXRoaXMuZi51c2VybmFtZS52YWx1ZSB8fCAhdGhpcy5mLnBhc3N3b3JkLnZhbHVlIHx8IHRoaXMuaXNMb2dnaW5nSW47XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IGxvZ2luUmVxdWVzdDogVHJ1QXV0aExvZ2luUmVxdWVzdCA9IHtcclxuICAgICAgdXNlcm5hbWU6IHRoaXMuZi51c2VybmFtZS52YWx1ZSEsXHJcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmYucGFzc3dvcmQudmFsdWUhXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChsb2dpblJlcXVlc3QudXNlcm5hbWUgJiYgbG9naW5SZXF1ZXN0LnBhc3N3b3JkKSB7XHJcbiAgICAgIHRoaXMuaXNMb2dnaW5nSW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmF1dGhcclxuICAgICAgICAubG9naW4obG9naW5SZXF1ZXN0KS5waXBlKFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9nZ2luZ0luID0gZmFsc2U7IFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9nZ2luZ0luID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgLChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2dpbkVycm9yID0gXCJJbmNvcnJlY3QgdXNlcm5hbWUgYW5kL29yIHBhc3N3b3JkXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmxvZ2luRXJyb3IgPSBcIkludmFsaWQgTG9naW4gLSBFcnJvcjogXCIgKyBlcnJvci5zdGF0dXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibG9naW4td3JhcHBlclwiPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cclxuICAgIDxtYXQtY2FyZCBjbGFzcz1cImFuaW1hdGUtbG9naW5cIj5cclxuICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICA8bWF0LWNhcmQtdGl0bGU+IGxvZ2luRm9ybVRpdGxlIDwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPlVzZXJuYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIiBwbGFjZWhvbGRlcj1cIlVzZXJuYW1lXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPlBhc3N3b3JkPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlBhc3N3b3JkXCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibG9naW5FcnJvclwiIGNsYXNzPVwiYW5pbWF0ZS1sb2dpbi1lcnJvciBhbmltYXRlZCBydWJiZXJCYW5kXCI+XHJcbiAgICAgICAgICA8cCBzdHlsZT1cImNvbG9yOiByZWQ7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPiB7eyBsb2dpbkVycm9yIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIj5Mb2dpbjwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbiAgICA8L21hdC1jYXJkPlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,20 +1,20 @@
1
- import { NgModule } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
- import { MaterialModule } from '../../material.module';
5
- import { TruPasswordDialog } from "./tru-password-dialog";
6
- import * as i0 from "@angular/core";
7
- export class TruPasswordDialogModule {
8
- }
9
- TruPasswordDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- TruPasswordDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialogModule, declarations: [TruPasswordDialog], imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule], exports: [TruPasswordDialog] });
11
- TruPasswordDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialogModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruPasswordDialogModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- declarations: [TruPasswordDialog],
16
- imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule],
17
- exports: [TruPasswordDialog]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXBhc3N3b3JkLWRpYWxvZy1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFzc3dvcmQtZGlhbG9nL3RydS1wYXNzd29yZC1kaWFsb2ctbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTzFELE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7cUhBQXZCLHVCQUF1QixpQkFKbkIsaUJBQWlCLGFBQ3RCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxhQUM5RCxpQkFBaUI7cUhBRWhCLHVCQUF1QixZQUh4QixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGNBQWM7MkZBRzdELHVCQUF1QjtrQkFMbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7b0JBQ3pFLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XHJcblxyXG5pbXBvcnQgeyBUcnVQYXNzd29yZERpYWxvZyB9IGZyb20gXCIuL3RydS1wYXNzd29yZC1kaWFsb2dcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVHJ1UGFzc3dvcmREaWFsb2ddLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRlcmlhbE1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1RydVBhc3N3b3JkRGlhbG9nXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1UGFzc3dvcmREaWFsb2dNb2R1bGUgeyB9XHJcbiJdfQ==
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
+ import { MaterialModule } from '../../material.module';
5
+ import { TruPasswordDialog } from "./tru-password-dialog";
6
+ import * as i0 from "@angular/core";
7
+ export class TruPasswordDialogModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruPasswordDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: TruPasswordDialogModule, declarations: [TruPasswordDialog], imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule], exports: [TruPasswordDialog] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruPasswordDialogModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruPasswordDialogModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [TruPasswordDialog],
16
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule],
17
+ exports: [TruPasswordDialog]
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXBhc3N3b3JkLWRpYWxvZy1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFzc3dvcmQtZGlhbG9nL3RydS1wYXNzd29yZC1kaWFsb2ctbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTzFELE1BQU0sT0FBTyx1QkFBdUI7dUdBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGlCQUpuQixpQkFBaUIsYUFDdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLGFBQzlELGlCQUFpQjt3R0FFaEIsdUJBQXVCLFlBSHhCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsY0FBYzs7MkZBRzdELHVCQUF1QjtrQkFMbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7b0JBQ3pFLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XHJcblxyXG5pbXBvcnQgeyBUcnVQYXNzd29yZERpYWxvZyB9IGZyb20gXCIuL3RydS1wYXNzd29yZC1kaWFsb2dcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVHJ1UGFzc3dvcmREaWFsb2ddLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRlcmlhbE1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1RydVBhc3N3b3JkRGlhbG9nXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1UGFzc3dvcmREaWFsb2dNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
2
+ import { Component, Inject } from '@angular/core';
3
+ import { FormControl } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/dialog";
6
+ import * as i2 from "../../services/tru-user";
7
+ import * as i3 from "../../services/tru-app-environment";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "@angular/material/button";
10
+ import * as i6 from "@angular/material/input";
11
+ import * as i7 from "@angular/material/form-field";
12
+ export class TruPasswordDialog {
13
+ dialogRef;
14
+ user;
15
+ appEnvironment;
16
+ data;
17
+ currentPasswordControl = new FormControl('', []);
18
+ newPasswordControl = new FormControl('', []);
19
+ confirmNewPasswordControl = new FormControl('', []);
20
+ message = null;
21
+ userEntity;
22
+ constructor(dialogRef, user, appEnvironment, data) {
23
+ this.dialogRef = dialogRef;
24
+ this.user = user;
25
+ this.appEnvironment = appEnvironment;
26
+ this.data = data;
27
+ }
28
+ ngOnInit() {
29
+ //this.userEntity = this.appEnvironment.globalDataContext?.entityAccess().searchUserByRefCacheOnly(this.user.activeUserRef);
30
+ }
31
+ canSubmit = () => {
32
+ return this.currentPasswordControl.value &&
33
+ this.newPasswordControl.value &&
34
+ this.confirmNewPasswordControl.value &&
35
+ (this.newPasswordControl.value === this.confirmNewPasswordControl.value);
36
+ };
37
+ onConfirm() {
38
+ this.dialogRef.close(true);
39
+ }
40
+ onDismiss() {
41
+ this.dialogRef.close(false);
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruPasswordDialog, deps: [{ token: i1.MatDialogRef }, { token: i2.TruUser }, { token: i3.TruAppEnvironment }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: TruPasswordDialog, selector: "tru-password-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n Change Password\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content tru-control-container\">\r\n <p>{{message}}</p>\r\n <mat-label>Current Password</mat-label>\r\n <mat-form-field>\r\n <input #newInput\r\n matInput\r\n [formControl]=\"currentPasswordControl\"\r\n type=\"password\" />\r\n </mat-form-field>\r\n <mat-label>New Password</mat-label>\r\n <mat-form-field>\r\n <input #newInput\r\n matInput\r\n [formControl]=\"newPasswordControl\"\r\n type=\"password\" />\r\n </mat-form-field>\r\n <mat-label>Confirm New Password</mat-label>\r\n <mat-form-field>\r\n <input #confirmInput\r\n matInput\r\n [formControl]=\"confirmNewPasswordControl\"\r\n type=\"password\" />\r\n </mat-form-field>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Cancel</button>\r\n <button [disabled]=\"canSubmit()\" mat-raised-button color=\"primary\" (click)=\"onConfirm()\">Submit</button>\r\n</div>\r\n", styles: [".tru-control-container{margin-bottom:10px;margin-right:10px}::ng-deep .tru-control-container .mat-mdc-form-field{display:inline!important}::ng-deep .tru-control-container .mat-mdc-form-field-infix{padding:0!important;min-height:unset!important}::ng-deep .tru-control-container mat-label{font-size:14px;font-weight:700}::ng-deep .tru-control-container input{font-size:12px;padding-left:5px}::ng-deep .tru-control-container mat-select{font-size:12px;padding-left:5px}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid .mdc-notched-outline__leading{border-color:#bd362f}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid .mdc-notched-outline__notch{border-color:#bd362f}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid .mdc-notched-outline__trailing{border-color:#bd362f}::ng-deep .tru-control-container .mat-mdc-form-field-bottom-align:before{content:unset!important}::ng-deep .tru-control-container path{color:#a9a9a9}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid+div:before{border-color:red}\n", "::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mdc-dialog__title{padding:20px 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }] });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruPasswordDialog, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'tru-password-dialog', template: "<div mat-dialog-title class=\"mat-dialog-title\">\r\n Change Password\r\n</div>\r\n\r\n<div mat-dialog-content class=\"mat-dialog-content tru-control-container\">\r\n <p>{{message}}</p>\r\n <mat-label>Current Password</mat-label>\r\n <mat-form-field>\r\n <input #newInput\r\n matInput\r\n [formControl]=\"currentPasswordControl\"\r\n type=\"password\" />\r\n </mat-form-field>\r\n <mat-label>New Password</mat-label>\r\n <mat-form-field>\r\n <input #newInput\r\n matInput\r\n [formControl]=\"newPasswordControl\"\r\n type=\"password\" />\r\n </mat-form-field>\r\n <mat-label>Confirm New Password</mat-label>\r\n <mat-form-field>\r\n <input #confirmInput\r\n matInput\r\n [formControl]=\"confirmNewPasswordControl\"\r\n type=\"password\" />\r\n </mat-form-field>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"mat-dialog-actions\">\r\n <button mat-raised-button (click)=\"onDismiss()\">Cancel</button>\r\n <button [disabled]=\"canSubmit()\" mat-raised-button color=\"primary\" (click)=\"onConfirm()\">Submit</button>\r\n</div>\r\n", styles: [".tru-control-container{margin-bottom:10px;margin-right:10px}::ng-deep .tru-control-container .mat-mdc-form-field{display:inline!important}::ng-deep .tru-control-container .mat-mdc-form-field-infix{padding:0!important;min-height:unset!important}::ng-deep .tru-control-container mat-label{font-size:14px;font-weight:700}::ng-deep .tru-control-container input{font-size:12px;padding-left:5px}::ng-deep .tru-control-container mat-select{font-size:12px;padding-left:5px}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid .mdc-notched-outline__leading{border-color:#bd362f}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid .mdc-notched-outline__notch{border-color:#bd362f}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid .mdc-notched-outline__trailing{border-color:#bd362f}::ng-deep .tru-control-container .mat-mdc-form-field-bottom-align:before{content:unset!important}::ng-deep .tru-control-container path{color:#a9a9a9}::ng-deep .tru-control-container .mat-mdc-form-field-flex.invalid+div:before{border-color:red}\n", "::ng-deep .mat-mdc-dialog-surface{padding:20px}.mat-mdc-dialog-title:before{content:unset!important;height:unset!important;padding:0 0 10px!important}.mdc-dialog__title{padding:20px 0 10px!important}.mdc-dialog__content{padding:10px 0 15px!important}.mat-mdc-dialog-content p{margin-bottom:0;font-size:14px;color:#545454}.mat-mdc-dialog-actions{padding:0!important}.mat-mdc-dialog-actions button{margin-right:10px}\n"] }]
49
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.TruUser }, { type: i3.TruAppEnvironment }, { type: TruPasswordDialog, decorators: [{
50
+ type: Inject,
51
+ args: [MAT_DIALOG_DATA]
52
+ }] }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXBhc3N3b3JkLWRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1kaWFsb2cvdHJ1LXBhc3N3b3JkLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC1kaWFsb2cvdHJ1LXBhc3N3b3JkLWRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFTN0MsTUFBTSxPQUFPLGlCQUFpQjtJQVNUO0lBQ1Q7SUFDQTtJQUN3QjtJQVhsQyxzQkFBc0IsR0FBZ0IsSUFBSSxXQUFXLENBQTRCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RixrQkFBa0IsR0FBZ0IsSUFBSSxXQUFXLENBQTRCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRix5QkFBeUIsR0FBZ0IsSUFBSSxXQUFXLENBQTRCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU1RixPQUFPLEdBQWtCLElBQUksQ0FBQztJQUV0QixVQUFVLENBQU07SUFFeEIsWUFBbUIsU0FBMEMsRUFDbkQsSUFBYSxFQUNiLGNBQWlDLEVBQ1QsSUFBdUI7UUFIdEMsY0FBUyxHQUFULFNBQVMsQ0FBaUM7UUFDbkQsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNiLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNULFNBQUksR0FBSixJQUFJLENBQW1CO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ04sNEhBQTRIO0lBQzlILENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSztZQUN0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSztZQUM3QixJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSztZQUNwQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUMsQ0FBQTtJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7dUdBaENVLGlCQUFpQixzR0FZbEIsZUFBZTsyRkFaZCxpQkFBaUIsMkRDWDlCLHluQ0FpQ0E7OzJGRHRCYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UscUJBQXFCOzswQkFnQjVCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJ1QXBwRW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cnUtYXBwLWVudmlyb25tZW50JztcclxuaW1wb3J0IHsgVHJ1VXNlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS11c2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndHJ1LXBhc3N3b3JkLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RydS1wYXNzd29yZC1kaWFsb2cuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4uLy4uL2Fzc2V0cy90cnUtc3R5bGUuY3NzJywgJy4vdHJ1LXBhc3N3b3JkLWRpYWxvZy5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1UGFzc3dvcmREaWFsb2cgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGN1cnJlbnRQYXNzd29yZENvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCcnLCBbXSk7XHJcbiAgbmV3UGFzc3dvcmRDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPignJywgW10pO1xyXG4gIGNvbmZpcm1OZXdQYXNzd29yZENvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCcnLCBbXSk7XHJcblxyXG4gIG1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHVzZXJFbnRpdHk6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRydVBhc3N3b3JkRGlhbG9nPixcclxuICAgIHByaXZhdGUgdXNlcjogVHJ1VXNlcixcclxuICAgIHByaXZhdGUgYXBwRW52aXJvbm1lbnQ6IFRydUFwcEVudmlyb25tZW50LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBUcnVQYXNzd29yZERpYWxvZykge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvL3RoaXMudXNlckVudGl0eSA9IHRoaXMuYXBwRW52aXJvbm1lbnQuZ2xvYmFsRGF0YUNvbnRleHQ/LmVudGl0eUFjY2VzcygpLnNlYXJjaFVzZXJCeVJlZkNhY2hlT25seSh0aGlzLnVzZXIuYWN0aXZlVXNlclJlZik7XHJcbiAgfVxyXG5cclxuICBjYW5TdWJtaXQgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFzc3dvcmRDb250cm9sLnZhbHVlICYmXHJcbiAgICAgIHRoaXMubmV3UGFzc3dvcmRDb250cm9sLnZhbHVlICYmXHJcbiAgICAgIHRoaXMuY29uZmlybU5ld1Bhc3N3b3JkQ29udHJvbC52YWx1ZSAmJlxyXG4gICAgICAodGhpcy5uZXdQYXNzd29yZENvbnRyb2wudmFsdWUgPT09IHRoaXMuY29uZmlybU5ld1Bhc3N3b3JkQ29udHJvbC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkNvbmZpcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcclxuICB9XHJcblxyXG4gIG9uRGlzbWlzcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIj5cclxuICBDaGFuZ2UgUGFzc3dvcmRcclxuPC9kaXY+XHJcblxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC1kaWFsb2ctY29udGVudCB0cnUtY29udHJvbC1jb250YWluZXJcIj5cclxuICA8cD57e21lc3NhZ2V9fTwvcD5cclxuICA8bWF0LWxhYmVsPkN1cnJlbnQgUGFzc3dvcmQ8L21hdC1sYWJlbD5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8aW5wdXQgI25ld0lucHV0XHJcbiAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY3VycmVudFBhc3N3b3JkQ29udHJvbFwiXHJcbiAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCIgLz5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtbGFiZWw+TmV3IFBhc3N3b3JkPC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGlucHV0ICNuZXdJbnB1dFxyXG4gICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5ld1Bhc3N3b3JkQ29udHJvbFwiXHJcbiAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCIgLz5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtbGFiZWw+Q29uZmlybSBOZXcgUGFzc3dvcmQ8L21hdC1sYWJlbD5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8aW5wdXQgI2NvbmZpcm1JbnB1dFxyXG4gICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbmZpcm1OZXdQYXNzd29yZENvbnRyb2xcIlxyXG4gICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiIC8+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9kaXY+XHJcblxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz1cIm1hdC1kaWFsb2ctYWN0aW9uc1wiPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9uRGlzbWlzcygpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiY2FuU3VibWl0KClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib25Db25maXJtKClcIj5TdWJtaXQ8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,32 +1,32 @@
1
- import { NgModule } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { FormsModule } from "@angular/forms";
4
- import { MatButtonModule } from "@angular/material/button";
5
- import { MatIconModule } from "@angular/material/icon";
6
- import { TruToolbarButton } from "./tru-toolbar-button";
7
- import * as i0 from "@angular/core";
8
- export class TruToolbarButtonModule {
9
- }
10
- TruToolbarButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- TruToolbarButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarButtonModule, declarations: [TruToolbarButton], imports: [CommonModule,
12
- FormsModule,
13
- MatButtonModule,
14
- MatIconModule], exports: [TruToolbarButton] });
15
- TruToolbarButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarButtonModule, imports: [CommonModule,
16
- FormsModule,
17
- MatButtonModule,
18
- MatIconModule] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruToolbarButtonModule, decorators: [{
20
- type: NgModule,
21
- args: [{
22
- declarations: [TruToolbarButton],
23
- imports: [
24
- CommonModule,
25
- FormsModule,
26
- MatButtonModule,
27
- MatIconModule
28
- ],
29
- exports: [TruToolbarButton]
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItYnV0dG9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL2J1dHRvbi90cnUtdG9vbGJhci1idXR0b24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVl4RCxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO29IQUF0QixzQkFBc0IsaUJBVGxCLGdCQUFnQixhQUU3QixZQUFZO1FBQ1osV0FBVztRQUNYLGVBQWU7UUFDZixhQUFhLGFBRUwsZ0JBQWdCO29IQUVmLHNCQUFzQixZQVAvQixZQUFZO1FBQ1osV0FBVztRQUNYLGVBQWU7UUFDZixhQUFhOzJGQUlKLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcblxyXG5pbXBvcnQgeyBUcnVUb29sYmFyQnV0dG9uIH0gZnJvbSBcIi4vdHJ1LXRvb2xiYXItYnV0dG9uXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RydVRvb2xiYXJCdXR0b25dLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1RydVRvb2xiYXJCdXR0b25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVUb29sYmFyQnV0dG9uTW9kdWxlIHsgfVxyXG4iXX0=
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { MatButtonModule } from "@angular/material/button";
5
+ import { MatIconModule } from "@angular/material/icon";
6
+ import { TruToolbarButton } from "./tru-toolbar-button";
7
+ import * as i0 from "@angular/core";
8
+ export class TruToolbarButtonModule {
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruToolbarButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: TruToolbarButtonModule, declarations: [TruToolbarButton], imports: [CommonModule,
11
+ FormsModule,
12
+ MatButtonModule,
13
+ MatIconModule], exports: [TruToolbarButton] });
14
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruToolbarButtonModule, imports: [CommonModule,
15
+ FormsModule,
16
+ MatButtonModule,
17
+ MatIconModule] });
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruToolbarButtonModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ declarations: [TruToolbarButton],
23
+ imports: [
24
+ CommonModule,
25
+ FormsModule,
26
+ MatButtonModule,
27
+ MatIconModule
28
+ ],
29
+ exports: [TruToolbarButton]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItYnV0dG9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL2J1dHRvbi90cnUtdG9vbGJhci1idXR0b24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVl4RCxNQUFNLE9BQU8sc0JBQXNCO3VHQUF0QixzQkFBc0I7d0dBQXRCLHNCQUFzQixpQkFUbEIsZ0JBQWdCLGFBRTdCLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWEsYUFFTCxnQkFBZ0I7d0dBRWYsc0JBQXNCLFlBUC9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7OzJGQUlKLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcblxyXG5pbXBvcnQgeyBUcnVUb29sYmFyQnV0dG9uIH0gZnJvbSBcIi4vdHJ1LXRvb2xiYXItYnV0dG9uXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RydVRvb2xiYXJCdXR0b25dLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1RydVRvb2xiYXJCdXR0b25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVUb29sYmFyQnV0dG9uTW9kdWxlIHsgfVxyXG4iXX0=