@bizdoc/core 1.17.9 → 1.17.11

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 (484) hide show
  1. package/assets/bizdoc-schema.json +2 -2
  2. package/bizdoc-core.d.ts.map +1 -0
  3. package/esm2020/lib/admin/architecture/declarations.mjs +1 -8
  4. package/esm2020/lib/admin/architecture/designer-element.component.mjs +20 -4
  5. package/esm2020/lib/admin/architecture/designer.base.mjs +29 -9
  6. package/esm2020/lib/admin/architecture/designer.component.mjs +3 -2
  7. package/esm2020/lib/admin/architecture/elements/action.component.mjs +3 -3
  8. package/esm2020/lib/admin/architecture/elements/analysis-view.component.mjs +8 -8
  9. package/esm2020/lib/admin/architecture/elements/analysis-widget.component.mjs +8 -8
  10. package/esm2020/lib/admin/architecture/elements/attribute.component.mjs +6 -5
  11. package/esm2020/lib/admin/architecture/elements/configuration-datasource.component.mjs +1 -1
  12. package/esm2020/lib/admin/architecture/elements/control.component.mjs +4 -3
  13. package/esm2020/lib/admin/architecture/elements/cube.component.mjs +39 -35
  14. package/esm2020/lib/admin/architecture/elements/folder.component.mjs +3 -3
  15. package/esm2020/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  16. package/esm2020/lib/admin/architecture/elements/form.component.mjs +5 -5
  17. package/esm2020/lib/admin/architecture/elements/guide.component.mjs +3 -3
  18. package/esm2020/lib/admin/architecture/elements/matrix-view.component.mjs +8 -3
  19. package/esm2020/lib/admin/architecture/elements/node.component.mjs +1 -1
  20. package/esm2020/lib/admin/architecture/elements/policy.component.mjs +1 -1
  21. package/esm2020/lib/admin/architecture/elements/report.component.mjs +4 -3
  22. package/esm2020/lib/admin/architecture/elements/role.component.mjs +6 -5
  23. package/esm2020/lib/admin/architecture/elements/rule.component.mjs +1 -1
  24. package/esm2020/lib/admin/architecture/elements/state.component.mjs +1 -1
  25. package/esm2020/lib/admin/architecture/elements/type.component.mjs +8 -7
  26. package/esm2020/lib/admin/architecture/elements/utility.component.mjs +1 -1
  27. package/esm2020/lib/admin/architecture/elements/view.component.mjs +1 -1
  28. package/esm2020/lib/admin/architecture/elements/widget.component.mjs +4 -3
  29. package/esm2020/lib/admin/core/localized-string.component.mjs +12 -45
  30. package/esm2020/lib/admin/form/designer/box-designer.component.mjs +11 -9
  31. package/esm2020/lib/admin/form/designer/properties.component.mjs +2 -2
  32. package/esm2020/lib/admin/form/designer/section.component.mjs +1 -1
  33. package/esm2020/lib/admin/positions/positions.component.mjs +27 -26
  34. package/esm2020/lib/admin/system.service.mjs +30 -2
  35. package/esm2020/lib/core/fields/address.designer.mjs +1 -1
  36. package/esm2020/lib/core/fields/autocomplete.field.mjs +27 -12
  37. package/esm2020/lib/core/fields/checkbox.designer.mjs +1 -1
  38. package/esm2020/lib/core/fields/checklist.designer.mjs +27 -12
  39. package/esm2020/lib/core/fields/date-range.designer.mjs +1 -1
  40. package/esm2020/lib/core/fields/date.designer.mjs +1 -1
  41. package/esm2020/lib/core/fields/file.designer.mjs +1 -1
  42. package/esm2020/lib/core/fields/html.designer.mjs +1 -1
  43. package/esm2020/lib/core/fields/input.designer.mjs +1 -1
  44. package/esm2020/lib/core/fields/localized-string.field.mjs +1 -1
  45. package/esm2020/lib/core/fields/numeric.designer.mjs +1 -1
  46. package/esm2020/lib/core/fields/options.base.mjs +7 -7
  47. package/esm2020/lib/core/fields/options.component.mjs +3 -3
  48. package/esm2020/lib/core/fields/radio-button.designer.mjs +9 -9
  49. package/esm2020/lib/core/fields/select.designer.mjs +26 -12
  50. package/esm2020/lib/core/fields/signature.designer.mjs +1 -1
  51. package/esm2020/lib/core/fields/textarea.designer.mjs +1 -1
  52. package/esm2020/lib/core/fields/yesno.designer.mjs +29 -15
  53. package/esm2020/lib/core/models.mjs +1 -1
  54. package/esm2020/lib/core/slots/router.service.mjs +2 -2
  55. package/esm2020/lib/core/slots/slots.component.mjs +7 -4
  56. package/esm2020/lib/core/translations.mjs +2 -2
  57. package/esm2020/lib/system.module.mjs +52 -8
  58. package/fesm2015/bizdoc-core.mjs +673 -532
  59. package/fesm2015/bizdoc-core.mjs.map +1 -1
  60. package/fesm2020/bizdoc-core.mjs +627 -489
  61. package/fesm2020/bizdoc-core.mjs.map +1 -1
  62. package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
  63. package/lib/admin/admin-menu.component.d.ts.map +1 -0
  64. package/lib/admin/architecture/cube-axes-filter.component.d.ts.map +1 -0
  65. package/lib/admin/architecture/declarations.d.ts +4 -1
  66. package/lib/admin/architecture/declarations.d.ts.map +1 -0
  67. package/lib/admin/architecture/designer-element.component.d.ts +5 -2
  68. package/lib/admin/architecture/designer-element.component.d.ts.map +1 -0
  69. package/lib/admin/architecture/designer-privileges.component.d.ts.map +1 -0
  70. package/lib/admin/architecture/designer.base.d.ts +4 -4
  71. package/lib/admin/architecture/designer.base.d.ts.map +1 -0
  72. package/lib/admin/architecture/designer.component.d.ts.map +1 -0
  73. package/lib/admin/architecture/elements/action.component.d.ts.map +1 -0
  74. package/lib/admin/architecture/elements/analysis-view.component.d.ts.map +1 -0
  75. package/lib/admin/architecture/elements/analysis-widget.component.d.ts.map +1 -0
  76. package/lib/admin/architecture/elements/anomaly-rule.component.d.ts.map +1 -0
  77. package/lib/admin/architecture/elements/attribute.component.d.ts +2 -2
  78. package/lib/admin/architecture/elements/attribute.component.d.ts.map +1 -0
  79. package/lib/admin/architecture/elements/box-form.component.d.ts.map +1 -0
  80. package/lib/admin/architecture/elements/configuration-datasource.component.d.ts.map +1 -0
  81. package/lib/admin/architecture/elements/control.component.d.ts +2 -2
  82. package/lib/admin/architecture/elements/control.component.d.ts.map +1 -0
  83. package/lib/admin/architecture/elements/cube-index-utility.component.d.ts.map +1 -0
  84. package/lib/admin/architecture/elements/cube-view.component.d.ts.map +1 -0
  85. package/lib/admin/architecture/elements/cube.component.d.ts +5 -6
  86. package/lib/admin/architecture/elements/cube.component.d.ts.map +1 -0
  87. package/lib/admin/architecture/elements/documents-report.component.d.ts.map +1 -0
  88. package/lib/admin/architecture/elements/documents-widget.component.d.ts.map +1 -0
  89. package/lib/admin/architecture/elements/explore-view.component.d.ts.map +1 -0
  90. package/lib/admin/architecture/elements/feedback-widget.component.d.ts.map +1 -0
  91. package/lib/admin/architecture/elements/folder.component.d.ts.map +1 -0
  92. package/lib/admin/architecture/elements/form-invite.dialog.d.ts.map +1 -0
  93. package/lib/admin/architecture/elements/form.component.d.ts +2 -2
  94. package/lib/admin/architecture/elements/form.component.d.ts.map +1 -0
  95. package/lib/admin/architecture/elements/guide.component.d.ts.map +1 -0
  96. package/lib/admin/architecture/elements/matrix-view.component.d.ts +1 -0
  97. package/lib/admin/architecture/elements/matrix-view.component.d.ts.map +1 -0
  98. package/lib/admin/architecture/elements/node.component.d.ts.map +1 -0
  99. package/lib/admin/architecture/elements/parallel-view.component.d.ts.map +1 -0
  100. package/lib/admin/architecture/elements/performance-report.component.d.ts.map +1 -0
  101. package/lib/admin/architecture/elements/performance-widget.component.d.ts.map +1 -0
  102. package/lib/admin/architecture/elements/pivot-view.component.d.ts.map +1 -0
  103. package/lib/admin/architecture/elements/policy.component.d.ts.map +1 -0
  104. package/lib/admin/architecture/elements/report.component.d.ts.map +1 -0
  105. package/lib/admin/architecture/elements/return-to-role-action.component.d.ts.map +1 -0
  106. package/lib/admin/architecture/elements/role.component.d.ts +2 -2
  107. package/lib/admin/architecture/elements/role.component.d.ts.map +1 -0
  108. package/lib/admin/architecture/elements/rule.component.d.ts.map +1 -0
  109. package/lib/admin/architecture/elements/state.component.d.ts.map +1 -0
  110. package/lib/admin/architecture/elements/sum-view.component.d.ts.map +1 -0
  111. package/lib/admin/architecture/elements/tasks-report.component.d.ts.map +1 -0
  112. package/lib/admin/architecture/elements/type.component.d.ts +1 -1
  113. package/lib/admin/architecture/elements/type.component.d.ts.map +1 -0
  114. package/lib/admin/architecture/elements/usage-report.component.d.ts.map +1 -0
  115. package/lib/admin/architecture/elements/utility.component.d.ts.map +1 -0
  116. package/lib/admin/architecture/elements/view.component.d.ts.map +1 -0
  117. package/lib/admin/architecture/elements/widget.component.d.ts.map +1 -0
  118. package/lib/admin/architecture/icon-picker.component.d.ts.map +1 -0
  119. package/lib/admin/core/ace.input.d.ts.map +1 -0
  120. package/lib/admin/core/color-picker.input.d.ts.map +1 -0
  121. package/lib/admin/core/localized-string.component.d.ts +4 -17
  122. package/lib/admin/core/localized-string.component.d.ts.map +1 -0
  123. package/lib/admin/core/search.input.d.ts.map +1 -0
  124. package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
  125. package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
  126. package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
  127. package/lib/admin/document-trace/timeline.d.ts.map +1 -0
  128. package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
  129. package/lib/admin/form/designer/box-designer.component.d.ts +1 -2
  130. package/lib/admin/form/designer/box-designer.component.d.ts.map +1 -0
  131. package/lib/admin/form/designer/declarations.d.ts.map +1 -0
  132. package/lib/admin/form/designer/properties.component.d.ts.map +1 -0
  133. package/lib/admin/form/designer/section.component.d.ts.map +1 -0
  134. package/lib/admin/form/designer/settings.component.d.ts.map +1 -0
  135. package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
  136. package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
  137. package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
  138. package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
  139. package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
  140. package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
  141. package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
  142. package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
  143. package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
  144. package/lib/admin/positions/positions.component.d.ts +8 -5
  145. package/lib/admin/positions/positions.component.d.ts.map +1 -0
  146. package/lib/admin/profiler/outofoffice.component.d.ts.map +1 -0
  147. package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
  148. package/lib/admin/system.service.d.ts +12 -1
  149. package/lib/admin/system.service.d.ts.map +1 -0
  150. package/lib/admin/utility-ref.d.ts.map +1 -0
  151. package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
  152. package/lib/admin/utility.pane.component.d.ts.map +1 -0
  153. package/lib/app.component.d.ts.map +1 -0
  154. package/lib/bizdoc.module.d.ts.map +1 -0
  155. package/lib/browse/browse-items.component.d.ts.map +1 -0
  156. package/lib/browse/browse.mobile.component.d.ts.map +1 -0
  157. package/lib/browse/browse.pane.component.d.ts.map +1 -0
  158. package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
  159. package/lib/browse/filter/filter.component.d.ts.map +1 -0
  160. package/lib/browse/folders-menu.component.d.ts.map +1 -0
  161. package/lib/chat/chat-info.d.ts.map +1 -0
  162. package/lib/chat/chat.mobile.component.d.ts.map +1 -0
  163. package/lib/chat/chat.service.d.ts.map +1 -0
  164. package/lib/chat/contacts.component.d.ts.map +1 -0
  165. package/lib/chat/contacts.pane.component.d.ts.map +1 -0
  166. package/lib/chat/conversation.component.d.ts.map +1 -0
  167. package/lib/chat/conversation.pane.component.d.ts.map +1 -0
  168. package/lib/compose/action/action-picker.component.d.ts.map +1 -0
  169. package/lib/compose/action/action-ref.d.ts.map +1 -0
  170. package/lib/compose/action/action.base.d.ts.map +1 -0
  171. package/lib/compose/action/action.dialog.d.ts.map +1 -0
  172. package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
  173. package/lib/compose/action/assign-action.component.d.ts.map +1 -0
  174. package/lib/compose/action/moveto-action.component.d.ts.map +1 -0
  175. package/lib/compose/action/return-action.component.d.ts.map +1 -0
  176. package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
  177. package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
  178. package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
  179. package/lib/compose/box/box.component.d.ts.map +1 -0
  180. package/lib/compose/box/control.component.d.ts.map +1 -0
  181. package/lib/compose/box/row.component.d.ts.map +1 -0
  182. package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
  183. package/lib/compose/comments/comment.component.d.ts.map +1 -0
  184. package/lib/compose/comments/comments.component.d.ts.map +1 -0
  185. package/lib/compose/comments/comments.pane.component.d.ts.map +1 -0
  186. package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
  187. package/lib/compose/comments/edits.component.d.ts.map +1 -0
  188. package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
  189. package/lib/compose/comments/votes.component.d.ts.map +1 -0
  190. package/lib/compose/compose-resolve.service.d.ts.map +1 -0
  191. package/lib/compose/compose.mobile.component.d.ts.map +1 -0
  192. package/lib/compose/compose.pane.component.d.ts.map +1 -0
  193. package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
  194. package/lib/compose/dismiss.service.d.ts.map +1 -0
  195. package/lib/compose/document-resolver.service.d.ts.map +1 -0
  196. package/lib/compose/document.component.d.ts.map +1 -0
  197. package/lib/compose/document.mobile.component.d.ts.map +1 -0
  198. package/lib/compose/document.pane.component.d.ts.map +1 -0
  199. package/lib/compose/events/events.component.d.ts.map +1 -0
  200. package/lib/compose/form-ref.d.ts.map +1 -0
  201. package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
  202. package/lib/compose/form.component.d.ts.map +1 -0
  203. package/lib/compose/new-menu.component.d.ts.map +1 -0
  204. package/lib/compose/privilage.directive.d.ts.map +1 -0
  205. package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
  206. package/lib/compose/state.component.d.ts.map +1 -0
  207. package/lib/compose/tag/tags.component.d.ts.map +1 -0
  208. package/lib/compose/trace/flow.component.d.ts.map +1 -0
  209. package/lib/compose/trace/people.component.d.ts.map +1 -0
  210. package/lib/compose/trace/trace.base.d.ts.map +1 -0
  211. package/lib/compose/trace/trace.component.d.ts.map +1 -0
  212. package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
  213. package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
  214. package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
  215. package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
  216. package/lib/core/NgComponentOutlet.d.ts.map +1 -0
  217. package/lib/core/account.service.d.ts.map +1 -0
  218. package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
  219. package/lib/core/animations.d.ts.map +1 -0
  220. package/lib/core/authentication.d.ts.map +1 -0
  221. package/lib/core/avatar/avatar.component.d.ts.map +1 -0
  222. package/lib/core/base.d.ts.map +1 -0
  223. package/lib/core/checkbox.d.ts.map +1 -0
  224. package/lib/core/colors.d.ts.map +1 -0
  225. package/lib/core/component-factory-resolver.d.ts.map +1 -0
  226. package/lib/core/configuration.d.ts.map +1 -0
  227. package/lib/core/datasource.service.d.ts.map +1 -0
  228. package/lib/core/decorators.d.ts.map +1 -0
  229. package/lib/core/fields/address.designer.d.ts.map +1 -0
  230. package/lib/core/fields/address.field.d.ts.map +1 -0
  231. package/lib/core/fields/autocomplete.field.d.ts +4 -6
  232. package/lib/core/fields/autocomplete.field.d.ts.map +1 -0
  233. package/lib/core/fields/checkbox.designer.d.ts.map +1 -0
  234. package/lib/core/fields/checkbox.field.d.ts.map +1 -0
  235. package/lib/core/fields/checklist.designer.d.ts +2 -2
  236. package/lib/core/fields/checklist.designer.d.ts.map +1 -0
  237. package/lib/core/fields/checklist.field.d.ts.map +1 -0
  238. package/lib/core/fields/date-range.designer.d.ts.map +1 -0
  239. package/lib/core/fields/date-range.field.d.ts.map +1 -0
  240. package/lib/core/fields/date.designer.d.ts.map +1 -0
  241. package/lib/core/fields/date.field.d.ts.map +1 -0
  242. package/lib/core/fields/expression.field.d.ts.map +1 -0
  243. package/lib/core/fields/file.designer.d.ts.map +1 -0
  244. package/lib/core/fields/file.field.d.ts.map +1 -0
  245. package/lib/core/fields/html.designer.d.ts.map +1 -0
  246. package/lib/core/fields/html.field.d.ts.map +1 -0
  247. package/lib/core/fields/input.designer.d.ts.map +1 -0
  248. package/lib/core/fields/input.field.d.ts.map +1 -0
  249. package/lib/core/fields/localized-string.field.d.ts.map +1 -0
  250. package/lib/core/fields/numeric.designer.d.ts.map +1 -0
  251. package/lib/core/fields/numeric.field.d.ts.map +1 -0
  252. package/lib/core/fields/options.base.d.ts +6 -5
  253. package/lib/core/fields/options.base.d.ts.map +1 -0
  254. package/lib/core/fields/options.component.d.ts.map +1 -0
  255. package/lib/core/fields/radio-button.designer.d.ts +2 -2
  256. package/lib/core/fields/radio-button.designer.d.ts.map +1 -0
  257. package/lib/core/fields/radio-button.field.d.ts.map +1 -0
  258. package/lib/core/fields/select.designer.d.ts +2 -2
  259. package/lib/core/fields/select.designer.d.ts.map +1 -0
  260. package/lib/core/fields/select.field.d.ts.map +1 -0
  261. package/lib/core/fields/signature.designer.d.ts.map +1 -0
  262. package/lib/core/fields/signature.field.d.ts.map +1 -0
  263. package/lib/core/fields/switch.field.d.ts.map +1 -0
  264. package/lib/core/fields/textarea.designer.d.ts.map +1 -0
  265. package/lib/core/fields/textarea.field.d.ts.map +1 -0
  266. package/lib/core/fields/timespan.field.d.ts.map +1 -0
  267. package/lib/core/fields/yesno.designer.d.ts +4 -6
  268. package/lib/core/fields/yesno.designer.d.ts.map +1 -0
  269. package/lib/core/fields/yesno.field.d.ts.map +1 -0
  270. package/lib/core/firebase.service.d.ts.map +1 -0
  271. package/lib/core/functions.d.ts.map +1 -0
  272. package/lib/core/guide/guide.component.d.ts.map +1 -0
  273. package/lib/core/guide/guide.service.d.ts.map +1 -0
  274. package/lib/core/guide/help-tip.component.d.ts.map +1 -0
  275. package/lib/core/http.interceptor.d.ts.map +1 -0
  276. package/lib/core/hub.service.d.ts.map +1 -0
  277. package/lib/core/identity/identity.component.d.ts.map +1 -0
  278. package/lib/core/info/attachment-info.service.d.ts.map +1 -0
  279. package/lib/core/info/document-info.service.d.ts.map +1 -0
  280. package/lib/core/info/location-info.component.d.ts.map +1 -0
  281. package/lib/core/info/map-info.d.ts.map +1 -0
  282. package/lib/core/inputs/address.input.d.ts.map +1 -0
  283. package/lib/core/inputs/auto-complete.input.d.ts.map +1 -0
  284. package/lib/core/inputs/combination-picker-body.d.ts.map +1 -0
  285. package/lib/core/inputs/combination-picker.d.ts.map +1 -0
  286. package/lib/core/inputs/combination-pool.d.ts.map +1 -0
  287. package/lib/core/inputs/file.input.d.ts.map +1 -0
  288. package/lib/core/inputs/select.input.d.ts.map +1 -0
  289. package/lib/core/inputs/signature.input.d.ts.map +1 -0
  290. package/lib/core/inputs/time-picker.d.ts.map +1 -0
  291. package/lib/core/inputs/timespan.input.d.ts.map +1 -0
  292. package/lib/core/layout.component.d.ts.map +1 -0
  293. package/lib/core/lottie-animation.d.ts.map +1 -0
  294. package/lib/core/mailbox.service.d.ts.map +1 -0
  295. package/lib/core/models.d.ts +0 -2
  296. package/lib/core/models.d.ts.map +1 -0
  297. package/lib/core/none.component.d.ts.map +1 -0
  298. package/lib/core/pipes/action.pipe.d.ts.map +1 -0
  299. package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
  300. package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
  301. package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
  302. package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
  303. package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
  304. package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
  305. package/lib/core/pipes/form.pipe.d.ts.map +1 -0
  306. package/lib/core/pipes/join.pipe.d.ts.map +1 -0
  307. package/lib/core/pipes/localized-string.pipe.d.ts.map +1 -0
  308. package/lib/core/pipes/role.pipe.d.ts.map +1 -0
  309. package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
  310. package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
  311. package/lib/core/pipes/state.pipe.d.ts.map +1 -0
  312. package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
  313. package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
  314. package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
  315. package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
  316. package/lib/core/popup/popup-ref.d.ts.map +1 -0
  317. package/lib/core/popup/popup.component.d.ts.map +1 -0
  318. package/lib/core/popup/popup.service.d.ts.map +1 -0
  319. package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
  320. package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
  321. package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
  322. package/lib/core/prompt.service.d.ts.map +1 -0
  323. package/lib/core/router.d.ts.map +1 -0
  324. package/lib/core/save-changes.dialog.d.ts.map +1 -0
  325. package/lib/core/session.service.d.ts.map +1 -0
  326. package/lib/core/slots/pane-ref.d.ts.map +1 -0
  327. package/lib/core/slots/router.directive.d.ts.map +1 -0
  328. package/lib/core/slots/router.service.d.ts +1 -1
  329. package/lib/core/slots/router.service.d.ts.map +1 -0
  330. package/lib/core/slots/slots.component.d.ts.map +1 -0
  331. package/lib/core/tagging/documents.component.d.ts.map +1 -0
  332. package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
  333. package/lib/core/tagging/emoji.component.d.ts.map +1 -0
  334. package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
  335. package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
  336. package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
  337. package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
  338. package/lib/core/tagging/users.component.d.ts.map +1 -0
  339. package/lib/core/translate.service.d.ts.map +1 -0
  340. package/lib/core/translations.d.ts.map +1 -0
  341. package/lib/core/window-title.service.d.ts.map +1 -0
  342. package/lib/cube/accum/accum.component.d.ts.map +1 -0
  343. package/lib/cube/chart/chart.component.d.ts.map +1 -0
  344. package/lib/cube/cube-info.service.d.ts.map +1 -0
  345. package/lib/cube/cube-menu.component.d.ts.map +1 -0
  346. package/lib/cube/cube-view.component.d.ts.map +1 -0
  347. package/lib/cube/cube.service.d.ts.map +1 -0
  348. package/lib/cube/declarations.d.ts.map +1 -0
  349. package/lib/cube/explore/document-item.component.d.ts.map +1 -0
  350. package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
  351. package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
  352. package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
  353. package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
  354. package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
  355. package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
  356. package/lib/cube/filter/filter.component.d.ts.map +1 -0
  357. package/lib/cube/grid/grid.component.d.ts.map +1 -0
  358. package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
  359. package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
  360. package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
  361. package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
  362. package/lib/cube/matrix/popup.component.d.ts.map +1 -0
  363. package/lib/cube/matrix/table.component.d.ts.map +1 -0
  364. package/lib/cube/parallel/item.d.ts.map +1 -0
  365. package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
  366. package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
  367. package/lib/cube/sum/sum.component.d.ts.map +1 -0
  368. package/lib/cube/view-base.d.ts.map +1 -0
  369. package/lib/cube/view.mobile.component.d.ts.map +1 -0
  370. package/lib/cube/view.pane.component.d.ts.map +1 -0
  371. package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
  372. package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
  373. package/lib/dashboard/cube/compare.widget.d.ts.map +1 -0
  374. package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
  375. package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
  376. package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
  377. package/lib/dashboard/cube/document-state.widget.d.ts.map +1 -0
  378. package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
  379. package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
  380. package/lib/dashboard/dashboard.component.d.ts.map +1 -0
  381. package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
  382. package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
  383. package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
  384. package/lib/dashboard/score/compare-groups.widget.d.ts.map +1 -0
  385. package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
  386. package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
  387. package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
  388. package/lib/dashboard/widget-item.component.d.ts.map +1 -0
  389. package/lib/dashboard/widget-ref.d.ts.map +1 -0
  390. package/lib/designer.module.d.ts.map +1 -0
  391. package/lib/desktop.module.d.ts.map +1 -0
  392. package/lib/home/about/about.dialog.d.ts.map +1 -0
  393. package/lib/home/home-base.component.d.ts.map +1 -0
  394. package/lib/home/home.desktop.component.d.ts.map +1 -0
  395. package/lib/home/home.mobile.component.d.ts.map +1 -0
  396. package/lib/home/notifications/notifications.component.d.ts.map +1 -0
  397. package/lib/home/options/options.component.d.ts.map +1 -0
  398. package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
  399. package/lib/home/sign/sign.component.d.ts.map +1 -0
  400. package/lib/home/tools.component.d.ts.map +1 -0
  401. package/lib/impersonate/impersonate.component.d.ts.map +1 -0
  402. package/lib/mobile.module.d.ts.map +1 -0
  403. package/lib/modules/chart.module.d.ts.map +1 -0
  404. package/lib/modules/circular-gauge.module.d.ts.map +1 -0
  405. package/lib/modules/date.adapter.d.ts.map +1 -0
  406. package/lib/modules/datepicker.intl.d.ts.map +1 -0
  407. package/lib/modules/dayjs.module.d.ts.map +1 -0
  408. package/lib/modules/diagram.module.d.ts.map +1 -0
  409. package/lib/modules/gantt.module.d.ts.map +1 -0
  410. package/lib/modules/grid.module.d.ts.map +1 -0
  411. package/lib/modules/material.module.d.ts.map +1 -0
  412. package/lib/modules/paginator.intl.d.ts.map +1 -0
  413. package/lib/modules/pivot.module.d.ts.map +1 -0
  414. package/lib/modules/schedule.module.d.ts.map +1 -0
  415. package/lib/modules/spreadsheet.module.d.ts.map +1 -0
  416. package/lib/modules/stepper.intl.d.ts.map +1 -0
  417. package/lib/modules/texteditor.module.d.ts.map +1 -0
  418. package/lib/notifications/filter.component.d.ts.map +1 -0
  419. package/lib/notifications/notifications-table.component.d.ts.map +1 -0
  420. package/lib/notifications/notifications.component-base.d.ts.map +1 -0
  421. package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
  422. package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
  423. package/lib/notifications/notifications.service.d.ts.map +1 -0
  424. package/lib/notifications/types/commented.notification.d.ts.map +1 -0
  425. package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
  426. package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
  427. package/lib/notifications/types/invite.notification.d.ts.map +1 -0
  428. package/lib/notifications/types/liked.notification.d.ts.map +1 -0
  429. package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
  430. package/lib/notifications/types/notification-base.d.ts.map +1 -0
  431. package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
  432. package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
  433. package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
  434. package/lib/notifications/types/text.notification.d.ts.map +1 -0
  435. package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
  436. package/lib/options/options.component.d.ts.map +1 -0
  437. package/lib/options/options.service.d.ts.map +1 -0
  438. package/lib/reports/arguments-component.d.ts.map +1 -0
  439. package/lib/reports/cube/documents.component.d.ts.map +1 -0
  440. package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
  441. package/lib/reports/cube/role-performance.component.d.ts.map +1 -0
  442. package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
  443. package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
  444. package/lib/reports/cube/usage-base.d.ts.map +1 -0
  445. package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
  446. package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
  447. package/lib/reports/cube/usage.component.d.ts.map +1 -0
  448. package/lib/reports/report-ref.d.ts.map +1 -0
  449. package/lib/reports/report-viewer.component.d.ts.map +1 -0
  450. package/lib/reports/report.mobile.component.d.ts.map +1 -0
  451. package/lib/reports/report.pane.component.d.ts.map +1 -0
  452. package/lib/reports/reports-menu.component.d.ts.map +1 -0
  453. package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
  454. package/lib/reports/table/table-view.component.d.ts.map +1 -0
  455. package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
  456. package/lib/routes.desktop.d.ts.map +1 -0
  457. package/lib/routes.mobile.d.ts.map +1 -0
  458. package/lib/scheduler/schedule.component.d.ts.map +1 -0
  459. package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
  460. package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
  461. package/lib/search/cube.component.d.ts.map +1 -0
  462. package/lib/search/declarations.d.ts.map +1 -0
  463. package/lib/search/document.component.d.ts.map +1 -0
  464. package/lib/search/guide.component.d.ts.map +1 -0
  465. package/lib/search/path.component.d.ts.map +1 -0
  466. package/lib/search/search.service.d.ts.map +1 -0
  467. package/lib/shared.module.d.ts.map +1 -0
  468. package/lib/system.module.d.ts.map +1 -0
  469. package/lib/views/cube/chart.component.d.ts.map +1 -0
  470. package/lib/views/cube/cube-base.d.ts.map +1 -0
  471. package/lib/views/cube/explore.component.d.ts.map +1 -0
  472. package/lib/views/cube/matrix.component.d.ts.map +1 -0
  473. package/lib/views/cube/parallel.component.d.ts.map +1 -0
  474. package/lib/views/cube/pivot.component.d.ts.map +1 -0
  475. package/lib/views/cube/sum.component.d.ts.map +1 -0
  476. package/lib/views/cube/view.component.d.ts.map +1 -0
  477. package/lib/views/document-view-ref.d.ts.map +1 -0
  478. package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
  479. package/lib/views/view-item.component.d.ts.map +1 -0
  480. package/lib/views/views.component.d.ts.map +1 -0
  481. package/lib/views/views.mobile.component.d.ts.map +1 -0
  482. package/lib/views/views.pane.component.d.ts.map +1 -0
  483. package/package.json +1 -1
  484. package/public-api.d.ts.map +1 -0
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { shareReplay, tap } from 'rxjs';
2
+ import { map, shareReplay, tap } from 'rxjs';
3
3
  import { isString } from '../core/functions';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common/http";
@@ -69,10 +69,38 @@ export class SystemService {
69
69
  return this._controls || (this._controls = this._http.get(`/api/system/form/controls`).
70
70
  pipe(tap(c => c.forEach(i => c[i.name] = i)), shareReplay()));
71
71
  }
72
+ datatypes() {
73
+ return this._datatypes || (this._datatypes = this._http.get(`/api/system/form/datatypes`).
74
+ pipe(tap(t => t.forEach(i => t[i.name] = i)), shareReplay()));
75
+ }
72
76
  save(form) {
73
77
  const { workflow } = form;
74
78
  return this._http.put(`/api/system/form/${encodeURIComponent(form.name)}`, { workflow });
75
79
  }
80
+ typegroups() {
81
+ return this.datatypes().pipe(map(t => {
82
+ const defaultgroup = { elements: [] }, groups = [];
83
+ groups['_'] = defaultgroup;
84
+ t.forEach(t => {
85
+ if (t.family) {
86
+ let group = groups[t.family];
87
+ if (!group) {
88
+ group = {
89
+ title: t.family,
90
+ elements: [t]
91
+ };
92
+ groups.push(group);
93
+ groups[t.family] = group;
94
+ }
95
+ else
96
+ group.elements.push(t);
97
+ }
98
+ else
99
+ defaultgroup.elements.push(t);
100
+ });
101
+ return groups;
102
+ }));
103
+ }
76
104
  }
77
105
  SystemService._cache = {};
78
106
  SystemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SystemService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -80,4 +108,4 @@ SystemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versio
80
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SystemService, decorators: [{
81
109
  type: Injectable
82
110
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFtQixXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxhQUFhO0lBd0V4QixZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBRXJDLENBQUM7SUF6RUQsS0FBSyxDQUFDLElBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQW9CLG9CQUFvQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFJRCxPQUFPLENBQUMsT0FBZ0Y7UUFDdEYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNuQixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQ3hCO1lBQ0gsSUFBSSxPQUFPLENBQUMsTUFBTTtnQkFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN0RCxJQUFJLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lB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LENBQUM7MEdBUGhCLGFBQWE7OEdBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTeXN0ZW1TZXJ2aWNlIHtcclxuICBydWxlcyhhcmdzPzogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8UnVsZVtdPignL2FwaS9zeXN0ZW0vZm9ybS9ydWxlcycsIHsgcGFyYW1zOiBhcmdzIH0pO1xyXG4gIH1cclxuICBzeW5jaHJpbml6ZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8QmFja2dyb3VuZEpvYkluZm8+KGAvYXBpL3N5c3RlbS9jdWJlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpfS9zeW5jaHJvbml6ZWAsIHt9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2NhY2hlID0ge307XHJcbiAgZmluZEFsbChvcHRpb25zOiB7IHNlYXJjaD86IHN0cmluZywgc3RhcnQ/OiBEYXRlLCBlbmQ/OiBEYXRlLCBmb3JtSWQ/OiBzdHJpbmcgfSlcclxuICBmaW5kQWxsKHNlYXJjaD86IHN0cmluZylcclxuICBmaW5kQWxsKG9wdGlvbnM6IHN0cmluZyB8IHsgc2VhcmNoPzogc3RyaW5nLCBzdGFydD86IERhdGUsIGVuZD86IERhdGUsIGZvcm1JZD86IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxEb2N1bWVudEluZm9bXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0ge307XHJcbiAgICBpZiAoaXNTdHJpbmcob3B0aW9ucykpXHJcbiAgICAgIHBhcmFtc1snc2VhcmNoJ10gPSBvcHRpb25zO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmIChvcHRpb25zLnNlYXJjaCkgcGFyYW1zWydzZWFyY2gnXSA9IG9wdGlvbnMuc2VhcmNoO1xyXG4gICAgICBpZiAob3B0aW9ucy5mb3JtSWQpIHBhcmFtc1snZm9ybUlkJ10gPSBvcHRpb25zLmZvcm1JZDtcclxuICAgICAgaWYgKG9wdGlvbnMuc3RhcnQpIHBhcmFtc1snc3RhcnQnXSA9IG5ldyBEYXRlKG9wdGlvbnMuc3RhcnQpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgIGlmIChvcHRpb25zLmVuZCkgcGFyYW1zWydlbmQnXSA9IG5ldyBEYXRlKG9wdGlvbnMuZW5kKS50b0lTT1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PERvY3VtZW50SW5mb1tdPignL2FwaS9zeXN0ZW0vZm9ybS9maW5kQWxsJywge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pO1xyXG4gIH1cclxuICByb2xlcygpOiBPYnNlcnZhYmxlPFJvbGVbXT4ge1xyXG4gICAgcmV0dXJuIFN5c3RlbVNlcnZpY2UuX2NhY2hlWydyb2xlcyddIHx8IChTeXN0ZW1TZXJ2aWNlLl9jYWNoZVsncm9sZXMnXSA9XHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0PFJvbGVbXT4oJy9hcGkvc3lzdGVtL3Bvc2l0aW9ucy9yb2xlcycpLnBpcGUoc2hhcmVSZXBsYXkoKSkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZm9ybUlkXHJcbiAgICovXHJcbiAgcmFuZ2UoZm9ybUlkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSYW5nZUluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFJhbmdlSW5mb1tdPignL2FwaS9zeXN0ZW0vZm9ybS9yYW5nZScsIHtcclxuICAgICAgcGFyYW1zOiB7IGZvcm1JZDogZm9ybUlkIHx8IG51bGwgfVxyXG4gICAgfSkucGlwZSh0YXAoKHI6IFJhbmdlSW5mb1tdKSA9PlxyXG4gICAgICByLmZvckVhY2gocCA9PiBwLmRhdGUgPSBuZXcgRGF0ZShwLmRhdGUpKVxyXG4gICAgKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBmb3JtSWRcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGludml0ZShmb3JtSWQ6IHN0cmluZywgb3B0aW9uczogeyBncm91cHM6IHN0cmluZ1tdLCBtZXNzYWdlPzogc3RyaW5nOyBkZXZpY2VzOiBJbnZpdGVEZXZpY2VbXSwgZHVlPzogRGF0ZSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8eyB0YXJnZXQ6IG51bWJlcjsgb2s6IG51bWJlcjsgaW0/OiBudW1iZXI7IGVtYWlsPzogbnVtYmVyOyBzbXM/OiBudW1iZXIgfT4oYC9hcGkvc3lzdGVtL2Zvcm0vaW52aXRlLyR7Zm9ybUlkfWAsIG9wdGlvbnMpO1xyXG4gIH1cclxuICBwcm9qZWN0aW9uKG9wdGlvbnM6IHsgZ3JvdXBzOiBzdHJpbmdbXSB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxudW1iZXI+KCcvYXBpL3N5c3RlbS9mb3JtL3Byb2plY3Rpb24vJywgb3B0aW9ucyk7XHJcbiAgfVxyXG4gIGN1YmUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Q3ViZUluZm8+KGAvYXBpL3N5c3RlbS9jdWJlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpfWApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gbmFtZVxyXG4gICAqL1xyXG4gIGZvcm0obmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxGb3JtPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Rm9ybT4oYC9hcGkvc3lzdGVtL2Zvcm0vJHtlbmNvZGVVUklDb21wb25lbnQobmFtZSl9YCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbnRyb2xzOiBPYnNlcnZhYmxlPENvbnRyb2xJbmZvW10+O1xyXG4gIGNvbnRyb2xzKCk6IE9ic2VydmFibGU8Q29udHJvbEluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2xzIHx8ICh0aGlzLl9jb250cm9scyA9IHRoaXMuX2h0dHAuZ2V0PENvbnRyb2xJbmZvW10+KGAvYXBpL3N5c3RlbS9mb3JtL2NvbnRyb2xzYCkuXHJcbiAgICAgIHBpcGUoXHJcbiAgICAgICAgdGFwKGMgPT5cclxuICAgICAgICAgIGMuZm9yRWFjaChpID0+IGNbaS5uYW1lXSA9IGkpKSxcclxuICAgICAgICBzaGFyZVJlcGxheSgpKSk7XHJcbiAgfVxyXG4gIHNhdmUoZm9ybTogRm9ybSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB7IHdvcmtmbG93IH0gPSBmb3JtO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PG51bWJlcj4oYC9hcGkvc3lzdGVtL2Zvcm0vJHtlbmNvZGVVUklDb21wb25lbnQoZm9ybS5uYW1lKX1gLCB7IHdvcmtmbG93IH0pO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcblxyXG4gIH1cclxufVxyXG5leHBvcnQgdHlwZSBJbnZpdGVEZXZpY2UgPSAnU21zJyB8ICdFbWFpbCcgfCAnSU0nO1xyXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlSW5mbyB7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICBkYXRlOiBEYXRlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRJbmZvIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG51bWJlcjogc3RyaW5nO1xyXG4gIHN1YmplY3Q6IHN0cmluZztcclxuICBzdGF0ZUlkOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb250cm9sSW5mbyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVJbmZvIHtcclxuICBqb2JJbmZvOiBCYWNrZ3JvdW5kSm9iSW5mbztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEJhY2tncm91bmRKb2JJbmZvIHtcclxuICBlcnJvcj86IHN0cmluZztcclxuICBuZXh0RXhlY3V0aW9uPzogRGF0ZTtcclxuICBsYXN0RXhlY3V0aW9uPzogRGF0ZTtcclxuICBsYXN0Sm9iU3RhdGU/OiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFJ1bGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUm9sZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbn1cclxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBSTdDLE1BQU0sT0FBTyxhQUFhO0lBZ0Z4QixZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBRXJDLENBQUM7SUFqRkQsS0FBSyxDQUFDLElBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQW9CLG9CQUFvQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFJRCxPQUFPLENBQUMsT0FBZ0Y7UUFDdEYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNuQixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQ3hCO1lBQ0gsSUFBSSxPQUFPLENBQUMsTUFBTTtnQkFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN0RCxJQUFJLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsTUFB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SSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7O0FBbkdjLG9CQUFNLEdBQUcsRUFBRSxDQUFDOzBHQVBoQixhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpZWxkSW5mbywgRm9ybSB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEVsZW1lbnRGYW1pbHkgfSBmcm9tICcuL2FyY2hpdGVjdHVyZS9kZWNsYXJhdGlvbnMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3lzdGVtU2VydmljZSB7XHJcbiAgcnVsZXMoYXJncz86IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFJ1bGVbXT4oJy9hcGkvc3lzdGVtL2Zvcm0vcnVsZXMnLCB7IHBhcmFtczogYXJncyB9KTtcclxuICB9XHJcbiAgc3luY2hyaW5pemUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PEJhY2tncm91bmRKb2JJbmZvPihgL2FwaS9zeXN0ZW0vY3ViZS8ke2VuY29kZVVSSUNvbXBvbmVudChuYW1lKX0vc3luY2hyb25pemVgLCB7fSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIF9jYWNoZSA9IHt9O1xyXG4gIGZpbmRBbGwob3B0aW9uczogeyBzZWFyY2g/OiBzdHJpbmcsIHN0YXJ0PzogRGF0ZSwgZW5kPzogRGF0ZSwgZm9ybUlkPzogc3RyaW5nIH0pXHJcbiAgZmluZEFsbChzZWFyY2g/OiBzdHJpbmcpXHJcbiAgZmluZEFsbChvcHRpb25zOiBzdHJpbmcgfCB7IHNlYXJjaD86IHN0cmluZywgc3RhcnQ/OiBEYXRlLCBlbmQ/OiBEYXRlLCBmb3JtSWQ/OiBzdHJpbmcgfSk6IE9ic2VydmFibGU8RG9jdW1lbnRJbmZvW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xyXG4gICAgaWYgKGlzU3RyaW5nKG9wdGlvbnMpKVxyXG4gICAgICBwYXJhbXNbJ3NlYXJjaCddID0gb3B0aW9ucztcclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAob3B0aW9ucy5zZWFyY2gpIHBhcmFtc1snc2VhcmNoJ10gPSBvcHRpb25zLnNlYXJjaDtcclxuICAgICAgaWYgKG9wdGlvbnMuZm9ybUlkKSBwYXJhbXNbJ2Zvcm1JZCddID0gb3B0aW9ucy5mb3JtSWQ7XHJcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSBwYXJhbXNbJ3N0YXJ0J10gPSBuZXcgRGF0ZShvcHRpb25zLnN0YXJ0KS50b0lTT1N0cmluZygpO1xyXG4gICAgICBpZiAob3B0aW9ucy5lbmQpIHBhcmFtc1snZW5kJ10gPSBuZXcgRGF0ZShvcHRpb25zLmVuZCkudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxEb2N1bWVudEluZm9bXT4oJy9hcGkvc3lzdGVtL2Zvcm0vZmluZEFsbCcsIHtcclxuICAgICAgcGFyYW1zXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm9sZXMoKTogT2JzZXJ2YWJsZTxSb2xlW10+IHtcclxuICAgIHJldHVybiBTeXN0ZW1TZXJ2aWNlLl9jYWNoZVsncm9sZXMnXSB8fCAoU3lzdGVtU2VydmljZS5fY2FjaGVbJ3JvbGVzJ10gPVxyXG4gICAgICB0aGlzLl9odHRwLmdldDxSb2xlW10+KCcvYXBpL3N5c3RlbS9wb3NpdGlvbnMvcm9sZXMnKS5waXBlKHNoYXJlUmVwbGF5KCkpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGZvcm1JZFxyXG4gICAqL1xyXG4gIHJhbmdlKGZvcm1JZD86IHN0cmluZyk6IE9ic2VydmFibGU8UmFuZ2VJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxSYW5nZUluZm9bXT4oJy9hcGkvc3lzdGVtL2Zvcm0vcmFuZ2UnLCB7XHJcbiAgICAgIHBhcmFtczogeyBmb3JtSWQ6IGZvcm1JZCB8fCBudWxsIH1cclxuICAgIH0pLnBpcGUodGFwKChyOiBSYW5nZUluZm9bXSkgPT5cclxuICAgICAgci5mb3JFYWNoKHAgPT4gcC5kYXRlID0gbmV3IERhdGUocC5kYXRlKSlcclxuICAgICkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZm9ybUlkXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBpbnZpdGUoZm9ybUlkOiBzdHJpbmcsIG9wdGlvbnM6IHsgZ3JvdXBzOiBzdHJpbmdbXSwgbWVzc2FnZT86IHN0cmluZzsgZGV2aWNlczogSW52aXRlRGV2aWNlW10sIGR1ZT86IERhdGUgfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PHsgdGFyZ2V0OiBudW1iZXI7IG9rOiBudW1iZXI7IGltPzogbnVtYmVyOyBlbWFpbD86IG51bWJlcjsgc21zPzogbnVtYmVyIH0+KGAvYXBpL3N5c3RlbS9mb3JtL2ludml0ZS8ke2Zvcm1JZH1gLCBvcHRpb25zKTtcclxuICB9XHJcbiAgcHJvamVjdGlvbihvcHRpb25zOiB7IGdyb3Vwczogc3RyaW5nW10gfSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8bnVtYmVyPignL2FwaS9zeXN0ZW0vZm9ybS9wcm9qZWN0aW9uLycsIG9wdGlvbnMpO1xyXG4gIH1cclxuICBjdWJlKG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEN1YmVJbmZvPihgL2FwaS9zeXN0ZW0vY3ViZS8ke2VuY29kZVVSSUNvbXBvbmVudChuYW1lKX1gKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKi9cclxuICBmb3JtKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Rm9ybT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEZvcm0+KGAvYXBpL3N5c3RlbS9mb3JtLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpfWApO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb250cm9sczogT2JzZXJ2YWJsZTxDb250cm9sSW5mb1tdPjtcclxuICBjb250cm9scygpOiBPYnNlcnZhYmxlPENvbnRyb2xJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9scyB8fCAodGhpcy5fY29udHJvbHMgPSB0aGlzLl9odHRwLmdldDxDb250cm9sSW5mb1tdPihgL2FwaS9zeXN0ZW0vZm9ybS9jb250cm9sc2ApLlxyXG4gICAgICBwaXBlKFxyXG4gICAgICAgIHRhcChjID0+XHJcbiAgICAgICAgICBjLmZvckVhY2goaSA9PiBjW2kubmFtZV0gPSBpKSksXHJcbiAgICAgICAgc2hhcmVSZXBsYXkoKSkpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhdHlwZXM6IE9ic2VydmFibGU8RGF0YVR5cGVJbmZvW10+O1xyXG4gIGRhdGF0eXBlcygpOiBPYnNlcnZhYmxlPERhdGFUeXBlSW5mb1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YXR5cGVzIHx8ICh0aGlzLl9kYXRhdHlwZXMgPSB0aGlzLl9odHRwLmdldDxEYXRhVHlwZUluZm9bXT4oYC9hcGkvc3lzdGVtL2Zvcm0vZGF0YXR5cGVzYCkuXHJcbiAgICAgIHBpcGUoXHJcbiAgICAgICAgdGFwKHQgPT5cclxuICAgICAgICAgIHQuZm9yRWFjaChpID0+IHRbaS5uYW1lXSA9IGkpKSxcclxuICAgICAgICBzaGFyZVJlcGxheSgpKSk7XHJcbiAgfVxyXG4gIHNhdmUoZm9ybTogRm9ybSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB7IHdvcmtmbG93IH0gPSBmb3JtO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PG51bWJlcj4oYC9hcGkvc3lzdGVtL2Zvcm0vJHtlbmNvZGVVUklDb21wb25lbnQoZm9ybS5uYW1lKX1gLCB7IHdvcmtmbG93IH0pO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcblxyXG4gIH1cclxuICBwdWJsaWMgdHlwZWdyb3VwcygpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGF0eXBlcygpLnBpcGUobWFwKHQgPT4ge1xyXG4gICAgICBjb25zdFxyXG4gICAgICAgIGRlZmF1bHRncm91cCA9IHsgZWxlbWVudHM6IFtdIH0sXHJcbiAgICAgICAgZ3JvdXBzID0gW10gYXMgRWxlbWVudEZhbWlseVtdO1xyXG4gICAgICBncm91cHNbJ18nXSA9IGRlZmF1bHRncm91cDtcclxuICAgICAgdC5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgIGlmICh0LmZhbWlseSkge1xyXG4gICAgICAgICAgbGV0IGdyb3VwID0gZ3JvdXBzW3QuZmFtaWx5XTtcclxuICAgICAgICAgIGlmICghZ3JvdXApIHtcclxuICAgICAgICAgICAgZ3JvdXAgPSB7XHJcbiAgICAgICAgICAgICAgdGl0bGU6IHQuZmFtaWx5LFxyXG4gICAgICAgICAgICAgIGVsZW1lbnRzOiBbdF1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgZ3JvdXBzLnB1c2goZ3JvdXApO1xyXG4gICAgICAgICAgICBncm91cHNbdC5mYW1pbHldID0gZ3JvdXA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGdyb3VwLmVsZW1lbnRzLnB1c2godCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgZGVmYXVsdGdyb3VwLmVsZW1lbnRzLnB1c2godCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gZ3JvdXBzO1xyXG4gICAgfSkpXHJcbiAgfVxyXG59XHJcbmV4cG9ydCB0eXBlIEludml0ZURldmljZSA9ICdTbXMnIHwgJ0VtYWlsJyB8ICdJTSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VJbmZvIHtcclxuICBjb3VudDogbnVtYmVyO1xyXG4gIGRhdGU6IERhdGU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudEluZm8ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgc3ViamVjdDogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xJbmZvIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVR5cGVJbmZvIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBhc3NpZ25hYmxlPzogYm9vbGVhbjtcclxuICBjb2x1bW5zPzogRmllbGRJbmZvW107XHJcbiAgZmFtaWx5Pzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUluZm8ge1xyXG4gIGpvYkluZm86IEJhY2tncm91bmRKb2JJbmZvO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFja2dyb3VuZEpvYkluZm8ge1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIG5leHRFeGVjdXRpb24/OiBEYXRlO1xyXG4gIGxhc3RFeGVjdXRpb24/OiBEYXRlO1xyXG4gIGxhc3RKb2JTdGF0ZT86IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgUnVsZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSb2xlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -20,7 +20,7 @@ AddressControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
20
20
  <form autocomplete="off" [formGroup]="form" class="column">
21
21
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
22
22
  <bizdoc-localized-string [placeholder]="'Placeholder'|translate" formControlName="placeholder"></bizdoc-localized-string>
23
- </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
23
+ </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
24
24
  AddressControlDesigner = __decorate([
25
25
  BizDoc({ selector: 'address-control-designer' })
26
26
  ], AddressControlDesigner);
@@ -4,6 +4,7 @@ import { FormControl, Validators } from '@angular/forms';
4
4
  import { Subject } from 'rxjs';
5
5
  import { TypeAutocomplete } from '../inputs/auto-complete.input';
6
6
  import { BizDoc } from '../decorators';
7
+ import { OptionsControlDesigner } from './options.base';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "../datasource.service";
9
10
  import * as i2 from "@angular/common";
@@ -13,11 +14,12 @@ import * as i5 from "../inputs/auto-complete.input";
13
14
  import * as i6 from "../pipes/localized-string.pipe";
14
15
  import * as i7 from "../pipes/type-value.pipe";
15
16
  import * as i8 from "../pipes/translate.pipe";
16
- import * as i9 from "../session.service";
17
+ import * as i9 from "../../admin/system.service";
17
18
  import * as i10 from "@angular/material/core";
18
19
  import * as i11 from "@angular/material/select";
19
20
  import * as i12 from "@angular/material/checkbox";
20
21
  import * as i13 from "@angular/material/input";
22
+ import * as i14 from "../pipes/sort.pipe";
21
23
  let AutocompleteField = class AutocompleteField {
22
24
  constructor(_ds) {
23
25
  this._ds = _ds;
@@ -48,9 +50,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
48
50
  type: ViewChild,
49
51
  args: [TypeAutocomplete]
50
52
  }] } });
51
- let AutocompleteControlDesigner = class AutocompleteControlDesigner {
52
- constructor(_session, _fb) {
53
- this._session = _session;
53
+ let AutocompleteControlDesigner = class AutocompleteControlDesigner extends OptionsControlDesigner {
54
+ constructor(service, _fb) {
55
+ super(service);
54
56
  this._fb = _fb;
55
57
  this.form = this._fb.group({
56
58
  label: null,
@@ -59,11 +61,10 @@ let AutocompleteControlDesigner = class AutocompleteControlDesigner {
59
61
  dataType: this._fb.control(null, Validators.required),
60
62
  hint: null,
61
63
  });
62
- this.datatypes = this._session.profile.types;
63
64
  }
64
65
  };
65
- AutocompleteControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AutocompleteControlDesigner, deps: [{ token: i9.SessionService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
66
- AutocompleteControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AutocompleteControlDesigner, selector: "ng-component", ngImport: i0, template: `
66
+ AutocompleteControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AutocompleteControlDesigner, deps: [{ token: i9.SystemService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
67
+ AutocompleteControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: AutocompleteControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
67
68
  <form autocomplete="off" [formGroup]="form" class="column">
68
69
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
69
70
  <mat-form-field>
@@ -73,11 +74,18 @@ AutocompleteControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
73
74
  <mat-form-field>
74
75
  <mat-label>{{'DataType'|translate}}</mat-label>
75
76
  <mat-select formControlName="dataType" required>
76
- <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title|localizedString}}</mat-option>
77
+ <mat-option *ngFor="let t of (datatypes|async)['_'].elements|sort: 'title'" [value]="t.name">
78
+ {{t.title}}
79
+ </mat-option>
80
+ <mat-optgroup *ngFor="let g of datatypes|async|sort: 'title'" [label]="g.title">
81
+ <mat-option *ngFor="let t of g.elements|sort: 'title'" [value]="t.name">
82
+ {{t.title}}
83
+ </mat-option>
84
+ </mat-optgroup>
77
85
  </mat-select>
78
86
  <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
79
87
  </mat-form-field>
80
- </form>`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i13.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
88
+ </form>`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i10.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i13.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
81
89
  AutocompleteControlDesigner = __decorate([
82
90
  BizDoc({ selector: 'autocomplete-control-designer' })
83
91
  ], AutocompleteControlDesigner);
@@ -95,11 +103,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
95
103
  <mat-form-field>
96
104
  <mat-label>{{'DataType'|translate}}</mat-label>
97
105
  <mat-select formControlName="dataType" required>
98
- <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title|localizedString}}</mat-option>
106
+ <mat-option *ngFor="let t of (datatypes|async)['_'].elements|sort: 'title'" [value]="t.name">
107
+ {{t.title}}
108
+ </mat-option>
109
+ <mat-optgroup *ngFor="let g of datatypes|async|sort: 'title'" [label]="g.title">
110
+ <mat-option *ngFor="let t of g.elements|sort: 'title'" [value]="t.name">
111
+ {{t.title}}
112
+ </mat-option>
113
+ </mat-optgroup>
99
114
  </mat-select>
100
115
  <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
101
116
  </mat-form-field>
102
117
  </form>`
103
118
  }]
104
- }], ctorParameters: function () { return [{ type: i9.SessionService }, { type: i3.FormBuilder }]; } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9hdXRvY29tcGxldGUuZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL2F1dG9jb21wbGV0ZS5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBZSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFTaEMsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFRNUIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFMakMsWUFBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFJcEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFaEQsQ0FBQztJQU9ELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9CLFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7OEdBdkJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDRKQUtqQixnQkFBZ0IsZ0RDckI3Qixrb0JBVUE7QURNYSxpQkFBaUI7SUFEN0IsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7R0FDaEMsaUJBQWlCLENBd0I3QjtTQXhCWSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFMN0IsU0FBUzsyQkFFRixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7d0dBT2YsTUFBTTtzQkFBZCxLQUFLO2dCQUN1QixLQUFLO3NCQUFqQyxTQUFTO3VCQUFDLGdCQUFnQjs7QUFxQ3RCLElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBU3RDLFlBQ1UsUUFBd0IsRUFDeEIsR0FBZ0I7UUFEaEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQVRqQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNyRCxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUlELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7O3dIQWJVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLG9EQWhCNUI7Ozs7Ozs7Ozs7Ozs7O1FBY0o7QUFFSywyQkFBMkI7SUFEdkMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLCtCQUErQixFQUFFLENBQUM7R0FDekMsMkJBQTJCLENBY3ZDO1NBZFksMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBakJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7UUFjSjtpQkFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29udHJvbENvbXBvbmVudCwgQ29udHJvbERlc2lnbmVyLCBWaWV3TW9kZSB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBUeXBlQXV0b2NvbXBsZXRlIH0gZnJvbSAnLi4vaW5wdXRzL2F1dG8tY29tcGxldGUuaW5wdXQnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdhdXRvY29tcGxldGUuZmllbGQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2ZpZWxkJyB9XHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2F1dG9jb21wbGV0ZS1jb250cm9sJyB9KVxyXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlRmllbGQgaW1wbGVtZW50cyBDb250cm9sQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcclxuICBoaW50Pzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBASW5wdXQoKSBwYXJhbXM6IGFueTtcclxuICBAVmlld0NoaWxkKFR5cGVBdXRvY29tcGxldGUpIGlucHV0OiBUeXBlQXV0b2NvbXBsZXRlO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSkge1xyXG4gIH1cclxuICBtb2RlOiBWaWV3TW9kZTtcclxuICBtdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgZGF0YVR5cGUhOiBzdHJpbmc7XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1aXJlZCAmJiB0aGlzLmNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcbiAgZm9jdXMoKSB7IHRoaXMuaW5wdXQuZm9jdXMoKTsgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgXHJcbjxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwibXVsdGlwbGVcIj57eydNdWx0aXBsZSd8dHJhbnNsYXRlfX08L21hdC1jaGVja2JveD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydQbGFjZWhvbGRlcid8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInBsYWNlaG9sZGVyXCIgLz5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0RhdGFUeXBlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJkYXRhVHlwZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB0IG9mIGRhdGF0eXBlc1wiIFt2YWx1ZV09XCJ0Lm5hbWVcIj57e3QudGl0bGV8bG9jYWxpemVkU3RyaW5nfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkYXRhVHlwZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTonRGF0YVR5cGUnXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Zvcm0+YCB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdhdXRvY29tcGxldGUtY29udHJvbC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbnRyb2xEZXNpZ25lciBpbXBsZW1lbnRzIENvbnRyb2xEZXNpZ25lcjxBdXRvY29tcGxldGVNb2RlbD4ge1xyXG4gIHJlYWRvbmx5IGRhdGF0eXBlczogVHlwZVtdO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBsYWJlbDogbnVsbCxcclxuICAgIG11bHRpcGxlOiBudWxsLFxyXG4gICAgcGxhY2Vob2xkZXI6IG51bGwsXHJcbiAgICBkYXRhVHlwZTogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGhpbnQ6IG51bGwsXHJcbiAgfSk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5kYXRhdHlwZXMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudHlwZXM7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBBdXRvY29tcGxldGVNb2RlbCB7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGhpbnQ/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09YXBwZWFyYW5jZSAqbmdJZj1cIm1vZGU9PT0nY29tcG9zZSc7ZWxzZSB2aWV3XCI+XHJcbiAgPG1hdC1sYWJlbD57e2xhYmVsIHxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LWxhYmVsPlxyXG4gIDxiaXpkb2MtYXV0b2NvbXBsZXRlIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8bG9jYWxpemVkU3RyaW5nXCIgW2Zvcm1Db250cm9sXT1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW3R5cGVdPVwiZGF0YVR5cGVcIj48L2JpemRvYy1hdXRvY29tcGxldGU+XHJcbiAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPiB7eyBoaW50IHxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LWhpbnQ+XHJcbiAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOihsYWJlbHxsb2NhbGl6ZWRTdHJpbmcpXCI+PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbjxuZy10ZW1wbGF0ZSAjdmlldz5cclxuICB7e2NvbnRyb2wudmFsdWUgfCB0eXBlVmFsdWU6IGRhdGFUeXBlIHwgYXN5bmN9fVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
119
+ }], ctorParameters: function () { return [{ type: i9.SystemService }, { type: i3.FormBuilder }]; } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9hdXRvY29tcGxldGUuZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL2F1dG9jb21wbGV0ZS5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBZSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT2pELElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBUTVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBTGpDLFlBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBSXBCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRWhELENBQUM7SUFPRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzhHQXZCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw0SkFLakIsZ0JBQWdCLGdEQ3ZCN0Isa29CQVVBO0FEUWEsaUJBQWlCO0lBRDdCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLGlCQUFpQixDQXdCN0I7U0F4QlksaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7MkJBRUYsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO3dHQU9mLE1BQU07c0JBQWQsS0FBSztnQkFDdUIsS0FBSztzQkFBakMsU0FBUzt1QkFBQyxnQkFBZ0I7O0FBNEN0QixJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUE0QixTQUFRLHNCQUFzQjtJQVFyRSxZQUNFLE9BQXNCLEVBQ2QsR0FBZ0I7UUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRFAsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQVRqQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNyRCxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUtILENBQUM7O3dIQVpVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDJFQXZCNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQXFCSjtBQUVLLDJCQUEyQjtJQUR2QyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsK0JBQStCLEVBQUUsQ0FBQztHQUN6QywyQkFBMkIsQ0FhdkM7U0FiWSwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkF4QnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFxQko7aUJBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb21wb25lbnQsIENvbnRyb2xEZXNpZ25lciwgVmlld01vZGUgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgVHlwZUF1dG9jb21wbGV0ZSB9IGZyb20gJy4uL2lucHV0cy9hdXRvLWNvbXBsZXRlLmlucHV0JztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uLy4uL2FkbWluL3N5c3RlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3B0aW9uc0NvbnRyb2xEZXNpZ25lciB9IGZyb20gJy4vb3B0aW9ucy5iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnYXV0b2NvbXBsZXRlLmZpZWxkLmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdmaWVsZCcgfVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdhdXRvY29tcGxldGUtY29udHJvbCcgfSlcclxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUZpZWxkIGltcGxlbWVudHMgQ29udHJvbENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2U7XHJcbiAgaGludD86IHN0cmluZztcclxuICByZWFkb25seSBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgQElucHV0KCkgcGFyYW1zOiBhbnk7XHJcbiAgQFZpZXdDaGlsZChUeXBlQXV0b2NvbXBsZXRlKSBpbnB1dDogVHlwZUF1dG9jb21wbGV0ZTtcclxuICB2YWx1ZT86IHN0cmluZztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UpIHtcclxuICB9XHJcbiAgbW9kZTogVmlld01vZGU7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIGRhdGFUeXBlITogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWlyZWQgJiYgdGhpcy5jb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgfVxyXG4gIGZvY3VzKCkgeyB0aGlzLmlucHV0LmZvY3VzKCk7IH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYFxyXG48Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cIm11bHRpcGxlXCI+e3snTXVsdGlwbGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snUGxhY2Vob2xkZXInfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwbGFjZWhvbGRlclwiIC8+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydEYXRhVHlwZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YVR5cGVcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdCBvZiAoZGF0YXR5cGVzfGFzeW5jKVsnXyddLmVsZW1lbnRzfHNvcnQ6ICd0aXRsZSdcIiBbdmFsdWVdPVwidC5uYW1lXCI+XHJcbiAgICAgICAgICB7e3QudGl0bGV9fVxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRncm91cCAqbmdGb3I9XCJsZXQgZyBvZiBkYXRhdHlwZXN8YXN5bmN8c29ydDogJ3RpdGxlJ1wiIFtsYWJlbF09XCJnLnRpdGxlXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHQgb2YgZy5lbGVtZW50c3xzb3J0OiAndGl0bGUnXCIgW3ZhbHVlXT1cInQubmFtZVwiPlxyXG4gICAgICAgICAge3t0LnRpdGxlfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LW9wdGdyb3VwPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnZGF0YVR5cGUnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6J0RhdGFUeXBlJ1wiPjwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9mb3JtPmAgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnYXV0b2NvbXBsZXRlLWNvbnRyb2wtZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb250cm9sRGVzaWduZXIgZXh0ZW5kcyBPcHRpb25zQ29udHJvbERlc2lnbmVyIGltcGxlbWVudHMgQ29udHJvbERlc2lnbmVyPEF1dG9jb21wbGV0ZU1vZGVsPiB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGxhYmVsOiBudWxsLFxyXG4gICAgbXVsdGlwbGU6IG51bGwsXHJcbiAgICBwbGFjZWhvbGRlcjogbnVsbCxcclxuICAgIGRhdGFUeXBlOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaGludDogbnVsbCxcclxuICB9KTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgQXV0b2NvbXBsZXRlTW9kZWwge1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBkYXRhVHlwZT86IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICBoaW50Pzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPWFwcGVhcmFuY2UgKm5nSWY9XCJtb2RlPT09J2NvbXBvc2UnO2Vsc2Ugdmlld1wiPlxyXG4gIDxtYXQtbGFiZWw+e3tsYWJlbCB8bG9jYWxpemVkU3RyaW5nfX08L21hdC1sYWJlbD5cclxuICA8Yml6ZG9jLWF1dG9jb21wbGV0ZSBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfGxvY2FsaXplZFN0cmluZ1wiIFtmb3JtQ29udHJvbF09Y29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFt0eXBlXT1cImRhdGFUeXBlXCI+PC9iaXpkb2MtYXV0b2NvbXBsZXRlPlxyXG4gIDxtYXQtaGludCAqbmdJZj1cImhpbnRcIj4ge3sgaGludCB8bG9jYWxpemVkU3RyaW5nfX08L21hdC1oaW50PlxyXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZToobGFiZWx8bG9jYWxpemVkU3RyaW5nKVwiPjwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG48bmctdGVtcGxhdGUgI3ZpZXc+XHJcbiAge3tjb250cm9sLnZhbHVlIHwgdHlwZVZhbHVlOiBkYXRhVHlwZSB8IGFzeW5jfX1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -20,7 +20,7 @@ CheckboxControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
20
20
  <form autocomplete="off" [formGroup]="form" class="column">
21
21
  <bizdoc-localized-string [placeholder]="'Label'|translate" required formControlName="label"></bizdoc-localized-string>
22
22
  </form>
23
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
23
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
24
24
  CheckboxControlDesigner = __decorate([
25
25
  BizDoc({ selector: 'checkbox-control-designer' })
26
26
  ], CheckboxControlDesigner);
@@ -3,7 +3,7 @@ import { Component } from '@angular/core';
3
3
  import { BizDoc } from '../decorators';
4
4
  import { OptionsControlDesigner } from './options.base';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../session.service";
6
+ import * as i1 from "../../admin/system.service";
7
7
  import * as i2 from "@angular/forms";
8
8
  import * as i3 from "@angular/common";
9
9
  import * as i4 from "@angular/material/core";
@@ -11,10 +11,11 @@ import * as i5 from "@angular/material/form-field";
11
11
  import * as i6 from "@angular/material/select";
12
12
  import * as i7 from "@angular/material/checkbox";
13
13
  import * as i8 from "./options.component";
14
- import * as i9 from "../pipes/translate.pipe";
14
+ import * as i9 from "../pipes/sort.pipe";
15
+ import * as i10 from "../pipes/translate.pipe";
15
16
  let ChecklistControlDesigner = class ChecklistControlDesigner extends OptionsControlDesigner {
16
- constructor(session, _fb) {
17
- super(session);
17
+ constructor(service, _fb) {
18
+ super(service);
18
19
  this._fb = _fb;
19
20
  this.form = this._fb.group({
20
21
  label: null,
@@ -27,19 +28,26 @@ let ChecklistControlDesigner = class ChecklistControlDesigner extends OptionsCon
27
28
  this.model = model;
28
29
  }
29
30
  };
30
- ChecklistControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ChecklistControlDesigner, deps: [{ token: i1.SessionService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
31
+ ChecklistControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ChecklistControlDesigner, deps: [{ token: i1.SystemService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
31
32
  ChecklistControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ChecklistControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
32
33
  <form autocomplete="off" [formGroup]="form" class="column">
33
34
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
34
- <mat-form-field>
35
+ <mat-form-field *ngIf="datatypes">
35
36
  <mat-label>{{'DataType'|translate}}</mat-label>
36
37
  <mat-select formControlName="dataType">
37
- <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
38
+ <mat-option *ngFor="let t of datatypes['_'].elements|sort: 'title'" [value]="t.name">
39
+ {{t.title}}
40
+ </mat-option>
41
+ <mat-optgroup *ngFor="let g of datatypes|sort: 'title'" [label]="g.title">
42
+ <mat-option *ngFor="let t of g.elements|sort: 'title'" [value]="t.name">
43
+ {{t.title}}
44
+ </mat-option>
45
+ </mat-optgroup>
38
46
  </mat-select>
39
47
  <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
40
48
  </mat-form-field>
41
49
  <bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
42
- </form>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i8.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
50
+ </form>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i8.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i9.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
43
51
  ChecklistControlDesigner = __decorate([
44
52
  BizDoc({ selector: 'checklist-control-designer' })
45
53
  ], ChecklistControlDesigner);
@@ -50,15 +58,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
50
58
  template: `
51
59
  <form autocomplete="off" [formGroup]="form" class="column">
52
60
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
53
- <mat-form-field>
61
+ <mat-form-field *ngIf="datatypes">
54
62
  <mat-label>{{'DataType'|translate}}</mat-label>
55
63
  <mat-select formControlName="dataType">
56
- <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
64
+ <mat-option *ngFor="let t of datatypes['_'].elements|sort: 'title'" [value]="t.name">
65
+ {{t.title}}
66
+ </mat-option>
67
+ <mat-optgroup *ngFor="let g of datatypes|sort: 'title'" [label]="g.title">
68
+ <mat-option *ngFor="let t of g.elements|sort: 'title'" [value]="t.name">
69
+ {{t.title}}
70
+ </mat-option>
71
+ </mat-optgroup>
57
72
  </mat-select>
58
73
  <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
59
74
  </mat-form-field>
60
75
  <bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
61
76
  </form>`
62
77
  }]
63
- }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.FormBuilder }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9jaGVja2xpc3QuZGVzaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFnQmpELElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXlCLFNBQVEsc0JBQXNCO0lBUWxFLFlBQ0UsT0FBdUIsRUFDZixHQUFnQjtRQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEUCxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBUmpCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3BELElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBS0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFxQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOztxSEFmVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwyRUFiekI7Ozs7Ozs7Ozs7O1FBV0o7QUFFSyx3QkFBd0I7SUFEcEMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFLENBQUM7R0FDdEMsd0JBQXdCLENBZ0JwQztTQWhCWSx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFkcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O1FBV0o7aUJBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xEZXNpZ25lciB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTG9jYWxpemVkU3RyaW5nIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcHRpb25zQ29udHJvbERlc2lnbmVyIH0gZnJvbSAnLi9vcHRpb25zLmJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBcclxuICAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJtdWx0aXBsZVwiPnt7J011bHRpcGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWNoZWNrYm94PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0RhdGFUeXBlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJkYXRhVHlwZVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB0IG9mIGRhdGF0eXBlc1wiIFt2YWx1ZV09XCJ0Lm5hbWVcIj57e3QudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkYXRhVHlwZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ0RhdGFUeXBlJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxiaXpkb2MtZGVzaWduLW9wdGlvbnMgW2Zvcm1dPVwiZm9ybVwiIFttb2RlbF09XCJtb2RlbFwiPjwvYml6ZG9jLWRlc2lnbi1vcHRpb25zPlxyXG48L2Zvcm0+YCB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdjaGVja2xpc3QtY29udHJvbC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIENoZWNrbGlzdENvbnRyb2xEZXNpZ25lciBleHRlbmRzIE9wdGlvbnNDb250cm9sRGVzaWduZXIgaW1wbGVtZW50cyBDb250cm9sRGVzaWduZXI8Q2hlY2tsaXN0TW9kZWw+IHtcclxuICBtb2RlbDogQ2hlY2tsaXN0TW9kZWw7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGxhYmVsOiBudWxsLFxyXG4gICAgbXVsdGlwbGU6IHRydWUsXHJcbiAgICBkYXRhVHlwZTogdGhpcy5fZmIuY29udHJvbChudWxsLCB0aGlzLl90eXBlUmVxdWlyZWQpLFxyXG4gICAgaGludDogbnVsbCxcclxuICB9KTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICBzdXBlcihzZXNzaW9uKTtcclxuICB9XHJcbiAgb25CaW5kKG1vZGVsOiBDaGVja2xpc3RNb2RlbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgQ2hlY2tsaXN0TW9kZWwge1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBkYXRhVHlwZT86IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICBoaW50Pzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBvcHRpb25zPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IExvY2FsaXplZFN0cmluZyB9W107XHJcbn1cclxuIl19
78
+ }], ctorParameters: function () { return [{ type: i1.SystemService }, { type: i2.FormBuilder }]; } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9jaGVja2xpc3QuZGVzaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBdUJqRCxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF5QixTQUFRLHNCQUFzQjtJQVFsRSxZQUNFLE9BQXNCLEVBQ2QsR0FBZ0I7UUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRFAsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQVJqQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNwRCxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUtILENBQUM7SUFDRCxNQUFNLENBQUMsS0FBcUI7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7cUhBZlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsMkVBcEJ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBa0JKO0FBRUssd0JBQXdCO0lBRHBDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSxDQUFDO0dBQ3RDLHdCQUF3QixDQWdCcEM7U0FoQlksd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBckJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBa0JKO2lCQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYWRtaW4vc3lzdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250cm9sRGVzaWduZXIgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IExvY2FsaXplZFN0cmluZyB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IE9wdGlvbnNDb250cm9sRGVzaWduZXIgfSBmcm9tICcuL29wdGlvbnMuYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYFxyXG4gICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cIm11bHRpcGxlXCI+e3snTXVsdGlwbGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJkYXRhdHlwZXNcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydEYXRhVHlwZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YVR5cGVcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdCBvZiBkYXRhdHlwZXNbJ18nXS5lbGVtZW50c3xzb3J0OiAndGl0bGUnXCIgW3ZhbHVlXT1cInQubmFtZVwiPlxyXG4gICAgICAgICAge3t0LnRpdGxlfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0Z3JvdXAgKm5nRm9yPVwibGV0IGcgb2YgZGF0YXR5cGVzfHNvcnQ6ICd0aXRsZSdcIiBbbGFiZWxdPVwiZy50aXRsZVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB0IG9mIGcuZWxlbWVudHN8c29ydDogJ3RpdGxlJ1wiIFt2YWx1ZV09XCJ0Lm5hbWVcIj5cclxuICAgICAgICAgIHt7dC50aXRsZX19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1vcHRncm91cD5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkYXRhVHlwZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ0RhdGFUeXBlJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxiaXpkb2MtZGVzaWduLW9wdGlvbnMgW2Zvcm1dPVwiZm9ybVwiIFttb2RlbF09XCJtb2RlbFwiPjwvYml6ZG9jLWRlc2lnbi1vcHRpb25zPlxyXG48L2Zvcm0+YCB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdjaGVja2xpc3QtY29udHJvbC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIENoZWNrbGlzdENvbnRyb2xEZXNpZ25lciBleHRlbmRzIE9wdGlvbnNDb250cm9sRGVzaWduZXIgaW1wbGVtZW50cyBDb250cm9sRGVzaWduZXI8Q2hlY2tsaXN0TW9kZWw+IHtcclxuICBtb2RlbDogQ2hlY2tsaXN0TW9kZWw7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGxhYmVsOiBudWxsLFxyXG4gICAgbXVsdGlwbGU6IHRydWUsXHJcbiAgICBkYXRhVHlwZTogdGhpcy5fZmIuY29udHJvbChudWxsLCB0aGlzLl90eXBlUmVxdWlyZWQpLFxyXG4gICAgaGludDogbnVsbCxcclxuICB9KTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UpO1xyXG4gIH1cclxuICBvbkJpbmQobW9kZWw6IENoZWNrbGlzdE1vZGVsKSB7XHJcbiAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBDaGVja2xpc3RNb2RlbCB7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGhpbnQ/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIG9wdGlvbnM/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogTG9jYWxpemVkU3RyaW5nIH1bXTtcclxufVxyXG4iXX0=
@@ -24,7 +24,7 @@ DateRangeControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
24
24
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
25
25
  <bizdoc-localized-string [placeholder]="'Placeholder'|translate" formControlName="startPlaceholder"></bizdoc-localized-string>
26
26
  <bizdoc-localized-string [placeholder]="'Placeholder'|translate" formControlName="endPlaceholder"></bizdoc-localized-string>
27
- </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
27
+ </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
28
28
  DateRangeControlDesigner = __decorate([
29
29
  BizDoc({ selector: 'date-range-control-designer' })
30
30
  ], DateRangeControlDesigner);
@@ -22,7 +22,7 @@ DateControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
22
22
  <form autocomplete="off" [formGroup]="form" class="column">
23
23
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
24
24
  <bizdoc-localized-string [placeholder]="'Placeholder'|translate" formControlName="placeholder"></bizdoc-localized-string>
25
- </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
25
+ </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
26
26
  DateControlDesigner = __decorate([
27
27
  BizDoc({ selector: 'date-control-designer' })
28
28
  ], DateControlDesigner);
@@ -21,7 +21,7 @@ FileControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
21
21
  <form autocomplete="off" [formGroup]="form" class="column">
22
22
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
23
23
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
24
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
24
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
25
25
  FileControlDesigner = __decorate([
26
26
  BizDoc({ selector: 'file-control-designer' })
27
27
  ], FileControlDesigner);
@@ -33,7 +33,7 @@ HtmlFieldDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
33
33
  <input matInput formControlName="maxLength" type="number" />
34
34
  </mat-form-field>
35
35
  </div>
36
- </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
36
+ </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
37
37
  HtmlFieldDesigner = __decorate([
38
38
  BizDoc({ selector: 'html-control-designer' })
39
39
  ], HtmlFieldDesigner);
@@ -26,7 +26,7 @@ let InputFieldDesigner = class InputFieldDesigner {
26
26
  }
27
27
  };
28
28
  InputFieldDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: InputFieldDesigner, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
29
- InputFieldDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: InputFieldDesigner, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"kind\">\r\n <mat-option>{{'Text'|translate}}</mat-option>\r\n <mat-option value=\"PhoneNumber\">{{'Tel'|translate}}</mat-option>\r\n <mat-option value=\"EmailAddress\">{{'Email'|translate}}</mat-option>\r\n <mat-option value=\"Url\">{{'Url'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Pattern'|translate}}</mat-label>\r\n <input matInput formControlName=\"pattern\" />\r\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <!--<bizdoc-icon-picker formControlName=\"prefixIcon\"></bizdoc-icon-picker>\r\n <bizdoc-icon-picker formControlName=\"suffixIcon\"></bizdoc-icon-picker>-->\r\n </div>\r\n <div class=\"row\">\r\n <mat-form-field flex>\r\n <mat-label>{{'MinLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"minLength\" type=\"number\" />\r\n </mat-form-field>&nbsp;\r\n <mat-form-field flex>\r\n <mat-label>{{'MaxLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"maxLength\" type=\"number\" />\r\n </mat-form-field>\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i7.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
29
+ InputFieldDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: InputFieldDesigner, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <mat-form-field>\r\n <mat-label>{{'Type'|translate}}</mat-label>\r\n <mat-select formControlName=\"kind\">\r\n <mat-option>{{'Text'|translate}}</mat-option>\r\n <mat-option value=\"PhoneNumber\">{{'Tel'|translate}}</mat-option>\r\n <mat-option value=\"EmailAddress\">{{'Email'|translate}}</mat-option>\r\n <mat-option value=\"Url\">{{'Url'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Pattern'|translate}}</mat-label>\r\n <input matInput formControlName=\"pattern\" />\r\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <!--<bizdoc-icon-picker formControlName=\"prefixIcon\"></bizdoc-icon-picker>\r\n <bizdoc-icon-picker formControlName=\"suffixIcon\"></bizdoc-icon-picker>-->\r\n </div>\r\n <div class=\"row\">\r\n <mat-form-field flex>\r\n <mat-label>{{'MinLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"minLength\" type=\"number\" />\r\n </mat-form-field>&nbsp;\r\n <mat-form-field flex>\r\n <mat-label>{{'MaxLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"maxLength\" type=\"number\" />\r\n </mat-form-field>\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i7.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
30
30
  InputFieldDesigner = __decorate([
31
31
  BizDoc({ selector: 'text-control-designer' })
32
32
  ], InputFieldDesigner);
@@ -13,7 +13,7 @@ export class LocalizedStringField {
13
13
  }
14
14
  }
15
15
  LocalizedStringField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LocalizedStringField, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- LocalizedStringField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LocalizedStringField, selector: "ng-component", host: { classAttribute: "field" }, ngImport: i0, template: "<bizdoc-localized-string [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"column\"></bizdoc-localized-string>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }] });
16
+ LocalizedStringField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LocalizedStringField, selector: "ng-component", host: { classAttribute: "field" }, ngImport: i0, template: "<bizdoc-localized-string [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"column\"></bizdoc-localized-string>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }] });
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LocalizedStringField, decorators: [{
18
18
  type: Component,
19
19
  args: [{ host: { class: 'field' }, template: "<bizdoc-localized-string [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"column\"></bizdoc-localized-string>\r\n" }]
@@ -40,7 +40,7 @@ NumberControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
40
40
  <input matInput formControlName="max" type="number" />
41
41
  </mat-form-field>
42
42
  </div>
43
- </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
43
+ </form>`, isInline: true, dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
44
44
  NumberControlDesigner = __decorate([
45
45
  BizDoc({ selector: 'number-control-designer' })
46
46
  ], NumberControlDesigner);
@@ -2,7 +2,7 @@ import { Directive } from '@angular/core';
2
2
  import { Validators } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../datasource.service";
5
- import * as i2 from "../session.service";
5
+ import * as i2 from "../../admin/system.service";
6
6
  export class OptionsControlField {
7
7
  constructor(_ds) {
8
8
  this._ds = _ds;
@@ -22,20 +22,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
22
22
  type: Directive
23
23
  }], ctorParameters: function () { return [{ type: i1.DatasourceService }]; } });
24
24
  export class OptionsControlDesigner {
25
- constructor(_session) {
26
- this._session = _session;
25
+ constructor(_service) {
26
+ this._service = _service;
27
27
  this._typeRequired = (control) => {
28
28
  const options = control.parent?.get('options');
29
29
  if (options && !options.length && !control.parent?.get('dataType').value)
30
30
  return { required: true };
31
31
  return null;
32
32
  };
33
- this.datatypes = this._session.profile.types;
33
+ this._service.typegroups().subscribe(t => this.datatypes = t);
34
34
  }
35
35
  }
36
- OptionsControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OptionsControlDesigner, deps: [{ token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Directive });
36
+ OptionsControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OptionsControlDesigner, deps: [{ token: i2.SystemService }], target: i0.ɵɵFactoryTarget.Directive });
37
37
  OptionsControlDesigner.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: OptionsControlDesigner, ngImport: i0 });
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OptionsControlDesigner, decorators: [{
39
39
  type: Directive
40
- }], ctorParameters: function () { return [{ type: i2.SessionService }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9vcHRpb25zLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQTZELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXZHLE1BQU0sT0FBZ0IsbUJBQW1CO0lBS3ZDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQzFDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUN6RCxDQUFDOztnSEFibUIsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUzs7QUFpQlYsTUFBTSxPQUFnQixzQkFBc0I7SUFRMUMsWUFDVSxRQUF3QjtRQUF4QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQVJ6QixrQkFBYSxHQUFHLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQWMsQ0FBQztZQUM1RCxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLO2dCQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBSUEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQzs7bUhBWG1CLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZFN0cmluZywgVHlwZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT3B0aW9uc0NvbnRyb2xGaWVsZCB7XHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgZGF0YVR5cGU/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIG9wdGlvbnM/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogTG9jYWxpemVkU3RyaW5nIH1bXTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgaWYgKHRoaXMuZGF0YVR5cGUpIHRoaXMuX2RzLmFsbCh0aGlzLmRhdGFUeXBlKS5zdWJzY3JpYmUodiA9PiB0aGlzLm9wdGlvbnMgPSB2KTtcclxuICB9XHJcbiAgb3B0aW9uT2YodmFsdWUpIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbmQobyA9PiBvLmtleSA9PT0gdmFsdWUpPy52YWx1ZTtcclxuICB9XHJcbn1cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zQ29udHJvbERlc2lnbmVyIHtcclxuICByZWFkb25seSBfdHlwZVJlcXVpcmVkID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250cm9sLnBhcmVudD8uZ2V0KCdvcHRpb25zJykgYXMgRm9ybUFycmF5O1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgIW9wdGlvbnMubGVuZ3RoICYmICFjb250cm9sLnBhcmVudD8uZ2V0KCdkYXRhVHlwZScpLnZhbHVlKVxyXG4gICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSB9O1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxuICByZWFkb25seSBkYXRhdHlwZXM6IFR5cGVbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmRhdGF0eXBlcyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS50eXBlcztcclxuICB9XHJcbn1cclxuIl19
40
+ }], ctorParameters: function () { return [{ type: i2.SystemService }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9vcHRpb25zLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQTZELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBUXZHLE1BQU0sT0FBZ0IsbUJBQW1CO0lBS3ZDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQzFDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUN6RCxDQUFDOztnSEFibUIsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUzs7QUFpQlYsTUFBTSxPQUFnQixzQkFBc0I7SUFRMUMsWUFDVSxRQUF1QjtRQUF2QixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBUnhCLGtCQUFhLEdBQUcsQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQzdFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBYyxDQUFDO1lBQzVELElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFJQSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O21IQVptQixzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbGVtZW50RmFtaWx5IH0gZnJvbSAnLi4vLi4vYWRtaW4vYXJjaGl0ZWN0dXJlL2RlY2xhcmF0aW9ucyc7XHJcbmltcG9ydCB7IFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hZG1pbi9zeXN0ZW0uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkU3RyaW5nIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT3B0aW9uc0NvbnRyb2xGaWVsZCB7XHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgZGF0YVR5cGU/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIG9wdGlvbnM/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogTG9jYWxpemVkU3RyaW5nIH1bXTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgaWYgKHRoaXMuZGF0YVR5cGUpIHRoaXMuX2RzLmFsbCh0aGlzLmRhdGFUeXBlKS5zdWJzY3JpYmUodiA9PiB0aGlzLm9wdGlvbnMgPSB2KTtcclxuICB9XHJcbiAgb3B0aW9uT2YodmFsdWUpIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbmQobyA9PiBvLmtleSA9PT0gdmFsdWUpPy52YWx1ZTtcclxuICB9XHJcbn1cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zQ29udHJvbERlc2lnbmVyIHtcclxuICByZWFkb25seSBfdHlwZVJlcXVpcmVkID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250cm9sLnBhcmVudD8uZ2V0KCdvcHRpb25zJykgYXMgRm9ybUFycmF5O1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgIW9wdGlvbnMubGVuZ3RoICYmICFjb250cm9sLnBhcmVudD8uZ2V0KCdkYXRhVHlwZScpLnZhbHVlKVxyXG4gICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSB9O1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxuICBkYXRhdHlwZXM6IEVsZW1lbnRGYW1pbHlbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IFN5c3RlbVNlcnZpY2UpIHtcclxuICAgIHRoaXMuX3NlcnZpY2UudHlwZWdyb3VwcygpLnN1YnNjcmliZSh0ID0+XHJcbiAgICAgIHRoaXMuZGF0YXR5cGVzID0gdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==