@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
@@ -0,0 +1,317 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Inject, HostBinding } from '@angular/core';
3
+ import { forkJoin } from 'rxjs';
4
+ import { tap, map } from 'rxjs/operators';
5
+ import { BIZDOC_CONFIG } from '../../core/configuration';
6
+ import { BizDoc } from '../../core/decorators';
7
+ import { DayMarkersService, Gantt, SelectionService } from '@syncfusion/ej2-angular-gantt';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../core/prompt.service";
10
+ import * as i2 from "../document-view-ref";
11
+ import * as i3 from "../../core/account.service";
12
+ import * as i4 from "../../core/session.service";
13
+ import * as i5 from "../../core/translate.service";
14
+ import * as i6 from "../../core/router";
15
+ const moment = require('moment');
16
+ let TimelineViewComponent = class TimelineViewComponent {
17
+ /** timeline-view ctor */
18
+ constructor(_ps, viewRef, config, _users, _session, _translate, _router, _element) {
19
+ this._ps = _ps;
20
+ this._users = _users;
21
+ this._session = _session;
22
+ this._translate = _translate;
23
+ this._router = _router;
24
+ this._element = _element;
25
+ this.dir = this._session.direction;
26
+ this.locale = this._session.language;
27
+ this.selectionSettings = {};
28
+ this.taskFields = {
29
+ id: 'id',
30
+ name: 'title',
31
+ startDate: 'time',
32
+ endDate: 'ending',
33
+ duration: 'duration',
34
+ dependency: 'dependencies',
35
+ child: 'subtasks'
36
+ };
37
+ this.tooltipSettings = { showTooltip: false };
38
+ this.timelineSettings = {
39
+ timelineUnitSize: 60,
40
+ topTier: {
41
+ format: 'MMM dd, yyyy',
42
+ unit: 'Day',
43
+ },
44
+ bottomTier: {
45
+ unit: 'Hour',
46
+ format: 'h.mm a'
47
+ }
48
+ };
49
+ this.eventMarkers = [];
50
+ this.labelSettings = {
51
+ rightLabel: 'name', leftLabel: 'title'
52
+ };
53
+ this.splitterSettings = {
54
+ columnIndex: 3,
55
+ view: 'Chart',
56
+ separatorSize: 0
57
+ };
58
+ this.dayWorkingTime = [{ from: 0, to: 24 }];
59
+ this.columns = [
60
+ { field: 'title', headerText: _translate.get('Task') },
61
+ { field: 'name', headerText: _translate.get('Who') },
62
+ { field: 'time', headerText: _translate.get('When') }
63
+ ];
64
+ this.dateFormat = config && config.formats && config.formats.dateTime || 'MMMM d, yyyy hh:mm';
65
+ this.holidays = _session.profile.holidays &&
66
+ _session.profile.holidays.map(h => ({ from: h.startDate, to: h.fromDate, label: h.title }));
67
+ viewRef.resize.subscribe(d => {
68
+ this.width = d.width;
69
+ if (this.gantt) {
70
+ this.gantt.width = d.width;
71
+ this.gantt.windowResize();
72
+ }
73
+ });
74
+ }
75
+ onBind(model) {
76
+ this.item = model;
77
+ this._prepare(model).subscribe(tasks => {
78
+ this._draw(tasks);
79
+ //this.gantt.scrollToDate(new Date().toString());
80
+ });
81
+ }
82
+ _draw(tasks) {
83
+ this.gantt && this.gantt.destroy();
84
+ this.gantt = new Gantt({
85
+ dataSource: tasks,
86
+ taskFields: this.taskFields,
87
+ columns: this.columns,
88
+ // timelineSettings: this.timelineSettings,
89
+ labelSettings: this.labelSettings,
90
+ eventMarkers: this.eventMarkers,
91
+ readOnly: true,
92
+ selectionSettings: this.selectionSettings,
93
+ allowSelection: true,
94
+ dateFormat: this.dateFormat,
95
+ tooltipSettings: this.tooltipSettings,
96
+ rowSelecting: this.rowSelecting.bind(this),
97
+ holidays: this.holidays,
98
+ // includeWeekend: true,
99
+ splitterSettings: this.splitterSettings,
100
+ // durationUnit: 'Hour',
101
+ taskbarHeight: 30,
102
+ rowHeight: 40,
103
+ width: this.width
104
+ // dayWorkingTime: this.dayWorkingTime
105
+ }, this._element.nativeElement);
106
+ this.columns.forEach(c => this.gantt.hideColumn(c.field));
107
+ }
108
+ _prepare(model) {
109
+ const promisses = [];
110
+ let i = 0;
111
+ const tasks = [];
112
+ const chain = (c) => {
113
+ c.parent && chain(c.parent);
114
+ };
115
+ model.parent && chain(model.parent);
116
+ model.children.forEach(c => {
117
+ });
118
+ model.log.forEach(l => {
119
+ let task;
120
+ switch (l.type) {
121
+ case 'Submit':
122
+ this.eventMarkers.push({
123
+ day: moment(l.time),
124
+ label: this._translate.get('Submition')
125
+ });
126
+ return;
127
+ case 'StateChange':
128
+ {
129
+ const state = this._session.profile.states.find(s => s.name === l.state);
130
+ task = {
131
+ id: i++,
132
+ type: l.type,
133
+ nodeId: l.nodeId,
134
+ time: moment(l.time).toDate(),
135
+ title: state ? state.past || state.title : l.state
136
+ };
137
+ if (l.duration) {
138
+ task.ending = new Date(task.time.valueOf() + l.duration * 1000);
139
+ task.duration = l.duration * 1000;
140
+ }
141
+ else
142
+ task.ending = model.completed ? moment(l.time).toDate() : new Date();
143
+ tasks.push(task);
144
+ break;
145
+ }
146
+ case 'ModelChange':
147
+ {
148
+ task = {
149
+ id: i++,
150
+ type: l.type,
151
+ nodeId: l.nodeId,
152
+ time: moment(l.time).toDate(),
153
+ title: this._translate.get('Edited')
154
+ };
155
+ if (l.duration) {
156
+ task.ending = new Date(task.time.valueOf() + l.duration * 1000);
157
+ task.duration = l.duration * 1000;
158
+ }
159
+ else
160
+ task.ending = moment().toDate();
161
+ const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
162
+ if (state) {
163
+ if (!state.subtasks)
164
+ state.subtasks = [];
165
+ state.subtasks.push(task);
166
+ }
167
+ else
168
+ tasks.push(task);
169
+ break;
170
+ }
171
+ case 'ActionTaken':
172
+ {
173
+ const action = this._session.profile.actions.find(a => a.name === l.action);
174
+ if (l.action === 'delete')
175
+ return;
176
+ const time = moment(l.time);
177
+ task = {
178
+ id: i++,
179
+ type: l.type,
180
+ nodeId: l.nodeId,
181
+ ending: time.toDate(),
182
+ time: time.add(-l.duration, 's').toDate(),
183
+ duration: l.duration * 1000,
184
+ title: action ? action.past || action.title : l.action
185
+ };
186
+ if (l.nodeId) {
187
+ model.workflow.connectors.filter(c => c.targetId === l.nodeId).forEach(c => {
188
+ const dependencies = tasks.filter(l => l.nodeId === c.sourceId).map(l => `FS${l.id}`);
189
+ if (dependencies.length)
190
+ task.dependencies = dependencies.join(',');
191
+ });
192
+ }
193
+ const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.ending));
194
+ if (state) {
195
+ if (!state.subtasks)
196
+ state.subtasks = [];
197
+ state.subtasks.push(task);
198
+ }
199
+ else
200
+ tasks.push(task);
201
+ break;
202
+ }
203
+ default:
204
+ return;
205
+ }
206
+ if (l.byId) {
207
+ const who = this._users.get(l.userId), by = this._users.get(l.byId);
208
+ const promise = forkJoin(who, by).pipe(tap(ns => {
209
+ const [who, by] = ns;
210
+ task.name = this._translate.get('By', who.name, by.name);
211
+ // if (l.role) {
212
+ // const role = this.session.profile.roles.find(o => o.name === l.role);
213
+ // if (role) task.name += `, ${role.name}`;
214
+ // }
215
+ }, () => this._ps.error()));
216
+ promisses.push(promise);
217
+ }
218
+ else if (l.userId) {
219
+ const promise = this._users.get(l.userId).pipe(tap(u => {
220
+ task.name = u.name;
221
+ // if (l.role) {
222
+ // const role = this.session.profile.roles.find(o => o.name === l.role);
223
+ // if (role) task.name += `, ${role.name}`;
224
+ // }
225
+ }, () => this._ps.error()));
226
+ promisses.push(promise);
227
+ }
228
+ });
229
+ model.events.forEach(e => {
230
+ this.eventMarkers.push({
231
+ day: moment(e.starting),
232
+ label: e.title
233
+ });
234
+ });
235
+ model.recipients.forEach(r => {
236
+ if (!r.pending)
237
+ return;
238
+ const task = {
239
+ id: i++,
240
+ type: 'pending',
241
+ time: moment(r.received).toDate(),
242
+ title: this._translate.get('IsPending')
243
+ };
244
+ if (r.substitutingId) {
245
+ const byPromise = this._users.get(r.substitutingId);
246
+ const whoPromise = this._users.get(r.userId);
247
+ const promise = forkJoin(whoPromise, byPromise).pipe(tap(n => {
248
+ task.name = this._translate.get('WhoSubstituting', n[0].name, n[1].name);
249
+ if (r.role) {
250
+ const role = this._session.profile.roles.find(o => o.name === r.role);
251
+ if (role)
252
+ task.name += `, ${role.name}`;
253
+ }
254
+ }, () => this._ps.error()));
255
+ promisses.push(promise);
256
+ }
257
+ else {
258
+ const promise = this._users.get(r.userId).pipe(tap(u => {
259
+ task.name = u.name;
260
+ if (r.role) {
261
+ const role = this._session.profile.roles.find(o => o.name === r.role);
262
+ if (role)
263
+ task.name += `, ${role.name}`;
264
+ }
265
+ }, () => this._ps.error()));
266
+ promisses.push(promise);
267
+ }
268
+ if (r.nodeId) {
269
+ model.workflow.connectors.filter(c => c.targetId === r.nodeId).forEach(c => {
270
+ const predecessors = tasks.filter(l => l.nodeId === c.sourceId).map(l => l.id);
271
+ if (predecessors.length)
272
+ task.dependencies = predecessors.join(',');
273
+ });
274
+ }
275
+ const state = tasks.find(t => t.type === 'StateChange' && t.time <= task.time && (!t.ending || t.ending >= task.time));
276
+ if (state) {
277
+ if (!state.subtasks)
278
+ state.subtasks = [];
279
+ state.subtasks.push(task);
280
+ }
281
+ else
282
+ tasks.push(task);
283
+ });
284
+ return forkJoin(promisses).
285
+ pipe(map(() => tasks.sort((t0, t1) => t0.time > t1.time ? 1 : -1)));
286
+ }
287
+ rowSelecting(r) {
288
+ if (r.data.taskData.type === 'ModelChange')
289
+ this._compare(r.data);
290
+ }
291
+ _compare(task) {
292
+ this._router.navigate(['mailbox/d', this.item.documentId.encodeId(), 'version', task.time.valueOf().encodeId()], { state: { item: this.item } });
293
+ }
294
+ };
295
+ TimelineViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1.PromptService }, { token: i2.DocumentViewRef }, { token: BIZDOC_CONFIG }, { token: i3.AccountService }, { token: i4.SessionService }, { token: i5.TranslateService }, { token: i6.RouterImpl }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
296
+ TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TimelineViewComponent, selector: "bizdoc-timeline", host: { properties: { "dir": "this.dir" }, classAttribute: "view" }, providers: [SelectionService, DayMarkersService], ngImport: i0, template: '', isInline: true, styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] });
297
+ TimelineViewComponent = __decorate([
298
+ BizDoc({ selector: 'bizdoc-timeline' })
299
+ /** timeline-view component*/
300
+ ], TimelineViewComponent);
301
+ export { TimelineViewComponent };
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TimelineViewComponent, decorators: [{
303
+ type: Component,
304
+ args: [{
305
+ selector: 'bizdoc-timeline',
306
+ template: '',
307
+ styleUrls: ['timeline.component.scss'],
308
+ host: { class: 'view' },
309
+ providers: [SelectionService, DayMarkersService]
310
+ }]
311
+ }], ctorParameters: function () { return [{ type: i1.PromptService }, { type: i2.DocumentViewRef }, { type: undefined, decorators: [{
312
+ type: Inject,
313
+ args: [BIZDOC_CONFIG]
314
+ }] }, { type: i3.AccountService }, { type: i4.SessionService }, { type: i5.TranslateService }, { type: i6.RouterImpl }, { type: i0.ElementRef }]; }, propDecorators: { dir: [{
315
+ type: HostBinding
316
+ }] } });
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LmV4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9ELE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsaUJBQWlCLEVBQXlDLEtBQUssRUFBb0MsZ0JBQWdCLEVBQXlGLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7O0FBSXhRLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQVdwQixxQkFBcUIsU0FBckIscUJBQXFCO0lBV2hDLHlCQUF5QjtJQUN6QixZQUNVLEdBQWtCLEVBQzFCLE9BQWlDLEVBQ1YsTUFBb0IsRUFDbkMsTUFBc0IsRUFDdEIsUUFBd0IsRUFDeEIsVUFBNEIsRUFDNUIsT0FBbUIsRUFDbkIsUUFBb0I7UUFQcEIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUdsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVk7UUFqQnJCLFFBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUM5QixX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LENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2xKLENBQUM7Q0FrQ0YsQ0FBQTtrSEFoU1kscUJBQXFCLDhFQWV0QixhQUFhO3NHQWZaLHFCQUFxQiwrR0FKckIsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQywwQkFIdEMsRUFBRTtBQU9ELHFCQUFxQjtJQUZqQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUN4Qyw2QkFBNkI7R0FDaEIscUJBQXFCLENBZ1NqQztTQWhTWSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFUakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtvQkFDdkIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUM7aUJBQ2pEOzswQkFrQkksTUFBTTsyQkFBQyxhQUFhO3VMQVpkLEdBQUc7c0JBRFgsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQ2hhaW4sIERvY3VtZW50TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IENvbHVtbk1vZGVsLCBEYXlNYXJrZXJzU2VydmljZSwgRGF5V29ya2luZ1RpbWVNb2RlbCwgRXZlbnRNYXJrZXJNb2RlbCwgR2FudHQsIEhvbGlkYXlNb2RlbCwgTGFiZWxTZXR0aW5nc01vZGVsLCBTZWxlY3Rpb25TZXJ2aWNlLCBTZWxlY3Rpb25TZXR0aW5nc01vZGVsLCBTcGxpdHRlclNldHRpbmdzTW9kZWwsIFRhc2tGaWVsZHNNb2RlbCwgVGltZWxpbmVTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZ2FudHQnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi8uLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld1JlZiB9IGZyb20gJy4uL2RvY3VtZW50LXZpZXctcmVmJztcclxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy10aW1lbGluZScsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHN0eWxlVXJsczogWyd0aW1lbGluZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICd2aWV3JyB9LFxyXG4gIHByb3ZpZGVyczogW1NlbGVjdGlvblNlcnZpY2UsIERheU1hcmtlcnNTZXJ2aWNlXVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdiaXpkb2MtdGltZWxpbmUnIH0pXHJcbi8qKiB0aW1lbGluZS12aWV3IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBEb2N1bWVudFZpZXdDb21wb25lbnQge1xyXG4gIGRhdGE6IFRhc2tbXTtcclxuICBASG9zdEJpbmRpbmcoKVxyXG4gIHJlYWRvbmx5IGRpciA9IHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uO1xyXG4gIHJlYWRvbmx5IGxvY2FsZSA9IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2U7XHJcbiAgaXRlbTogRG9jdW1lbnRNb2RlbDxhbnk+O1xyXG4gIGdhbnR0OiBHYW50dDtcclxuICBkYXRlRm9ybWF0OiBzdHJpbmc7XHJcbiAgaG9saWRheXM6IEhvbGlkYXlNb2RlbFtdO1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU2V0dGluZ3MgPSB7fSBhcyBTZWxlY3Rpb25TZXR0aW5nc01vZGVsO1xyXG4gIC8qKiB0aW1lbGluZS12aWV3IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgdmlld1JlZjogRG9jdW1lbnRWaWV3UmVmPE9wdGlvbnM+LFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX3VzZXJzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gW1xyXG4gICAgICB7IGZpZWxkOiAndGl0bGUnLCBoZWFkZXJUZXh0OiBfdHJhbnNsYXRlLmdldCgnVGFzaycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICduYW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1dobycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICd0aW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1doZW4nKSB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gY29uZmlnICYmIGNvbmZpZy5mb3JtYXRzICYmIGNvbmZpZy5mb3JtYXRzLmRhdGVUaW1lIHx8ICdNTU1NIGQsIHl5eXkgaGg6bW0nO1xyXG4gICAgdGhpcy5ob2xpZGF5cyA9IF9zZXNzaW9uLnByb2ZpbGUuaG9saWRheXMgJiZcclxuICAgICAgX3Nlc3Npb24ucHJvZmlsZS5ob2xpZGF5cy5tYXAoaCA9PiAoeyBmcm9tOiBoLnN0YXJ0RGF0ZSwgdG86IGguZnJvbURhdGUsIGxhYmVsOiBoLnRpdGxlIH0pKVxyXG4gICAgdmlld1JlZi5yZXNpemUuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLndpZHRoID0gZC53aWR0aDtcclxuICAgICAgaWYgKHRoaXMuZ2FudHQpIHtcclxuICAgICAgICB0aGlzLmdhbnR0LndpZHRoID0gZC53aWR0aDtcclxuICAgICAgICB0aGlzLmdhbnR0LndpbmRvd1Jlc2l6ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb25CaW5kKG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT4pIHtcclxuICAgIHRoaXMuaXRlbSA9IG1vZGVsO1xyXG4gICAgdGhpcy5fcHJlcGFyZShtb2RlbCkuc3Vic2NyaWJlKHRhc2tzID0+IHtcclxuICAgICAgdGhpcy5fZHJhdyh0YXNrcyk7XHJcbiAgICAgIC8vdGhpcy5nYW50dC5zY3JvbGxUb0RhdGUobmV3IERhdGUoKS50b1N0cmluZygpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KHRhc2tzOiBUYXNrW10pIHtcclxuICAgIHRoaXMuZ2FudHQgJiYgdGhpcy5nYW50dC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLmdhbnR0ID0gbmV3IEdhbnR0KHtcclxuICAgICAgZGF0YVNvdXJjZTogdGFza3MsXHJcbiAgICAgIHRhc2tGaWVsZHM6IHRoaXMudGFza0ZpZWxkcyxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAvLyAgdGltZWxpbmVTZXR0aW5nczogdGhpcy50aW1lbGluZVNldHRpbmdzLFxyXG4gICAgICBsYWJlbFNldHRpbmdzOiB0aGlzLmxhYmVsU2V0dGluZ3MsXHJcbiAgICAgIGV2ZW50TWFya2VyczogdGhpcy5ldmVudE1hcmtlcnMsXHJcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIGRhdGVGb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgdG9vbHRpcFNldHRpbmdzOiB0aGlzLnRvb2x0aXBTZXR0aW5ncyxcclxuICAgICAgcm93U2VsZWN0aW5nOiB0aGlzLnJvd1NlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBob2xpZGF5czogdGhpcy5ob2xpZGF5cyxcclxuICAgICAgLy8gIGluY2x1ZGVXZWVrZW5kOiB0cnVlLFxyXG4gICAgICBzcGxpdHRlclNldHRpbmdzOiB0aGlzLnNwbGl0dGVyU2V0dGluZ3MsXHJcbiAgICAgIC8vICBkdXJhdGlvblVuaXQ6ICdIb3VyJyxcclxuICAgICAgdGFza2JhckhlaWdodDogMzAsXHJcbiAgICAgIHJvd0hlaWdodDogNDAsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoXHJcbiAgICAgIC8vICBkYXlXb3JraW5nVGltZTogdGhpcy5kYXlXb3JraW5nVGltZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KVxyXG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PlxyXG4gICAgICB0aGlzLmdhbnR0LmhpZGVDb2x1bW4oYy5maWVsZClcclxuICAgIClcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZShtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+KTogT2JzZXJ2YWJsZTxUYXNrW10+IHtcclxuICAgIGNvbnN0IHByb21pc3NlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIGxldCBpID0gMDtcclxuICAgIGNvbnN0IHRhc2tzOiBUYXNrW10gPSBbXTtcclxuXHJcbiAgICBjb25zdCBjaGFpbiA9IChjOiBDaGFpbikgPT4ge1xyXG5cclxuICAgICAgYy5wYXJlbnQgJiYgY2hhaW4oYy5wYXJlbnQpO1xyXG4gICAgfTtcclxuICAgIG1vZGVsLnBhcmVudCAmJiBjaGFpbihtb2RlbC5wYXJlbnQpO1xyXG4gICAgbW9kZWwuY2hpbGRyZW4uZm9yRWFjaChjID0+IHtcclxuICAgIH0pO1xyXG4gICAgbW9kZWwubG9nLmZvckVhY2gobCA9PiB7XHJcbiAgICAgIGxldCB0YXNrOiBUYXNrO1xyXG4gICAgICBzd2l0Y2ggKGwudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ1N1Ym1pdCc6XHJcbiAgICAgICAgICB0aGlzLmV2ZW50TWFya2Vycy5wdXNoKHtcclxuICAgICAgICAgICAgZGF5OiBtb21lbnQobC50aW1lKSxcclxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N1Ym1pdGlvbicpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlICdTdGF0ZUNoYW5nZSc6XHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnN0YXRlcy5maW5kKHMgPT4gcy5uYW1lID09PSBsLnN0YXRlKTtcclxuICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgIHRpbWU6IG1vbWVudChsLnRpbWUpLnRvRGF0ZSgpLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiBzdGF0ZSA/IHN0YXRlLnBhc3QgfHwgc3RhdGUudGl0bGUgOiBsLnN0YXRlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmIChsLmR1cmF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgdGFzay5lbmRpbmcgPSBuZXcgRGF0ZSh0YXNrLnRpbWUudmFsdWVPZigpICsgbC5kdXJhdGlvbiAqIDEwMDApO1xyXG4gICAgICAgICAgICAgIHRhc2suZHVyYXRpb24gPSBsLmR1cmF0aW9uICogMTAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGFzay5lbmRpbmcgPSBtb2RlbC5jb21wbGV0ZWQgPyBtb21lbnQobC50aW1lKS50b0RhdGUoKSA6IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ01vZGVsQ2hhbmdlJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgIHRpbWU6IG1vbWVudChsLnRpbWUpLnRvRGF0ZSgpLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFZGl0ZWQnKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAobC5kdXJhdGlvbikge1xyXG4gICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbmV3IERhdGUodGFzay50aW1lLnZhbHVlT2YoKSArIGwuZHVyYXRpb24gKiAxMDAwKTtcclxuICAgICAgICAgICAgICB0YXNrLmR1cmF0aW9uID0gbC5kdXJhdGlvbiAqIDEwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB0YXNrLmVuZGluZyA9IG1vbWVudCgpLnRvRGF0ZSgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0YXNrcy5maW5kKHQgPT4gdC50eXBlID09PSAnU3RhdGVDaGFuZ2UnICYmIHQudGltZSA8PSB0YXNrLnRpbWUgJiYgKCF0LmVuZGluZyB8fCB0LmVuZGluZyA+PSB0YXNrLmVuZGluZykpO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ0FjdGlvblRha2VuJzpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbC5hY3Rpb24pO1xyXG4gICAgICAgICAgICBpZiAobC5hY3Rpb24gPT09ICdkZWxldGUnKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBtb21lbnQobC50aW1lKTtcclxuICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgIGVuZGluZzogdGltZS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICB0aW1lOiB0aW1lLmFkZCgtIGwuZHVyYXRpb24sICdzJykudG9EYXRlKCksXHJcbiAgICAgICAgICAgICAgZHVyYXRpb246IGwuZHVyYXRpb24gKiAxMDAwLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiBhY3Rpb24gPyBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUgOiBsLmFjdGlvblxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAobC5ub2RlSWQpIHtcclxuICAgICAgICAgICAgICBtb2RlbC53b3JrZmxvdy5jb25uZWN0b3JzLmZpbHRlcihjID0+IGMudGFyZ2V0SWQgPT09IGwubm9kZUlkKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGVwZW5kZW5jaWVzID0gdGFza3MuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGMuc291cmNlSWQpLm1hcChsID0+IGBGUyR7bC5pZH1gKTtcclxuICAgICAgICAgICAgICAgIGlmIChkZXBlbmRlbmNpZXMubGVuZ3RoKSB0YXNrLmRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcy5qb2luKCcsJyk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0YXNrcy5maW5kKHQgPT4gdC50eXBlID09PSAnU3RhdGVDaGFuZ2UnICYmIHQudGltZSA8PSB0YXNrLnRpbWUgJiYgKCF0LmVuZGluZyB8fCB0LmVuZGluZyA+PSB0YXNrLmVuZGluZykpO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGwuYnlJZCkge1xyXG4gICAgICAgIGNvbnN0IHdobyA9IHRoaXMuX3VzZXJzLmdldChsLnVzZXJJZCksXHJcbiAgICAgICAgICBieSA9IHRoaXMuX3VzZXJzLmdldChsLmJ5SWQpO1xyXG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBmb3JrSm9pbih3aG8sIGJ5KS5waXBlKHRhcChucyA9PiB7XHJcbiAgICAgICAgICBjb25zdCBbd2hvLCBieV0gPSBucztcclxuICAgICAgICAgIHRhc2submFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5Jywgd2hvLm5hbWUsIGJ5Lm5hbWUpO1xyXG4gICAgICAgICAgLy8gICAgaWYgKGwucm9sZSkge1xyXG4gICAgICAgICAgLy8gICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLnNlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSBsLnJvbGUpO1xyXG4gICAgICAgICAgLy8gICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICB9LCAoKSA9PiB0aGlzLl9wcy5lcnJvcigpKSk7XHJcblxyXG4gICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGwudXNlcklkKSB7XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChsLnVzZXJJZCkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICB0YXNrLm5hbWUgPSB1Lm5hbWU7XHJcbiAgICAgICAgICAvLyAgICBpZiAobC5yb2xlKSB7XHJcbiAgICAgICAgICAvLyAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuc2Vzc2lvbi5wcm9maWxlLnJvbGVzLmZpbmQobyA9PiBvLm5hbWUgPT09IGwucm9sZSk7XHJcbiAgICAgICAgICAvLyAgICAgICAgaWYgKHJvbGUpIHRhc2submFtZSArPSBgLCAke3JvbGUubmFtZX1gO1xyXG4gICAgICAgICAgLy8gICAgfVxyXG4gICAgICAgIH0sICgpID0+IHRoaXMuX3BzLmVycm9yKCkpKTtcclxuICAgICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBtb2RlbC5ldmVudHMuZm9yRWFjaChlID0+IHtcclxuICAgICAgdGhpcy5ldmVudE1hcmtlcnMucHVzaCh7XHJcbiAgICAgICAgZGF5OiBtb21lbnQoZS5zdGFydGluZyksXHJcbiAgICAgICAgbGFiZWw6IGUudGl0bGVcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIG1vZGVsLnJlY2lwaWVudHMuZm9yRWFjaChyID0+IHtcclxuICAgICAgaWYgKCFyLnBlbmRpbmcpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0ge1xyXG4gICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgdHlwZTogJ3BlbmRpbmcnLFxyXG4gICAgICAgIHRpbWU6IG1vbWVudChyLnJlY2VpdmVkKS50b0RhdGUoKSxcclxuICAgICAgICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnSXNQZW5kaW5nJylcclxuICAgICAgfTtcclxuICAgICAgaWYgKHIuc3Vic3RpdHV0aW5nSWQpIHtcclxuICAgICAgICBjb25zdCBieVByb21pc2UgPSB0aGlzLl91c2Vycy5nZXQoci5zdWJzdGl0dXRpbmdJZCk7XHJcbiAgICAgICAgY29uc3Qgd2hvUHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChyLnVzZXJJZCk7XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IGZvcmtKb2luKHdob1Byb21pc2UsIGJ5UHJvbWlzZSkucGlwZSh0YXAobiA9PiB7XHJcbiAgICAgICAgICB0YXNrLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdXaG9TdWJzdGl0dXRpbmcnLCBuWzBdLm5hbWUsIG5bMV0ubmFtZSk7XHJcbiAgICAgICAgICBpZiAoci5yb2xlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gci5yb2xlKTtcclxuICAgICAgICAgICAgaWYgKHJvbGUpIHRhc2submFtZSArPSBgLCAke3JvbGUubmFtZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sICgpID0+IHRoaXMuX3BzLmVycm9yKCkpKTtcclxuXHJcbiAgICAgICAgcHJvbWlzc2VzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChyLnVzZXJJZCkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICB0YXNrLm5hbWUgPSB1Lm5hbWU7XHJcbiAgICAgICAgICBpZiAoci5yb2xlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gci5yb2xlKTtcclxuICAgICAgICAgICAgaWYgKHJvbGUpIHRhc2submFtZSArPSBgLCAke3JvbGUubmFtZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sICgpID0+IHRoaXMuX3BzLmVycm9yKCkpKTtcclxuICAgICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoci5ub2RlSWQpIHtcclxuICAgICAgICBtb2RlbC53b3JrZmxvdy5jb25uZWN0b3JzLmZpbHRlcihjID0+IGMudGFyZ2V0SWQgPT09IHIubm9kZUlkKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcHJlZGVjZXNzb3JzID0gdGFza3MuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGMuc291cmNlSWQpLm1hcChsID0+IGwuaWQpO1xyXG4gICAgICAgICAgaWYgKHByZWRlY2Vzc29ycy5sZW5ndGgpIHRhc2suZGVwZW5kZW5jaWVzID0gcHJlZGVjZXNzb3JzLmpvaW4oJywnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBzdGF0ZSA9IHRhc2tzLmZpbmQodCA9PiB0LnR5cGUgPT09ICdTdGF0ZUNoYW5nZScgJiYgdC50aW1lIDw9IHRhc2sudGltZSAmJiAoIXQuZW5kaW5nIHx8IHQuZW5kaW5nID49IHRhc2sudGltZSkpO1xyXG4gICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICBpZiAoIXN0YXRlLnN1YnRhc2tzKSBzdGF0ZS5zdWJ0YXNrcyA9IFtdO1xyXG4gICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JrSm9pbihwcm9taXNzZXMpLlxyXG4gICAgICBwaXBlKG1hcCgoKSA9PiB0YXNrcy5zb3J0KCh0MCwgdDEpID0+IHQwLnRpbWUgPiB0MS50aW1lID8gMSA6IC0xKSkpO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpbmcocikge1xyXG4gICAgaWYgKHIuZGF0YS50YXNrRGF0YS50eXBlID09PSAnTW9kZWxDaGFuZ2UnKVxyXG4gICAgICB0aGlzLl9jb21wYXJlKHIuZGF0YSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBfY29tcGFyZSh0YXNrOiBUYXNrKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2QnLCB0aGlzLml0ZW0uZG9jdW1lbnRJZC5lbmNvZGVJZCgpLCAndmVyc2lvbicsIHRhc2sudGltZS52YWx1ZU9mKCkuZW5jb2RlSWQoKV0sIHsgc3RhdGU6IHsgaXRlbTogdGhpcy5pdGVtIH0gfSlcclxuICB9XHJcbiAgcmVhZG9ubHkgdGFza0ZpZWxkczogVGFza0ZpZWxkc01vZGVsID0ge1xyXG4gICAgaWQ6ICdpZCcsXHJcbiAgICBuYW1lOiAndGl0bGUnLFxyXG4gICAgc3RhcnREYXRlOiAndGltZScsXHJcbiAgICBlbmREYXRlOiAnZW5kaW5nJyxcclxuICAgIGR1cmF0aW9uOiAnZHVyYXRpb24nLFxyXG4gICAgZGVwZW5kZW5jeTogJ2RlcGVuZGVuY2llcycsXHJcbiAgICBjaGlsZDogJ3N1YnRhc2tzJ1xyXG4gIH07XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICByZWFkb25seSB0b29sdGlwU2V0dGluZ3MgPSB7IHNob3dUb29sdGlwOiBmYWxzZSB9O1xyXG4gIHJlYWRvbmx5IHRpbWVsaW5lU2V0dGluZ3M6IFRpbWVsaW5lU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHRpbWVsaW5lVW5pdFNpemU6IDYwLFxyXG4gICAgdG9wVGllcjoge1xyXG4gICAgICBmb3JtYXQ6ICdNTU0gZGQsIHl5eXknLFxyXG4gICAgICB1bml0OiAnRGF5JyxcclxuICAgIH0sXHJcbiAgICBib3R0b21UaWVyOiB7XHJcbiAgICAgIHVuaXQ6ICdIb3VyJyxcclxuICAgICAgZm9ybWF0OiAnaC5tbSBhJ1xyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgZXZlbnRNYXJrZXJzOiBFdmVudE1hcmtlck1vZGVsW10gPSBbXHJcbiAgXTtcclxuICBwdWJsaWMgbGFiZWxTZXR0aW5nczogTGFiZWxTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgcmlnaHRMYWJlbDogJ25hbWUnLCBsZWZ0TGFiZWw6ICd0aXRsZSdcclxuICB9O1xyXG4gIHB1YmxpYyBzcGxpdHRlclNldHRpbmdzOiBTcGxpdHRlclNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICBjb2x1bW5JbmRleDogMyxcclxuICAgIHZpZXc6ICdDaGFydCcsXHJcbiAgICBzZXBhcmF0b3JTaXplOiAwXHJcbiAgfTtcclxuICBwdWJsaWMgZGF5V29ya2luZ1RpbWU6IERheVdvcmtpbmdUaW1lTW9kZWxbXSA9IFt7IGZyb206IDAsIHRvOiAyNCB9XTtcclxufVxyXG5pbnRlcmZhY2UgVGFzayB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBlbmRpbmc/OiBEYXRlO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIHN1YnRhc2tzPzogVGFza1tdO1xyXG4gIGRlcGVuZGVuY2llcz86IHN0cmluZztcclxuICBkZXBlbmRlbmN5Pzogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuXHJcbn1cclxuIl19
@@ -1,12 +1,14 @@
1
- import { Component, HostListener, Injector, Input } from "@angular/core";
1
+ import { Component, HostListener, Injector, Input, Optional } from "@angular/core";
2
2
  import { takeUntil } from "rxjs";
3
3
  import { Subject } from "rxjs";
4
4
  import { debounceTime } from "rxjs/operators";
5
5
  import { DocumentViewRef } from "./document-view-ref";
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../core/component-factory-resolver";
7
+ import * as i1 from "../core/slots/pane-ref";
8
+ import * as i2 from "../core/component-factory-resolver";
8
9
  export class ViewItemComponent {
9
- constructor(_vc, _injector, _cf) {
10
+ constructor(_pane, _vc, _injector, _cf) {
11
+ this._pane = _pane;
10
12
  this._vc = _vc;
11
13
  this._injector = _injector;
12
14
  this._cf = _cf;
@@ -18,7 +20,7 @@ export class ViewItemComponent {
18
20
  }
19
21
  ngAfterViewInit() {
20
22
  const factory = this._cf.resolve(this.view.template);
21
- this._viewRef = new DocumentViewRef(this.model, this.view, this._dim());
23
+ this._viewRef = new DocumentViewRef(this.model, this.view, this._dim(), !this._pane || !this._pane.tab);
22
24
  const injector = Injector.create([{ provide: DocumentViewRef, useValue: this._viewRef }], this._injector);
23
25
  this._instance = this._vc.createComponent(factory, null, injector).instance;
24
26
  this._instance.onBind(this.model);
@@ -37,7 +39,7 @@ export class ViewItemComponent {
37
39
  this._destroy.complete();
38
40
  }
39
41
  }
40
- ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ViewItemComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
42
+ ViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ViewItemComponent, deps: [{ token: i1.PaneRef, optional: true }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
41
43
  ViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: { model: "model", view: "view" }, host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: '', isInline: true });
42
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ViewItemComponent, decorators: [{
43
45
  type: Component,
@@ -45,7 +47,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
45
47
  selector: 'bizdoc-document-view-item',
46
48
  template: ''
47
49
  }]
48
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i1.BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
50
+ }], ctorParameters: function () { return [{ type: i1.PaneRef, decorators: [{
51
+ type: Optional
52
+ }] }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i2.BizDocComponentFactoryResolver }]; }, propDecorators: { model: [{
49
53
  type: Input
50
54
  }], view: [{
51
55
  type: Input
@@ -53,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
53
57
  type: HostListener,
54
58
  args: ['window:resize']
55
59
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3Mvdmlldy1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDN0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU05QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU10RCxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQ1UsR0FBcUIsRUFDckIsU0FBbUIsRUFDbkIsR0FBbUM7UUFGbkMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFnQztRQUw1QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUtoRCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQXNDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxDQUFDO0lBQ08sSUFBSTtRQUNWLE9BQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBZ0MsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNsRyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs4R0F0Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsaUtBRmxCLEVBQUU7MkZBRUQsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxFQUFFO2lCQUNiOzJLQUdDLEtBQUs7c0JBREosS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBNEJOLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tIFwiLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlclwiO1xyXG5pbXBvcnQgeyBxdWVyeVBhcmFtcyB9IGZyb20gXCIuLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBEb2N1bWVudE1vZGVsLCBWaWV3IH0gZnJvbSBcIi4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEb2N1bWVudFZpZXdSZWYgfSBmcm9tIFwiLi9kb2N1bWVudC12aWV3LXJlZlwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZG9jdW1lbnQtdmlldy1pdGVtJyxcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZXdJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgbW9kZWw6IERvY3VtZW50TW9kZWw7XHJcbiAgQElucHV0KClcclxuICB2aWV3OiBWaWV3O1xyXG4gIGFyZ3M6IGFueTtcclxuICBwcml2YXRlIF92aWV3UmVmOiBEb2N1bWVudFZpZXdSZWY8dW5rbm93bj47XHJcbiAgcHJpdmF0ZSBfaW5zdGFuY2U6IERvY3VtZW50Vmlld0NvbXBvbmVudDxhbnksIGFueSwgYW55PjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNpemluZyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2NmOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNpemluZy5waXBlKGRlYm91bmNlVGltZSgxNTApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl92aWV3UmVmLl9yZXNpemUubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2NmLnJlc29sdmUodGhpcy52aWV3LnRlbXBsYXRlKTtcclxuICAgIHRoaXMuX3ZpZXdSZWYgPSBuZXcgRG9jdW1lbnRWaWV3UmVmKHRoaXMubW9kZWwsIHRoaXMudmlldywgdGhpcy5fZGltKCkpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoW3sgcHJvdmlkZTogRG9jdW1lbnRWaWV3UmVmLCB1c2VWYWx1ZTogdGhpcy5fdmlld1JlZiB9XSwgdGhpcy5faW5qZWN0b3IpO1xyXG4gICAgdGhpcy5faW5zdGFuY2UgPSB0aGlzLl92Yy5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgbnVsbCwgaW5qZWN0b3IpLmluc3RhbmNlIGFzIERvY3VtZW50Vmlld0NvbXBvbmVudDxhbnk+O1xyXG4gICAgdGhpcy5faW5zdGFuY2Uub25CaW5kKHRoaXMubW9kZWwpO1xyXG4gICAgaWYodGhpcy5fdmlld1JlZi5oaWRkZW4pIHRoaXMuX3ZjLmNsZWFyKClcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGltKCk6IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXI7IH0ge1xyXG4gICAgcmV0dXJuICh0aGlzLl92Yy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQpLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIHRoaXMuX3Jlc2l6aW5nLm5leHQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl92aWV3UmVmLl9kZXN0cm95KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3Mvdmlldy1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU10RCxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQ3NCLEtBQW9CLEVBQ2hDLEdBQXFCLEVBQ3JCLFNBQW1CLEVBQ25CLEdBQW1DO1FBSHZCLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFnQztRQU41QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU1oRCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQXNDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxDQUFDO0lBQ08sSUFBSTtRQUNWLE9BQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBZ0MsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNsRyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs4R0F2Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsaUtBRmxCLEVBQUU7MkZBRUQsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFZSSxRQUFROytJQVRYLEtBQUs7c0JBREosS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBNkJOLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld0NvbXBvbmVudCB9IGZyb20gXCIuLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSBcIi4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXJcIjtcclxuaW1wb3J0IHsgcXVlcnlQYXJhbXMgfSBmcm9tIFwiLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRNb2RlbCwgVmlldyB9IGZyb20gXCIuLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gXCIuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmXCI7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld1JlZiB9IGZyb20gXCIuL2RvY3VtZW50LXZpZXctcmVmXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1kb2N1bWVudC12aWV3LWl0ZW0nLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBtb2RlbDogRG9jdW1lbnRNb2RlbDtcclxuICBASW5wdXQoKVxyXG4gIHZpZXc6IFZpZXc7XHJcbiAgYXJnczogYW55O1xyXG4gIHByaXZhdGUgX3ZpZXdSZWY6IERvY3VtZW50Vmlld1JlZjx1bmtub3duPjtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogRG9jdW1lbnRWaWV3Q29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6aW5nID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3BhbmUgOiBQYW5lUmVmPGFueT4sXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2NmOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNpemluZy5waXBlKGRlYm91bmNlVGltZSgxNTApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl92aWV3UmVmLl9yZXNpemUubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2NmLnJlc29sdmUodGhpcy52aWV3LnRlbXBsYXRlKTtcclxuICAgIHRoaXMuX3ZpZXdSZWYgPSBuZXcgRG9jdW1lbnRWaWV3UmVmKHRoaXMubW9kZWwsIHRoaXMudmlldywgdGhpcy5fZGltKCksICF0aGlzLl9wYW5lIHx8ICF0aGlzLl9wYW5lLnRhYik7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbeyBwcm92aWRlOiBEb2N1bWVudFZpZXdSZWYsIHVzZVZhbHVlOiB0aGlzLl92aWV3UmVmIH1dLCB0aGlzLl9pbmplY3Rvcik7XHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IHRoaXMuX3ZjLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5LCBudWxsLCBpbmplY3RvcikuaW5zdGFuY2UgYXMgRG9jdW1lbnRWaWV3Q29tcG9uZW50PGFueT47XHJcbiAgICB0aGlzLl9pbnN0YW5jZS5vbkJpbmQodGhpcy5tb2RlbCk7XHJcbiAgICBpZih0aGlzLl92aWV3UmVmLmhpZGRlbikgdGhpcy5fdmMuY2xlYXIoKVxyXG4gIH1cclxuICBwcml2YXRlIF9kaW0oKTogeyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlcjsgfSB7XHJcbiAgICByZXR1cm4gKHRoaXMuX3ZjLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudCkucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcmVzaXplKCkge1xyXG4gICAgdGhpcy5fcmVzaXppbmcubmV4dCgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZpZXdSZWYuX2Rlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,21 +1,20 @@
1
1
  import { Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../core/component-factory-resolver";
4
- import * as i2 from "../core/session.service";
5
- import * as i3 from "./view-item.component";
6
- import * as i4 from "@angular/common";
3
+ import * as i1 from "../core/session.service";
4
+ import * as i2 from "./view-item.component";
5
+ import * as i3 from "@angular/common";
7
6
  export class DocumentViewsComponent {
8
- constructor(_cf, vc, _session) {
9
- this._cf = _cf;
10
- this.vc = vc;
7
+ constructor(_cd, _session) {
8
+ this._cd = _cd;
11
9
  this._session = _session;
12
10
  }
13
11
  ngOnChanges(_) {
14
12
  this.views = this._session.profile.views.filter(v => !v.forms || v.forms.indexOf(this.model.formId) > -1);
13
+ this._cd.detectChanges();
15
14
  }
16
15
  }
17
- DocumentViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DocumentViewsComponent, deps: [{ token: i1.BizDocComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Component });
18
- DocumentViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <hr *ngIf=\"!last\"/>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], components: [{ type: i3.ViewItemComponent, selector: "bizdoc-document-view-item", inputs: ["model", "view"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16
+ DocumentViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DocumentViewsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Component });
17
+ DocumentViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <hr *ngIf=\"!last\"/>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], components: [{ type: i2.ViewItemComponent, selector: "bizdoc-document-view-item", inputs: ["model", "view"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
19
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DocumentViewsComponent, decorators: [{
20
19
  type: Component,
21
20
  args: [{
@@ -23,7 +22,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
23
22
  templateUrl: 'views.component.html',
24
23
  styleUrls: ['views.component.scss']
25
24
  }]
26
- }], ctorParameters: function () { return [{ type: i1.BizDocComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i2.SessionService }]; }, propDecorators: { model: [{
25
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SessionService }]; }, propDecorators: { model: [{
27
26
  type: Input
28
27
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi92aWV3cy92aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3ZpZXdzL3ZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVTNFLE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFDVSxHQUFtQyxFQUNuQyxFQUFvQixFQUNwQixRQUF3QjtRQUZ4QixRQUFHLEdBQUgsR0FBRyxDQUFnQztRQUNuQyxPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtJQUNsQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQWdCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQzs7bUhBWFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsOEdDWG5DLDhMQUlBOzJGRE9hLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7aUxBR0MsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gXCIuLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyXCI7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwsIFZpZXcgfSBmcm9tIFwiLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWRvY3VtZW50LXZpZXdzJyxcclxuICB0ZW1wbGF0ZVVybDogJ3ZpZXdzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsndmlld3MuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRWaWV3c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KClcclxuICBtb2RlbDogRG9jdW1lbnRNb2RlbDtcclxuICB2aWV3czogVmlld1tdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfY2Y6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdzID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnZpZXdzLmZpbHRlcih2ID0+ICF2LmZvcm1zIHx8IHYuZm9ybXMuaW5kZXhPZih0aGlzLm1vZGVsLmZvcm1JZCkgPiAtMSk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCB2IG9mIHZpZXdzOyBsZXQgbGFzdCA9IGxhc3Q7XCI+XHJcbiAgPGJpemRvYy1kb2N1bWVudC12aWV3LWl0ZW0gW21vZGVsXT1cIm1vZGVsXCIgW3ZpZXddPVwidlwiICN2aWV3PjwvYml6ZG9jLWRvY3VtZW50LXZpZXctaXRlbT5cclxuICA8aHIgKm5nSWY9XCIhbGFzdFwiLz5cclxuPC9kaXY+XHJcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi92aWV3cy92aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3ZpZXdzL3ZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTM0UsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLEdBQXNCLEVBQ3RCLFFBQXdCO1FBRHhCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBQ2xDLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O21IQVhVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDhHQ1ZuQyw4TEFJQTsyRkRNYSxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHNCQUFzQjtvQkFDbkMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDO3FJQUdDLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRNb2RlbCwgVmlldyB9IGZyb20gXCIuLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZG9jdW1lbnQtdmlld3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAndmlld3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyd2aWV3cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFZpZXdzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKVxyXG4gIG1vZGVsOiBEb2N1bWVudE1vZGVsO1xyXG4gIHZpZXdzOiBWaWV3W107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdzID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnZpZXdzLmZpbHRlcih2ID0+ICF2LmZvcm1zIHx8IHYuZm9ybXMuaW5kZXhPZih0aGlzLm1vZGVsLmZvcm1JZCkgPiAtMSk7XHJcbiAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCB2IG9mIHZpZXdzOyBsZXQgbGFzdCA9IGxhc3Q7XCI+XHJcbiAgPGJpemRvYy1kb2N1bWVudC12aWV3LWl0ZW0gW21vZGVsXT1cIm1vZGVsXCIgW3ZpZXddPVwidlwiICN2aWV3PjwvYml6ZG9jLWRvY3VtZW50LXZpZXctaXRlbT5cclxuICA8aHIgKm5nSWY9XCIhbGFzdFwiLz5cclxuPC9kaXY+XHJcbiJdfQ==