@bizdoc/core 1.7.0-next.3 → 1.7.0-next.7

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 (277) hide show
  1. package/README.md +4 -3
  2. package/assets/fonts/MaterialIcons-Regular.svg +2373 -2373
  3. package/assets/fonts/README.md +9 -9
  4. package/assets/fonts/codepoints +932 -932
  5. package/assets/fonts/material-icons.css +36 -36
  6. package/assets/themes/brown.min.css +83 -81
  7. package/assets/themes/dark.min.css +77 -75
  8. package/assets/themes/default.min.css +90 -88
  9. package/assets/themes/green.min.css +83 -81
  10. package/assets/themes/indigo.min.css +83 -81
  11. package/bundles/bizdoc-core.umd.js +1086 -1600
  12. package/bundles/bizdoc-core.umd.js.map +1 -1
  13. package/esm2015/lib/app.component.js +7 -13
  14. package/esm2015/lib/bizdoc.module.js +2 -37
  15. package/esm2015/lib/browse/filter/filter.component.js +2 -2
  16. package/esm2015/lib/core/configuration.js +1 -1
  17. package/esm2015/lib/core/controls/combination-picker-body.js +2 -2
  18. package/esm2015/lib/core/models.js +1 -1
  19. package/esm2015/lib/core/session.service.js +5 -9
  20. package/esm2015/lib/core/slots/slots.component.js +6 -4
  21. package/esm2015/lib/cube/accum/accum.component.js +4 -7
  22. package/esm2015/lib/cube/chart/chart.component.js +6 -3
  23. package/esm2015/lib/cube/cube-info.service.js +100 -0
  24. package/esm2015/lib/cube/cube-view.component.js +11 -30
  25. package/esm2015/lib/cube/declarations.js +1 -1
  26. package/esm2015/lib/cube/explore/explore-items.component.js +5 -7
  27. package/esm2015/lib/cube/explore/explore.pane.component.js +2 -5
  28. package/esm2015/lib/cube/filter/filter-tags.component.exp.js +8 -8
  29. package/esm2015/lib/cube/filter/filter.component.js +14 -11
  30. package/esm2015/lib/cube/grid/grid.component.js +4 -3
  31. package/esm2015/lib/cube/grid/spreadsheet.component.js +4 -4
  32. package/esm2015/lib/cube/matrix/matrix.base.js +130 -0
  33. package/esm2015/lib/cube/matrix/matrix.component.js +68 -0
  34. package/esm2015/lib/cube/matrix/matrix.mobile.component.js +62 -0
  35. package/esm2015/lib/cube/matrix/matrix.pane.component.js +70 -0
  36. package/esm2015/lib/cube/matrix/table.component.js +254 -0
  37. package/esm2015/lib/cube/pivot/pivot.component.js +4 -4
  38. package/esm2015/lib/cube/view-base.js +76 -0
  39. package/esm2015/lib/cube/view.mobile.component.js +31 -54
  40. package/esm2015/lib/cube/view.pane.component.js +26 -58
  41. package/esm2015/lib/dashboard/cube/accum-cube.widget.js +2 -2
  42. package/esm2015/lib/dashboard/cube/cube-analysis.base.js +2 -2
  43. package/esm2015/lib/dashboard/cube/cube-chart.widget.js +2 -2
  44. package/esm2015/lib/dashboard/cube/filter/filter.component.js +3 -3
  45. package/esm2015/lib/desktop.module.js +6 -6
  46. package/esm2015/lib/home/sign/sign.component.js +2 -2
  47. package/esm2015/lib/impersonate/impersonate.component.js +69 -0
  48. package/esm2015/lib/mobile.module.js +9 -9
  49. package/esm2015/lib/reports/cube/grid-documents.component.js +10 -9
  50. package/esm2015/lib/reports/cube/usage-args.component.js +2 -2
  51. package/esm2015/lib/routes.desktop.js +3 -3
  52. package/esm2015/lib/routes.mobile.js +5 -5
  53. package/esm2015/lib/scheduler/schedule.component.js +21 -17
  54. package/esm2015/lib/shared.module.js +26 -26
  55. package/esm2015/lib/system.module.js +8 -10
  56. package/esm2015/lib/views/cube/cube-base.js +10 -5
  57. package/esm2015/lib/views/cube/matrix.component.js +95 -0
  58. package/esm2015/lib/views/cube/view.component.js +19 -21
  59. package/esm2015/lib/views/document-view-ref.js +3 -2
  60. package/esm2015/lib/views/timeline/timeline.component.exp.js +317 -0
  61. package/esm2015/lib/views/view-item.component.js +11 -7
  62. package/esm2015/lib/views/views.component.js +10 -11
  63. package/esm2015/public-api.js +4 -8
  64. package/fesm2015/bizdoc-core.js +902 -1382
  65. package/fesm2015/bizdoc-core.js.map +1 -1
  66. package/lib/app.component.d.ts +1 -4
  67. package/lib/core/configuration.d.ts +1 -17
  68. package/lib/core/controls/combination-picker-body.d.ts +1 -1
  69. package/lib/core/models.d.ts +1 -0
  70. package/lib/core/session.service.d.ts +0 -5
  71. package/lib/core/slots/slots.component.d.ts +1 -1
  72. package/lib/cube/accum/accum.component.d.ts +3 -7
  73. package/lib/cube/chart/chart.component.d.ts +1 -1
  74. package/lib/cube/{info/cube-info.service.d.ts → cube-info.service.d.ts} +6 -6
  75. package/lib/cube/cube-view.component.d.ts +4 -9
  76. package/lib/cube/declarations.d.ts +3 -5
  77. package/lib/cube/explore/explore-items.component.d.ts +1 -4
  78. package/lib/cube/explore/explore.pane.component.d.ts +0 -1
  79. package/lib/cube/filter/filter-tags.component.exp.d.ts +2 -2
  80. package/lib/cube/filter/filter.component.d.ts +4 -3
  81. package/lib/cube/grid/grid.component.d.ts +2 -1
  82. package/lib/cube/grid/spreadsheet.component.d.ts +1 -1
  83. package/lib/cube/{info/cube-info.base.d.ts → matrix/matrix.base.d.ts} +5 -5
  84. package/lib/cube/{info/cube-info.component.d.ts → matrix/matrix.component.d.ts} +8 -8
  85. package/lib/cube/{info/cube-info.mobile.component.d.ts → matrix/matrix.mobile.component.d.ts} +4 -4
  86. package/lib/cube/{info/cube-info.pane.component.d.ts → matrix/matrix.pane.component.d.ts} +5 -5
  87. package/lib/cube/{info → matrix}/table.component.d.ts +4 -5
  88. package/lib/cube/pivot/pivot.component.d.ts +2 -4
  89. package/lib/cube/view-base.d.ts +39 -0
  90. package/lib/cube/view.mobile.component.d.ts +8 -25
  91. package/lib/cube/view.pane.component.d.ts +8 -26
  92. package/lib/dashboard/cube/accum-cube.widget.d.ts +1 -1
  93. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  94. package/lib/dashboard/cube/cube-chart.widget.d.ts +1 -1
  95. package/lib/dashboard/cube/filter/filter.component.d.ts +1 -1
  96. package/lib/desktop.module.d.ts +2 -2
  97. package/lib/{login/impersonate → impersonate}/impersonate.component.d.ts +3 -3
  98. package/lib/mobile.module.d.ts +2 -2
  99. package/lib/scheduler/schedule.component.d.ts +4 -1
  100. package/lib/shared.module.d.ts +48 -50
  101. package/lib/system.module.d.ts +25 -26
  102. package/lib/views/cube/cube-base.d.ts +16 -10
  103. package/lib/views/cube/{table.component.d.ts → matrix.component.d.ts} +2 -15
  104. package/lib/views/cube/view.component.d.ts +2 -9
  105. package/lib/views/document-view-ref.d.ts +3 -1
  106. package/lib/views/timeline/timeline.component.exp.d.ts +64 -0
  107. package/lib/views/view-item.component.d.ts +4 -2
  108. package/lib/views/views.component.d.ts +3 -5
  109. package/package.json +15 -17
  110. package/public-api.d.ts +4 -8
  111. package/esm2015/lib/admin/users/users.component.js +0 -155
  112. package/esm2015/lib/admin/users/users.service.js +0 -29
  113. package/esm2015/lib/cube/info/cube-info.base.js +0 -128
  114. package/esm2015/lib/cube/info/cube-info.component.js +0 -69
  115. package/esm2015/lib/cube/info/cube-info.mobile.component.js +0 -62
  116. package/esm2015/lib/cube/info/cube-info.pane.component.js +0 -70
  117. package/esm2015/lib/cube/info/cube-info.service.js +0 -100
  118. package/esm2015/lib/cube/info/table.component.js +0 -258
  119. package/esm2015/lib/login/forgot/forgot.component.js +0 -50
  120. package/esm2015/lib/login/form.authentication.js +0 -71
  121. package/esm2015/lib/login/form.interceptor.js +0 -26
  122. package/esm2015/lib/login/impersonate/impersonate.component.js +0 -69
  123. package/esm2015/lib/login/login.component.js +0 -130
  124. package/esm2015/lib/login/okta.authentication.js +0 -41
  125. package/esm2015/lib/login/okta.component.js +0 -84
  126. package/esm2015/lib/login/okta.interceptor.js +0 -30
  127. package/esm2015/lib/login/prompt/prompt.component.js +0 -194
  128. package/esm2015/lib/login/signin-info.service.js +0 -49
  129. package/esm2015/lib/views/cube/table.component.js +0 -107
  130. package/lib/admin/users/users.component.d.ts +0 -41
  131. package/lib/admin/users/users.service.d.ts +0 -30
  132. package/lib/login/forgot/forgot.component.d.ts +0 -20
  133. package/lib/login/form.authentication.d.ts +0 -29
  134. package/lib/login/form.interceptor.d.ts +0 -11
  135. package/lib/login/login.component.d.ts +0 -18
  136. package/lib/login/okta.authentication.d.ts +0 -13
  137. package/lib/login/okta.component.d.ts +0 -18
  138. package/lib/login/okta.interceptor.d.ts +0 -11
  139. package/lib/login/prompt/prompt.component.d.ts +0 -45
  140. package/lib/login/signin-info.service.d.ts +0 -18
  141. package/src/assets/.gitkeep +0 -0
  142. package/src/assets/animations/13194-message.json +0 -1
  143. package/src/assets/animations/1408-network-lost.json +0 -1
  144. package/src/assets/animations/19560-loading.json +0 -1
  145. package/src/assets/animations/21928-folder.json +0 -1
  146. package/src/assets/animations/21941-airplane-animation-movement.json +0 -1
  147. package/src/assets/animations/2252-broken-stick-error.json +0 -1
  148. package/src/assets/animations/24910-new-message-notification.json +0 -1
  149. package/src/assets/animations/25974-paper-plane.json +0 -1
  150. package/src/assets/animations/36395-lonely-404.json +0 -1
  151. package/src/assets/animations/36499-page-not-found.json +0 -1
  152. package/src/assets/animations/37211-google-icons-forms.json +0 -1
  153. package/src/assets/animations/41896-application.json +0 -1
  154. package/src/assets/animations/4958-404-not-found.json +0 -1
  155. package/src/assets/animations/51956-success-icon.json +0 -1
  156. package/src/assets/animations/53402-bell.json +0 -1
  157. package/src/assets/animations/5371-volaris-tickets.json +0 -1
  158. package/src/assets/animations/58266-quad-cube-shifter-1.json +0 -1
  159. package/src/assets/animations/58509-shifting-cubes-2.json +0 -1
  160. package/src/assets/animations/8318-loader.json +0 -1
  161. package/src/assets/animations/lf20_isphoahq.json +0 -1
  162. package/src/assets/animations/lf30_editor_6kz6oezn.json +0 -1
  163. package/src/assets/animations/lf30_editor_b6axvtp7.json +0 -1
  164. package/src/assets/animations/lf30_editor_cq62rpyv.json +0 -1
  165. package/src/assets/animations/lf30_editor_fbytfhvg.json +0 -1
  166. package/src/assets/animations/lf30_editor_h1xoyem7.json +0 -1
  167. package/src/assets/animations/lf30_editor_qr7zgmcs.json +0 -1
  168. package/src/assets/animations/lf30_editor_rxee1cqy.json +0 -1
  169. package/src/assets/animations/lf30_editor_yxy6fuei.json +0 -1
  170. package/src/assets/bizdoc-schema.json +0 -1238
  171. package/src/assets/favicon.ico +0 -0
  172. package/src/assets/fonts/LICENSE.txt +0 -202
  173. package/src/assets/fonts/MaterialIcons-Outlined.woff2 +0 -0
  174. package/src/assets/fonts/MaterialIcons-Regular.eot +0 -0
  175. package/src/assets/fonts/MaterialIcons-Regular.ijmap +0 -1
  176. package/src/assets/fonts/MaterialIcons-Regular.svg +0 -2373
  177. package/src/assets/fonts/MaterialIcons-Regular.ttf +0 -0
  178. package/src/assets/fonts/MaterialIcons-Regular.woff +0 -0
  179. package/src/assets/fonts/MaterialIcons-Regular.woff2 +0 -0
  180. package/src/assets/fonts/MaterialIcons.css +0 -55
  181. package/src/assets/fonts/README.md +0 -9
  182. package/src/assets/fonts/Roboto-Black.ttf +0 -0
  183. package/src/assets/fonts/Roboto-BlackItalic.ttf +0 -0
  184. package/src/assets/fonts/Roboto-Bold.ttf +0 -0
  185. package/src/assets/fonts/Roboto-BoldItalic.ttf +0 -0
  186. package/src/assets/fonts/Roboto-Italic.ttf +0 -0
  187. package/src/assets/fonts/Roboto-Light.ttf +0 -0
  188. package/src/assets/fonts/Roboto-LightItalic.ttf +0 -0
  189. package/src/assets/fonts/Roboto-Medium.ttf +0 -0
  190. package/src/assets/fonts/Roboto-MediumItalic.ttf +0 -0
  191. package/src/assets/fonts/Roboto-Regular.ttf +0 -0
  192. package/src/assets/fonts/Roboto-Thin.ttf +0 -0
  193. package/src/assets/fonts/Roboto-ThinItalic.ttf +0 -0
  194. package/src/assets/fonts/codepoints +0 -932
  195. package/src/assets/fonts/material-icons.css +0 -36
  196. package/src/assets/i18n/cldr-data/main/he/ca-buddhist.json +0 -532
  197. package/src/assets/i18n/cldr-data/main/he/ca-chinese.json +0 -1255
  198. package/src/assets/i18n/cldr-data/main/he/ca-coptic.json +0 -541
  199. package/src/assets/i18n/cldr-data/main/he/ca-dangi.json +0 -1255
  200. package/src/assets/i18n/cldr-data/main/he/ca-ethiopic-amete-alem.json +0 -538
  201. package/src/assets/i18n/cldr-data/main/he/ca-ethiopic.json +0 -541
  202. package/src/assets/i18n/cldr-data/main/he/ca-generic.json +0 -535
  203. package/src/assets/i18n/cldr-data/main/he/ca-gregorian.json +0 -552
  204. package/src/assets/i18n/cldr-data/main/he/ca-hebrew.json +0 -557
  205. package/src/assets/i18n/cldr-data/main/he/ca-indian.json +0 -532
  206. package/src/assets/i18n/cldr-data/main/he/ca-islamic-civil.json +0 -532
  207. package/src/assets/i18n/cldr-data/main/he/ca-islamic-rgsa.json +0 -532
  208. package/src/assets/i18n/cldr-data/main/he/ca-islamic-tbla.json +0 -532
  209. package/src/assets/i18n/cldr-data/main/he/ca-islamic-umalqura.json +0 -532
  210. package/src/assets/i18n/cldr-data/main/he/ca-islamic.json +0 -532
  211. package/src/assets/i18n/cldr-data/main/he/ca-japanese.json +0 -1240
  212. package/src/assets/i18n/cldr-data/main/he/ca-persian.json +0 -532
  213. package/src/assets/i18n/cldr-data/main/he/ca-roc.json +0 -535
  214. package/src/assets/i18n/cldr-data/main/he/characters.json +0 -53
  215. package/src/assets/i18n/cldr-data/main/he/currencies.json +0 -1982
  216. package/src/assets/i18n/cldr-data/main/he/dateFields.json +0 -860
  217. package/src/assets/i18n/cldr-data/main/he/delimiters.json +0 -19
  218. package/src/assets/i18n/cldr-data/main/he/languages.json +0 -555
  219. package/src/assets/i18n/cldr-data/main/he/layout.json +0 -19
  220. package/src/assets/i18n/cldr-data/main/he/listPatterns.json +0 -69
  221. package/src/assets/i18n/cldr-data/main/he/localeDisplayNames.json +0 -231
  222. package/src/assets/i18n/cldr-data/main/he/measurementSystemNames.json +0 -20
  223. package/src/assets/i18n/cldr-data/main/he/numbers.json +0 -233
  224. package/src/assets/i18n/cldr-data/main/he/posix.json +0 -19
  225. package/src/assets/i18n/cldr-data/main/he/scripts.json +0 -191
  226. package/src/assets/i18n/cldr-data/main/he/territories.json +0 -324
  227. package/src/assets/i18n/cldr-data/main/he/timeZoneNames.json +0 -2301
  228. package/src/assets/i18n/cldr-data/main/he/units.json +0 -3408
  229. package/src/assets/i18n/cldr-data/main/he/variants.json +0 -119
  230. package/src/assets/i18n/cldr-data/supplemental/aliases.json +0 -4391
  231. package/src/assets/i18n/cldr-data/supplemental/calendarData.json +0 -865
  232. package/src/assets/i18n/cldr-data/supplemental/calendarPreferenceData.json +0 -50
  233. package/src/assets/i18n/cldr-data/supplemental/characterFallbacks.json +0 -888
  234. package/src/assets/i18n/cldr-data/supplemental/codeMappings.json +0 -1932
  235. package/src/assets/i18n/cldr-data/supplemental/currencyData.json +0 -3589
  236. package/src/assets/i18n/cldr-data/supplemental/dayPeriods.json +0 -2008
  237. package/src/assets/i18n/cldr-data/supplemental/gender.json +0 -67
  238. package/src/assets/i18n/cldr-data/supplemental/languageData.json +0 -6450
  239. package/src/assets/i18n/cldr-data/supplemental/languageGroups.json +0 -115
  240. package/src/assets/i18n/cldr-data/supplemental/languageMatching.json +0 -1864
  241. package/src/assets/i18n/cldr-data/supplemental/likelySubtags.json +0 -1844
  242. package/src/assets/i18n/cldr-data/supplemental/measurementData.json +0 -44
  243. package/src/assets/i18n/cldr-data/supplemental/metaZones.json +0 -7049
  244. package/src/assets/i18n/cldr-data/supplemental/numberingSystems.json +0 -343
  245. package/src/assets/i18n/cldr-data/supplemental/ordinals.json +0 -371
  246. package/src/assets/i18n/cldr-data/supplemental/parentLocales.json +0 -180
  247. package/src/assets/i18n/cldr-data/supplemental/plurals.json +0 -884
  248. package/src/assets/i18n/cldr-data/supplemental/primaryZones.json +0 -22
  249. package/src/assets/i18n/cldr-data/supplemental/references.json +0 -1181
  250. package/src/assets/i18n/cldr-data/supplemental/territoryContainment.json +0 -753
  251. package/src/assets/i18n/cldr-data/supplemental/territoryInfo.json +0 -6604
  252. package/src/assets/i18n/cldr-data/supplemental/timeData.json +0 -1031
  253. package/src/assets/i18n/cldr-data/supplemental/unitPreferenceData.json +0 -290
  254. package/src/assets/i18n/cldr-data/supplemental/weekData.json +0 -316
  255. package/src/assets/i18n/cldr-data/supplemental/windowsZones.json +0 -3520
  256. package/src/assets/icons/icon-128x128.png +0 -0
  257. package/src/assets/icons/icon-144x144.png +0 -0
  258. package/src/assets/icons/icon-152x152.png +0 -0
  259. package/src/assets/icons/icon-192x192.png +0 -0
  260. package/src/assets/icons/icon-256x256.png +0 -0
  261. package/src/assets/icons/icon-32x32.png +0 -0
  262. package/src/assets/icons/icon-512x512.png +0 -0
  263. package/src/assets/js/app-sw.js +0 -16
  264. package/src/assets/js/firebase-messaging-sw.js +0 -1
  265. package/src/assets/js/logo.js +0 -31
  266. package/src/assets/logo.json +0 -1
  267. package/src/assets/logo.svg +0 -38
  268. package/src/assets/manifest.json +0 -43
  269. package/src/assets/sounds/alert_error-03.ogg +0 -0
  270. package/src/assets/sounds/navigation_hover-tap.ogg +0 -0
  271. package/src/assets/sounds/notification_simple-01.ogg +0 -0
  272. package/src/assets/themes/brown.min.css +0 -81
  273. package/src/assets/themes/dark.min.css +0 -76
  274. package/src/assets/themes/default.min.css +0 -88
  275. package/src/assets/themes/green.min.css +0 -81
  276. package/src/assets/themes/indigo.min.css +0 -81
  277. package/src/assets/themes/okta-sign-in.min.css +0 -17
@@ -1,194 +0,0 @@
1
- import { Component, Output, EventEmitter, Input, Inject, ViewChild, ElementRef } from '@angular/core';
2
- import { BIZDOC_CONFIG } from '../../core/configuration';
3
- import { FormGroup, FormControl, Validators } from '@angular/forms';
4
- import { trigger, state, style, transition, animate } from '@angular/animations';
5
- import { Subject } from 'rxjs';
6
- import { debounceTime, takeUntil, switchMap } from 'rxjs/operators';
7
- import { isMobile } from '../../core/functions';
8
- import { AuthenticationImpl } from '../../core/authentication';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../core/session.service";
11
- import * as i2 from "../../core/prompt.service";
12
- import * as i3 from "@angular/cdk/text-field";
13
- import * as i4 from "@angular/material/button";
14
- import * as i5 from "@angular/material/icon";
15
- import * as i6 from "@angular/material/form-field";
16
- import * as i7 from "@angular/material/autocomplete";
17
- import * as i8 from "@angular/material/core";
18
- import * as i9 from "@angular/material/checkbox";
19
- import * as i10 from "@angular/forms";
20
- import * as i11 from "@angular/flex-layout/flex";
21
- import * as i12 from "@angular/common";
22
- import * as i13 from "@angular/material/input";
23
- import * as i14 from "../../core/pipes/translate.pipe";
24
- import * as i15 from "../form.authentication";
25
- /** prompt component*/
26
- export class CredetialsComponent {
27
- /** prompt ctor */
28
- constructor(config, _session, _auth, _sb, _autofill) {
29
- this._session = _session;
30
- this._auth = _auth;
31
- this._sb = _sb;
32
- this._autofill = _autofill;
33
- this.success = new EventEmitter();
34
- this.logging = false;
35
- this.loggingChange = new EventEmitter();
36
- this.mode = 'prompt';
37
- this.more = false;
38
- this.hide = true;
39
- this.username = new FormControl(null, Validators.required);
40
- this.password = new FormControl(null, Validators.required);
41
- this.impersonate = new FormControl(null);
42
- this.rememberMe = new FormControl(null);
43
- this.form = new FormGroup({
44
- username: this.username,
45
- password: this.password,
46
- impersonate: this.impersonate,
47
- rememberMe: this.rememberMe
48
- });
49
- this.isMobile = isMobile();
50
- this._destroy = new Subject();
51
- if (config.credentials) {
52
- const { password, username } = config.credentials;
53
- if (password) {
54
- const validators = [Validators.required];
55
- //if (config.password.min) validators.push(Validators.minLength(config.password.min));
56
- if (password.pattern)
57
- validators.push(Validators.pattern(password.pattern));
58
- this.password.setValidators(validators);
59
- }
60
- if (username) {
61
- const validators = [Validators.required];
62
- if (username.pattern)
63
- validators.push(Validators.pattern(password.pattern));
64
- this.username.setValidators(validators);
65
- }
66
- }
67
- //if (session.displayName != null) {
68
- // this.photo = session.tumbnailPhoto;
69
- // this.displayName = session.displayName;
70
- // this.mode = 'returning';
71
- //}
72
- this.form.patchValue({
73
- username: _auth.username,
74
- rememberMe: _auth.username !== null
75
- });
76
- }
77
- ngOnInit() {
78
- this.users$ = this.impersonate.valueChanges.pipe(debounceTime(250), takeUntil(this._destroy), switchMap(() => this._auth.authenticate(this.username.value, this.password.value)), switchMap(() => this._session.mayImpersonate('')));
79
- }
80
- toggleHide(evt) {
81
- this.hide = !this.hide;
82
- evt.stopPropagation();
83
- }
84
- ngAfterViewInit() {
85
- this._autofill.monitor(this.usernameElement).pipe(takeUntil(this._destroy)).subscribe(v => {
86
- //if (v.isAutofilled)
87
- //this.form.markAllAsTouched();
88
- ////this.form.markAsDirty();
89
- //this.form.updateValueAndValidity();
90
- //this.formElement.nativeElement.checkValidity();
91
- });
92
- //const fm = new FocusKeyManager<HTMLElement>().withWrap();
93
- //fm.setActiveItem(0);
94
- this.usernameElement.nativeElement.focus();
95
- //setTimeout(() => {
96
- // //alert(this.password.value);
97
- // this._zone.runOutsideAngular(() => {
98
- // this.formElement.nativeElement.click();
99
- // });
100
- //}, 3000);
101
- }
102
- ok() {
103
- this.logging = true;
104
- this.form.disable({ emitEvent: false });
105
- this.loggingChange.emit(true);
106
- const { value: { username, password, rememberMe, impersonate } } = this.form;
107
- this._auth.authenticate(username, password, { rememberMe }).
108
- subscribe(() => {
109
- if (impersonate)
110
- this._session.impersonate(impersonate).subscribe(() => this.success.emit());
111
- else
112
- this.success.emit();
113
- }, e => {
114
- let message;
115
- switch (e) {
116
- default:
117
- message = 'LoginErr';
118
- }
119
- this._sb.toast(message);
120
- this.logging = false;
121
- this.form.enable({ emitEvent: false });
122
- this.loggingChange.emit(false);
123
- });
124
- }
125
- ngOnDestroy() {
126
- this._autofill.stopMonitoring(this.usernameElement);
127
- this._destroy.next();
128
- this._destroy.complete();
129
- }
130
- }
131
- CredetialsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: CredetialsComponent, deps: [{ token: BIZDOC_CONFIG }, { token: i1.SessionService }, { token: AuthenticationImpl }, { token: i2.PromptService }, { token: i3.AutofillMonitor }], target: i0.ɵɵFactoryTarget.Component });
132
- CredetialsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: CredetialsComponent, selector: "bizdoc-prompt", inputs: { logging: "logging" }, outputs: { success: "success", loggingChange: "loggingChange" }, viewQueries: [{ propertyName: "usernameElement", first: true, predicate: ["uname"], descendants: true, read: ElementRef }, { propertyName: "formElement", first: true, predicate: ["forme"], descendants: true, read: ElementRef }], ngImport: i0, template: "<form [ngSwitch]=\"mode\" fxLayout=\"column\" [formGroup]=\"form\" (ngSubmit)=\"ok()\" #forme>\r\n <div *ngSwitchCase=\"'returning'\" fxLayout=\"column\">\r\n <a mat-icon-button (click)=\"mode='prompt'\"><mat-icon>keyboard_backspace</mat-icon></a>\r\n <img src=\"{{photo}}\" alt=\"\" />\r\n <span>{{displayName}}</span>\r\n </div>\r\n <div *ngSwitchDefault fxLayout=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"username\" required [placeholder]=\"'Username' | translate\" #uname/>\r\n <mat-error *ngIf=\"username.hasError('required')\">{{'UsernameRequired' | translate}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input [type]=\"hide ? 'password' : 'text'\" name=\"current-password\" matInput formControlName=\"password\" required [placeholder]=\"'Password' | translate\" #pwd/>\r\n <button mat-icon-button (click)=\"toggleHide($event)\" matSuffix><mat-icon>{{hide ? 'visibility' : 'visibility_off'}}</mat-icon></button>\r\n <mat-error *ngIf=\"password.hasError('required')\">{{'PasswordRequired' | translate}}</mat-error>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"more\" [@more]=\"more ? 'expend' : 'collapse'\">\r\n <mat-form-field>\r\n <input formControlName=\"impersonate\" matInput [placeholder]=\"'ImpersonateAs' | translate\" [matAutocomplete]=\"auto\" />\r\n <mat-autocomplete #auto>\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"impersonate.value && (!username.value || !password.value)\">{{'ImpersonateRequireCredentials' | translate}}</mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\">\r\n <button (click)=\"more = !more\" type=\"button\" mat-button>\r\n <span>{{(more ? 'LoginLess' : 'LoginMore') | translate}}</span>\r\n <mat-icon>{{more ? 'keyboard_arrow_up': 'keyboard_arrow_down' }}</mat-icon>\r\n </button>\r\n </div>\r\n <mat-checkbox formControlName=\"rememberMe\">{{(isMobile ? 'RememberMeMobile' : 'RememberMe') | translate}}</mat-checkbox>\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n <button mat-raised-button type=\"submit\" color=\"primary\" [disabled]=\"!form.valid || logging\">{{'Login' | translate}}</button>\r\n </div>\r\n</form>\r\n", styles: ["#prompt-form{display:flex;flex-direction:column}#prompt-form *{width:100%}fieldset{border:none;padding:0}\n"], components: [{ type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i12.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i12.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i13.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i10.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { type: i6.MatSuffix, selector: "[matSuffix]" }, { type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }], pipes: { "translate": i14.TranslatePipe, "async": i12.AsyncPipe }, animations: [
133
- trigger('mode', [
134
- state('returning', style({})),
135
- state('prompt', style({})),
136
- transition('returning <=> prompt', [])
137
- ]),
138
- trigger('more', [
139
- state('expend', style({
140
- opacity: '1',
141
- transform: 'translateY(50%)'
142
- })),
143
- state('collapse', style({
144
- opacity: '1',
145
- transform: 'translateY(50%)'
146
- })),
147
- transition('void => *', [style({ opacity: '0' }), animate('500ms')])
148
- ])
149
- ] });
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: CredetialsComponent, decorators: [{
151
- type: Component,
152
- args: [{
153
- selector: 'bizdoc-prompt',
154
- templateUrl: './prompt.component.html',
155
- styleUrls: ['./prompt.component.scss'],
156
- animations: [
157
- trigger('mode', [
158
- state('returning', style({})),
159
- state('prompt', style({})),
160
- transition('returning <=> prompt', [])
161
- ]),
162
- trigger('more', [
163
- state('expend', style({
164
- opacity: '1',
165
- transform: 'translateY(50%)'
166
- })),
167
- state('collapse', style({
168
- opacity: '1',
169
- transform: 'translateY(50%)'
170
- })),
171
- transition('void => *', [style({ opacity: '0' }), animate('500ms')])
172
- ])
173
- ]
174
- }]
175
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
176
- type: Inject,
177
- args: [BIZDOC_CONFIG]
178
- }] }, { type: i1.SessionService }, { type: i15.FormAuthentication, decorators: [{
179
- type: Inject,
180
- args: [AuthenticationImpl]
181
- }] }, { type: i2.PromptService }, { type: i3.AutofillMonitor }]; }, propDecorators: { success: [{
182
- type: Output
183
- }], logging: [{
184
- type: Input
185
- }], loggingChange: [{
186
- type: Output
187
- }], usernameElement: [{
188
- type: ViewChild,
189
- args: ['uname', { read: ElementRef }]
190
- }], formElement: [{
191
- type: ViewChild,
192
- args: ['forme', { read: ElementRef }]
193
- }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvbG9naW4vcHJvbXB0L3Byb21wdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2xvZ2luL3Byb21wdC9wcm9tcHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFeEksT0FBTyxFQUFFLGFBQWEsRUFBd0MsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQXdCL0Qsc0JBQXNCO0FBQ3RCLE1BQU0sT0FBTyxtQkFBbUI7SUF3QjlCLGtCQUFrQjtJQUNsQixZQUN5QixNQUFvQixFQUNuQyxRQUF3QixFQUNJLEtBQXlCLEVBQ3JELEdBQWtCLEVBQ2xCLFNBQTBCO1FBSDFCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ0ksVUFBSyxH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Q0FDWixTQUFTLEVBQUUsaUJBQWlCOzZCQUM3QixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO3lCQUNyRSxDQUFDO3FCQUFDO2lCQUNOOzswQkE0QkksTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsTUFBTTsyQkFBQyxrQkFBa0I7c0dBM0JULE9BQU87c0JBQXpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBa0JtQyxlQUFlO3NCQUF4RCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ0UsV0FBVztzQkFBcEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBJbnB1dCwgT25EZXN0cm95LCBJbmplY3QsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQklaRE9DX0NPTkZJRywgQml6RG9jQ29uZmlnLCBBdXRoZW50aWNhdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIGFuaW1hdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dG9maWxsTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcclxuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uSW1wbCB9IGZyb20gJy4uLy4uL2NvcmUvYXV0aGVudGljYXRpb24nO1xyXG5pbXBvcnQgeyBGb3JtQXV0aGVudGljYXRpb24sIExvZ2luUmVzdWx0IH0gZnJvbSBcIi4uL2Zvcm0uYXV0aGVudGljYXRpb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXByb21wdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb21wdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHJvbXB0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignbW9kZScsIFtcclxuICAgICAgc3RhdGUoJ3JldHVybmluZycsIHN0eWxlKHt9KSksXHJcbiAgICAgIHN0YXRlKCdwcm9tcHQnLCBzdHlsZSh7fSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdyZXR1cm5pbmcgPD0+IHByb21wdCcsIFtdKV0pLFxyXG4gICAgdHJpZ2dlcignbW9yZScsIFtcclxuICAgICAgc3RhdGUoJ2V4cGVuZCcsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAnMScsXHJcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSg1MCUpJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHN0YXRlKCdjb2xsYXBzZScsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAnMScsXHJcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSg1MCUpJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSwgYW5pbWF0ZSgnNTAwbXMnKV0pXHJcbiAgICBdKV1cclxufSlcclxuLyoqIHByb21wdCBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgQ3JlZGV0aWFsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBJbnB1dCgpIGxvZ2dpbmcgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9nZ2luZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBtb2RlOiBMb2dpbk1vZGUgPSAncHJvbXB0JztcclxuICBtb3JlID0gZmFsc2U7XHJcbiAgaGlkZSA9IHRydWU7XHJcbiAgcGhvdG86IHN0cmluZztcclxuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHVzZXJzJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICByZWFkb25seSB1c2VybmFtZSA9IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICByZWFkb25seSBwYXNzd29yZCA9IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICByZWFkb25seSBpbXBlcnNvbmF0ZSA9IG5ldyBGb3JtQ29udHJvbChudWxsKTtcclxuICByZWFkb25seSByZW1lbWJlck1lID0gbmV3IEZvcm1Db250cm9sKG51bGwpO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIHVzZXJuYW1lOiB0aGlzLnVzZXJuYW1lLFxyXG4gICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQsXHJcbiAgICBpbXBlcnNvbmF0ZTogdGhpcy5pbXBlcnNvbmF0ZSxcclxuICAgIHJlbWVtYmVyTWU6IHRoaXMucmVtZW1iZXJNZVxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IGlzTW9iaWxlID0gaXNNb2JpbGUoKTtcclxuICBAVmlld0NoaWxkKCd1bmFtZScsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB1c2VybmFtZUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnZm9ybWUnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgZm9ybUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEZvcm1FbGVtZW50PjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogcHJvbXB0IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIEBJbmplY3QoQXV0aGVudGljYXRpb25JbXBsKSBwcml2YXRlIF9hdXRoOiBGb3JtQXV0aGVudGljYXRpb24sXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2F1dG9maWxsOiBBdXRvZmlsbE1vbml0b3IpIHtcclxuICAgIGlmIChjb25maWcuY3JlZGVudGlhbHMpIHtcclxuICAgICAgY29uc3QgeyBwYXNzd29yZCwgdXNlcm5hbWUgfSA9IGNvbmZpZy5jcmVkZW50aWFscyBhcyBBdXRoZW50aWNhdGlvblNldHRpbmdzO1xyXG4gICAgICBpZiAocGFzc3dvcmQpIHtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWRdO1xyXG4gICAgICAgIC8vaWYgKGNvbmZpZy5wYXNzd29yZC5taW4pIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aChjb25maWcucGFzc3dvcmQubWluKSk7XHJcbiAgICAgICAgaWYgKHBhc3N3b3JkLnBhdHRlcm4pIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4ocGFzc3dvcmQucGF0dGVybikpO1xyXG4gICAgICAgIHRoaXMucGFzc3dvcmQuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodXNlcm5hbWUpIHtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWRdO1xyXG4gICAgICAgIGlmICh1c2VybmFtZS5wYXR0ZXJuKSB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHBhc3N3b3JkLnBhdHRlcm4pKTtcclxuICAgICAgICB0aGlzLnVzZXJuYW1lLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vaWYgKHNlc3Npb24uZGlzcGxheU5hbWUgIT0gbnVsbCkge1xyXG4gICAgLy8gIHRoaXMucGhvdG8gPSBzZXNzaW9uLnR1bWJuYWlsUGhvdG87XHJcbiAgICAvLyAgdGhpcy5kaXNwbGF5TmFtZSA9IHNlc3Npb24uZGlzcGxheU5hbWU7XHJcbiAgICAvLyAgdGhpcy5tb2RlID0gJ3JldHVybmluZyc7XHJcbiAgICAvL31cclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgdXNlcm5hbWU6IF9hdXRoLnVzZXJuYW1lLFxyXG4gICAgICByZW1lbWJlck1lOiBfYXV0aC51c2VybmFtZSAhPT0gbnVsbFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VycyQgPSB0aGlzLmltcGVyc29uYXRlLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyNTApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9hdXRoLmF1dGhlbnRpY2F0ZSh0aGlzLnVzZXJuYW1lLnZhbHVlLCB0aGlzLnBhc3N3b3JkLnZhbHVlKSksXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxyXG4gICAgICB0aGlzLl9zZXNzaW9uLm1heUltcGVyc29uYXRlKCcnKSkpO1xyXG4gIH1cclxuICB0b2dnbGVIaWRlKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5oaWRlID0gIXRoaXMuaGlkZTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXV0b2ZpbGwubW9uaXRvcih0aGlzLnVzZXJuYW1lRWxlbWVudCkucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgLy9pZiAodi5pc0F1dG9maWxsZWQpXHJcbiAgICAgIC8vdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgLy8vL3RoaXMuZm9ybS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAvL3RoaXMuZm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgIC8vdGhpcy5mb3JtRWxlbWVudC5uYXRpdmVFbGVtZW50LmNoZWNrVmFsaWRpdHkoKTtcclxuICAgIH0pO1xyXG4gICAgLy9jb25zdCBmbSA9IG5ldyBGb2N1c0tleU1hbmFnZXI8SFRNTEVsZW1lbnQ+KCkud2l0aFdyYXAoKTtcclxuICAgIC8vZm0uc2V0QWN0aXZlSXRlbSgwKTtcclxuICAgIHRoaXMudXNlcm5hbWVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIC8vc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgLy9hbGVydCh0aGlzLnBhc3N3b3JkLnZhbHVlKTtcclxuICAgIC8vICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgIC8vICAgIHRoaXMuZm9ybUVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gICAgLy8gIH0pO1xyXG4gICAgLy99LCAzMDAwKTtcclxuICB9XHJcbiAgb2soKSB7XHJcbiAgICB0aGlzLmxvZ2dpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5mb3JtLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5sb2dnaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBjb25zdCB7IHZhbHVlOiB7IHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXJNZSwgaW1wZXJzb25hdGUgfSB9ID0gdGhpcy5mb3JtO1xyXG4gICAgdGhpcy5fYXV0aC5hdXRoZW50aWNhdGUodXNlcm5hbWUsIHBhc3N3b3JkLFxyXG4gICAgICB7IHJlbWVtYmVyTWUgfSkuXHJcbiAgICAgIHN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKGltcGVyc29uYXRlKVxyXG4gICAgICAgICAgdGhpcy5fc2Vzc2lvbi5pbXBlcnNvbmF0ZShpbXBlcnNvbmF0ZSkuc3Vic2NyaWJlKCgpID0+IFxyXG4gICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCgpKVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgICAgZSA9PiB7XHJcbiAgICAgICAgICBsZXQgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgICAgICAgc3dpdGNoIChlIGFzIExvZ2luUmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgbWVzc2FnZSA9ICdMb2dpbkVycic7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9zYi50b2FzdChtZXNzYWdlKTtcclxuICAgICAgICAgIHRoaXMubG9nZ2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSlcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9hdXRvZmlsbC5zdG9wTW9uaXRvcmluZyh0aGlzLnVzZXJuYW1lRWxlbWVudCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuZGVjbGFyZSB0eXBlIExvZ2luTW9kZSA9ICdyZXR1cm5pbmcnIHwgJ3Byb21wdCc7XHJcbiIsIjxmb3JtIFtuZ1N3aXRjaF09XCJtb2RlXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwib2soKVwiICNmb3JtZT5cclxuICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIncmV0dXJuaW5nJ1wiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICA8YSBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm1vZGU9J3Byb21wdCdcIj48bWF0LWljb24+a2V5Ym9hcmRfYmFja3NwYWNlPC9tYXQtaWNvbj48L2E+XHJcbiAgICA8aW1nIHNyYz1cInt7cGhvdG99fVwiIGFsdD1cIlwiIC8+XHJcbiAgICA8c3Bhbj57e2Rpc3BsYXlOYW1lfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiIHJlcXVpcmVkIFtwbGFjZWhvbGRlcl09XCInVXNlcm5hbWUnIHwgdHJhbnNsYXRlXCIgI3VuYW1lLz5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInVzZXJuYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3snVXNlcm5hbWVSZXF1aXJlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0IFt0eXBlXT1cImhpZGUgPyAncGFzc3dvcmQnIDogJ3RleHQnXCIgbmFtZT1cImN1cnJlbnQtcGFzc3dvcmRcIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIHJlcXVpcmVkIFtwbGFjZWhvbGRlcl09XCInUGFzc3dvcmQnIHwgdHJhbnNsYXRlXCIgI3B3ZC8+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVIaWRlKCRldmVudClcIiBtYXRTdWZmaXg+PG1hdC1pY29uPnt7aGlkZSA/ICd2aXNpYmlsaXR5JyA6ICd2aXNpYmlsaXR5X29mZid9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJwYXNzd29yZC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7J1Bhc3N3b3JkUmVxdWlyZWQnIHwgdHJhbnNsYXRlfX08L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9yZVwiIFtAbW9yZV09XCJtb3JlID8gJ2V4cGVuZCcgOiAnY29sbGFwc2UnXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiaW1wZXJzb25hdGVcIiBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ0ltcGVyc29uYXRlQXMnIHwgdHJhbnNsYXRlXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgLz5cclxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB1IG9mIHVzZXJzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInUuaWRcIj57e3UubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaW1wZXJzb25hdGUudmFsdWUgJiYgKCF1c2VybmFtZS52YWx1ZSB8fCAhcGFzc3dvcmQudmFsdWUpXCI+e3snSW1wZXJzb25hdGVSZXF1aXJlQ3JlZGVudGlhbHMnIHwgdHJhbnNsYXRlfX08L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIj5cclxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibW9yZSA9ICFtb3JlXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1idXR0b24+XHJcbiAgICAgICAgPHNwYW4+e3sobW9yZSA/ICdMb2dpbkxlc3MnIDogJ0xvZ2luTW9yZScpIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPG1hdC1pY29uPnt7bW9yZSA/ICdrZXlib2FyZF9hcnJvd191cCc6ICdrZXlib2FyZF9hcnJvd19kb3duJyB9fTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInJlbWVtYmVyTWVcIj57eyhpc01vYmlsZSA/ICdSZW1lbWJlck1lTW9iaWxlJyA6ICdSZW1lbWJlck1lJykgfCB0cmFuc2xhdGV9fTwvbWF0LWNoZWNrYm94PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgZnhMYXlvdXRBbGlnbj1cImVuZFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkIHx8IGxvZ2dpbmdcIj57eydMb2dpbicgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Injectable, Injector } from '@angular/core';
2
- import { OverlayRef, OverlayConfig } from '@angular/cdk/overlay';
3
- import { ComponentPortal } from '@angular/cdk/portal';
4
- import { LoginComponent } from './login.component';
5
- import { SessionMode } from '../core/session.service';
6
- import { OktaComponent } from './okta.component';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../core/session.service";
9
- import * as i2 from "@angular/cdk/overlay";
10
- import * as i3 from "@angular/cdk/bidi";
11
- /** prompts login comp */
12
- export class SignInInfo {
13
- constructor(_session, _overlay, _injector, _dir) {
14
- this._session = _session;
15
- this._overlay = _overlay;
16
- this._injector = _injector;
17
- this._dir = _dir;
18
- }
19
- pop() {
20
- switch (this._session.mode) {
21
- case SessionMode.Okta:
22
- return this._pop(OktaComponent);
23
- default:
24
- return this._pop(LoginComponent);
25
- }
26
- }
27
- _pop(component) {
28
- const position = this._overlay.position().global()
29
- .centerHorizontally()
30
- .centerVertically();
31
- const config = new OverlayConfig({
32
- positionStrategy: position,
33
- //hasBackdrop: backdrop,
34
- scrollStrategy: this._overlay.scrollStrategies.block(),
35
- direction: this._dir.value,
36
- });
37
- const oRef = this._overlay.create(config);
38
- const injector = Injector.create([{ provide: OverlayRef, useValue: oRef }], this._injector);
39
- const portal = new ComponentPortal(component, null, injector);
40
- oRef.attach(portal);
41
- return oRef.detachments();
42
- }
43
- }
44
- SignInInfo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SignInInfo, deps: [{ token: i1.SessionService }, { token: i2.Overlay }, { token: i0.Injector }, { token: i3.Directionality }], target: i0.ɵɵFactoryTarget.Injectable });
45
- SignInInfo.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SignInInfo });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SignInInfo, decorators: [{
47
- type: Injectable
48
- }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.Overlay }, { type: i0.Injector }, { type: i3.Directionality }]; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluLWluZm8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvbG9naW4vc2lnbmluLWluZm8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQVcsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQUNqRCx5QkFBeUI7QUFFekIsTUFBTSxPQUFPLFVBQVU7SUFVckIsWUFDVSxRQUF3QixFQUN4QixRQUFpQixFQUNqQixTQUFtQixFQUNuQixJQUFvQjtRQUhwQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7SUFDOUIsQ0FBQztJQWRNLEdBQUc7UUFFUixRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQzFCLEtBQUssV0FBVyxDQUFDLElBQUk7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNsQztnQkFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBT08sSUFBSSxDQUFJLFNBQTJCO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQy9DLGtCQUFrQixFQUFFO2FBQ3BCLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDL0IsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQix3QkFBd0I7WUFDeEIsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQ3RELFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7O3VHQWhDVSxVQUFVOzJHQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vbG9naW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2Vzc2lvbk1vZGUsIFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPa3RhQ29tcG9uZW50IH0gZnJvbSAnLi9va3RhLmNvbXBvbmVudCc7XHJcbi8qKiBwcm9tcHRzIGxvZ2luIGNvbXAgKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2lnbkluSW5mbyB7XHJcbiAgcHVibGljIHBvcCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cclxuICAgIHN3aXRjaCAodGhpcy5fc2Vzc2lvbi5tb2RlKSB7XHJcbiAgICAgIGNhc2UgU2Vzc2lvbk1vZGUuT2t0YTpcclxuICAgICAgICByZXR1cm4gdGhpcy5fcG9wKE9rdGFDb21wb25lbnQpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB0aGlzLl9wb3AoTG9naW5Db21wb25lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHkpIHtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcG9wPEM+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPikge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKClcclxuICAgICAgLmNlbnRlckhvcml6b250YWxseSgpXHJcbiAgICAgIC5jZW50ZXJWZXJ0aWNhbGx5KCk7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHBvc2l0aW9uLFxyXG4gICAgICAvL2hhc0JhY2tkcm9wOiBiYWNrZHJvcCxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgIH0pO1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbeyBwcm92aWRlOiBPdmVybGF5UmVmLCB1c2VWYWx1ZTogb1JlZiB9XSwgdGhpcy5faW5qZWN0b3IpO1xyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcclxuICAgIG9SZWYuYXR0YWNoKHBvcnRhbCk7XHJcblxyXG4gICAgcmV0dXJuIG9SZWYuZGV0YWNobWVudHMoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,107 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ViewChild } from "@angular/core";
3
- import { BizDoc } from "../../core/decorators";
4
- import { filter, first } from "rxjs";
5
- import { CubeBase } from "./cube-base";
6
- import { isArray } from "../../core/functions";
7
- import { CubeInfoTableComponent } from "../../cube/info/table.component";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../document-view-ref";
10
- import * as i2 from "../../core/router";
11
- import * as i3 from "../../cube/cube.service";
12
- import * as i4 from "../../core/datasource.service";
13
- import * as i5 from "../../core/session.service";
14
- import * as i6 from "@angular/material/button";
15
- import * as i7 from "@angular/material/icon";
16
- import * as i8 from "@angular/material/menu";
17
- import * as i9 from "@angular/material/progress-spinner";
18
- import * as i10 from "../../cube/info/table.component";
19
- import * as i11 from "@angular/common";
20
- import * as i12 from "@angular/material/tooltip";
21
- import * as i13 from "../../core/pipes/translate.pipe";
22
- let CubeDocumentMatrixComponent = class CubeDocumentMatrixComponent extends CubeBase {
23
- constructor(viewRef, _router, service, _ds, session) {
24
- super(viewRef, service, session);
25
- this._router = _router;
26
- this._ds = _ds;
27
- this.loading = true;
28
- this.sources = {};
29
- /** filters */
30
- this.values = {};
31
- }
32
- onViewBind() {
33
- const { xAxis, serie, indices, sum, filters } = this._viewRef.options;
34
- this.xAxis = xAxis;
35
- this.serie = serie;
36
- this.indices = indices;
37
- this.sum = sum;
38
- this._service.patterns(this.cube.name).
39
- subscribe(p => this.patterns = p);
40
- /** one or more axis */
41
- this.filters = this.cube.axes.filter(a => isArray(filters) ?
42
- filters.indexOf(a.name) > -1 :
43
- a.name === filters);
44
- this.filters.forEach(f => this.sources[f.name] = this._ds.all(f.dataType));
45
- this.setTitle(this.axes);
46
- }
47
- _copyAxesToFilterValues() {
48
- this.filters && this.filters.forEach(f => this.values[f.name] = this.axes[f.name]);
49
- }
50
- explore(axes) {
51
- this._router.navigate(['cube', this.cube.name, 'explore'], {
52
- queryParams: axes
53
- });
54
- }
55
- /**
56
- *
57
- * @param value
58
- */
59
- filter(name, value, title) {
60
- this.values[name] = value;
61
- const axes = Object.assign(Object.assign({}, (this.pattern ? this.pattern.axes : this.aggregate(this.originalAxes))), this.values);
62
- axes[name] = value;
63
- this._setAxes(axes);
64
- }
65
- /**
66
- *
67
- * @param axes
68
- */
69
- _setAxes(axes) {
70
- this.axes = axes;
71
- return this.table.loadingChange.pipe(filter(ok => !ok), first()).toPromise();
72
- }
73
- /**
74
- *
75
- * @param pattern
76
- */
77
- patternChange(pattern) {
78
- this._setAxes(Object.assign(Object.assign({}, pattern.axes), this.values)).then(() => {
79
- this._copyAxesToFilterValues();
80
- this.title = pattern.title;
81
- this.pattern = pattern;
82
- });
83
- }
84
- reset() {
85
- this._setAxes(super.aggregate(this.originalAxes)).then(() => {
86
- this._copyAxesToFilterValues();
87
- this.pattern = null;
88
- this.title = null;
89
- });
90
- }
91
- };
92
- CubeDocumentMatrixComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: CubeDocumentMatrixComponent, deps: [{ token: i1.DocumentViewRef }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.DatasourceService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Component });
93
- CubeDocumentMatrixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeInfoTableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [matTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</div>\r\n<div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n</div>\r\n<bizdoc-cube-info-table [cube]=\"cube\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=sum\r\n [axes]=\"axes\" [base]=\"originalAxes\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-info-table>\r\n", components: [{ type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i9.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i10.CubeInfoTableComponent, selector: "bizdoc-cube-info-table", inputs: ["cube", "xAxis", "serie", "indices", "sum", "base", "axes", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "translate": i13.TranslatePipe, "async": i11.AsyncPipe } });
94
- CubeDocumentMatrixComponent = __decorate([
95
- BizDoc({
96
- selector: 'bizdoc-cube-table'
97
- })
98
- ], CubeDocumentMatrixComponent);
99
- export { CubeDocumentMatrixComponent };
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: CubeDocumentMatrixComponent, decorators: [{
101
- type: Component,
102
- args: [{ templateUrl: 'table.component.html', host: { class: 'view' } }]
103
- }], ctorParameters: function () { return [{ type: i1.DocumentViewRef }, { type: i2.RouterImpl }, { type: i3.CubeService }, { type: i4.DatasourceService }, { type: i5.SessionService }]; }, propDecorators: { table: [{
104
- type: ViewChild,
105
- args: [CubeInfoTableComponent, { static: true }]
106
- }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi92aWV3cy9jdWJlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvY3ViZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTS9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUFNNUQsMkJBQTJCLFNBQTNCLDJCQUE0QixTQUFRLFFBQWlCO0lBa0JoRSxZQUNFLE9BQWlDLEVBQ3pCLE9BQW1CLEVBQzNCLE9BQW9CLEVBQ1osR0FBc0IsRUFDOUIsT0FBdUI7UUFDdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFKekIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUVuQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBCaEMsWUFBTyxHQUFZLElBQUksQ0FBQztRQUVmLFlBQU8sR0FBb0UsRUFBRSxDQUFDO1FBQ3ZGLGNBQWM7UUFDTCxXQUFNLEdBQWtFLEVBQUUsQ0FBQztJQW1CcEYsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFF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QUMsSUFBSSxHQUFLLElBQUksQ0FBQyxNQUFNLEVBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzNELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDMUQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTt3SEFoR1ksMkJBQTJCOzRHQUEzQiwyQkFBMkIsNkhBQzNCLHNCQUFzQixxRkNuQm5DLCt5REFxQ0E7QURuQmEsMkJBQTJCO0lBSHZDLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUIsQ0FBQztHQUNXLDJCQUEyQixDQWdHdkM7U0FoR1ksMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUMsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxFQUFFO3NOQUtsQixLQUFLO3NCQUF6RCxTQUFTO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tIFwiLi4vLi4vY29yZS9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UsIFBhdHRlcm4gfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3UmVmIH0gZnJvbSBcIi4uL2RvY3VtZW50LXZpZXctcmVmXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBDdWJlQmFzZSB9IGZyb20gXCIuL2N1YmUtYmFzZVwiO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSBcIi4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7IEN1YmVJbmZvVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY3ViZS9pbmZvL3RhYmxlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAndGFibGUuY29tcG9uZW50Lmh0bWwnLCBob3N0OiB7Y2xhc3M6ICd2aWV3J30gfSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS10YWJsZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1YmVEb2N1bWVudE1hdHJpeENvbXBvbmVudCBleHRlbmRzIEN1YmVCYXNlPE9wdGlvbnM+IGltcGxlbWVudHMgRG9jdW1lbnRWaWV3Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKEN1YmVJbmZvVGFibGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlOiBDdWJlSW5mb1RhYmxlQ29tcG9uZW50O1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICByZWFkb25seSBzb3VyY2VzOiB7IFtheGlzOiBzdHJpbmddOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnk7IH1bXT47IH0gPSB7fTtcclxuICAvKiogZmlsdGVycyAqL1xyXG4gIHJlYWRvbmx5IHZhbHVlczogeyBbYXhpczogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjsgfSA9IHt9O1xyXG4gIGZpbHRlcnM6IEN1YmVBeGlzW107XHJcbiAgcGF0dGVybnM6IFBhdHRlcm5bXTtcclxuICBwYXR0ZXJuOiBQYXR0ZXJuO1xyXG4gIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICB4QXhpczogc3RyaW5nO1xyXG4gIHNlcmllOiBzdHJpbmc7XHJcbiAgc3VtPzoge1xyXG4gICAgeEF4aXM/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBzZXJpZT86IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgfTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdSZWY6IERvY3VtZW50Vmlld1JlZjxPcHRpb25zPixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHNlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHZpZXdSZWYsIHNlcnZpY2UsIHNlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgb25WaWV3QmluZCgpIHtcclxuICAgIGNvbnN0IHsgeEF4aXMsIHNlcmllLCBpbmRpY2VzLCBzdW0sIGZpbHRlcnMgfSA9IHRoaXMuX3ZpZXdSZWYub3B0aW9ucztcclxuICAgIHRoaXMueEF4aXMgPSB4QXhpcztcclxuICAgIHRoaXMuc2VyaWUgPSBzZXJpZTtcclxuICAgIHRoaXMuaW5kaWNlcyA9IGluZGljZXM7XHJcbiAgICB0aGlzLnN1bSA9IHN1bTtcclxuXHJcbiAgICB0aGlzLl9zZXJ2aWNlLnBhdHRlcm5zKHRoaXMuY3ViZS5uYW1lKS5cclxuICAgICAgc3Vic2NyaWJlKHAgPT5cclxuICAgICAgICB0aGlzLnBhdHRlcm5zID0gcCk7XHJcbiAgICAvKiogb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5jdWJlLmF4ZXMuZmlsdGVyKGEgPT4gaXNBcnJheShmaWx0ZXJzKSA/XHJcbiAgICAgIGZpbHRlcnMuaW5kZXhPZihhLm5hbWUpID4gLTEgOlxyXG4gICAgICBhLm5hbWUgPT09IGZpbHRlcnMpO1xyXG4gICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZiA9PlxyXG4gICAgICB0aGlzLnNvdXJjZXNbZi5uYW1lXSA9IHRoaXMuX2RzLmFsbChmLmRhdGFUeXBlKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNldFRpdGxlKHRoaXMuYXhlcyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvcHlBeGVzVG9GaWx0ZXJWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLmZpbHRlcnMgJiYgdGhpcy5maWx0ZXJzLmZvckVhY2goZiA9PlxyXG4gICAgICB0aGlzLnZhbHVlc1tmLm5hbWVdID0gdGhpcy5heGVzW2YubmFtZV1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBleHBsb3JlKGF4ZXM6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2N1YmUnLCB0aGlzLmN1YmUubmFtZSwgJ2V4cGxvcmUnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogYXhlc1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICAvKipcclxuICpcclxuICogQHBhcmFtIHZhbHVlXHJcbiAqL1xyXG4gIGZpbHRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudmFsdWVzW25hbWVdID0gdmFsdWU7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi4odGhpcy5wYXR0ZXJuID8gdGhpcy5wYXR0ZXJuLmF4ZXMgOiB0aGlzLmFnZ3JlZ2F0ZSh0aGlzLm9yaWdpbmFsQXhlcykpLCAuLi50aGlzLnZhbHVlcyB9O1xyXG4gICAgYXhlc1tuYW1lXSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0QXhlcyhheGVzKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGF4ZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9zZXRBeGVzKGF4ZXM6IEF4ZXNNYXApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgdGhpcy5heGVzID0gYXhlcztcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLmxvYWRpbmdDaGFuZ2UucGlwZShmaWx0ZXIob2sgPT4gIW9rKSwgZmlyc3QoKSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgKlxyXG4gICAgKiBAcGFyYW0gcGF0dGVyblxyXG4gICAgKi9cclxuICBwYXR0ZXJuQ2hhbmdlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMuX3NldEF4ZXMoeyAuLi5wYXR0ZXJuLmF4ZXMsIC4uLnRoaXMudmFsdWVzIH0pLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLl9jb3B5QXhlc1RvRmlsdGVyVmFsdWVzKCk7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBwYXR0ZXJuLnRpdGxlO1xyXG4gICAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuX3NldEF4ZXMoc3VwZXIuYWdncmVnYXRlKHRoaXMub3JpZ2luYWxBeGVzKSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NvcHlBeGVzVG9GaWx0ZXJWYWx1ZXMoKTtcclxuICAgICAgdGhpcy5wYXR0ZXJuID0gbnVsbDtcclxuICAgICAgdGhpcy50aXRsZSA9IG51bGw7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuICBmaWx0ZXJzOiBzdHJpbmdbXTtcclxuICBzdW06IHtcclxuICAgIHhBeGlzPzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgc2VyaWU/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gIH07XHJcbiAgaW5kaWNlczogc3RyaW5nW107XHJcbiAgYWdncmVnYXRlOiBzdHJpbmdbXTtcclxuICBncm91cDogc3RyaW5nW107XHJcbiAgeEF4aXM6IHN0cmluZztcclxuICBzZXJpZTogc3RyaW5nO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWx0ZXJuYXRlXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNtZW51XCI+e3tjdWJlLnRpdGxlfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI2NtZW51PlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGEgb2YgYWx0ZXJuYXRlXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVG8oYSlcIj5cclxuICAgICAgICB7e2EudGl0bGV9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LW1lbnU+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDwhLS0gdGl0bGUgLS0+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIiAqbmdJZj1cInBhdHRlcm5zICYmIHBhdHRlcm5zLmxlbmd0aFwiPjxtYXQtaWNvbiBbY2xhc3MuZmlsbGVkXT1cInBhdHRlcm5cIj5maWx0ZXJfYWx0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI29wdGlvbnMgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICA8IS0tIHBhdHRlcm5zIC0tPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBwIG9mIHBhdHRlcm5zXCIgKGNsaWNrKT1cInBhdHRlcm5DaGFuZ2UocClcIj57e3AudGl0bGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlc2V0KClcIiBbZGlzYWJsZWRdPVwiIXBhdHRlcm5cIiBbbWF0VG9vbHRpcF09XCInQ2xlYXInIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8bWF0LWljb24+Y2xlYXJfYWxsPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8IS0tIGZpbHRlcnMgLS0+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiBmaWx0ZXJzXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImZtZW51XCI+e3t2YWx1ZXNbZi5uYW1lXX19IDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPG1hdC1tZW51ICNmbWVudSB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBrdiBvZiBzb3VyY2VzW2YubmFtZV0gfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlcihmLm5hbWUsIGt2LmtleSwga3YudmFsdWUpXCI+XHJcbiAgICAgICAge3trdi52YWx1ZX19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJsb2FkaW5nLXZpZXdcIiAgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgPG1hdC1zcGlubmVyIGNvbG9yPVwiYWNjZW50XCI+PC9tYXQtc3Bpbm5lcj5cclxuPC9kaXY+XHJcbjxiaXpkb2MtY3ViZS1pbmZvLXRhYmxlIFtjdWJlXT1cImN1YmVcIiBbeEF4aXNdPVwieEF4aXNcIiBbc2VyaWVdPVwic2VyaWVcIiBbaW5kaWNlc109XCJpbmRpY2VzXCIgW3N1bV09c3VtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtheGVzXT1cImF4ZXNcIiBbYmFzZV09XCJvcmlnaW5hbEF4ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXhwbG9yZSk9J2V4cGxvcmUoJGV2ZW50KScgWyhsb2FkaW5nKV09XCJsb2FkaW5nXCI+PC9iaXpkb2MtY3ViZS1pbmZvLXRhYmxlPlxyXG4iXX0=
@@ -1,41 +0,0 @@
1
- import { OnInit, TemplateRef } from '@angular/core';
2
- import { FormBuilder } from '@angular/forms';
3
- import { Observable } from 'rxjs';
4
- import { UsersService, IdentityUser, IdentityRole } from './users.service';
5
- import { SelectionModel } from '@angular/cdk/collections';
6
- import { TranslateService } from '../../core/translate.service';
7
- import { BizDocConfig } from '../../core/configuration';
8
- import { Directionality } from '@angular/cdk/bidi';
9
- import { MatTableDataSource } from '@angular/material/table';
10
- import { MatSort } from '@angular/material/sort';
11
- import { MatSnackBar } from '@angular/material/snack-bar';
12
- import { MatDialog } from '@angular/material/dialog';
13
- import * as i0 from "@angular/core";
14
- export declare class UsersComponent implements OnInit {
15
- private _fb;
16
- private _service;
17
- private _sb;
18
- private _dir;
19
- private _dialog;
20
- private _translate;
21
- private _bizdoc;
22
- readonly form: import("@angular/forms").FormGroup;
23
- dataSource: MatTableDataSource<IdentityUser>;
24
- roles: Observable<IdentityRole[]>;
25
- readonly displayColumns: string[];
26
- readonly selection: SelectionModel<IdentityUser>;
27
- sort: MatSort;
28
- newTemplate: TemplateRef<any>;
29
- editTemplate: TemplateRef<any>;
30
- /** users ctor */
31
- constructor(_fb: FormBuilder, _service: UsersService, _sb: MatSnackBar, _dir: Directionality, _dialog: MatDialog, _translate: TranslateService, _bizdoc: BizDocConfig);
32
- ngOnInit(): void;
33
- search(value: string): void;
34
- add(): void;
35
- edit(user: IdentityUser): void;
36
- private _error;
37
- private _ok;
38
- private _clear;
39
- static ɵfac: i0.ɵɵFactoryDeclaration<UsersComponent, never>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<UsersComponent, "ng-component", never, {}, {}, never, never>;
41
- }
@@ -1,30 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Gender } from '../../core/models';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class UsersService {
6
- private http;
7
- constructor(http: HttpClient);
8
- add(user: IdentityUser): Observable<any>;
9
- all(): Observable<IdentityUser[]>;
10
- roles(): Observable<IdentityRole[]>;
11
- get(id: string): Observable<IdentityUser>;
12
- update(id: string, user: IdentityUser): Observable<IdentityUser>;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<UsersService, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<UsersService>;
15
- }
16
- export interface IdentityUser {
17
- id: string;
18
- nikeName?: string;
19
- userName: string;
20
- gender?: Gender;
21
- sirname: string;
22
- firstName?: string;
23
- roles: string[];
24
- email: string;
25
- phoneNumber: string;
26
- }
27
- export interface IdentityRole {
28
- id: string;
29
- name: string;
30
- }
@@ -1,20 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { MatSnackBar } from '@angular/material/snack-bar';
3
- import { TranslateService } from '../../core/translate.service';
4
- import { FormControl } from '@angular/forms';
5
- import { FormAuthentication } from "../form.authentication";
6
- import * as i0 from "@angular/core";
7
- export declare class ForgotComponent {
8
- private translate;
9
- private session;
10
- private sb;
11
- email: FormControl;
12
- mode: 'ask' | 'done';
13
- serving: boolean;
14
- readonly processingChange: EventEmitter<boolean>;
15
- /** forgot ctor */
16
- constructor(translate: TranslateService, session: FormAuthentication, sb: MatSnackBar);
17
- ok(): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<ForgotComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<ForgotComponent, "bizdoc-forgot", never, { "serving": "serving"; }, { "processingChange": "processingChange"; }, never, never>;
20
- }
@@ -1,29 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { AuthenticationImpl } from '../core/authentication';
4
- import * as i0 from "@angular/core";
5
- export declare class FormAuthentication extends AuthenticationImpl {
6
- getAccessToken(): string;
7
- authenticate(username: string, password: string, options?: {
8
- rememberMe?: boolean;
9
- }): Observable<string>;
10
- private _http;
11
- constructor(injector: Injector);
12
- signOut(): Promise<Object>;
13
- forgot(email: string): Observable<any>;
14
- get photo(): string;
15
- get displayName(): string;
16
- get username(): string;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<FormAuthentication, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<FormAuthentication>;
19
- }
20
- export declare enum LoginResult {
21
- OK = 0,
22
- Failed = 1
23
- }
24
- export interface LoginResultModel {
25
- gender?: string;
26
- photo?: string;
27
- name: string;
28
- tokenId: string;
29
- }
@@ -1,11 +0,0 @@
1
- import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import { FormAuthentication } from './form.authentication';
4
- import * as i0 from "@angular/core";
5
- export declare class FormHttpInterceptor implements HttpInterceptor {
6
- private _service;
7
- constructor(_service: FormAuthentication);
8
- intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<FormHttpInterceptor, never>;
10
- static ɵprov: i0.ɵɵInjectableDeclaration<FormHttpInterceptor>;
11
- }
@@ -1,18 +0,0 @@
1
- import { SessionService } from '../core/session.service';
2
- import { OverlayRef } from '@angular/cdk/overlay';
3
- import * as i0 from "@angular/core";
4
- export declare class LoginComponent {
5
- private _overlayRef;
6
- private _session;
7
- working: boolean;
8
- languages: string[];
9
- currentLanguage: string;
10
- mode: 'prompt' | 'forgot';
11
- /** login ctor */
12
- constructor(_overlayRef: OverlayRef, _session: SessionService);
13
- changeLanguage(code: string): void;
14
- forgot(ev: MouseEvent): void;
15
- close(): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "bizdoc-login", never, {}, {}, never, never>;
18
- }
@@ -1,13 +0,0 @@
1
- import { OktaConfig } from '@okta/okta-angular';
2
- import { AuthenticationImpl } from '../core/authentication';
3
- import * as i0 from "@angular/core";
4
- export declare const DEFAULT_SCOPES: string[];
5
- export declare class OktaAuthentication extends AuthenticationImpl {
6
- private _okta;
7
- getAccessToken(): Promise<string>;
8
- isAuthenticated(): Promise<boolean>;
9
- signOut(): Promise<void>;
10
- constructor(_okta: OktaConfig);
11
- static ɵfac: i0.ɵɵFactoryDeclaration<OktaAuthentication, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<OktaAuthentication>;
13
- }