@bizdoc/core 1.9.12 → 1.10.0-next.10

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 (504) hide show
  1. package/assets/bizdoc-schema.json +7 -1
  2. package/assets/dayjs/locale/af.js +1 -0
  3. package/assets/dayjs/locale/am.js +1 -0
  4. package/assets/dayjs/locale/ar-dz.js +1 -0
  5. package/assets/dayjs/locale/ar-iq.js +1 -0
  6. package/assets/dayjs/locale/ar-kw.js +1 -0
  7. package/assets/dayjs/locale/ar-ly.js +1 -0
  8. package/assets/dayjs/locale/ar-ma.js +1 -0
  9. package/assets/dayjs/locale/ar-sa.js +1 -0
  10. package/assets/dayjs/locale/ar-tn.js +1 -0
  11. package/assets/dayjs/locale/ar.js +1 -0
  12. package/assets/dayjs/locale/az.js +1 -0
  13. package/assets/dayjs/locale/be.js +1 -0
  14. package/assets/dayjs/locale/bg.js +1 -0
  15. package/assets/dayjs/locale/bi.js +1 -0
  16. package/assets/dayjs/locale/bm.js +1 -0
  17. package/assets/dayjs/locale/bn.js +1 -0
  18. package/assets/dayjs/locale/bo.js +1 -0
  19. package/assets/dayjs/locale/br.js +1 -0
  20. package/assets/dayjs/locale/bs.js +1 -0
  21. package/assets/dayjs/locale/ca.js +1 -0
  22. package/assets/dayjs/locale/cs.js +1 -0
  23. package/assets/dayjs/locale/cv.js +1 -0
  24. package/assets/dayjs/locale/cy.js +1 -0
  25. package/assets/dayjs/locale/da.js +1 -0
  26. package/assets/dayjs/locale/de-at.js +1 -0
  27. package/assets/dayjs/locale/de-ch.js +1 -0
  28. package/assets/dayjs/locale/de.js +1 -0
  29. package/assets/dayjs/locale/dv.js +1 -0
  30. package/assets/dayjs/locale/el.js +1 -0
  31. package/assets/dayjs/locale/en-au.js +1 -0
  32. package/assets/dayjs/locale/en-ca.js +1 -0
  33. package/assets/dayjs/locale/en-gb.js +1 -0
  34. package/assets/dayjs/locale/en-ie.js +1 -0
  35. package/assets/dayjs/locale/en-il.js +1 -0
  36. package/assets/dayjs/locale/en-in.js +1 -0
  37. package/assets/dayjs/locale/en-nz.js +1 -0
  38. package/assets/dayjs/locale/en-sg.js +1 -0
  39. package/assets/dayjs/locale/en-tt.js +1 -0
  40. package/assets/dayjs/locale/en.js +1 -0
  41. package/assets/dayjs/locale/eo.js +1 -0
  42. package/assets/dayjs/locale/es-do.js +1 -0
  43. package/assets/dayjs/locale/es-mx.js +1 -0
  44. package/assets/dayjs/locale/es-pr.js +1 -0
  45. package/assets/dayjs/locale/es-us.js +1 -0
  46. package/assets/dayjs/locale/es.js +1 -0
  47. package/assets/dayjs/locale/et.js +1 -0
  48. package/assets/dayjs/locale/eu.js +1 -0
  49. package/assets/dayjs/locale/fa.js +1 -0
  50. package/assets/dayjs/locale/fi.js +1 -0
  51. package/assets/dayjs/locale/fo.js +1 -0
  52. package/assets/dayjs/locale/fr-ca.js +1 -0
  53. package/assets/dayjs/locale/fr-ch.js +1 -0
  54. package/assets/dayjs/locale/fr.js +1 -0
  55. package/assets/dayjs/locale/fy.js +1 -0
  56. package/assets/dayjs/locale/ga.js +1 -0
  57. package/assets/dayjs/locale/gd.js +1 -0
  58. package/assets/dayjs/locale/gl.js +1 -0
  59. package/assets/dayjs/locale/gom-latn.js +1 -0
  60. package/assets/dayjs/locale/gu.js +1 -0
  61. package/assets/dayjs/locale/he.js +1 -0
  62. package/assets/dayjs/locale/hi.js +1 -0
  63. package/assets/dayjs/locale/hr.js +1 -0
  64. package/assets/dayjs/locale/ht.js +1 -0
  65. package/assets/dayjs/locale/hu.js +1 -0
  66. package/assets/dayjs/locale/hy-am.js +1 -0
  67. package/assets/dayjs/locale/id.js +1 -0
  68. package/assets/dayjs/locale/index.d.ts +11 -0
  69. package/assets/dayjs/locale/is.js +1 -0
  70. package/assets/dayjs/locale/it-ch.js +1 -0
  71. package/assets/dayjs/locale/it.js +1 -0
  72. package/assets/dayjs/locale/ja.js +1 -0
  73. package/assets/dayjs/locale/jv.js +1 -0
  74. package/assets/dayjs/locale/ka.js +1 -0
  75. package/assets/dayjs/locale/kk.js +1 -0
  76. package/assets/dayjs/locale/km.js +1 -0
  77. package/assets/dayjs/locale/kn.js +1 -0
  78. package/assets/dayjs/locale/ko.js +1 -0
  79. package/assets/dayjs/locale/ku.js +1 -0
  80. package/assets/dayjs/locale/ky.js +1 -0
  81. package/assets/dayjs/locale/lb.js +1 -0
  82. package/assets/dayjs/locale/lo.js +1 -0
  83. package/assets/dayjs/locale/lt.js +1 -0
  84. package/assets/dayjs/locale/lv.js +1 -0
  85. package/assets/dayjs/locale/me.js +1 -0
  86. package/assets/dayjs/locale/mi.js +1 -0
  87. package/assets/dayjs/locale/mk.js +1 -0
  88. package/assets/dayjs/locale/ml.js +1 -0
  89. package/assets/dayjs/locale/mn.js +1 -0
  90. package/assets/dayjs/locale/mr.js +1 -0
  91. package/assets/dayjs/locale/ms-my.js +1 -0
  92. package/assets/dayjs/locale/ms.js +1 -0
  93. package/assets/dayjs/locale/mt.js +1 -0
  94. package/assets/dayjs/locale/my.js +1 -0
  95. package/assets/dayjs/locale/nb.js +1 -0
  96. package/assets/dayjs/locale/ne.js +1 -0
  97. package/assets/dayjs/locale/nl-be.js +1 -0
  98. package/assets/dayjs/locale/nl.js +1 -0
  99. package/assets/dayjs/locale/nn.js +1 -0
  100. package/assets/dayjs/locale/oc-lnc.js +1 -0
  101. package/assets/dayjs/locale/pa-in.js +1 -0
  102. package/assets/dayjs/locale/pl.js +1 -0
  103. package/assets/dayjs/locale/pt-br.js +1 -0
  104. package/assets/dayjs/locale/pt.js +1 -0
  105. package/assets/dayjs/locale/ro.js +1 -0
  106. package/assets/dayjs/locale/ru.js +1 -0
  107. package/assets/dayjs/locale/rw.js +1 -0
  108. package/assets/dayjs/locale/sd.js +1 -0
  109. package/assets/dayjs/locale/se.js +1 -0
  110. package/assets/dayjs/locale/si.js +1 -0
  111. package/assets/dayjs/locale/sk.js +1 -0
  112. package/assets/dayjs/locale/sl.js +1 -0
  113. package/assets/dayjs/locale/sq.js +1 -0
  114. package/assets/dayjs/locale/sr-cyrl.js +1 -0
  115. package/assets/dayjs/locale/sr.js +1 -0
  116. package/assets/dayjs/locale/ss.js +1 -0
  117. package/assets/dayjs/locale/sv-fi.js +1 -0
  118. package/assets/dayjs/locale/sv.js +1 -0
  119. package/assets/dayjs/locale/sw.js +1 -0
  120. package/assets/dayjs/locale/ta.js +1 -0
  121. package/assets/dayjs/locale/te.js +1 -0
  122. package/assets/dayjs/locale/tet.js +1 -0
  123. package/assets/dayjs/locale/tg.js +1 -0
  124. package/assets/dayjs/locale/th.js +1 -0
  125. package/assets/dayjs/locale/tk.js +1 -0
  126. package/assets/dayjs/locale/tl-ph.js +1 -0
  127. package/assets/dayjs/locale/tlh.js +1 -0
  128. package/assets/dayjs/locale/tr.js +1 -0
  129. package/assets/dayjs/locale/types.d.ts +33 -0
  130. package/assets/dayjs/locale/tzl.js +1 -0
  131. package/assets/dayjs/locale/tzm-latn.js +1 -0
  132. package/assets/dayjs/locale/tzm.js +1 -0
  133. package/assets/dayjs/locale/ug-cn.js +1 -0
  134. package/assets/dayjs/locale/uk.js +1 -0
  135. package/assets/dayjs/locale/ur.js +1 -0
  136. package/assets/dayjs/locale/uz-latn.js +1 -0
  137. package/assets/dayjs/locale/uz.js +1 -0
  138. package/assets/dayjs/locale/vi.js +1 -0
  139. package/assets/dayjs/locale/x-pseudo.js +1 -0
  140. package/assets/dayjs/locale/yo.js +1 -0
  141. package/assets/dayjs/locale/zh-cn.js +1 -0
  142. package/assets/dayjs/locale/zh-hk.js +1 -0
  143. package/assets/dayjs/locale/zh-tw.js +1 -0
  144. package/assets/dayjs/locale/zh.js +1 -0
  145. package/assets/themes/brown.min.css +2 -2
  146. package/assets/themes/dark.min.css +1 -1
  147. package/assets/themes/deep-purple-light-blue.min.css +4 -4
  148. package/assets/themes/default.min.css +2 -2
  149. package/assets/themes/green.min.css +2 -2
  150. package/assets/themes/indigo.min.css +2 -2
  151. package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  152. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  153. package/esm2020/lib/admin/core/ace.input.mjs +3 -3
  154. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  155. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  156. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +5 -5
  157. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +9 -10
  158. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  159. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +4 -4
  160. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  161. package/esm2020/lib/admin/form/form.service.mjs +3 -3
  162. package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
  163. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  164. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +6 -5
  165. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  166. package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
  167. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  168. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  169. package/esm2020/lib/admin/positions/positions.component.mjs +3 -3
  170. package/esm2020/lib/admin/profiler/profiler.component.mjs +10 -10
  171. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  172. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  173. package/esm2020/lib/app.component.mjs +6 -6
  174. package/esm2020/lib/bizdoc.module.mjs +8 -20
  175. package/esm2020/lib/browse/browse-items.component.mjs +14 -9
  176. package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
  177. package/esm2020/lib/browse/browse.pane.component.mjs +6 -4
  178. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +12 -12
  179. package/esm2020/lib/browse/filter/filter.component.mjs +4 -4
  180. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  181. package/esm2020/lib/chat/chat-info.mjs +3 -3
  182. package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
  183. package/esm2020/lib/chat/chat.service.mjs +3 -3
  184. package/esm2020/lib/chat/contacts.component.mjs +9 -8
  185. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  186. package/esm2020/lib/chat/conversation.component.mjs +8 -6
  187. package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
  188. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  189. package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
  190. package/esm2020/lib/compose/action/action.pane.dialog.mjs +3 -3
  191. package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
  192. package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
  193. package/esm2020/lib/compose/attachments/attachments.component.mjs +4 -4
  194. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +19 -17
  195. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  196. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
  197. package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
  198. package/esm2020/lib/compose/comments/comment.component.mjs +6 -5
  199. package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
  200. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  201. package/esm2020/lib/compose/comments/edits.component.mjs +4 -4
  202. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  203. package/esm2020/lib/compose/comments/votes.component.mjs +6 -5
  204. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  205. package/esm2020/lib/compose/compose.mobile.component.mjs +27 -17
  206. package/esm2020/lib/compose/compose.pane.component.mjs +7 -5
  207. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  208. package/esm2020/lib/compose/dismiss.service.mjs +3 -3
  209. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  210. package/esm2020/lib/compose/document.component.mjs +3 -3
  211. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  212. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  213. package/esm2020/lib/compose/events/events.component.mjs +4 -4
  214. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  215. package/esm2020/lib/compose/form.component.mjs +3 -3
  216. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  217. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  218. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  219. package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
  220. package/esm2020/lib/compose/state.component.mjs +3 -3
  221. package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
  222. package/esm2020/lib/compose/trace/flow.component.mjs +61 -38
  223. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  224. package/esm2020/lib/compose/trace/trace.base.mjs +6 -7
  225. package/esm2020/lib/compose/trace/trace.component.mjs +10 -10
  226. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  227. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  228. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  229. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +5 -5
  230. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  231. package/esm2020/lib/core/account.service.mjs +3 -3
  232. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  233. package/esm2020/lib/core/animations.mjs +7 -1
  234. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  235. package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
  236. package/esm2020/lib/core/controls/address.input.mjs +3 -3
  237. package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
  238. package/esm2020/lib/core/controls/combination-picker-body.mjs +8 -5
  239. package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
  240. package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
  241. package/esm2020/lib/core/controls/select.input.mjs +3 -3
  242. package/esm2020/lib/core/controls/time-picker.mjs +3 -3
  243. package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
  244. package/esm2020/lib/core/datasource.service.mjs +3 -3
  245. package/esm2020/lib/core/functions.mjs +4 -1
  246. package/esm2020/lib/core/guide/guide.component.mjs +3 -3
  247. package/esm2020/lib/core/guide/guide.service.mjs +3 -3
  248. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  249. package/esm2020/lib/core/hub.service.mjs +3 -3
  250. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  251. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  252. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  253. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  254. package/esm2020/lib/core/info/map-info.mjs +3 -3
  255. package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
  256. package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
  257. package/esm2020/lib/core/layout/checkbox.mjs +3 -3
  258. package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
  259. package/esm2020/lib/core/layout/date.field.mjs +3 -3
  260. package/esm2020/lib/core/layout/expression.field.mjs +3 -3
  261. package/esm2020/lib/core/layout/html.field.mjs +3 -3
  262. package/esm2020/lib/core/layout/input.base.mjs +3 -3
  263. package/esm2020/lib/core/layout/input.field.mjs +3 -3
  264. package/esm2020/lib/core/layout/layout.component.mjs +3 -3
  265. package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
  266. package/esm2020/lib/core/layout/select.field.mjs +3 -3
  267. package/esm2020/lib/core/layout/switch.field.mjs +3 -3
  268. package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
  269. package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
  270. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  271. package/esm2020/lib/core/mailbox.service.mjs +23 -26
  272. package/esm2020/lib/core/models.mjs +1 -1
  273. package/esm2020/lib/core/none.component.mjs +3 -3
  274. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  275. package/esm2020/lib/core/pipes/calendar.pipe.mjs +72 -0
  276. package/esm2020/lib/core/pipes/date-format.pipe.mjs +19 -0
  277. package/esm2020/lib/core/pipes/daterange.pipe.mjs +13 -14
  278. package/esm2020/lib/core/pipes/difference.pipe.mjs +15 -0
  279. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +48 -0
  280. package/esm2020/lib/core/pipes/duration.pipe.mjs +13 -42
  281. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  282. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  283. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  284. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  285. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  286. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  287. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +66 -0
  288. package/esm2020/lib/core/pipes/translate.pipe.mjs +20 -5
  289. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  290. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  291. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  292. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  293. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  294. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  295. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  296. package/esm2020/lib/core/prompt.service.mjs +3 -3
  297. package/esm2020/lib/core/router.mjs +6 -6
  298. package/esm2020/lib/core/session.service.mjs +9 -9
  299. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  300. package/esm2020/lib/core/slots/router.service.mjs +3 -3
  301. package/esm2020/lib/core/slots/slots.component.mjs +12 -11
  302. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  303. package/esm2020/lib/core/tagging/edit-input.component.mjs +9 -8
  304. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  305. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  306. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  307. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  308. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  309. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  310. package/esm2020/lib/core/translate.service.mjs +28 -103
  311. package/esm2020/lib/core/translations.mjs +4 -4
  312. package/esm2020/lib/core/window-title.service.mjs +3 -3
  313. package/esm2020/lib/cube/accum/accum.component.mjs +10 -6
  314. package/esm2020/lib/cube/chart/chart.component.mjs +17 -9
  315. package/esm2020/lib/cube/cube-info.service.mjs +8 -8
  316. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  317. package/esm2020/lib/cube/cube-view.component.mjs +31 -24
  318. package/esm2020/lib/cube/cube.service.mjs +5 -5
  319. package/esm2020/lib/cube/declarations.mjs +1 -1
  320. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  321. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  322. package/esm2020/lib/cube/explore/explore-items.component.mjs +4 -4
  323. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
  324. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  325. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  326. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  327. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  328. package/esm2020/lib/cube/grid/grid.component.mjs +6 -7
  329. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +49 -46
  330. package/esm2020/lib/cube/matrix/matrix.base.mjs +4 -4
  331. package/esm2020/lib/cube/matrix/matrix.component.mjs +9 -9
  332. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +6 -6
  333. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +6 -6
  334. package/esm2020/lib/cube/matrix/table.component.mjs +288 -175
  335. package/esm2020/lib/cube/parallel/item.mjs +2 -1
  336. package/esm2020/lib/cube/parallel/parallel.component.mjs +10 -10
  337. package/esm2020/lib/cube/pivot/pivot.component.mjs +20 -15
  338. package/esm2020/lib/cube/sum/sum.component.mjs +16 -16
  339. package/esm2020/lib/cube/view-base.mjs +4 -4
  340. package/esm2020/lib/cube/view.mobile.component.mjs +6 -9
  341. package/esm2020/lib/cube/view.pane.component.mjs +11 -8
  342. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  343. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  344. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +4 -4
  345. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +6 -4
  346. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +6 -5
  347. package/esm2020/lib/dashboard/cube/documents.widget.mjs +4 -4
  348. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +13 -9
  349. package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
  350. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  351. package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
  352. package/esm2020/lib/dashboard/score/activity.widget.mjs +6 -7
  353. package/esm2020/lib/dashboard/score/compare-departments.widget.mjs +7 -8
  354. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +7 -8
  355. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +7 -8
  356. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +5 -5
  357. package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
  358. package/esm2020/lib/desktop.module.mjs +5 -9
  359. package/esm2020/lib/home/about/about.dialog.mjs +8 -9
  360. package/esm2020/lib/home/home-base.component.mjs +3 -3
  361. package/esm2020/lib/home/home.desktop.component.mjs +3 -3
  362. package/esm2020/lib/home/home.mobile.component.mjs +5 -5
  363. package/esm2020/lib/home/notifications/notifications.component.mjs +7 -6
  364. package/esm2020/lib/home/options/options.component.mjs +3 -3
  365. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  366. package/esm2020/lib/home/search.service.mjs +11 -8
  367. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  368. package/esm2020/lib/home/tools.component.mjs +3 -3
  369. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  370. package/esm2020/lib/mobile.module.mjs +5 -9
  371. package/esm2020/lib/modules/chart.module.mjs +10 -10
  372. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  373. package/esm2020/lib/modules/date.adapter.mjs +30 -0
  374. package/esm2020/lib/modules/datepicker.intl.mjs +39 -0
  375. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  376. package/esm2020/lib/modules/gantt.module.mjs +17 -0
  377. package/esm2020/lib/modules/grid.module.mjs +4 -4
  378. package/esm2020/lib/modules/material.module.mjs +15 -9
  379. package/esm2020/lib/modules/paginator.intl.mjs +21 -0
  380. package/esm2020/lib/modules/pivot.module.mjs +4 -4
  381. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  382. package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
  383. package/esm2020/lib/modules/stepper.intl.mjs +17 -0
  384. package/esm2020/lib/modules/texteditor.module.mjs +27 -0
  385. package/esm2020/lib/notifications/filter.component.mjs +3 -3
  386. package/esm2020/lib/notifications/notifications-table.component.mjs +7 -6
  387. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  388. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  389. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  390. package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
  391. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  392. package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
  393. package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
  394. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  395. package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
  396. package/esm2020/lib/notifications/types/nudge.notification.mjs +6 -7
  397. package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
  398. package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
  399. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  400. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +7 -8
  401. package/esm2020/lib/options/options.component.mjs +3 -3
  402. package/esm2020/lib/options/options.service.mjs +3 -3
  403. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  404. package/esm2020/lib/reports/cube/grid-documents.component.mjs +4 -4
  405. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  406. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  407. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  408. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  409. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
  410. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  411. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  412. package/esm2020/lib/reports/report.pane.component.mjs +3 -3
  413. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  414. package/esm2020/lib/reports/substitution/substitution.component.mjs +4 -4
  415. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  416. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  417. package/esm2020/lib/routes.desktop.mjs +2 -2
  418. package/esm2020/lib/routes.mobile.mjs +9 -9
  419. package/esm2020/lib/scheduler/schedule.component.mjs +8 -9
  420. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +7 -8
  421. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +7 -8
  422. package/esm2020/lib/shared.module.mjs +43 -31
  423. package/esm2020/lib/system.module.mjs +5 -9
  424. package/esm2020/lib/views/cube/chart.component.mjs +7 -7
  425. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  426. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  427. package/esm2020/lib/views/cube/matrix.component.mjs +10 -10
  428. package/esm2020/lib/views/cube/parallel.component.mjs +5 -5
  429. package/esm2020/lib/views/cube/pivot.component.mjs +5 -5
  430. package/esm2020/lib/views/cube/sum.component.mjs +5 -5
  431. package/esm2020/lib/views/cube/view.component.mjs +5 -5
  432. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +6 -7
  433. package/esm2020/lib/views/view-item.component.mjs +3 -3
  434. package/esm2020/lib/views/views.component.mjs +3 -3
  435. package/esm2020/lib/views/views.mobile.component.mjs +11 -15
  436. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  437. package/esm2020/public-api.mjs +7 -2
  438. package/fesm2015/bizdoc-core.mjs +1920 -1514
  439. package/fesm2015/bizdoc-core.mjs.map +1 -1
  440. package/fesm2020/bizdoc-core.mjs +1927 -1513
  441. package/fesm2020/bizdoc-core.mjs.map +1 -1
  442. package/lib/admin/diff/configuration-diff.component.d.ts +1 -1
  443. package/lib/bizdoc.module.d.ts +6 -7
  444. package/lib/browse/browse-items.component.d.ts +1 -1
  445. package/lib/browse/filter/filter.component.d.ts +1 -1
  446. package/lib/chat/conversation.component.d.ts +1 -1
  447. package/lib/compose/attachments/preview/attachment-preview.component.d.ts +3 -1
  448. package/lib/compose/compose.mobile.component.d.ts +2 -2
  449. package/lib/compose/trace/flow.component.d.ts +2 -2
  450. package/lib/compose/trace/trace.component.d.ts +1 -1
  451. package/lib/compose/version-compare/version.pane.component.d.ts +1 -1
  452. package/lib/core/animations.d.ts +1 -0
  453. package/lib/core/controls/combination-picker-body.d.ts +4 -6
  454. package/lib/core/functions.d.ts +1 -0
  455. package/lib/core/mailbox.service.d.ts +4 -8
  456. package/lib/core/models.d.ts +3 -3
  457. package/lib/core/pipes/calendar.pipe.d.ts +27 -0
  458. package/lib/core/pipes/date-format.pipe.d.ts +8 -0
  459. package/lib/core/pipes/daterange.pipe.d.ts +1 -1
  460. package/lib/core/pipes/difference.pipe.d.ts +7 -0
  461. package/lib/core/pipes/duration-format.pipe.d.ts +11 -0
  462. package/lib/core/pipes/duration.pipe.d.ts +5 -8
  463. package/lib/core/pipes/time-ago.pipe.d.ts +16 -0
  464. package/lib/core/pipes/translate.pipe.d.ts +9 -1
  465. package/lib/core/session.service.d.ts +2 -1
  466. package/lib/core/translate.service.d.ts +2 -56
  467. package/lib/cube/accum/accum.component.d.ts +1 -0
  468. package/lib/cube/chart/chart.component.d.ts +5 -3
  469. package/lib/cube/cube-info.service.d.ts +3 -6
  470. package/lib/cube/cube-view.component.d.ts +6 -7
  471. package/lib/cube/declarations.d.ts +1 -0
  472. package/lib/cube/grid/grid.component.d.ts +2 -3
  473. package/lib/cube/grid/spreadsheet.component.d.ts +3 -0
  474. package/lib/cube/matrix/matrix.base.d.ts +3 -7
  475. package/lib/cube/matrix/matrix.component.d.ts +3 -3
  476. package/lib/cube/matrix/table.component.d.ts +41 -37
  477. package/lib/cube/parallel/item.d.ts +2 -2
  478. package/lib/cube/parallel/parallel.component.d.ts +2 -2
  479. package/lib/cube/pivot/pivot.component.d.ts +5 -7
  480. package/lib/cube/sum/sum.component.d.ts +4 -4
  481. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  482. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -1
  483. package/lib/dashboard/score/personal-score.widget.d.ts +1 -1
  484. package/lib/desktop.module.d.ts +2 -3
  485. package/lib/home/about/about.dialog.d.ts +2 -1
  486. package/lib/mobile.module.d.ts +2 -3
  487. package/lib/modules/chart.module.d.ts +1 -1
  488. package/lib/modules/date.adapter.d.ts +13 -0
  489. package/lib/modules/datepicker.intl.d.ts +30 -0
  490. package/lib/modules/gantt.module.d.ts +7 -0
  491. package/lib/modules/paginator.intl.d.ts +14 -0
  492. package/lib/modules/stepper.intl.d.ts +10 -0
  493. package/lib/modules/texteditor.module.d.ts +8 -0
  494. package/lib/notifications/types/nudge.notification.d.ts +2 -1
  495. package/lib/notifications/types/upcoming-event.notification.d.ts +2 -1
  496. package/lib/shared.module.d.ts +175 -172
  497. package/lib/system.module.d.ts +4 -5
  498. package/lib/views/cube/chart.component.d.ts +2 -2
  499. package/lib/views/cube/matrix.component.d.ts +9 -19
  500. package/lib/views/cube/pivot.component.d.ts +1 -1
  501. package/lib/views/cube/sum.component.d.ts +2 -2
  502. package/lib/views/views.mobile.component.d.ts +1 -5
  503. package/package.json +15 -18
  504. package/public-api.d.ts +7 -2
@@ -31,15 +31,15 @@ let ReturnActionComponent = class ReturnActionComponent {
31
31
  this.recipients.splice(0, 0, r));
32
32
  }
33
33
  };
34
- ReturnActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ReturnActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ActionRef }, { token: i3.SessionService }, { token: i4.AccountService }], target: i0.ɵɵFactoryTarget.Component });
35
- ReturnActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ReturnActionComponent, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" fxLayout=\"column\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-select formControlName=\"recipientId\" cdkFocusInitial [placeholder]=\"'User'|translate\" required>\r\n <mat-option *ngFor=\"let r of recipients\" [value]=\"r.id\">{{r.userId | userName | async }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.recipientId.hasError('required')\">{{'Required'|translate:('User'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\r\n </textarea>\r\n <mat-hint align=\"end\">{{form.controls['note'].value?.length || 0}} / {{200}}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n", components: [{ type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.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: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i11.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i1.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: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i12.TranslatePipe, "async": i9.AsyncPipe, "userName": i13.UserNamePipe } });
34
+ ReturnActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ReturnActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ActionRef }, { token: i3.SessionService }, { token: i4.AccountService }], target: i0.ɵɵFactoryTarget.Component });
35
+ ReturnActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ReturnActionComponent, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" fxLayout=\"column\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-select formControlName=\"recipientId\" cdkFocusInitial [placeholder]=\"'User'|translate\" required>\r\n <mat-option *ngFor=\"let r of recipients\" [value]=\"r.id\">{{r.userId | userName | async }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.recipientId.hasError('required')\">{{'Required'|translate:('User'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\r\n </textarea>\r\n <mat-hint align=\"end\">{{form.controls['note'].value?.length || 0}} / {{200}}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n", components: [{ type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.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: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i11.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i1.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: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i12.TranslatePipe, "async": i9.AsyncPipe, "userName": i13.UserNamePipe } });
36
36
  ReturnActionComponent = __decorate([
37
37
  BizDoc({
38
38
  selector: 'bizdoc-action-return'
39
39
  })
40
40
  ], ReturnActionComponent);
41
41
  export { ReturnActionComponent };
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ReturnActionComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ReturnActionComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ template: "<form autocomplete=\"off\" fxLayout=\"column\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-select formControlName=\"recipientId\" cdkFocusInitial [placeholder]=\"'User'|translate\" required>\r\n <mat-option *ngFor=\"let r of recipients\" [value]=\"r.id\">{{r.userId | userName | async }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.recipientId.hasError('required')\">{{'Required'|translate:('User'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\r\n </textarea>\r\n <mat-hint align=\"end\">{{form.controls['note'].value?.length || 0}} / {{200}}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n" }]
45
45
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ActionRef }, { type: i3.SessionService }, { type: i4.AccountService }]; } });
@@ -16,7 +16,7 @@ import * as i9 from "@angular/material/divider";
16
16
  import * as i10 from "@angular/common";
17
17
  import * as i11 from "./progress-button.directive";
18
18
  import * as i12 from "../../core/popup/tooltip.directive";
19
- import * as i13 from "ngx-moment";
19
+ import * as i13 from "../../core/pipes/calendar.pipe";
20
20
  import * as i14 from "../../core/pipes/translate.pipe";
21
21
  /** mail-attachments component*/
22
22
  export class AttachmentsComponent {
@@ -105,9 +105,9 @@ export class AttachmentsComponent {
105
105
  this._sb.ask('DeleteFileAsk', 'DeleteFile', { color: 'warn' }).subscribe(ok => ok && task());
106
106
  }
107
107
  }
108
- AttachmentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AttachmentsComponent, deps: [{ token: i1.MailboxService }, { token: i2.SessionService }, { token: i0.ViewContainerRef }, { token: i3.PromptService }, { token: i4.Overlay }, { token: i0.Injector }, { token: i5.Directionality }], target: i0.ɵɵFactoryTarget.Component });
109
- AttachmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: { model: "model", viewedIndicator: "viewedIndicator", includeDeleted: "includeDeleted" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let a of attachments\">\r\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\" [progressIndicator]=\"a.progress\">\r\n <mat-icon *ngIf=\"viewedIndicator && a.viewed\">done_all</mat-icon>\r\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\r\n <mat-icon>attachment</mat-icon>&nbsp;\r\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\r\n </button>\r\n <mat-menu #attachment>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"canPreview(a)\" (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersion(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canDelete(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n</div>\r\n", styles: [":host{display:flex;flex-flow:wrap}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\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.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.ProgressButtonDirective, selector: "button[progressIndicator]", inputs: ["progressIndicator"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "amCalendar": i13.CalendarPipe, "translate": i14.TranslatePipe } });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AttachmentsComponent, decorators: [{
108
+ AttachmentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AttachmentsComponent, deps: [{ token: i1.MailboxService }, { token: i2.SessionService }, { token: i0.ViewContainerRef }, { token: i3.PromptService }, { token: i4.Overlay }, { token: i0.Injector }, { token: i5.Directionality }], target: i0.ɵɵFactoryTarget.Component });
109
+ AttachmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: { model: "model", viewedIndicator: "viewedIndicator", includeDeleted: "includeDeleted" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let a of attachments\">\r\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\" [progressIndicator]=\"a.progress\">\r\n <mat-icon *ngIf=\"viewedIndicator && a.viewed\">done_all</mat-icon>\r\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\r\n <mat-icon>attachment</mat-icon>&nbsp;\r\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\r\n </button>\r\n <mat-menu #attachment>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"canPreview(a)\" (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersion(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canDelete(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n</div>\r\n", styles: [":host{display:flex;flex-flow:wrap}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\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.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.ProgressButtonDirective, selector: "button[progressIndicator]", inputs: ["progressIndicator"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "amCalendar": i13.CalendarPipe, "translate": i14.TranslatePipe } });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AttachmentsComponent, decorators: [{
111
111
  type: Component,
112
112
  args: [{ selector: 'bizdoc-attachments', template: "<div *ngFor=\"let a of attachments\">\r\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\" [progressIndicator]=\"a.progress\">\r\n <mat-icon *ngIf=\"viewedIndicator && a.viewed\">done_all</mat-icon>\r\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\r\n <mat-icon>attachment</mat-icon>&nbsp;\r\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\r\n </button>\r\n <mat-menu #attachment>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"canPreview(a)\" (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersion(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canDelete(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n</div>\r\n", styles: [":host{display:flex;flex-flow:wrap}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\n"] }]
113
113
  }], ctorParameters: function () { return [{ type: i1.MailboxService }, { type: i2.SessionService }, { type: i0.ViewContainerRef }, { type: i3.PromptService }, { type: i4.Overlay }, { type: i0.Injector }, { type: i5.Directionality }]; }, propDecorators: { model: [{
@@ -5,29 +5,31 @@ import { Subject } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/cdk/bidi";
7
7
  import * as i2 from "@angular/platform-browser";
8
- import * as i3 from "@angular/cdk/overlay";
9
- import * as i4 from "@angular/material/button";
10
- import * as i5 from "@angular/material/icon";
11
- import * as i6 from "@angular/material/progress-spinner";
12
- import * as i7 from "@angular/common";
13
- import * as i8 from "@angular/flex-layout/flex";
14
- import * as i9 from "../../../core/popup/tooltip.directive";
15
- import * as i10 from "../../../core/pipes/translate.pipe";
8
+ import * as i3 from "../../../core/authentication";
9
+ import * as i4 from "@angular/cdk/overlay";
10
+ import * as i5 from "@angular/material/button";
11
+ import * as i6 from "@angular/material/icon";
12
+ import * as i7 from "@angular/material/progress-spinner";
13
+ import * as i8 from "@angular/common";
14
+ import * as i9 from "@angular/flex-layout/flex";
15
+ import * as i10 from "../../../core/popup/tooltip.directive";
16
+ import * as i11 from "../../../core/pipes/translate.pipe";
16
17
  export const FILE_PREVIEW_DIALOG_DATA = new InjectionToken('FILE_PREVIEW_DIALOG_DATA');
17
18
  export const IMAGE_TYPE = ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'];
18
19
  function isImage(contentType) {
19
20
  return IMAGE_TYPE.indexOf(contentType) > -1;
20
21
  }
21
- function formatUrl(documentId, fileId) {
22
- return `/api/mailbox/download/${documentId}?fileId=${fileId}`;
22
+ function formatUrl(documentId, fileId, token) {
23
+ return `/api/mailbox/download/${documentId}?fileId=${fileId}&access_token=${token}`;
23
24
  }
24
25
  const ANIMATION_TIMINGS = '400ms cubic-bezier(0.25, 0.8, 0.25, 1)';
25
26
  /** attachment-preview component*/
26
27
  export class AttachmentPreview {
27
28
  /** attachment-preview ctor */
28
- constructor(_directionality, _renderer, data, sanitizer, _overlayRef) {
29
+ constructor(_directionality, _renderer, data, sanitizer, _auth, _overlayRef) {
29
30
  this._renderer = _renderer;
30
31
  this.data = data;
32
+ this._auth = _auth;
31
33
  this._overlayRef = _overlayRef;
32
34
  this.loading = true;
33
35
  this.animationState = 'enter';
@@ -57,7 +59,7 @@ export class AttachmentPreview {
57
59
  location.assign(this._url());
58
60
  }
59
61
  _url() {
60
- return formatUrl(this.data.documentId, this.data.file.id);
62
+ return formatUrl(this.data.documentId, this.data.file.id, this._auth.getAccessToken());
61
63
  }
62
64
  rotate() {
63
65
  const elem = (this.isImage ? this.img : this.obj).nativeElement;
@@ -99,8 +101,8 @@ export class AttachmentPreview {
99
101
  this.animationState = 'leave';
100
102
  }
101
103
  }
102
- AttachmentPreview.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AttachmentPreview, deps: [{ token: i1.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i2.DomSanitizer }, { token: i3.OverlayRef }], target: i0.ɵɵFactoryTarget.Component });
103
- AttachmentPreview.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: AttachmentPreview, selector: "bizdoc-attachment-preview", host: { listeners: { "document:resize": "resize()", "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "obj", first: true, predicate: ["obj"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\r\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\r\n <div class=\"toolbar-wrapper\" fxLayout=\"row\" [@slideDown]=\"slideDown\" *ngIf=\"!loading\">\r\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\r\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\r\n </div>\r\n <div class=\"spinner-wrapper\" *ngIf=\"loading\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" *ngIf=\"!isImage\" #obj></object>\r\n <img *ngIf=\"isImage\" (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"], components: [{ 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: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.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: i9.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": i10.TranslatePipe }, animations: [
104
+ AttachmentPreview.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AttachmentPreview, deps: [{ token: i1.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i2.DomSanitizer }, { token: i3.AuthenticationImpl }, { token: i4.OverlayRef }], target: i0.ɵɵFactoryTarget.Component });
105
+ AttachmentPreview.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AttachmentPreview, selector: "bizdoc-attachment-preview", host: { listeners: { "document:resize": "resize()", "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "obj", first: true, predicate: ["obj"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\r\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\r\n <div class=\"toolbar-wrapper\" fxLayout=\"row\" [@slideDown]=\"slideDown\" *ngIf=\"!loading\">\r\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\r\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\r\n </div>\r\n <div class=\"spinner-wrapper\" *ngIf=\"loading\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" *ngIf=\"!isImage\" #obj></object>\r\n <img *ngIf=\"isImage\" (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"], components: [{ type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.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: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": i11.TranslatePipe }, animations: [
104
106
  trigger('fade', [
105
107
  state('fadeOut', style({ opacity: 0 })),
106
108
  state('fadeIn', style({ opacity: 1 })),
@@ -119,7 +121,7 @@ AttachmentPreview.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
119
121
  transition('* => *', animate(ANIMATION_TIMINGS)),
120
122
  ])
121
123
  ] });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AttachmentPreview, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AttachmentPreview, decorators: [{
123
125
  type: Component,
124
126
  args: [{ selector: 'bizdoc-attachment-preview', animations: [
125
127
  trigger('fade', [
@@ -143,7 +145,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
143
145
  }], ctorParameters: function () { return [{ type: i1.Directionality }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
144
146
  type: Inject,
145
147
  args: [FILE_PREVIEW_DIALOG_DATA]
146
- }] }, { type: i2.DomSanitizer }, { type: i3.OverlayRef }]; }, propDecorators: { obj: [{
148
+ }] }, { type: i2.DomSanitizer }, { type: i3.AuthenticationImpl }, { type: i4.OverlayRef }]; }, propDecorators: { obj: [{
147
149
  type: ViewChild,
148
150
  args: ['obj', { static: false }]
149
151
  }], img: [{
@@ -156,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
156
158
  type: HostListener,
157
159
  args: ['document:keydown.escape', []]
158
160
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hdHRhY2htZW50cy9wcmV2aWV3L2F0dGFjaG1lbnQtcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvYXR0YWNobWVudHMvcHJldmlldy9hdHRhY2htZW50LXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUd2SixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQUkzQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBYywwQkFBMEIsQ0FBQyxDQUFDO0FBRXBHLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRWhGLFNBQVMsT0FBTyxDQUFDLFdBQW1CO0lBQ2xDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBQ0QsU0FBVSxTQUFTLENBQUMsVUFBa0IsRUFBRSxNQUFjO0lBQ3BELE9BQU8seUJBQXlCLFVB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QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1DQUFtQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3hELEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUMxRSxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO3lCQUNqRCxDQUFDO3FCQUNIOzswQkFpQjJFLE1BQU07MkJBQUMsd0JBQXdCO2dHQWJ0RSxHQUFHO3NCQUF2QyxTQUFTO3VCQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ0MsR0FBRztzQkFBdEMsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQW1CbEMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUU7Z0JBb0NuQyxLQUFLO3NCQURKLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdCwgSG9zdExpc3RlbmVyLCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHRyYW5zaXRpb24sIHN0eWxlLCBhbmltYXRlLCBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyB0YWtlLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJzsgXHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSwgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZJTEVfUFJFVklFV19ESUFMT0dfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQcmV2aWV3RGF0YT4oJ0ZJTEVfUFJFVklFV19ESUFMT0dfREFUQScpO1xyXG5cclxuZXhwb3J0IGNvbnN0IElNQUdFX1RZUEUgPSBbJ2ltYWdlL3BuZycsICdpbWFnZS9qcGVnJywgJ2ltYWdlL2pwZycsICdpbWFnZS9naWYnXTtcclxuXHJcbmZ1bmN0aW9uIGlzSW1hZ2UoY29udGVudFR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBJTUFHRV9UWVBFLmluZGV4T2YoY29udGVudFR5cGUpID4gLTE7XHJcbn1cclxuZnVuY3Rpb24gIGZvcm1hdFVybChkb2N1bWVudElkOiBudW1iZXIsIGZpbGVJZDogbnVtYmVyKSB7XHJcbiAgcmV0dXJuIGAvYXBpL21haWxib3gvZG93bmxvYWQvJHtkb2N1bWVudElkfT9maWxlSWQ9JHtmaWxlSWR9YDtcclxufVxyXG5cclxuY29uc3QgQU5JTUFUSU9OX1RJTUlOR1MgPSAnNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYXR0YWNobWVudC1wcmV2aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudC1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdHRhY2htZW50LXByZXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdmYWRlJywgW1xyXG4gICAgICBzdGF0ZSgnZmFkZU91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXHJcbiAgICAgIHN0YXRlKCdmYWRlSW4nLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IGZhZGVJbicsIGFuaW1hdGUoQU5JTUFUSU9OX1RJTUlOR1MpKVxyXG4gICAgXSksXHJcbiAgICB0cmlnZ2VyKCdzbGlkZURvd24nLCBbXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScgfSkpLFxyXG4gICAgICBzdGF0ZSgnZW50ZXInLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKSxcclxuICAgICAgc3RhdGUoJ2xlYXZlJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCc0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKScpKVxyXG4gICAgXSksXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUNvbnRlbnQnLCBbXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAyNSUsIDApIHNjYWxlKDAuOSknLCBvcGFjaXR5OiAwIH0pKSxcclxuICAgICAgc3RhdGUoJ2VudGVyJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdub25lJywgb3BhY2l0eTogMSB9KSksXHJcbiAgICAgIHN0YXRlKCdsZWF2ZScsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCwgMjUlLCAwKScsIG9wYWNpdHk6IDAgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKEFOSU1BVElPTl9USU1JTkdTKSksXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuLyoqIGF0dGFjaG1lbnQtcHJldmlldyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudFByZXZpZXcgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ29iaicsIHsgc3RhdGljOiBmYWxzZSB9KSBvYmo6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW1nJywgeyBzdGF0aWM6IHRydWUgfSkgaW1nOiBFbGVtZW50UmVmO1xyXG4gIG9iamVjdERhdGE6IFNhZmVVcmw7XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgZGlyOiBEaXJlY3Rpb247XHJcbiAgaXNJbWFnZTogYm9vbGVhbjtcclxuICBhbmltYXRpb25TdGF0ZTogJ3ZvaWQnIHwgJ2VudGVyJyB8ICdsZWF2ZScgPSAnZW50ZXInO1xyXG4gIHNsaWRlRG93bjogJ2VudGVyJyB8ICdsZWF2ZScgfCAndm9pZCcgPSAnZW50ZXInO1xyXG4gIHJlYWRvbmx5IGFuaW1hdGlvblN0YXRlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QW5pbWF0aW9uRXZlbnQ+KCk7XHJcbiAgcHJpdmF0ZSBfZGVnID0gMDtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9iZWZvcmVDbG9zZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJDbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBhdHRhY2htZW50LXByZXZpZXcgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKF9kaXJlY3Rpb25hbGl0eTogRGlyZWN0aW9uYWxpdHksIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsIEBJbmplY3QoRklMRV9QUkVWSUVXX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogUHJldmlld0RhdGEsIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmKSB7XHJcbiAgICB0aGlzLmRpciA9IF9kaXJlY3Rpb25hbGl0eS52YWx1ZTtcclxuICAgIHRoaXMuaXNJbWFnZSA9IGlzSW1hZ2UodGhpcy5kYXRhLmZpbGUuY29udGVudFR5cGUpO1xyXG4gICAgdGhpcy5vYmplY3REYXRhID0gc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLl91cmwoKSk7XHJcbiAgICB0aGlzLmJlZm9yZUNsb3NlKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2xpZGVEb3duID0gJ2xlYXZlJyk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnJlc2l6ZScsIFtdKVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIGlmICghdGhpcy5pc0ltYWdlKSB7XHJcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMub2JqLm5hdGl2ZUVsZW1lbnQsICdtaW4td2lkdGgnLCBgJHt3aW5kb3cuaW5uZXJXaWR0aH1weGApO1xyXG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm9iai5uYXRpdmVFbGVtZW50LCAnbWluLWhlaWdodCcsIGAke3dpbmRvdy5pbm5lckhlaWdodH1weGApXHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzaXplKCk7XHJcbiAgfVxyXG4gIGRvd25sb2FkKCkge1xyXG4gICAgbG9jYXRpb24uYXNzaWduKHRoaXMuX3VybCgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZm9ybWF0VXJsKHRoaXMuZGF0YS5kb2N1bWVudElkLCB0aGlzLmRhdGEuZmlsZS5pZCk7XHJcbiAgfVxyXG5cclxuICByb3RhdGUoKSB7XHJcbiAgICBjb25zdCBlbGVtID0gKHRoaXMuaXNJbWFnZSA/IHRoaXMuaW1nIDogdGhpcy5vYmopLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLl9kZWcgPSB0aGlzLl9kZWcgPT09IDI3MCA/IDAgOiB0aGlzLl9kZWcgKyA5MDtcclxuICAgIGVsZW0uc3R5bGUudHJhbnNmb3JtID0gYHJvdGF0ZSgke3RoaXMuX2RlZ31kZWcpYDtcclxuICB9XHJcbiAgb25Mb2FkKF9ldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcbiAgYWZ0ZXJDbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWZ0ZXJDbG9zZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBiZWZvcmVDbG9zZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9iZWZvcmVDbG9zZS5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbXSlcclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIC8vIExpc3RlbiBmb3IgYW5pbWF0aW9uICdzdGFydCcgZXZlbnRzXHJcbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlQ2hhbmdlZC5waXBlKFxyXG4gICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnc3RhcnQnKSxcclxuICAgICAgdGFrZSgxKVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9iZWZvcmVDbG9zZS5uZXh0KCk7XHJcbiAgICAgIHRoaXMuX2JlZm9yZUNsb3NlLmNvbXBsZXRlKCk7XHJcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIExpc3RlbiBmb3IgYW5pbWF0aW9uICdkb25lJyBldmVudHNcclxuICAgIHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLnBpcGUoXHJcbiAgICAgIGZpbHRlcihldmVudCA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnbGVhdmUnKSxcclxuICAgICAgdGFrZSgxKVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuICAgICAgdGhpcy5fYWZ0ZXJDbG9zZWQubmV4dCgpO1xyXG4gICAgICB0aGlzLl9hZnRlckNsb3NlZC5jb21wbGV0ZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU3RhcnQgZXhpdCBhbmltYXRpb25cclxuICAgIHRoaXMuc3RhcnRFeGl0QW5pbWF0aW9uKCk7XHJcbiAgfVxyXG4gIG9uQW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XHJcbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGFydEV4aXRBbmltYXRpb24oKSB7XHJcbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gJ2xlYXZlJztcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQcmV2aWV3RGF0YSB7XHJcbiAgZG9jdW1lbnRJZDogbnVtYmVyO1xyXG4gIGZpbGU6IEF0dGFjaG1lbnQ7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGVudFwiIFtAc2xpZGVDb250ZW50XT1cImFuaW1hdGlvblN0YXRlXCIgKEBzbGlkZUNvbnRlbnQuc3RhcnQpPVwib25BbmltYXRpb25TdGFydCgkZXZlbnQpXCJcclxuIFtkaXJdPVwiZGlyXCIgKEBzbGlkZUNvbnRlbnQuZG9uZSk9XCJvbkFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0b29sYmFyLXdyYXBwZXJcIiBmeExheW91dD1cInJvd1wiIFtAc2xpZGVEb3duXT1cInNsaWRlRG93blwiICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgYml6ZG9jVG9vbHRpcD1cInt7J0JhY2snIHwgdHJhbnNsYXRlfX1cIj48bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5LTFcIj57e2RhdGEuZmlsZS5maWxlTmFtZX19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJvdGF0ZSgpXCIgYml6ZG9jVG9vbHRpcD1cInt7J1JvdGF0ZScgfCB0cmFuc2xhdGUgfX1cIj48bWF0LWljb24+c2NyZWVuX3JvdGF0aW9uPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJkb3dubG9hZCgpXCIgYml6ZG9jVG9vbHRpcD1cInt7J0Rvd25sb2FkJyB8IHRyYW5zbGF0ZX19XCI+PG1hdC1pY29uPnNhdmVfYWx0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lci13cmFwcGVyXCIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cclxuICA8L2Rpdj5cclxuICA8b2JqZWN0IChsb2FkKT1cIm9uTG9hZCgkZXZlbnQpXCIgW2RhdGFdPVwib2JqZWN0RGF0YVwiIFt0eXBlXT1cImRhdGEuZmlsZS5jb250ZW50VHlwZVwiICpuZ0lmPVwiIWlzSW1hZ2VcIiAjb2JqPjwvb2JqZWN0PlxyXG4gIDxpbWcgKm5nSWY9XCJpc0ltYWdlXCIgKGxvYWQpPVwib25Mb2FkKCRldmVudClcIiBbc3R5bGUub3BhY2l0eV09XCJsb2FkaW5nID8gMCA6IDFcIiBbQGZhZGVdPVwibG9hZGluZyA/ICdmYWRlT3V0JyA6ICdmYWRlSW4nXCIgW3NyY109XCJvYmplY3REYXRhXCIgI2ltZz5cclxuPC9kaXY+XHJcbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9hdHRhY2htZW50cy9wcmV2aWV3L2F0dGFjaG1lbnQtcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvYXR0YWNobWVudHMvcHJldmlldy9hdHRhY2htZW50LXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUd2SixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFLM0MsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQWMsMEJBQTBCLENBQUMsQ0FBQztBQUVwRyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUVoRixTQUFTLE9BQU8sQ0FBQyxXQUFtQjtJQUNsQyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUNELFNBQVMsU0FBUyxDQUFDLFVBQWtCLEVBQUUsTUFBYyxFQUFFLEtBQWE7SUFDbEUsT0FB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QVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7eUJBQ3hFLENBQUM7d0JBQ0YsT0FBTyxDQUFDLGNBQWMsRUFBRTs0QkFDdEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUNBQW1DLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3BGLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDeEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQzFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7eUJBQ2pELENBQUM7cUJBQ0g7OzBCQWtCZ0MsTUFBTTsyQkFBQyx3QkFBd0I7aUlBZDNCLEdBQUc7c0JBQXZDLFNBQVM7dUJBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDQyxHQUFHO3NCQUF0QyxTQUFTO3VCQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBdUJsQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRTtnQkFvQ25DLEtBQUs7c0JBREosWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0LCBIb3N0TGlzdGVuZXIsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgdHJhbnNpdGlvbiwgc3R5bGUsIGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IHRha2UsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHksIERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25JbXBsIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9hdXRoZW50aWNhdGlvbic7XHJcblxyXG5leHBvcnQgY29uc3QgRklMRV9QUkVWSUVXX0RJQUxPR19EQVRBID0gbmV3IEluamVjdGlvblRva2VuPFByZXZpZXdEYXRhPignRklMRV9QUkVWSUVXX0RJQUxPR19EQVRBJyk7XHJcblxyXG5leHBvcnQgY29uc3QgSU1BR0VfVFlQRSA9IFsnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvanBnJywgJ2ltYWdlL2dpZiddO1xyXG5cclxuZnVuY3Rpb24gaXNJbWFnZShjb250ZW50VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIElNQUdFX1RZUEUuaW5kZXhPZihjb250ZW50VHlwZSkgPiAtMTtcclxufVxyXG5mdW5jdGlvbiBmb3JtYXRVcmwoZG9jdW1lbnRJZDogbnVtYmVyLCBmaWxlSWQ6IG51bWJlciwgdG9rZW46IHN0cmluZykge1xyXG4gIHJldHVybiBgL2FwaS9tYWlsYm94L2Rvd25sb2FkLyR7ZG9jdW1lbnRJZH0/ZmlsZUlkPSR7ZmlsZUlkfSZhY2Nlc3NfdG9rZW49JHt0b2tlbn1gO1xyXG59XHJcblxyXG5jb25zdCBBTklNQVRJT05fVElNSU5HUyA9ICc0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1hdHRhY2htZW50LXByZXZpZXcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdHRhY2htZW50LXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2F0dGFjaG1lbnQtcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ2ZhZGUnLCBbXHJcbiAgICAgIHN0YXRlKCdmYWRlT3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSxcclxuICAgICAgc3RhdGUoJ2ZhZGVJbicsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gZmFkZUluJywgYW5pbWF0ZShBTklNQVRJT05fVElNSU5HUykpXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3NsaWRlRG93bicsIFtcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSksXHJcbiAgICAgIHN0YXRlKCdlbnRlcicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpLFxyXG4gICAgICBzdGF0ZSgnbGVhdmUnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIGFuaW1hdGUoJzQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpJykpXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3NsaWRlQ29udGVudCcsIFtcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIDI1JSwgMCkgc2NhbGUoMC45KScsIG9wYWNpdHk6IDAgfSkpLFxyXG4gICAgICBzdGF0ZSgnZW50ZXInLCBzdHlsZSh7IHRyYW5zZm9ybTogJ25vbmUnLCBvcGFjaXR5OiAxIH0pKSxcclxuICAgICAgc3RhdGUoJ2xlYXZlJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAyNSUsIDApJywgb3BhY2l0eTogMCB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIGFuaW1hdGUoQU5JTUFUSU9OX1RJTUlOR1MpKSxcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG4vKiogYXR0YWNobWVudC1wcmV2aWV3IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50UHJldmlldyBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnb2JqJywgeyBzdGF0aWM6IGZhbHNlIH0pIG9iajogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbWcnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbWc6IEVsZW1lbnRSZWY7XHJcbiAgb2JqZWN0RGF0YTogU2FmZVVybDtcclxuICBsb2FkaW5nID0gdHJ1ZTtcclxuICBkaXI6IERpcmVjdGlvbjtcclxuICBpc0ltYWdlOiBib29sZWFuO1xyXG4gIGFuaW1hdGlvblN0YXRlOiAndm9pZCcgfCAnZW50ZXInIHwgJ2xlYXZlJyA9ICdlbnRlcic7XHJcbiAgc2xpZGVEb3duOiAnZW50ZXInIHwgJ2xlYXZlJyB8ICd2b2lkJyA9ICdlbnRlcic7XHJcbiAgcmVhZG9ubHkgYW5pbWF0aW9uU3RhdGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxBbmltYXRpb25FdmVudD4oKTtcclxuICBwcml2YXRlIF9kZWcgPSAwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2JlZm9yZUNsb3NlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlckNsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgLyoqIGF0dGFjaG1lbnQtcHJldmlldyBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoX2RpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsIEBJbmplY3QoRklMRV9QUkVWSUVXX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogUHJldmlld0RhdGEsXHJcbiAgICBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgX2F1dGg6IEF1dGhlbnRpY2F0aW9uSW1wbCxcclxuICAgIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYpIHtcclxuICAgIHRoaXMuZGlyID0gX2RpcmVjdGlvbmFsaXR5LnZhbHVlO1xyXG4gICAgdGhpcy5pc0ltYWdlID0gaXNJbWFnZSh0aGlzLmRhdGEuZmlsZS5jb250ZW50VHlwZSk7XHJcbiAgICB0aGlzLm9iamVjdERhdGEgPSBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuX3VybCgpKTtcclxuICAgIHRoaXMuYmVmb3JlQ2xvc2UoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zbGlkZURvd24gPSAnbGVhdmUnKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6cmVzaXplJywgW10pXHJcbiAgcmVzaXplKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzSW1hZ2UpIHtcclxuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vYmoubmF0aXZlRWxlbWVudCwgJ21pbi13aWR0aCcsIGAke3dpbmRvdy5pbm5lcldpZHRofXB4YCk7XHJcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMub2JqLm5hdGl2ZUVsZW1lbnQsICdtaW4taGVpZ2h0JywgYCR7d2luZG93LmlubmVySGVpZ2h0fXB4YClcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcbiAgZG93bmxvYWQoKSB7XHJcbiAgICBsb2NhdGlvbi5hc3NpZ24odGhpcy5fdXJsKCkpO1xyXG4gIH1cclxuICBwcml2YXRlIF91cmwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBmb3JtYXRVcmwodGhpcy5kYXRhLmRvY3VtZW50SWQsIHRoaXMuZGF0YS5maWxlLmlkLCB0aGlzLl9hdXRoLmdldEFjY2Vzc1Rva2VuKCkpO1xyXG4gIH1cclxuXHJcbiAgcm90YXRlKCkge1xyXG4gICAgY29uc3QgZWxlbSA9ICh0aGlzLmlzSW1hZ2UgPyB0aGlzLmltZyA6IHRoaXMub2JqKS5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5fZGVnID0gdGhpcy5fZGVnID09PSAyNzAgPyAwIDogdGhpcy5fZGVnICsgOTA7XHJcbiAgICBlbGVtLnN0eWxlLnRyYW5zZm9ybSA9IGByb3RhdGUoJHt0aGlzLl9kZWd9ZGVnKWA7XHJcbiAgfVxyXG4gIG9uTG9hZChfZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG4gIGFmdGVyQ2xvc2VkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FmdGVyQ2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgW10pXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICAvLyBMaXN0ZW4gZm9yIGFuaW1hdGlvbiAnc3RhcnQnIGV2ZW50c1xyXG4gICAgdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZShcclxuICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LnBoYXNlTmFtZSA9PT0gJ3N0YXJ0JyksXHJcbiAgICAgIHRha2UoMSlcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fYmVmb3JlQ2xvc2UubmV4dCgpO1xyXG4gICAgICB0aGlzLl9iZWZvcmVDbG9zZS5jb21wbGV0ZSgpO1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaEJhY2tkcm9wKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBMaXN0ZW4gZm9yIGFuaW1hdGlvbiAnZG9uZScgZXZlbnRzXHJcbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlQ2hhbmdlZC5waXBlKFxyXG4gICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnZG9uZScgJiYgZXZlbnQudG9TdGF0ZSA9PT0gJ2xlYXZlJyksXHJcbiAgICAgIHRha2UoMSlcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuX2FmdGVyQ2xvc2VkLm5leHQoKTtcclxuICAgICAgdGhpcy5fYWZ0ZXJDbG9zZWQuY29tcGxldGUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFN0YXJ0IGV4aXQgYW5pbWF0aW9uXHJcbiAgICB0aGlzLnN0YXJ0RXhpdEFuaW1hdGlvbigpO1xyXG4gIH1cclxuICBvbkFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xyXG4gICAgdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XHJcbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhcnRFeGl0QW5pbWF0aW9uKCkge1xyXG4gICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdsZWF2ZSc7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlld0RhdGEge1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICBmaWxlOiBBdHRhY2htZW50O1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJvdmVybGF5LWNvbnRlbnRcIiBbQHNsaWRlQ29udGVudF09XCJhbmltYXRpb25TdGF0ZVwiIChAc2xpZGVDb250ZW50LnN0YXJ0KT1cIm9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXHJcbiBbZGlyXT1cImRpclwiIChAc2xpZGVDb250ZW50LmRvbmUpPVwib25BbmltYXRpb25Eb25lKCRldmVudClcIj5cclxuICA8ZGl2IGNsYXNzPVwidG9vbGJhci13cmFwcGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBbQHNsaWRlRG93bl09XCJzbGlkZURvd25cIiAqbmdJZj1cIiFsb2FkaW5nXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiIGJpemRvY1Rvb2x0aXA9XCJ7eydCYWNrJyB8IHRyYW5zbGF0ZX19XCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtYm9keS0xXCI+e3tkYXRhLmZpbGUuZmlsZU5hbWV9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyb3RhdGUoKVwiIGJpemRvY1Rvb2x0aXA9XCJ7eydSb3RhdGUnIHwgdHJhbnNsYXRlIH19XCI+PG1hdC1pY29uPnNjcmVlbl9yb3RhdGlvbjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWQoKVwiIGJpemRvY1Rvb2x0aXA9XCJ7eydEb3dubG9hZCcgfCB0cmFuc2xhdGV9fVwiPjxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNwaW5uZXItd3JhcHBlclwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgPG1hdC1zcGlubmVyPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9kaXY+XHJcbiAgPG9iamVjdCAobG9hZCk9XCJvbkxvYWQoJGV2ZW50KVwiIFtkYXRhXT1cIm9iamVjdERhdGFcIiBbdHlwZV09XCJkYXRhLmZpbGUuY29udGVudFR5cGVcIiAqbmdJZj1cIiFpc0ltYWdlXCIgI29iaj48L29iamVjdD5cclxuICA8aW1nICpuZ0lmPVwiaXNJbWFnZVwiIChsb2FkKT1cIm9uTG9hZCgkZXZlbnQpXCIgW3N0eWxlLm9wYWNpdHldPVwibG9hZGluZyA/IDAgOiAxXCIgW0BmYWRlXT1cImxvYWRpbmcgPyAnZmFkZU91dCcgOiAnZmFkZUluJ1wiIFtzcmNdPVwib2JqZWN0RGF0YVwiICNpbWc+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -14,9 +14,9 @@ export class ProgressButtonDirective {
14
14
  this.renderer.setStyle(this._progressDiv, 'width', `${this.progressIndicator}%`);
15
15
  }
16
16
  }
17
- ProgressButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ProgressButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
18
- ProgressButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: ProgressButtonDirective, selector: "button[progressIndicator]", inputs: { progressIndicator: "progressIndicator" }, usesOnChanges: true, ngImport: i0 });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ProgressButtonDirective, decorators: [{
17
+ ProgressButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ProgressButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
18
+ ProgressButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ProgressButtonDirective, selector: "button[progressIndicator]", inputs: { progressIndicator: "progressIndicator" }, usesOnChanges: true, ngImport: i0 });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ProgressButtonDirective, decorators: [{
20
20
  type: Directive,
21
21
  args: [{ selector: 'button[progressIndicator]' }]
22
22
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { progressIndicator: [{
@@ -19,9 +19,9 @@ export class CanDeactivateCompose {
19
19
  return true;
20
20
  }
21
21
  }
22
- CanDeactivateCompose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CanDeactivateCompose, deps: [{ token: i1.PromptService }], target: i0.ɵɵFactoryTarget.Injectable });
23
- CanDeactivateCompose.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CanDeactivateCompose });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CanDeactivateCompose, decorators: [{
22
+ CanDeactivateCompose.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CanDeactivateCompose, deps: [{ token: i1.PromptService }], target: i0.ɵɵFactoryTarget.Injectable });
23
+ CanDeactivateCompose.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CanDeactivateCompose });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CanDeactivateCompose, decorators: [{
25
25
  type: Injectable
26
26
  }], ctorParameters: function () { return [{ type: i1.PromptService }]; } });
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRlYWN0aXZhdGUtY2hhbmdlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2Nhbi1kZWFjdGl2YXRlLWNoYW5nZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFvQixHQUFrQjtRQUFsQixRQUFHLEdBQUgsR0FBRyxDQUFlO0lBQ3RDLENBQUM7SUFDRCxhQUFhLENBQUMsU0FBMkIsRUFBRSxhQUFxQyxFQUFFLGFBQWtDLEVBQUUsVUFBZ0M7UUFDcEosSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUN2SSxJQUFJLEVBQUU7b0JBQ0osT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs7b0JBRWpDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUM7O1lBQ0QsT0FBTyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7aUhBWlUsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FuRGVhY3RpdmF0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbXBvc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UubW9iaWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2FuRGVhY3RpdmF0ZUNvbXBvc2UgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPENvbXBvc2VDb21wb25lbnQ+IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSkge1xyXG4gIH1cclxuICBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogQ29tcG9zZUNvbXBvbmVudCwgX2N1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgX2N1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgX25leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xyXG4gICAgaWYgKGNvbXBvbmVudC5mb3JtLmRpcnR5KVxyXG4gICAgICByZXR1cm4gdGhpcy5fc2IuYXNrKCdTYXZlQ2hhbmdlc0FzaycsICdTYXZlQ2hhbmdlcycsIHsgaTE4bjogdHJ1ZSwgY29sb3I6ICdwcmltYXJ5Jywgb2s6ICdTYXZlJywgY2FuY2VsOiAnSWdub3JlJyB9KS5waXBlKHN3aXRjaE1hcChvayA9PiB7XHJcbiAgICAgICAgaWYgKG9rKVxyXG4gICAgICAgICAgcmV0dXJuIGNvbXBvbmVudC5mb3JtLnNhdmUodHJ1ZSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gICAgICB9KSk7XHJcbiAgICBlbHNlIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -27,9 +27,9 @@ export class CommentsPaneComponent {
27
27
  this._destroy.complete();
28
28
  }
29
29
  }
30
- CommentsPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentsPaneComponent, deps: [{ token: i1.TranslateService }, { token: i2.PaneRef }], target: i0.ɵɵFactoryTarget.Component });
31
- CommentsPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CommentsPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "_comments", first: true, predicate: CommentsComponent, descendants: true, static: true }], ngImport: i0, template: `<bizdoc-comments [model]=model></bizdoc-comments>`, isInline: true, styles: [":host{min-width:320px}\n"], components: [{ type: i3.CommentsComponent, selector: "bizdoc-comments", inputs: ["model"], outputs: ["change"] }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentsPaneComponent, decorators: [{
30
+ CommentsPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentsPaneComponent, deps: [{ token: i1.TranslateService }, { token: i2.PaneRef }], target: i0.ɵɵFactoryTarget.Component });
31
+ CommentsPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CommentsPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "_comments", first: true, predicate: CommentsComponent, descendants: true, static: true }], ngImport: i0, template: `<bizdoc-comments [model]=model></bizdoc-comments>`, isInline: true, styles: [":host{min-width:320px}\n"], components: [{ type: i3.CommentsComponent, selector: "bizdoc-comments", inputs: ["model"], outputs: ["change"] }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentsPaneComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{
35
35
  template: `<bizdoc-comments [model]=model></bizdoc-comments>`,
@@ -27,7 +27,8 @@ import * as i16 from "@angular/cdk/bidi";
27
27
  import * as i17 from "../../core/tagging/tagging.pipe";
28
28
  import * as i18 from "../../core/pipes/translate.pipe";
29
29
  import * as i19 from "../../core/pipes/sanitize-html.pipe";
30
- import * as i20 from "ngx-moment";
30
+ import * as i20 from "../../core/pipes/calendar.pipe";
31
+ import * as i21 from "../../core/pipes/time-ago.pipe";
31
32
  /** comment component*/
32
33
  export class CommentComponent {
33
34
  constructor(_session, _ps, _translate, _chat, _accounts, _popup, _overlay, _mailbox, _vc, _config) {
@@ -157,9 +158,9 @@ export class CommentComponent {
157
158
  });
158
159
  }
159
160
  }
160
- CommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentComponent, deps: [{ token: i1.SessionService }, { token: i2.PromptService }, { token: i3.TranslateService }, { token: i4.ChatInfo }, { token: i5.AccountService }, { token: i6.Popup }, { token: i7.Overlay }, { token: i8.MailboxService }, { token: i0.ViewContainerRef }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
161
- CommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CommentComponent, selector: "bizdoc-comment", inputs: { model: "model", item: "item" }, outputs: { deleted: "deleted", reply: "reply" }, host: { classAttribute: "comment" }, viewQueries: [{ propertyName: "bodyElement", first: true, predicate: ["body"], descendants: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"comment-body\" #body>\r\n <div [innerHTML]=\"item.text|taggingHtml:item.resource\" class=\"comment-text\"></div>\r\n <img *ngIf=\"item.image\" [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview()\" />\r\n </div>\r\n <button mat-icon-button *ngIf=\"me\" [matMenuTriggerFor]=\"menu\" class=\"tool\" (click)=\"$event.stopPropagation()\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #menu>\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"edit()\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete()\">{{'Delete'|translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"column\">\r\n <span [innerHTML]=\"name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <div>\r\n <small fxFlex bizdocTooltip=\"{{item.edited || item.time | amCalendar }}\">{{item.edited || item.time | amTimeAgo}}</small>\r\n <ng-container *ngIf=\"item.edited\">\r\n &nbsp;<a (click)=\"edits()\" class=\"modification\">{{'Edited'| translate}}</a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!me\">\r\n &nbsp;<a (click)=\"reply.emit()\" class=\"modification\">{{'Reply'| translate}}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"comment-actions\" *ngIf=\"voting\">\r\n <a *ngIf=\"item.votes > 0 || item.votes < 0\" [class.score-negative]=\"item.votes < 0\" class=\"comment-score\" dir=\"ltr\" (click)=\"votes()\" [bizdocTooltip]=\"'Votes'|translate\">{{item.votes}}</a>\r\n <button mat-icon-button (click)=\"vote(1, $event)\" [class.voted-true]=\"item.voted===1\" ><mat-icon>thumb_up_alt</mat-icon></button>\r\n <button mat-icon-button (click)=\"vote(-1, $event)\" [class.voted-false]=\"item.voted===-1\" ><mat-icon>thumb_down_alt</mat-icon></button>\r\n </div>\r\n</div>\r\n<ng-template #previewTemplate>\r\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\r\n</ng-template>\r\n", components: [{ type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i14.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i16.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }], pipes: { "taggingHtml": i17.TaggingPipe, "translate": i18.TranslatePipe, "sanitizeHtml": i19.SanitizeHtmlPipe, "amCalendar": i20.CalendarPipe, "amTimeAgo": i20.TimeAgoPipe } });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentComponent, decorators: [{
161
+ CommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentComponent, deps: [{ token: i1.SessionService }, { token: i2.PromptService }, { token: i3.TranslateService }, { token: i4.ChatInfo }, { token: i5.AccountService }, { token: i6.Popup }, { token: i7.Overlay }, { token: i8.MailboxService }, { token: i0.ViewContainerRef }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
162
+ CommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CommentComponent, selector: "bizdoc-comment", inputs: { model: "model", item: "item" }, outputs: { deleted: "deleted", reply: "reply" }, host: { classAttribute: "comment" }, viewQueries: [{ propertyName: "bodyElement", first: true, predicate: ["body"], descendants: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"comment-body\" #body>\r\n <div [innerHTML]=\"item.text|taggingHtml:item.resource\" class=\"comment-text\"></div>\r\n <img *ngIf=\"item.image\" [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview()\" />\r\n </div>\r\n <button mat-icon-button *ngIf=\"me\" [matMenuTriggerFor]=\"menu\" class=\"tool\" (click)=\"$event.stopPropagation()\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #menu>\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"edit()\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete()\">{{'Delete'|translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"column\">\r\n <span [innerHTML]=\"name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <div>\r\n <small fxFlex bizdocTooltip=\"{{item.edited || item.time | amCalendar }}\">{{item.edited || item.time | amTimeAgo}}</small>\r\n <ng-container *ngIf=\"item.edited\">\r\n &nbsp;<a (click)=\"edits()\" class=\"modification\">{{'Edited'| translate}}</a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!me\">\r\n &nbsp;<a (click)=\"reply.emit()\" class=\"modification\">{{'Reply'| translate}}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"comment-actions\" *ngIf=\"voting\">\r\n <a *ngIf=\"item.votes > 0 || item.votes < 0\" [class.score-negative]=\"item.votes < 0\" class=\"comment-score\" dir=\"ltr\" (click)=\"votes()\" [bizdocTooltip]=\"'Votes'|translate\">{{item.votes}}</a>\r\n <button mat-icon-button (click)=\"vote(1, $event)\" [class.voted-true]=\"item.voted===1\" ><mat-icon>thumb_up_alt</mat-icon></button>\r\n <button mat-icon-button (click)=\"vote(-1, $event)\" [class.voted-false]=\"item.voted===-1\" ><mat-icon>thumb_down_alt</mat-icon></button>\r\n </div>\r\n</div>\r\n<ng-template #previewTemplate>\r\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\r\n</ng-template>\r\n", components: [{ type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i14.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i16.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }], pipes: { "taggingHtml": i17.TaggingPipe, "translate": i18.TranslatePipe, "sanitizeHtml": i19.SanitizeHtmlPipe, "amCalendar": i20.CalendarPipe, "amTimeAgo": i21.TimeAgoPipe } });
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentComponent, decorators: [{
163
164
  type: Component,
164
165
  args: [{ selector: 'bizdoc-comment', host: {
165
166
  class: 'comment'
@@ -182,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
182
183
  type: ViewChild,
183
184
  args: ['previewTemplate']
184
185
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvY29tbWVudHMvY29tbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvY29tbWVudHMvY29tbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT3ZFLE9BQU8sRUFBZSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RSxPQUFPLEVBQW1CLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXM0UsdUJBQXVCO0FBQ3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxRQUF3QixFQUN4QixHQUFrQixFQUNsQixVQUE0QixFQUM1QixLQUFlLEVBQ2YsU0FBeUIsRUFDekIsTUFBYSxFQUNiLFFBQWlCLEVBQ2pCLFFBQXdCLEVBQ3hCLEdBQXFCLEVBQ0UsT0FBcUI7UUFU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Q0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMzSCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUU7WUFDaEMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO1NBQ2YsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OzZHQW5JVSxnQkFBZ0IsNlFBb0JqQixhQUFhO2lHQXBCWixnQkFBZ0IsZ1lDM0I3Qix1aEVBb0NBOzJGRFRhLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxnQkFBZ0IsUUFFcEI7d0JBQ0osS0FBSyxFQUFFLFNBQVM7cUJBQ2pCOzswQkF1QkUsTUFBTTsyQkFBQyxhQUFhOzRDQW5CZCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVhLE9BQU87c0JBQXpCLE1BQU07Z0JBQ1ksS0FBSztzQkFBdkIsTUFBTTtnQkFDWSxXQUFXO3NCQUE3QixTQUFTO3VCQUFDLE1BQU07Z0JBQ2EsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbmplY3QsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IENvbW1lbnQsIERvY3VtZW50TW9kZWwsIFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gXCIuLi8uLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tbWVudERhdGEsIEVkaXRDb21tZW50Q29tcG9uZW50IH0gZnJvbSAnLi9lZGl0LWNvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbWVudEVkaXRzQ29tcG9uZW50LCBDb21tZW50VmVyc2lvbkRhdGEgfSBmcm9tICcuL2VkaXRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1lbnRWb3RlRGF0YSwgQ29tbWVudExpa2VzQ29tcG9uZW50IH0gZnJvbSAnLi92b3Rlcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhdEluZm8gfSBmcm9tICcuLi8uLi9jaGF0L2NoYXQtaW5mbyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jb21tZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdjb21tZW50J1xyXG4gIH1cclxufSlcclxuLyoqIGNvbW1lbnQgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIENvbW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG1vZGVsITogRG9jdW1lbnRNb2RlbDxhbnk+O1xyXG4gIEBJbnB1dCgpIGl0ZW0hOiBDb21tZW50O1xyXG4gIHZvdGluZzogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgcmVwbHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgnYm9keScpIGJvZHlFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3ByZXZpZXdUZW1wbGF0ZScpIHByZXZpZXdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBuYW1lOiBzdHJpbmcgPSAnJztcclxuICBtZTogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHM6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGF0OiBDaGF0SW5mbyxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3BvcHVwOiBQb3B1cCxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgdGhpcy52b3RpbmcgPSAhX2NvbmZpZy5jb21tZW50cyB8fCBfY29uZmlnLmNvbW1lbnRzLnZvdGluZyAhPT0gZmFsc2U7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbWUgPSB0aGlzLl9zZXNzaW9uLnVzZXJJZCwgeW91ID0gb2YoJ3lvdScpO1xyXG4gICAgdGhpcy5tZSA9ICh0aGlzLml0ZW0uYnlJZCB8fCB0aGlzLml0ZW0udXNlcklkKSA9PT0gbWU7XHJcbiAgICBjb25zdCB3aG9zOiBbT2JzZXJ2YWJsZTxhbnk+XSA9IFt0aGlzLml0ZW0udXNlcklkID09PSBtZSA/IHlvdSA6IHRoaXMuX2FjY291bnRzLmdldCh0aGlzLml0ZW0udXNlcklkKV07XHJcbiAgICBpZiAodGhpcy5pdGVtLmJ5SWQpXHJcbiAgICAgIHdob3MucHVzaCh0aGlzLml0ZW0uYnlJZCA9PT0gbWUgPyB5b3UgOiB0aGlzLl9hY2NvdW50cy5nZXQodGhpcy5pdGVtLmJ5SWQpKTtcclxuICAgIGlmICh0aGlzLml0ZW0ucGFyZW50SWQpIHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5tb2RlbC5jb21tZW50cy5maW5kKGMgPT4gYy5pZCA9PSB0aGlzLml0ZW0ucGFyZW50SWQpLCB3aG8gPSBwYXJlbnQuYnlJZCB8fCBwYXJlbnQudXNlcklkO1xyXG4gICAgICB3aG9zLnB1c2god2hvID09IG1lID8geW91IDogdGhpcy5fYWNjb3VudHMuZ2V0KHdobykpO1xyXG4gICAgfVxyXG4gICAgZm9ya0pvaW4od2hvcykuc3Vic2NyaWJlKHRoaXMuX25hbWUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25hbWUodXM6IE9ic2VydmFibGU8VXNlckluZm8gfCAneW91Jz4pIHtcclxuICAgIGlmICh1c1swXSA9PT0gJ3lvdScpXHJcbiAgICAgIHRoaXMubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdScpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudCh1c1swXSBhcyBVc2VySW5mbyk7XHJcbiAgICBpZiAodGhpcy5pdGVtLmJ5SWQpIHtcclxuICAgICAgaWYgKHVzWzFdID09PSAneW91JylcclxuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdCeVlvdScsIHRoaXMubmFtZSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdCeScsIHRoaXMubmFtZSwgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQodXNbMV0gYXMgVXNlckluZm8pKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLml0ZW0ucGFyZW50SWQpIHtcclxuICAgICAgY29uc3Qgd2hvID0gdXNbMl0gfHwgdXNbMV07XHJcbiAgICAgIGlmICh3aG8gPT09ICd5b3UnKVxyXG4gICAgICAgIHRoaXMubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1JlcGx5aW5nVG9Zb3UnLCB0aGlzLm5hbWUpO1xyXG4gICAgICBlbHNlIGlmICh1c1swXSA9PT0gJ3lvdScpXHJcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91UmVwbGllZFRvJywgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQod2hvIGFzIFVzZXJJbmZvKSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdSZXBseWluZ1RvJywgdGhpcy5uYW1lLCB0aGlzLl9mb3JtYXRVc2VyRWxlbWVudCh3aG8gYXMgVXNlckluZm8pKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfZm9ybWF0VXNlckVsZW1lbnQocGVyc29uOiBVc2VySW5mbykge1xyXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5jaGF0aW5nICE9PSBmYWxzZSlcclxuICAgICAgcmV0dXJuIHRoaXMuX2NoYXQuZm9ybWF0KHBlcnNvbik7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBwZXJzb24ubmljayB8fCBwZXJzb24ubmFtZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2hhdFxyXG4gICAqIEBwYXJhbSBlXHJcbiAgICovXHJcbiAgY2hhdChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCB1c2VySWQgPSAoZS5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5mbycpO1xyXG4gICAgdXNlcklkICYmXHJcbiAgICAgIHRoaXMuX2NoYXQub3Blbih1c2VySWQpO1xyXG4gIH1cclxuICB2b3RlKHZhbHVlOiBudW1iZXIsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB2YWx1ZSA9IHRoaXMuaXRlbS52b3RlZCAhPT0gdmFsdWUgPyB2YWx1ZSA6IDA7XHJcbiAgICB0aGlzLl9tYWlsYm94LnZvdGUodGhpcy5tb2RlbC5kb2N1bWVudElkLCB0aGlzLml0ZW0uaWQsIHZhbHVlKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pdGVtLnZvdGVzID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhpcy5pdGVtLnZvdGVzID0gdmFsdWU7XHJcbiAgICAgIGVsc2UgaWYgKHZhbHVlID09PSAwKVxyXG4gICAgICAgIHRoaXMuaXRlbS52b3RlcyAtPSB0aGlzLml0ZW0udm90ZWQ7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLml0ZW0udm90ZXMgKz0gdmFsdWUgLSAodGhpcy5pdGVtLnZvdGVkIHx8IDApO1xyXG4gICAgICBpZiAodGhpcy5pdGVtLnZvdGVzID09PSAwKSB0aGlzLml0ZW0udm90ZXMgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuaXRlbS52b3RlZCA9IHZhbHVlICE9PSAwID8gdmFsdWUgOiB1bmRlZmluZWQ7XHJcbiAgICB9KTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuICBlZGl0KCkge1xyXG4gICAgY29uc3QgeyBpZCwgdGV4dCwgcmVzb3VyY2UsIGltYWdlIH0gPSB0aGlzLml0ZW07XHJcbiAgICB0aGlzLl9vcGVuKEVkaXRDb21tZW50Q29tcG9uZW50LCB7XHJcbiAgICAgIGlkLCB0ZXh0LCByZXNvdXJjZSwgaW1hZ2UsXHJcbiAgICAgIGRvY3VtZW50SWQ6IHRoaXMubW9kZWwuZG9jdW1lbnRJZFxyXG4gICAgfSBhcyBDb21tZW50RGF0YSkuY2xvc2VkLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgYyAmJlxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5pdGVtLCB7IGltYWdlOiBudWxsLCB0ZXh0OiBudWxsIH0sIGMpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfb3Blbihjb21wb25lbnQsIGRhdGEpIHtcclxuICAgIHJldHVybiB0aGlzLl9wb3B1cC5vcGVuKGNvbXBvbmVudCwgdGhpcy5ib2R5RWxlbWVudCwgeyBwb3NpdGlvbjogJ3N0YXJ0JywgZGF0YSB9KTtcclxuICB9XHJcbiAgZGVsZXRlKCkge1xyXG4gICAgdGhpcy5fcHMuYXNrKCdEZWxldGVDb21tZW50QXNrJywgbnVsbCwge1xyXG4gICAgICBvazogJ0RlbGV0ZScsXHJcbiAgICAgIGNvbG9yOiAnd2FybidcclxuICAgIH0pLnN1YnNjcmliZShvayA9PiB7XHJcbiAgICAgIG9rICYmIHRoaXMuX21haWxib3gucmVtb3ZlY29tbWVudCh0aGlzLml0ZW0uaWQpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pdGVtLmRlbGV0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGVsZXRlZC5lbWl0KCk7XHJcbiAgICAgIH0sICgpID0+IHRoaXMuX3BzLmVycm9yKCkpO1xyXG4gICAgfSlcclxuICB9XHJcbiAgZWRpdHMoKSB7XHJcbiAgICB0aGlzLl9vcGVuKENvbW1lbnRFZGl0c0NvbXBvbmVudCwge1xyXG4gICAgICBpZDogdGhpcy5pdGVtLmlkLFxyXG4gICAgICBieUlkOiB0aGlzLml0ZW0uYnlJZCxcclxuICAgICAgcmVzb3VyY2U6IHRoaXMuaXRlbS5yZXNvdXJjZSxcclxuICAgICAgZG9jdW1lbnRJZDogdGhpcy5tb2RlbC5kb2N1bWVudElkXHJcbiAgICB9IGFzIENvbW1lbnRWZXJzaW9uRGF0YSk7XHJcbiAgfVxyXG4gIHByZXZpZXcoKSB7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgIH0pO1xyXG4gICAgb1JlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucHJldmlld1RlbXBsYXRlLCB0aGlzLl92YykpO1xyXG4gICAgbWVyZ2Uob1JlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoayA9PiBrLmtleUNvZGUgPT09IEVTQ0FQRSkpLCBvUmVmLmJhY2tkcm9wQ2xpY2soKSkuc3Vic2NyaWJlKCgpID0+IG9SZWYuZGV0YWNoKCkpO1xyXG4gIH1cclxuICB2b3RlcygpIHtcclxuICAgIHRoaXMuX29wZW4oQ29tbWVudExpa2VzQ29tcG9uZW50LCB7XHJcbiAgICAgIGlkOiB0aGlzLml0ZW0uaWQsXHJcbiAgICAgIGRvY3VtZW50SWQ6IHRoaXMubW9kZWwuZG9jdW1lbnRJZFxyXG4gICAgfSBhcyBDb21tZW50Vm90ZURhdGEpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYm9keVwiICNib2R5PlxyXG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0udGV4dHx0YWdnaW5nSHRtbDppdGVtLnJlc291cmNlXCIgY2xhc3M9XCJjb21tZW50LXRleHRcIj48L2Rpdj5cclxuICAgIDxpbWcgKm5nSWY9XCJpdGVtLmltYWdlXCIgW3NyY109XCInZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcraXRlbS5pbWFnZVwiIGFsdD1cIlwiIChjbGljayk9XCJwcmV2aWV3KClcIiAvPlxyXG4gIDwvZGl2PlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwibWVcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGNsYXNzPVwidG9vbFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI21lbnU+XHJcbiAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZWRpdCgpXCI+e3snRWRpdCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZGVsZXRlKClcIj57eydEZWxldGUnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJuYW1lIHwgc2FuaXRpemVIdG1sXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiPjwvc3Bhbj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxzbWFsbCBmeEZsZXggYml6ZG9jVG9vbHRpcD1cInt7aXRlbS5lZGl0ZWQgfHwgaXRlbS50aW1lIHwgYW1DYWxlbmRhciB9fVwiPnt7aXRlbS5lZGl0ZWQgfHwgaXRlbS50aW1lIHwgYW1UaW1lQWdvfX08L3NtYWxsPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5lZGl0ZWRcIj5cclxuICAgICAgICAmbmJzcDs8YSAoY2xpY2spPVwiZWRpdHMoKVwiIGNsYXNzPVwibW9kaWZpY2F0aW9uXCI+e3snRWRpdGVkJ3wgdHJhbnNsYXRlfX08L2E+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1lXCI+XHJcbiAgICAgICAgJm5ic3A7PGEgKGNsaWNrKT1cInJlcGx5LmVtaXQoKVwiIGNsYXNzPVwibW9kaWZpY2F0aW9uXCI+e3snUmVwbHknfCB0cmFuc2xhdGV9fTwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29tbWVudC1hY3Rpb25zXCIgKm5nSWY9XCJ2b3RpbmdcIj5cclxuICAgIDxhICpuZ0lmPVwiaXRlbS52b3RlcyA+IDAgfHwgaXRlbS52b3RlcyA8IDBcIiBbY2xhc3Muc2NvcmUtbmVnYXRpdmVdPVwiaXRlbS52b3RlcyA8IDBcIiBjbGFzcz1cImNvbW1lbnQtc2NvcmVcIiBkaXI9XCJsdHJcIiAoY2xpY2spPVwidm90ZXMoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidWb3Rlcyd8dHJhbnNsYXRlXCI+e3tpdGVtLnZvdGVzfX08L2E+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidm90ZSgxLCAkZXZlbnQpXCIgW2NsYXNzLnZvdGVkLXRydWVdPVwiaXRlbS52b3RlZD09PTFcIiA+PG1hdC1pY29uPnRodW1iX3VwX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidm90ZSgtMSwgJGV2ZW50KVwiIFtjbGFzcy52b3RlZC1mYWxzZV09XCJpdGVtLnZvdGVkPT09LTFcIiA+PG1hdC1pY29uPnRodW1iX2Rvd25fYWx0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjcHJldmlld1RlbXBsYXRlPlxyXG4gIDxpbWcgW3NyY109XCInZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcraXRlbS5pbWFnZVwiIGFsdD1cIlwiIC8+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvY29tbWVudHMvY29tbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvY29tbWVudHMvY29tbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT3ZFLE9BQU8sRUFBZSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RSxPQUFPLEVBQW1CLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzNFLHVCQUF1QjtBQUN2QixNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQ1UsUUFBd0IsRUFDeEIsR0FBa0IsRUFDbEIsVUFBNEIsRUFDNUIsS0FBZSxFQUNmLFNBQXlCLEVBQ3pCLE1BQWEsRUFDYixRQUFpQixFQUNqQixRQUF3QixFQUN4QixHQUFxQixFQUNFLE9BQXFCO1FB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LENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFO1lBQ2hDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUNmLENBQUMsQ0FBQztJQUN4QixDQUFDOzs2R0FuSVUsZ0JBQWdCLDZRQW9CakIsYUFBYTtpR0FwQlosZ0JBQWdCLGdZQzNCN0IsdWhFQW9DQTsyRkRUYSxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLFFBRXBCO3dCQUNKLEtBQUssRUFBRSxTQUFTO3FCQUNqQjs7MEJBdUJFLE1BQU07MkJBQUMsYUFBYTs0Q0FuQmQsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFYSxPQUFPO3NCQUF6QixNQUFNO2dCQUNZLEtBQUs7c0JBQXZCLE1BQU07Z0JBQ1ksV0FBVztzQkFBN0IsU0FBUzt1QkFBQyxNQUFNO2dCQUNhLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5qZWN0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDb21tZW50LCBEb2N1bWVudE1vZGVsLCBVc2VySW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tIFwiLi4vLi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbW1lbnREYXRhLCBFZGl0Q29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vZWRpdC1jb21tZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1lbnRFZGl0c0NvbXBvbmVudCwgQ29tbWVudFZlcnNpb25EYXRhIH0gZnJvbSAnLi9lZGl0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tZW50Vm90ZURhdGEsIENvbW1lbnRMaWtlc0NvbXBvbmVudCB9IGZyb20gJy4vdm90ZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRJbmZvIH0gZnJvbSAnLi4vLi4vY2hhdC9jaGF0LWluZm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY29tbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnY29tbWVudCdcclxuICB9XHJcbn0pXHJcbi8qKiBjb21tZW50IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBDb21tZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlbCE6IERvY3VtZW50TW9kZWw8YW55PjtcclxuICBASW5wdXQoKSBpdGVtITogQ29tbWVudDtcclxuICB2b3Rpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGRlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHJlcGx5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2JvZHknKSBib2R5RWxlbWVudDogRWxlbWVudFJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdwcmV2aWV3VGVtcGxhdGUnKSBwcmV2aWV3VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgbWU6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhdDogQ2hhdEluZm8sXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wb3B1cDogUG9wdXAsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHRoaXMudm90aW5nID0gIV9jb25maWcuY29tbWVudHMgfHwgX2NvbmZpZy5jb21tZW50cy52b3RpbmcgIT09IGZhbHNlO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG1lID0gdGhpcy5fc2Vzc2lvbi51c2VySWQsIHlvdSA9IG9mKCd5b3UnKTtcclxuICAgIHRoaXMubWUgPSAodGhpcy5pdGVtLmJ5SWQgfHwgdGhpcy5pdGVtLnVzZXJJZCkgPT09IG1lO1xyXG4gICAgY29uc3Qgd2hvczogW09ic2VydmFibGU8YW55Pl0gPSBbdGhpcy5pdGVtLnVzZXJJZCA9PT0gbWUgPyB5b3UgOiB0aGlzLl9hY2NvdW50cy5nZXQodGhpcy5pdGVtLnVzZXJJZCldO1xyXG4gICAgaWYgKHRoaXMuaXRlbS5ieUlkKVxyXG4gICAgICB3aG9zLnB1c2godGhpcy5pdGVtLmJ5SWQgPT09IG1lID8geW91IDogdGhpcy5fYWNjb3VudHMuZ2V0KHRoaXMuaXRlbS5ieUlkKSk7XHJcbiAgICBpZiAodGhpcy5pdGVtLnBhcmVudElkKSB7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMubW9kZWwuY29tbWVudHMuZmluZChjID0+IGMuaWQgPT0gdGhpcy5pdGVtLnBhcmVudElkKSwgd2hvID0gcGFyZW50LmJ5SWQgfHwgcGFyZW50LnVzZXJJZDtcclxuICAgICAgd2hvcy5wdXNoKHdobyA9PSBtZSA/IHlvdSA6IHRoaXMuX2FjY291bnRzLmdldCh3aG8pKTtcclxuICAgIH1cclxuICAgIGZvcmtKb2luKHdob3MpLnN1YnNjcmliZSh0aGlzLl9uYW1lLmJpbmQodGhpcykpO1xyXG4gIH1cclxuICBwcml2YXRlIF9uYW1lKHVzOiBPYnNlcnZhYmxlPFVzZXJJbmZvIHwgJ3lvdSc+KSB7XHJcbiAgICBpZiAodXNbMF0gPT09ICd5b3UnKVxyXG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3UnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5uYW1lID0gdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQodXNbMF0gYXMgVXNlckluZm8pO1xyXG4gICAgaWYgKHRoaXMuaXRlbS5ieUlkKSB7XHJcbiAgICAgIGlmICh1c1sxXSA9PT0gJ3lvdScpXHJcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnlZb3UnLCB0aGlzLm5hbWUpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnknLCB0aGlzLm5hbWUsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHVzWzFdIGFzIFVzZXJJbmZvKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pdGVtLnBhcmVudElkKSB7XHJcbiAgICAgIGNvbnN0IHdobyA9IHVzWzJdIHx8IHVzWzFdO1xyXG4gICAgICBpZiAod2hvID09PSAneW91JylcclxuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdSZXBseWluZ1RvWW91JywgdGhpcy5uYW1lKTtcclxuICAgICAgZWxzZSBpZiAodXNbMF0gPT09ICd5b3UnKVxyXG4gICAgICAgIHRoaXMubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdVJlcGxpZWRUbycsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHdobyBhcyBVc2VySW5mbykpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnUmVwbHlpbmdUbycsIHRoaXMubmFtZSwgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQod2hvIGFzIFVzZXJJbmZvKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Zvcm1hdFVzZXJFbGVtZW50KHBlcnNvbjogVXNlckluZm8pIHtcclxuICAgIGlmICh0aGlzLl9jb25maWcuY2hhdGluZyAhPT0gZmFsc2UpXHJcbiAgICAgIHJldHVybiB0aGlzLl9jaGF0LmZvcm1hdChwZXJzb24pO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gcGVyc29uLm5pY2sgfHwgcGVyc29uLm5hbWU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENoYXRcclxuICAgKiBAcGFyYW0gZVxyXG4gICAqL1xyXG4gIGNoYXQoZTogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdXNlcklkID0gKGUuc3JjRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdkYXRhLWluZm8nKTtcclxuICAgIHVzZXJJZCAmJlxyXG4gICAgICB0aGlzLl9jaGF0Lm9wZW4odXNlcklkKTtcclxuICB9XHJcbiAgdm90ZSh2YWx1ZTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdmFsdWUgPSB0aGlzLml0ZW0udm90ZWQgIT09IHZhbHVlID8gdmFsdWUgOiAwO1xyXG4gICAgdGhpcy5fbWFpbGJveC52b3RlKHRoaXMubW9kZWwuZG9jdW1lbnRJZCwgdGhpcy5pdGVtLmlkLCB2YWx1ZSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaXRlbS52b3RlcyA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRoaXMuaXRlbS52b3RlcyA9IHZhbHVlO1xyXG4gICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gMClcclxuICAgICAgICB0aGlzLml0ZW0udm90ZXMgLT0gdGhpcy5pdGVtLnZvdGVkO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5pdGVtLnZvdGVzICs9IHZhbHVlIC0gKHRoaXMuaXRlbS52b3RlZCB8fCAwKTtcclxuICAgICAgaWYgKHRoaXMuaXRlbS52b3RlcyA9PT0gMCkgdGhpcy5pdGVtLnZvdGVzID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLml0ZW0udm90ZWQgPSB2YWx1ZSAhPT0gMCA/IHZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgfSk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgZWRpdCgpIHtcclxuICAgIGNvbnN0IHsgaWQsIHRleHQsIHJlc291cmNlLCBpbWFnZSB9ID0gdGhpcy5pdGVtO1xyXG4gICAgdGhpcy5fb3BlbihFZGl0Q29tbWVudENvbXBvbmVudCwge1xyXG4gICAgICBpZCwgdGV4dCwgcmVzb3VyY2UsIGltYWdlLFxyXG4gICAgICBkb2N1bWVudElkOiB0aGlzLm1vZGVsLmRvY3VtZW50SWRcclxuICAgIH0gYXMgQ29tbWVudERhdGEpLmNsb3NlZC5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGMgJiZcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuaXRlbSwgeyBpbWFnZTogbnVsbCwgdGV4dDogbnVsbCB9LCBjKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX29wZW4oY29tcG9uZW50LCBkYXRhKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcG9wdXAub3Blbihjb21wb25lbnQsIHRoaXMuYm9keUVsZW1lbnQsIHsgcG9zaXRpb246ICdzdGFydCcsIGRhdGEgfSk7XHJcbiAgfVxyXG4gIGRlbGV0ZSgpIHtcclxuICAgIHRoaXMuX3BzLmFzaygnRGVsZXRlQ29tbWVudEFzaycsIG51bGwsIHtcclxuICAgICAgb2s6ICdEZWxldGUnLFxyXG4gICAgICBjb2xvcjogJ3dhcm4nXHJcbiAgICB9KS5zdWJzY3JpYmUob2sgPT4ge1xyXG4gICAgICBvayAmJiB0aGlzLl9tYWlsYm94LnJlbW92ZWNvbW1lbnQodGhpcy5pdGVtLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbS5kZWxldGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRlbGV0ZWQuZW1pdCgpO1xyXG4gICAgICB9LCAoKSA9PiB0aGlzLl9wcy5lcnJvcigpKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGVkaXRzKCkge1xyXG4gICAgdGhpcy5fb3BlbihDb21tZW50RWRpdHNDb21wb25lbnQsIHtcclxuICAgICAgaWQ6IHRoaXMuaXRlbS5pZCxcclxuICAgICAgYnlJZDogdGhpcy5pdGVtLmJ5SWQsXHJcbiAgICAgIHJlc291cmNlOiB0aGlzLml0ZW0ucmVzb3VyY2UsXHJcbiAgICAgIGRvY3VtZW50SWQ6IHRoaXMubW9kZWwuZG9jdW1lbnRJZFxyXG4gICAgfSBhcyBDb21tZW50VmVyc2lvbkRhdGEpO1xyXG4gIH1cclxuICBwcmV2aWV3KCkge1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXHJcbiAgICB9KTtcclxuICAgIG9SZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnByZXZpZXdUZW1wbGF0ZSwgdGhpcy5fdmMpKTtcclxuICAgIG1lcmdlKG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXlDb2RlID09PSBFU0NBUEUpKSwgb1JlZi5iYWNrZHJvcENsaWNrKCkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcbiAgdm90ZXMoKSB7XHJcbiAgICB0aGlzLl9vcGVuKENvbW1lbnRMaWtlc0NvbXBvbmVudCwge1xyXG4gICAgICBpZDogdGhpcy5pdGVtLmlkLFxyXG4gICAgICBkb2N1bWVudElkOiB0aGlzLm1vZGVsLmRvY3VtZW50SWRcclxuICAgIH0gYXMgQ29tbWVudFZvdGVEYXRhKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb21tZW50LWJvZHlcIiAjYm9keT5cclxuICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtLnRleHR8dGFnZ2luZ0h0bWw6aXRlbS5yZXNvdXJjZVwiIGNsYXNzPVwiY29tbWVudC10ZXh0XCI+PC9kaXY+XHJcbiAgICA8aW1nICpuZ0lmPVwiaXRlbS5pbWFnZVwiIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAoY2xpY2spPVwicHJldmlldygpXCIgLz5cclxuICA8L2Rpdj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cIm1lXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cInRvb2xcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNtZW51PlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImVkaXQoKVwiPnt7J0VkaXQnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZSgpXCI+e3snRGVsZXRlJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L21hdC1tZW51PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibmFtZSB8IHNhbml0aXplSHRtbFwiIChjbGljayk9XCJjaGF0KCRldmVudClcIj48L3NwYW4+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8c21hbGwgZnhGbGV4IGJpemRvY1Rvb2x0aXA9XCJ7e2l0ZW0uZWRpdGVkIHx8IGl0ZW0udGltZSB8IGFtQ2FsZW5kYXIgfX1cIj57e2l0ZW0uZWRpdGVkIHx8IGl0ZW0udGltZSB8IGFtVGltZUFnb319PC9zbWFsbD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZWRpdGVkXCI+XHJcbiAgICAgICAgJm5ic3A7PGEgKGNsaWNrKT1cImVkaXRzKClcIiBjbGFzcz1cIm1vZGlmaWNhdGlvblwiPnt7J0VkaXRlZCd8IHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtZVwiPlxyXG4gICAgICAgICZuYnNwOzxhIChjbGljayk9XCJyZXBseS5lbWl0KClcIiBjbGFzcz1cIm1vZGlmaWNhdGlvblwiPnt7J1JlcGx5J3wgdHJhbnNsYXRlfX08L2E+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYWN0aW9uc1wiICpuZ0lmPVwidm90aW5nXCI+XHJcbiAgICA8YSAqbmdJZj1cIml0ZW0udm90ZXMgPiAwIHx8IGl0ZW0udm90ZXMgPCAwXCIgW2NsYXNzLnNjb3JlLW5lZ2F0aXZlXT1cIml0ZW0udm90ZXMgPCAwXCIgY2xhc3M9XCJjb21tZW50LXNjb3JlXCIgZGlyPVwibHRyXCIgKGNsaWNrKT1cInZvdGVzKClcIiBbYml6ZG9jVG9vbHRpcF09XCInVm90ZXMnfHRyYW5zbGF0ZVwiPnt7aXRlbS52b3Rlc319PC9hPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZvdGUoMSwgJGV2ZW50KVwiIFtjbGFzcy52b3RlZC10cnVlXT1cIml0ZW0udm90ZWQ9PT0xXCIgPjxtYXQtaWNvbj50aHVtYl91cF9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZvdGUoLTEsICRldmVudClcIiBbY2xhc3Mudm90ZWQtZmFsc2VdPVwiaXRlbS52b3RlZD09PS0xXCIgPjxtYXQtaWNvbj50aHVtYl9kb3duX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI3ByZXZpZXdUZW1wbGF0ZT5cclxuICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAvPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -203,9 +203,9 @@ export class CommentsComponent {
203
203
  window.localStorage.setItem(id, this.input.text);
204
204
  }
205
205
  }
206
- CommentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentsComponent, deps: [{ token: i1.AccountService }, { token: i2.SessionService }, { token: i3.PromptService }, { token: i4.TranslateService }, { token: i5.ChatInfo }, { token: i6.MailboxService }, { token: i7.HubService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
207
- CommentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CommentsComponent, selector: "bizdoc-comments", inputs: { model: "model" }, outputs: { change: "change" }, host: { classAttribute: "comments" }, viewQueries: [{ propertyName: "threadElement", first: true, predicate: ["thread"], descendants: true, read: ElementRef, static: true }, { propertyName: "input", first: true, predicate: EditInputComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<bizdoc-none *ngIf=\"!model.comments.length\" icon=\"format_quote\"></bizdoc-none>\r\n\r\n<div fxLayout=\"column\" #thread (scroll)=\"onScroll($event)\" class=\"comments-thread\">\r\n <ng-container role=\"listitem\" *ngFor=\"let c of model.comments; trackBy: trackBy\">\r\n <bizdoc-comment *ngIf=\"!c.deleted || showDeleted; else deletedMsg\"\r\n [model]=\"model\"\r\n [item]=\"c\"\r\n (reply)=\"reply(c)\"\r\n (deleted)=\"deleted(c)\">\r\n </bizdoc-comment>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"comments-typing\" [style.visibility]=\"typing ? 'visible': 'hidden'\">{{'Typing' | translate : typing}}</div>\r\n\r\n<div class=\"comments-reply\" *ngIf=\"replyName\">\r\n <span [innerHTML]=\"replyName | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n &nbsp; <a class=\"modification\" (click)=\"clearReply()\">{{'Cancel'|translate}}</a>\r\n</div>\r\n\r\n<bizdoc-edit-text (ok)=\"post($event)\" (change)=\"_textChange.next()\"\r\n [disabled]=\"sending\" (focus)=\"onFocus()\" (blur)=\"onBlur()\">\r\n</bizdoc-edit-text>\r\n\r\n<ng-template #deletedMsg>\r\n <a (click)=\"showDeleted = true\" class=\"comment-deleted\">{{'Deleted' | translate}}</a>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}.comments-thread{flex:1 1 auto;overflow:auto;padding:8px 8px 0}.comment-deleted{align-self:center;font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}.comments-typing,.comments-reply{font-size:12px;padding:0 8px}.comments-reply .modification{font-size:medium}.modification{font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}\n"], components: [{ type: i8.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { type: i9.CommentComponent, selector: "bizdoc-comment", inputs: ["model", "item"], outputs: ["deleted", "reply"] }, { type: i10.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.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: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i13.TranslatePipe, "sanitizeHtml": i14.SanitizeHtmlPipe } });
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentsComponent, decorators: [{
206
+ CommentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentsComponent, deps: [{ token: i1.AccountService }, { token: i2.SessionService }, { token: i3.PromptService }, { token: i4.TranslateService }, { token: i5.ChatInfo }, { token: i6.MailboxService }, { token: i7.HubService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
207
+ CommentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CommentsComponent, selector: "bizdoc-comments", inputs: { model: "model" }, outputs: { change: "change" }, host: { classAttribute: "comments" }, viewQueries: [{ propertyName: "threadElement", first: true, predicate: ["thread"], descendants: true, read: ElementRef, static: true }, { propertyName: "input", first: true, predicate: EditInputComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<bizdoc-none *ngIf=\"!model.comments.length\" icon=\"format_quote\"></bizdoc-none>\r\n\r\n<div fxLayout=\"column\" #thread (scroll)=\"onScroll($event)\" class=\"comments-thread\">\r\n <ng-container role=\"listitem\" *ngFor=\"let c of model.comments; trackBy: trackBy\">\r\n <bizdoc-comment *ngIf=\"!c.deleted || showDeleted; else deletedMsg\"\r\n [model]=\"model\"\r\n [item]=\"c\"\r\n (reply)=\"reply(c)\"\r\n (deleted)=\"deleted(c)\">\r\n </bizdoc-comment>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"comments-typing\" [style.visibility]=\"typing ? 'visible': 'hidden'\">{{'Typing' | translate : typing}}</div>\r\n\r\n<div class=\"comments-reply\" *ngIf=\"replyName\">\r\n <span [innerHTML]=\"replyName | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n &nbsp; <a class=\"modification\" (click)=\"clearReply()\">{{'Cancel'|translate}}</a>\r\n</div>\r\n\r\n<bizdoc-edit-text (ok)=\"post($event)\" (change)=\"_textChange.next()\"\r\n [disabled]=\"sending\" (focus)=\"onFocus()\" (blur)=\"onBlur()\">\r\n</bizdoc-edit-text>\r\n\r\n<ng-template #deletedMsg>\r\n <a (click)=\"showDeleted = true\" class=\"comment-deleted\">{{'Deleted' | translate}}</a>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}.comments-thread{flex:1 1 auto;overflow:auto;padding:8px 8px 0}.comment-deleted{align-self:center;font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}.comments-typing,.comments-reply{font-size:12px;padding:0 8px}.comments-reply .modification{font-size:medium}.modification{font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}\n"], components: [{ type: i8.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { type: i9.CommentComponent, selector: "bizdoc-comment", inputs: ["model", "item"], outputs: ["deleted", "reply"] }, { type: i10.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.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: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i13.TranslatePipe, "sanitizeHtml": i14.SanitizeHtmlPipe } });
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentsComponent, decorators: [{
209
209
  type: Component,
210
210
  args: [{ selector: 'bizdoc-comments', host: {
211
211
  class: 'comments'
@@ -20,9 +20,9 @@ export class EditCommentComponent {
20
20
  });
21
21
  }
22
22
  }
23
- EditCommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: EditCommentComponent, deps: [{ token: i1.PopupRef }, { token: POPUP_DATA }, { token: i2.PromptService }, { token: i3.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
24
- EditCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: EditCommentComponent, selector: "bizdoc-edit-comment", ngImport: i0, template: "<bizdoc-edit-text (ok)=\"ok($event)\"\r\n [resource]=\"data.resource\" [text]=\"data.text\" [image]=\"data.image\"\r\n [disabled]=\"sending\" autofocus></bizdoc-edit-text>\r\n", components: [{ type: i4.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: EditCommentComponent, decorators: [{
23
+ EditCommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditCommentComponent, deps: [{ token: i1.PopupRef }, { token: POPUP_DATA }, { token: i2.PromptService }, { token: i3.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
24
+ EditCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: EditCommentComponent, selector: "bizdoc-edit-comment", ngImport: i0, template: "<bizdoc-edit-text (ok)=\"ok($event)\"\r\n [resource]=\"data.resource\" [text]=\"data.text\" [image]=\"data.image\"\r\n [disabled]=\"sending\" autofocus></bizdoc-edit-text>\r\n", components: [{ type: i4.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditCommentComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'bizdoc-edit-comment', template: "<bizdoc-edit-text (ok)=\"ok($event)\"\r\n [resource]=\"data.resource\" [text]=\"data.text\" [image]=\"data.image\"\r\n [disabled]=\"sending\" autofocus></bizdoc-edit-text>\r\n" }]
28
28
  }], ctorParameters: function () { return [{ type: i1.PopupRef }, { type: undefined, decorators: [{
@@ -6,7 +6,7 @@ import * as i2 from "../../core/identity/identity.component";
6
6
  import * as i3 from "@angular/common";
7
7
  import * as i4 from "../../core/pipes/translate.pipe";
8
8
  import * as i5 from "../../core/tagging/tagging.pipe";
9
- import * as i6 from "ngx-moment";
9
+ import * as i6 from "../../core/pipes/calendar.pipe";
10
10
  export class CommentEditsComponent {
11
11
  constructor(_data, _mailbox) {
12
12
  this._data = _data;
@@ -18,9 +18,9 @@ export class CommentEditsComponent {
18
18
  this.versions = this._mailbox.edits(this._data.documentId, this._data.id);
19
19
  }
20
20
  }
21
- CommentEditsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentEditsComponent, deps: [{ token: POPUP_DATA }, { token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
22
- CommentEditsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CommentEditsComponent, selector: "bizdoc-comment-edits", ngImport: i0, template: "<span class=\"mat-title\">{{'History' | translate}}</span>\r\n\r\n<div *ngFor=\"let v of versions | async\" class=\"comment\">\r\n <p [innerHTML]=\"v.text|taggingHtml:resource\"></p>\r\n <bizdoc-identity-name class=\"mat-body\" [identity]=\"v.userId\" [by]=\"v.byId\" *ngIf=\"v.byId || byId\"></bizdoc-identity-name>\r\n <small>{{v.time | amCalendar}}</small>\r\n</div>\r\n", styles: [":host{padding:8px}\n"], components: [{ type: i2.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe, "async": i3.AsyncPipe, "taggingHtml": i5.TaggingPipe, "amCalendar": i6.CalendarPipe } });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CommentEditsComponent, decorators: [{
21
+ CommentEditsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentEditsComponent, deps: [{ token: POPUP_DATA }, { token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
22
+ CommentEditsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CommentEditsComponent, selector: "bizdoc-comment-edits", ngImport: i0, template: "<span class=\"mat-title\">{{'History' | translate}}</span>\r\n\r\n<div *ngFor=\"let v of versions | async\" class=\"comment\">\r\n <p [innerHTML]=\"v.text|taggingHtml:resource\"></p>\r\n <bizdoc-identity-name class=\"mat-body\" [identity]=\"v.userId\" [by]=\"v.byId\" *ngIf=\"v.byId || byId\"></bizdoc-identity-name>\r\n <small>{{v.time | amCalendar}}</small>\r\n</div>\r\n", styles: [":host{padding:8px}\n"], components: [{ type: i2.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe, "async": i3.AsyncPipe, "taggingHtml": i5.TaggingPipe, "amCalendar": i6.CalendarPipe } });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CommentEditsComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'bizdoc-comment-edits', styles: [':host { padding: 8px }'], template: "<span class=\"mat-title\">{{'History' | translate}}</span>\r\n\r\n<div *ngFor=\"let v of versions | async\" class=\"comment\">\r\n <p [innerHTML]=\"v.text|taggingHtml:resource\"></p>\r\n <bizdoc-identity-name class=\"mat-body\" [identity]=\"v.userId\" [by]=\"v.byId\" *ngIf=\"v.byId || byId\"></bizdoc-identity-name>\r\n <small>{{v.time | amCalendar}}</small>\r\n</div>\r\n" }]
26
26
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -51,9 +51,9 @@ export class QuickCommentComponent {
51
51
  this._destroy.complete();
52
52
  }
53
53
  }
54
- QuickCommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: QuickCommentComponent, deps: [{ token: DOCUMENT_MODEL }, { token: i1.AccountService }, { token: i2.MailboxService }, { token: i3.HubService }, { token: i4.PromptService }], target: i0.ɵɵFactoryTarget.Component });
55
- QuickCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: QuickCommentComponent, selector: "bizdoc-quick-comment", ngImport: i0, template: "<div class=\"comments-typing\" [style.visibility]=\"typing ? 'visible': 'hidden'\">{{'Typing' | translate : typing}}</div>\r\n<bizdoc-edit-text (ok)=\"post($event)\" (change)=\"_textChange.next()\"\r\n [disabled]=\"sending\" [placeholder]=\"''\">\r\n</bizdoc-edit-text>\r\n<div *ngIf=\"model.comments.length\">{{(model.comments.length === 1 ? 'OneComment' : 'CommentsCount') | translate: model.comments.length}}</div>\r\n", styles: [":host{display:flex;flex-direction:column}.comments-typing{font-size:12px;padding:0 8px}\n"], components: [{ type: i5.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i7.TranslatePipe } });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: QuickCommentComponent, decorators: [{
54
+ QuickCommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuickCommentComponent, deps: [{ token: DOCUMENT_MODEL }, { token: i1.AccountService }, { token: i2.MailboxService }, { token: i3.HubService }, { token: i4.PromptService }], target: i0.ɵɵFactoryTarget.Component });
55
+ QuickCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuickCommentComponent, selector: "bizdoc-quick-comment", ngImport: i0, template: "<div class=\"comments-typing\" [style.visibility]=\"typing ? 'visible': 'hidden'\">{{'Typing' | translate : typing}}</div>\r\n<bizdoc-edit-text (ok)=\"post($event)\" (change)=\"_textChange.next()\"\r\n [disabled]=\"sending\" [placeholder]=\"''\">\r\n</bizdoc-edit-text>\r\n<div *ngIf=\"model.comments.length\">{{(model.comments.length === 1 ? 'OneComment' : 'CommentsCount') | translate: model.comments.length}}</div>\r\n", styles: [":host{display:flex;flex-direction:column}.comments-typing{font-size:12px;padding:0 8px}\n"], components: [{ type: i5.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i7.TranslatePipe } });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuickCommentComponent, decorators: [{
57
57
  type: Component,
58
58
  args: [{ selector: 'bizdoc-quick-comment', template: "<div class=\"comments-typing\" [style.visibility]=\"typing ? 'visible': 'hidden'\">{{'Typing' | translate : typing}}</div>\r\n<bizdoc-edit-text (ok)=\"post($event)\" (change)=\"_textChange.next()\"\r\n [disabled]=\"sending\" [placeholder]=\"''\">\r\n</bizdoc-edit-text>\r\n<div *ngIf=\"model.comments.length\">{{(model.comments.length === 1 ? 'OneComment' : 'CommentsCount') | translate: model.comments.length}}</div>\r\n", styles: [":host{display:flex;flex-direction:column}.comments-typing{font-size:12px;padding:0 8px}\n"] }]
59
59
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{