@biit-solutions/wizardry-theme 1.21.34

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 (513) hide show
  1. package/README.md +15 -0
  2. package/assets/i18n/chart/de.json +3 -0
  3. package/assets/i18n/chart/en.json +3 -0
  4. package/assets/i18n/chart/es.json +3 -0
  5. package/assets/i18n/chart/fr.json +3 -0
  6. package/assets/i18n/chart/nl.json +3 -0
  7. package/assets/i18n/info/de.json +4 -0
  8. package/assets/i18n/info/en.json +4 -0
  9. package/assets/i18n/info/es.json +4 -0
  10. package/assets/i18n/info/fr.json +4 -0
  11. package/assets/i18n/info/nl.json +1 -0
  12. package/assets/i18n/inputs/de.json +8 -0
  13. package/assets/i18n/inputs/en.json +8 -0
  14. package/assets/i18n/inputs/es.json +8 -0
  15. package/assets/i18n/inputs/fr.json +8 -0
  16. package/assets/i18n/inputs/nl.json +4 -0
  17. package/assets/i18n/login/de.json +32 -0
  18. package/assets/i18n/login/en.json +32 -0
  19. package/assets/i18n/login/es.json +32 -0
  20. package/assets/i18n/login/fr.json +32 -0
  21. package/assets/i18n/login/nl.json +32 -0
  22. package/assets/i18n/login-welcome/en.json +6 -0
  23. package/assets/i18n/login-welcome/es.json +6 -0
  24. package/assets/i18n/login-welcome/nl.json +6 -0
  25. package/assets/i18n/table/de.json +14 -0
  26. package/assets/i18n/table/en.json +14 -0
  27. package/assets/i18n/table/es.json +14 -0
  28. package/assets/i18n/table/fr.json +14 -0
  29. package/assets/i18n/table/nl.json +11 -0
  30. package/assets/i18n/utils/en.json +69 -0
  31. package/assets/i18n/utils/es.json +69 -0
  32. package/assets/i18n/utils/nl.json +1 -0
  33. package/assets/styles/context-menu/base.scss +131 -0
  34. package/assets/styles/context-menu/button-reset.scss +31 -0
  35. package/assets/styles/context-menu/dark-theme.scss +29 -0
  36. package/button/biit-action-button/biit-action-button.component.d.ts +18 -0
  37. package/button/biit-action-button/biit-action-button.module.d.ts +10 -0
  38. package/button/biit-button/biit-button.component.d.ts +25 -0
  39. package/button/biit-button/biit-button.module.d.ts +9 -0
  40. package/button/biit-icon-button/biit-icon-button.component.d.ts +8 -0
  41. package/button/biit-icon-button/biit-icon-button.module.d.ts +8 -0
  42. package/button/index.d.ts +5 -0
  43. package/button/public-api.d.ts +6 -0
  44. package/calendar/biit-calendar/biit-calendar.component.d.ts +52 -0
  45. package/calendar/biit-calendar/biit-calendar.module.d.ts +12 -0
  46. package/calendar/biit-calendar/calendar-utility.d.ts +3 -0
  47. package/calendar/biit-calendar/models/calendar-configuration.d.ts +5 -0
  48. package/calendar/biit-calendar/models/calendar-event-click-event.d.ts +6 -0
  49. package/calendar/biit-calendar/models/calendar-event.d.ts +22 -0
  50. package/calendar/index.d.ts +5 -0
  51. package/calendar/public-api.d.ts +7 -0
  52. package/calendar/utils/event-color.d.ts +105 -0
  53. package/charts/bar-chart/bar-chart.component.d.ts +46 -0
  54. package/charts/bar-chart/bar-chart.module.d.ts +9 -0
  55. package/charts/bar-chart/models/bar-chart-data.d.ts +33 -0
  56. package/charts/heatmap-chart/heatmap-chart-data.d.ts +22 -0
  57. package/charts/heatmap-chart/heatmap-chart-range.d.ts +6 -0
  58. package/charts/heatmap-chart/heatmap-chart.component.d.ts +42 -0
  59. package/charts/heatmap-chart/heatmap-chart.module.d.ts +10 -0
  60. package/charts/index.d.ts +5 -0
  61. package/charts/line-chart/line-chart.component.d.ts +38 -0
  62. package/charts/line-chart/line-chart.module.d.ts +9 -0
  63. package/charts/line-chart/models/line-chart-data.d.ts +12 -0
  64. package/charts/meta-view-chart/components/bar-range/bar-range.component.d.ts +14 -0
  65. package/charts/meta-view-chart/components/bar-range/bar-range.module.d.ts +12 -0
  66. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.d.ts +10 -0
  67. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.d.ts +10 -0
  68. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.d.ts +28 -0
  69. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.d.ts +12 -0
  70. package/charts/meta-view-chart/components/meta-board/meta-board.component.d.ts +12 -0
  71. package/charts/meta-view-chart/components/meta-board/meta-board.module.d.ts +9 -0
  72. package/charts/meta-view-chart/components/meta-element/meta-element.component.d.ts +8 -0
  73. package/charts/meta-view-chart/components/meta-element/meta-element.module.d.ts +9 -0
  74. package/charts/meta-view-chart/components/meta-sorter/meta-filter.component.d.ts +28 -0
  75. package/charts/meta-view-chart/components/meta-sorter/meta-filter.module.d.ts +17 -0
  76. package/charts/meta-view-chart/components/meta-sorter/model/FieldType.d.ts +8 -0
  77. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.d.ts +13 -0
  78. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.d.ts +14 -0
  79. package/charts/meta-view-chart/components/text-filter/text-filter.component.d.ts +11 -0
  80. package/charts/meta-view-chart/components/text-filter/text-filter.module.d.ts +10 -0
  81. package/charts/meta-view-chart/meta-view-chart.component.d.ts +32 -0
  82. package/charts/meta-view-chart/meta-view-chart.module.d.ts +16 -0
  83. package/charts/meta-view-chart/model/meta-view-data.d.ts +10 -0
  84. package/charts/meta-view-chart/model/meta-view-element-data.d.ts +9 -0
  85. package/charts/meta-view-chart/model/meta-view-preselection.d.ts +5 -0
  86. package/charts/meta-view-chart/model/view.d.ts +4 -0
  87. package/charts/meta-view-chart/pipes/auto-format.pipe.d.ts +7 -0
  88. package/charts/meta-view-chart/pipes/extract-data.pipe.d.ts +8 -0
  89. package/charts/meta-view-chart/pipes/field-type.pipe.d.ts +8 -0
  90. package/charts/meta-view-chart/pipes/filter-by.pipe.d.ts +7 -0
  91. package/charts/meta-view-chart/pipes/has.pipe.d.ts +7 -0
  92. package/charts/meta-view-chart/pipes/meta-element-max-value.pipe.d.ts +8 -0
  93. package/charts/meta-view-chart/pipes/meta-element-min-value.pipe.d.ts +8 -0
  94. package/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.d.ts +9 -0
  95. package/charts/meta-view-chart/pipes/month-name.pipe.d.ts +7 -0
  96. package/charts/meta-view-chart/pipes/pipes.module.d.ts +20 -0
  97. package/charts/meta-view-chart/pipes/printf.pipe.d.ts +7 -0
  98. package/charts/meta-view-chart/pipes/remove-from-array.pipe.d.ts +7 -0
  99. package/charts/meta-view-chart/pipes/safe-html.pipe.d.ts +10 -0
  100. package/charts/meta-view-chart/pipes/step-value-extractor.pipe.d.ts +9 -0
  101. package/charts/pie-chart/models/pie-chart-data.d.ts +5 -0
  102. package/charts/pie-chart/pie-chart.component.d.ts +39 -0
  103. package/charts/pie-chart/pie-chart.module.d.ts +9 -0
  104. package/charts/public-api.d.ts +28 -0
  105. package/charts/radar-chart/models/radar-chart-data.d.ts +11 -0
  106. package/charts/radar-chart/radar-chart.component.d.ts +38 -0
  107. package/charts/radar-chart/radar-chart.module.d.ts +9 -0
  108. package/charts/radial-chart/models/radial-chart-data.d.ts +5 -0
  109. package/charts/radial-chart/radial-chart.component.d.ts +40 -0
  110. package/charts/radial-chart/radial-chart.module.d.ts +9 -0
  111. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.d.ts +17 -0
  112. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.d.ts +9 -0
  113. package/charts/timeline-viewer-chart/timeline-viewer-chart.component.d.ts +40 -0
  114. package/charts/timeline-viewer-chart/timeline-viewer-chart.module.d.ts +9 -0
  115. package/esm2020/biit-solutions-wizardry-theme.mjs +5 -0
  116. package/esm2020/button/biit-action-button/biit-action-button.component.mjs +68 -0
  117. package/esm2020/button/biit-action-button/biit-action-button.module.mjs +32 -0
  118. package/esm2020/button/biit-button/biit-button.component.mjs +57 -0
  119. package/esm2020/button/biit-button/biit-button.module.mjs +40 -0
  120. package/esm2020/button/biit-icon-button/biit-icon-button.component.mjs +19 -0
  121. package/esm2020/button/biit-icon-button/biit-icon-button.module.mjs +24 -0
  122. package/esm2020/button/biit-solutions-wizardry-theme-button.mjs +5 -0
  123. package/esm2020/button/public-api.mjs +10 -0
  124. package/esm2020/calendar/biit-calendar/biit-calendar.component.mjs +166 -0
  125. package/esm2020/calendar/biit-calendar/biit-calendar.module.mjs +44 -0
  126. package/esm2020/calendar/biit-calendar/calendar-utility.mjs +2 -0
  127. package/esm2020/calendar/biit-calendar/models/calendar-configuration.mjs +9 -0
  128. package/esm2020/calendar/biit-calendar/models/calendar-event-click-event.mjs +7 -0
  129. package/esm2020/calendar/biit-calendar/models/calendar-event.mjs +38 -0
  130. package/esm2020/calendar/biit-solutions-wizardry-theme-calendar.mjs +5 -0
  131. package/esm2020/calendar/public-api.mjs +11 -0
  132. package/esm2020/calendar/utils/event-color.mjs +101 -0
  133. package/esm2020/charts/bar-chart/bar-chart.component.mjs +190 -0
  134. package/esm2020/charts/bar-chart/bar-chart.module.mjs +24 -0
  135. package/esm2020/charts/bar-chart/models/bar-chart-data.mjs +39 -0
  136. package/esm2020/charts/biit-solutions-wizardry-theme-charts.mjs +5 -0
  137. package/esm2020/charts/heatmap-chart/heatmap-chart-data.mjs +65 -0
  138. package/esm2020/charts/heatmap-chart/heatmap-chart-range.mjs +8 -0
  139. package/esm2020/charts/heatmap-chart/heatmap-chart.component.mjs +242 -0
  140. package/esm2020/charts/heatmap-chart/heatmap-chart.module.mjs +28 -0
  141. package/esm2020/charts/line-chart/line-chart.component.mjs +191 -0
  142. package/esm2020/charts/line-chart/line-chart.module.mjs +24 -0
  143. package/esm2020/charts/line-chart/models/line-chart-data.mjs +15 -0
  144. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.component.mjs +46 -0
  145. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.module.mjs +43 -0
  146. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.mjs +27 -0
  147. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.mjs +35 -0
  148. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.mjs +156 -0
  149. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.mjs +40 -0
  150. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.component.mjs +49 -0
  151. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.module.mjs +28 -0
  152. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.component.mjs +19 -0
  153. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.module.mjs +28 -0
  154. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.component.mjs +92 -0
  155. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.module.mjs +60 -0
  156. package/esm2020/charts/meta-view-chart/components/meta-sorter/model/FieldType.mjs +10 -0
  157. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.mjs +37 -0
  158. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.mjs +48 -0
  159. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.component.mjs +28 -0
  160. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.module.mjs +32 -0
  161. package/esm2020/charts/meta-view-chart/meta-view-chart.component.mjs +141 -0
  162. package/esm2020/charts/meta-view-chart/meta-view-chart.module.mjs +56 -0
  163. package/esm2020/charts/meta-view-chart/model/meta-view-data.mjs +13 -0
  164. package/esm2020/charts/meta-view-chart/model/meta-view-element-data.mjs +7 -0
  165. package/esm2020/charts/meta-view-chart/model/meta-view-preselection.mjs +7 -0
  166. package/esm2020/charts/meta-view-chart/model/view.mjs +6 -0
  167. package/esm2020/charts/meta-view-chart/pipes/auto-format.pipe.mjs +19 -0
  168. package/esm2020/charts/meta-view-chart/pipes/extract-data.pipe.mjs +16 -0
  169. package/esm2020/charts/meta-view-chart/pipes/field-type.pipe.mjs +34 -0
  170. package/esm2020/charts/meta-view-chart/pipes/filter-by.pipe.mjs +16 -0
  171. package/esm2020/charts/meta-view-chart/pipes/has.pipe.mjs +16 -0
  172. package/esm2020/charts/meta-view-chart/pipes/meta-element-max-value.pipe.mjs +20 -0
  173. package/esm2020/charts/meta-view-chart/pipes/meta-element-min-value.pipe.mjs +20 -0
  174. package/esm2020/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.mjs +29 -0
  175. package/esm2020/charts/meta-view-chart/pipes/month-name.pipe.mjs +18 -0
  176. package/esm2020/charts/meta-view-chart/pipes/pipes.module.mjs +84 -0
  177. package/esm2020/charts/meta-view-chart/pipes/printf.pipe.mjs +19 -0
  178. package/esm2020/charts/meta-view-chart/pipes/remove-from-array.pipe.mjs +16 -0
  179. package/esm2020/charts/meta-view-chart/pipes/safe-html.pipe.mjs +20 -0
  180. package/esm2020/charts/meta-view-chart/pipes/step-value-extractor.pipe.mjs +34 -0
  181. package/esm2020/charts/pie-chart/models/pie-chart-data.mjs +7 -0
  182. package/esm2020/charts/pie-chart/pie-chart.component.mjs +132 -0
  183. package/esm2020/charts/pie-chart/pie-chart.module.mjs +24 -0
  184. package/esm2020/charts/public-api.mjs +32 -0
  185. package/esm2020/charts/radar-chart/models/radar-chart-data.mjs +14 -0
  186. package/esm2020/charts/radar-chart/radar-chart.component.mjs +140 -0
  187. package/esm2020/charts/radar-chart/radar-chart.module.mjs +24 -0
  188. package/esm2020/charts/radial-chart/models/radial-chart-data.mjs +7 -0
  189. package/esm2020/charts/radial-chart/radial-chart.component.mjs +145 -0
  190. package/esm2020/charts/radial-chart/radial-chart.module.mjs +24 -0
  191. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.mjs +23 -0
  192. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.mjs +6 -0
  193. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.component.mjs +206 -0
  194. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.module.mjs +25 -0
  195. package/esm2020/i18n/biit-solutions-wizardry-theme-i18n.mjs +5 -0
  196. package/esm2020/i18n/i18n/http-loader.mjs +19 -0
  197. package/esm2020/i18n/i18n/supported-languages.mjs +9 -0
  198. package/esm2020/i18n/i18n/transloco-root.module.mjs +83 -0
  199. package/esm2020/i18n/public-api.mjs +7 -0
  200. package/esm2020/icon/biit-icon/biit-icon.component.mjs +92 -0
  201. package/esm2020/icon/biit-icon/biit-icon.module.mjs +24 -0
  202. package/esm2020/icon/biit-icon/biit-icon.service.mjs +25 -0
  203. package/esm2020/icon/biit-solutions-wizardry-theme-icon.mjs +5 -0
  204. package/esm2020/icon/public-api.mjs +7 -0
  205. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.component.mjs +36 -0
  206. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.module.mjs +36 -0
  207. package/esm2020/info/biit-gallery-card/biit-gallery-card.component.mjs +23 -0
  208. package/esm2020/info/biit-gallery-card/biit-gallery-card.module.mjs +28 -0
  209. package/esm2020/info/biit-progress-bar/biit-progress-bar.component.mjs +31 -0
  210. package/esm2020/info/biit-progress-bar/biit-progress-bar.module.mjs +24 -0
  211. package/esm2020/info/biit-snackbar/biit-notification/biit-notification.component.mjs +38 -0
  212. package/esm2020/info/biit-snackbar/biit-snackbar.component.mjs +50 -0
  213. package/esm2020/info/biit-snackbar/biit-snackbar.module.mjs +41 -0
  214. package/esm2020/info/biit-snackbar/biit-snackbar.service.mjs +64 -0
  215. package/esm2020/info/biit-snackbar/models/biit-snackbar-horizontal-position.mjs +7 -0
  216. package/esm2020/info/biit-snackbar/models/biit-snackbar-vertical-position.mjs +6 -0
  217. package/esm2020/info/biit-snackbar/models/notification-type.mjs +8 -0
  218. package/esm2020/info/biit-snackbar/models/notification.mjs +23 -0
  219. package/esm2020/info/biit-solutions-wizardry-theme-info.mjs +5 -0
  220. package/esm2020/info/biit-tooltip/biit-tooltip.component.mjs +19 -0
  221. package/esm2020/info/biit-tooltip/biit-tooltip.directive.mjs +106 -0
  222. package/esm2020/info/biit-tooltip/biit-tooltip.module.mjs +29 -0
  223. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.component.mjs +23 -0
  224. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.module.mjs +28 -0
  225. package/esm2020/info/public-api.mjs +23 -0
  226. package/esm2020/inputs/biit-checkbox/biit-checkbox.component.mjs +52 -0
  227. package/esm2020/inputs/biit-checkbox/biit-checkbox.module.mjs +32 -0
  228. package/esm2020/inputs/biit-datepicker/biit-datepicker.component.mjs +251 -0
  229. package/esm2020/inputs/biit-datepicker/biit-datepicker.module.mjs +68 -0
  230. package/esm2020/inputs/biit-datepicker/models/view.mjs +6 -0
  231. package/esm2020/inputs/biit-datepicker/pipes/calendar-date-pipe.mjs +18 -0
  232. package/esm2020/inputs/biit-datepicker/pipes/is-disabled-pipe.mjs +35 -0
  233. package/esm2020/inputs/biit-datepicker/pipes/is-same-day-pipe.mjs +19 -0
  234. package/esm2020/inputs/biit-datepicker/pipes/is-today-pipe.mjs +19 -0
  235. package/esm2020/inputs/biit-datepicker/pipes/month-selector-label-pipe.mjs +22 -0
  236. package/esm2020/inputs/biit-datepicker/pipes/out-of-month-pipe.mjs +19 -0
  237. package/esm2020/inputs/biit-dropdown/biit-dropdown.component.mjs +269 -0
  238. package/esm2020/inputs/biit-dropdown/biit-dropdown.module.mjs +36 -0
  239. package/esm2020/inputs/biit-group/biit-group.component.mjs +38 -0
  240. package/esm2020/inputs/biit-group/biit-group.module.mjs +32 -0
  241. package/esm2020/inputs/biit-input-text/biit-input-text.component.mjs +142 -0
  242. package/esm2020/inputs/biit-input-text/biit-input-text.module.mjs +40 -0
  243. package/esm2020/inputs/biit-multiselect/biit-multiselect.component.mjs +321 -0
  244. package/esm2020/inputs/biit-multiselect/biit-multiselect.module.mjs +40 -0
  245. package/esm2020/inputs/biit-radio-button/biit-radio-button.component.mjs +62 -0
  246. package/esm2020/inputs/biit-radio-button/biit-radio-button.module.mjs +36 -0
  247. package/esm2020/inputs/biit-slider/biit-slider.component.mjs +85 -0
  248. package/esm2020/inputs/biit-slider/biit-slider.module.mjs +32 -0
  249. package/esm2020/inputs/biit-slider-option/biit-slider-option.component.mjs +99 -0
  250. package/esm2020/inputs/biit-slider-option/biit-slider-option.module.mjs +36 -0
  251. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.mjs +97 -0
  252. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.mjs +36 -0
  253. package/esm2020/inputs/biit-slider-range/biit-slider-range.component.mjs +108 -0
  254. package/esm2020/inputs/biit-slider-range/biit-slider-range.module.mjs +32 -0
  255. package/esm2020/inputs/biit-solutions-wizardry-theme-inputs.mjs +5 -0
  256. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.component.mjs +65 -0
  257. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.module.mjs +31 -0
  258. package/esm2020/inputs/biit-textarea/biit-textarea.component.mjs +99 -0
  259. package/esm2020/inputs/biit-textarea/biit-textarea.module.mjs +36 -0
  260. package/esm2020/inputs/biit-toggle/biit-toggle.component.mjs +45 -0
  261. package/esm2020/inputs/biit-toggle/biit-toggle.module.mjs +28 -0
  262. package/esm2020/inputs/biit-toggle-group/biit-toggle-button.component.mjs +23 -0
  263. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.component.mjs +69 -0
  264. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.module.mjs +37 -0
  265. package/esm2020/inputs/public-api.mjs +36 -0
  266. package/esm2020/login/biit-login/biit-login.component.mjs +238 -0
  267. package/esm2020/login/biit-login/biit-login.module.mjs +53 -0
  268. package/esm2020/login/biit-login/models/LoginErrors.mjs +10 -0
  269. package/esm2020/login/biit-login/models/biit-login-service-support.mjs +2 -0
  270. package/esm2020/login/biit-login/models/sign-up-request.mjs +11 -0
  271. package/esm2020/login/biit-solutions-wizardry-theme-login.mjs +5 -0
  272. package/esm2020/login/public-api.mjs +8 -0
  273. package/esm2020/models/BiitLogin.mjs +14 -0
  274. package/esm2020/models/biit-solutions-wizardry-theme-models.mjs +5 -0
  275. package/esm2020/models/public-api.mjs +5 -0
  276. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.component.mjs +87 -0
  277. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.module.mjs +32 -0
  278. package/esm2020/navigation/biit-nav-user/biit-nav-user.component.mjs +26 -0
  279. package/esm2020/navigation/biit-nav-user/biit-nav-user.module.mjs +24 -0
  280. package/esm2020/navigation/biit-solutions-wizardry-theme-navigation.mjs +5 -0
  281. package/esm2020/navigation/biit-tab-group/biit-tab-group.component.mjs +54 -0
  282. package/esm2020/navigation/biit-tab-group/biit-tab-group.module.mjs +36 -0
  283. package/esm2020/navigation/biit-tab-group/biit-tab.component.mjs +21 -0
  284. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.component.mjs +30 -0
  285. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.module.mjs +36 -0
  286. package/esm2020/navigation/public-api.mjs +13 -0
  287. package/esm2020/popup/biit-popup/biit-popup.component.mjs +156 -0
  288. package/esm2020/popup/biit-popup/biit-popup.module.mjs +52 -0
  289. package/esm2020/popup/biit-solutions-wizardry-theme-popup.mjs +5 -0
  290. package/esm2020/popup/public-api.mjs +6 -0
  291. package/esm2020/public-api.mjs +6 -0
  292. package/esm2020/table/biit-datatable/biit-datatable.component.mjs +138 -0
  293. package/esm2020/table/biit-datatable/biit-datatable.module.mjs +62 -0
  294. package/esm2020/table/biit-datatable/models/datatable-column.mjs +15 -0
  295. package/esm2020/table/biit-datatable/models/page.mjs +11 -0
  296. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.component.mjs +35 -0
  297. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.module.mjs +40 -0
  298. package/esm2020/table/biit-paginator/biit-paginator.component.mjs +196 -0
  299. package/esm2020/table/biit-paginator/biit-paginator.module.mjs +48 -0
  300. package/esm2020/table/biit-paginator/models/biit-paginator-options.mjs +11 -0
  301. package/esm2020/table/biit-solutions-wizardry-theme-table.mjs +5 -0
  302. package/esm2020/table/biit-table/biit-table.component.mjs +301 -0
  303. package/esm2020/table/biit-table/biit-table.module.mjs +95 -0
  304. package/esm2020/table/biit-table/models/biit-table-action-response.mjs +7 -0
  305. package/esm2020/table/biit-table/models/biit-table-column.mjs +21 -0
  306. package/esm2020/table/biit-table/models/biit-table-data.mjs +7 -0
  307. package/esm2020/table/biit-table/models/biit-table-response.mjs +9 -0
  308. package/esm2020/table/biit-table/models/biit-table-sorting.mjs +12 -0
  309. package/esm2020/table/biit-table/models/column-resize-handler.mjs +3 -0
  310. package/esm2020/table/biit-table/pipes/column-data-pipe.mjs +21 -0
  311. package/esm2020/table/biit-table/pipes/visible-columns-pipe.mjs +16 -0
  312. package/esm2020/table/public-api.mjs +20 -0
  313. package/esm2020/table/utils/generic-filter.mjs +47 -0
  314. package/esm2020/table/utils/generic-sort.mjs +42 -0
  315. package/esm2020/utils/biit-solutions-wizardry-theme-utils.mjs +5 -0
  316. package/esm2020/utils/error-handler.mjs +24 -0
  317. package/esm2020/utils/i-stack.mjs +2 -0
  318. package/esm2020/utils/input-limits.mjs +8 -0
  319. package/esm2020/utils/pipes/localized-date-pipe.mjs +23 -0
  320. package/esm2020/utils/pipes/localized-date-pipe.module.mjs +17 -0
  321. package/esm2020/utils/pipes/map-get-pipe.mjs +21 -0
  322. package/esm2020/utils/pipes/map-get-pipe.module.mjs +17 -0
  323. package/esm2020/utils/public-api.mjs +11 -0
  324. package/esm2020/utils/stack.mjs +22 -0
  325. package/fesm2015/biit-solutions-wizardry-theme-button.mjs +233 -0
  326. package/fesm2015/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  327. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  328. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  329. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs +2780 -0
  330. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  331. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  332. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  333. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs +147 -0
  334. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  335. package/fesm2015/biit-solutions-wizardry-theme-info.mjs +572 -0
  336. package/fesm2015/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  337. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs +2317 -0
  338. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  339. package/fesm2015/biit-solutions-wizardry-theme-login.mjs +318 -0
  340. package/fesm2015/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  341. package/fesm2015/biit-solutions-wizardry-theme-models.mjs +24 -0
  342. package/fesm2015/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  343. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs +330 -0
  344. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  345. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs +216 -0
  346. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  347. package/fesm2015/biit-solutions-wizardry-theme-table.mjs +1067 -0
  348. package/fesm2015/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  349. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs +136 -0
  350. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  351. package/fesm2015/biit-solutions-wizardry-theme.mjs +12 -0
  352. package/fesm2015/biit-solutions-wizardry-theme.mjs.map +1 -0
  353. package/fesm2020/biit-solutions-wizardry-theme-button.mjs +233 -0
  354. package/fesm2020/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  355. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  356. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  357. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs +2746 -0
  358. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  359. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  360. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  361. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs +145 -0
  362. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  363. package/fesm2020/biit-solutions-wizardry-theme-info.mjs +572 -0
  364. package/fesm2020/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  365. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs +2313 -0
  366. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  367. package/fesm2020/biit-solutions-wizardry-theme-login.mjs +317 -0
  368. package/fesm2020/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  369. package/fesm2020/biit-solutions-wizardry-theme-models.mjs +24 -0
  370. package/fesm2020/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  371. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs +328 -0
  372. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  373. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs +216 -0
  374. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  375. package/fesm2020/biit-solutions-wizardry-theme-table.mjs +1064 -0
  376. package/fesm2020/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  377. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs +135 -0
  378. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  379. package/fesm2020/biit-solutions-wizardry-theme.mjs +12 -0
  380. package/fesm2020/biit-solutions-wizardry-theme.mjs.map +1 -0
  381. package/i18n/i18n/http-loader.d.ts +11 -0
  382. package/i18n/i18n/supported-languages.d.ts +10 -0
  383. package/i18n/i18n/transloco-root.module.d.ts +8 -0
  384. package/i18n/index.d.ts +5 -0
  385. package/i18n/public-api.d.ts +3 -0
  386. package/icon/biit-icon/biit-icon.component.d.ts +23 -0
  387. package/icon/biit-icon/biit-icon.module.d.ts +8 -0
  388. package/icon/biit-icon/biit-icon.service.d.ts +10 -0
  389. package/icon/index.d.ts +5 -0
  390. package/icon/public-api.d.ts +3 -0
  391. package/index.d.ts +5 -0
  392. package/info/biit-cookies-consent/biit-cookies-consent.component.d.ts +8 -0
  393. package/info/biit-cookies-consent/biit-cookies-consent.module.d.ts +11 -0
  394. package/info/biit-gallery-card/biit-gallery-card.component.d.ts +9 -0
  395. package/info/biit-gallery-card/biit-gallery-card.module.d.ts +9 -0
  396. package/info/biit-progress-bar/biit-progress-bar.component.d.ts +13 -0
  397. package/info/biit-progress-bar/biit-progress-bar.module.d.ts +8 -0
  398. package/info/biit-snackbar/biit-notification/biit-notification.component.d.ts +12 -0
  399. package/info/biit-snackbar/biit-snackbar.component.d.ts +12 -0
  400. package/info/biit-snackbar/biit-snackbar.module.d.ts +12 -0
  401. package/info/biit-snackbar/biit-snackbar.service.d.ts +21 -0
  402. package/info/biit-snackbar/models/biit-snackbar-horizontal-position.d.ts +5 -0
  403. package/info/biit-snackbar/models/biit-snackbar-vertical-position.d.ts +4 -0
  404. package/info/biit-snackbar/models/notification-type.d.ts +6 -0
  405. package/info/biit-snackbar/models/notification.d.ts +12 -0
  406. package/info/biit-tooltip/biit-tooltip.component.d.ts +11 -0
  407. package/info/biit-tooltip/biit-tooltip.directive.d.ts +16 -0
  408. package/info/biit-tooltip/biit-tooltip.module.d.ts +9 -0
  409. package/info/biit-tooltip-icon/biit-tooltip-icon.component.d.ts +8 -0
  410. package/info/biit-tooltip-icon/biit-tooltip-icon.module.d.ts +9 -0
  411. package/info/index.d.ts +5 -0
  412. package/info/public-api.d.ts +19 -0
  413. package/inputs/biit-checkbox/biit-checkbox.component.d.ts +16 -0
  414. package/inputs/biit-checkbox/biit-checkbox.module.d.ts +10 -0
  415. package/inputs/biit-datepicker/biit-datepicker.component.d.ts +59 -0
  416. package/inputs/biit-datepicker/biit-datepicker.module.d.ts +20 -0
  417. package/inputs/biit-datepicker/models/view.d.ts +4 -0
  418. package/inputs/biit-datepicker/pipes/calendar-date-pipe.d.ts +8 -0
  419. package/inputs/biit-datepicker/pipes/is-disabled-pipe.d.ts +8 -0
  420. package/inputs/biit-datepicker/pipes/is-same-day-pipe.d.ts +8 -0
  421. package/inputs/biit-datepicker/pipes/is-today-pipe.d.ts +8 -0
  422. package/inputs/biit-datepicker/pipes/month-selector-label-pipe.d.ts +11 -0
  423. package/inputs/biit-datepicker/pipes/out-of-month-pipe.d.ts +8 -0
  424. package/inputs/biit-dropdown/biit-dropdown.component.d.ts +52 -0
  425. package/inputs/biit-dropdown/biit-dropdown.module.d.ts +11 -0
  426. package/inputs/biit-group/biit-group.component.d.ts +14 -0
  427. package/inputs/biit-group/biit-group.module.d.ts +10 -0
  428. package/inputs/biit-input-text/biit-input-text.component.d.ts +44 -0
  429. package/inputs/biit-input-text/biit-input-text.module.d.ts +12 -0
  430. package/inputs/biit-multiselect/biit-multiselect.component.d.ts +63 -0
  431. package/inputs/biit-multiselect/biit-multiselect.module.d.ts +12 -0
  432. package/inputs/biit-radio-button/biit-radio-button.component.d.ts +22 -0
  433. package/inputs/biit-radio-button/biit-radio-button.module.d.ts +11 -0
  434. package/inputs/biit-slider/biit-slider.component.d.ts +27 -0
  435. package/inputs/biit-slider/biit-slider.module.d.ts +10 -0
  436. package/inputs/biit-slider-option/biit-slider-option.component.d.ts +32 -0
  437. package/inputs/biit-slider-option/biit-slider-option.module.d.ts +11 -0
  438. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.d.ts +32 -0
  439. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.d.ts +11 -0
  440. package/inputs/biit-slider-range/biit-slider-range.component.d.ts +28 -0
  441. package/inputs/biit-slider-range/biit-slider-range.module.d.ts +10 -0
  442. package/inputs/biit-ternary-togle/biit-ternary-toggle.component.d.ts +15 -0
  443. package/inputs/biit-ternary-togle/biit-ternary-toggle.module.d.ts +9 -0
  444. package/inputs/biit-textarea/biit-textarea.component.d.ts +31 -0
  445. package/inputs/biit-textarea/biit-textarea.module.d.ts +11 -0
  446. package/inputs/biit-toggle/biit-toggle.component.d.ts +14 -0
  447. package/inputs/biit-toggle/biit-toggle.module.d.ts +9 -0
  448. package/inputs/biit-toggle-group/biit-toggle-button.component.d.ts +12 -0
  449. package/inputs/biit-toggle-group/biit-toggle-group.component.d.ts +19 -0
  450. package/inputs/biit-toggle-group/biit-toggle-group.module.d.ts +11 -0
  451. package/inputs/index.d.ts +5 -0
  452. package/inputs/public-api.d.ts +32 -0
  453. package/login/biit-login/biit-login.component.d.ts +59 -0
  454. package/login/biit-login/biit-login.module.d.ts +14 -0
  455. package/login/biit-login/models/LoginErrors.d.ts +8 -0
  456. package/login/biit-login/models/biit-login-service-support.d.ts +3 -0
  457. package/login/biit-login/models/sign-up-request.d.ts +10 -0
  458. package/login/index.d.ts +5 -0
  459. package/login/public-api.d.ts +4 -0
  460. package/models/BiitLogin.d.ts +6 -0
  461. package/models/index.d.ts +5 -0
  462. package/models/public-api.d.ts +1 -0
  463. package/navigation/biit-nav-menu/biit-nav-menu.component.d.ts +31 -0
  464. package/navigation/biit-nav-menu/biit-nav-menu.module.d.ts +10 -0
  465. package/navigation/biit-nav-user/biit-nav-user.component.d.ts +10 -0
  466. package/navigation/biit-nav-user/biit-nav-user.module.d.ts +8 -0
  467. package/navigation/biit-tab-group/biit-tab-group.component.d.ts +18 -0
  468. package/navigation/biit-tab-group/biit-tab-group.module.d.ts +10 -0
  469. package/navigation/biit-tab-group/biit-tab.component.d.ts +8 -0
  470. package/navigation/biit-vertical-menu/biit-vertical-menu.component.d.ts +11 -0
  471. package/navigation/biit-vertical-menu/biit-vertical-menu.module.d.ts +12 -0
  472. package/navigation/index.d.ts +5 -0
  473. package/navigation/public-api.d.ts +9 -0
  474. package/package.json +151 -0
  475. package/popup/biit-popup/biit-popup.component.d.ts +66 -0
  476. package/popup/biit-popup/biit-popup.module.d.ts +9 -0
  477. package/popup/index.d.ts +5 -0
  478. package/popup/public-api.d.ts +2 -0
  479. package/public-api.d.ts +1 -0
  480. package/styles.scss +128 -0
  481. package/table/biit-datatable/biit-datatable.component.d.ts +57 -0
  482. package/table/biit-datatable/biit-datatable.module.d.ts +15 -0
  483. package/table/biit-datatable/models/datatable-column.d.ts +192 -0
  484. package/table/biit-datatable/models/page.d.ts +6 -0
  485. package/table/biit-datatable-pager/biit-datatable-pager.component.d.ts +10 -0
  486. package/table/biit-datatable-pager/biit-datatable-pager.module.d.ts +13 -0
  487. package/table/biit-paginator/biit-paginator.component.d.ts +31 -0
  488. package/table/biit-paginator/biit-paginator.module.d.ts +13 -0
  489. package/table/biit-paginator/models/biit-paginator-options.d.ts +9 -0
  490. package/table/biit-table/biit-table.component.d.ts +87 -0
  491. package/table/biit-table/biit-table.module.d.ts +19 -0
  492. package/table/biit-table/models/biit-table-action-response.d.ts +5 -0
  493. package/table/biit-table/models/biit-table-column.d.ts +18 -0
  494. package/table/biit-table/models/biit-table-data.d.ts +5 -0
  495. package/table/biit-table/models/biit-table-response.d.ts +8 -0
  496. package/table/biit-table/models/biit-table-sorting.d.ts +9 -0
  497. package/table/biit-table/models/column-resize-handler.d.ts +7 -0
  498. package/table/biit-table/pipes/column-data-pipe.d.ts +7 -0
  499. package/table/biit-table/pipes/visible-columns-pipe.d.ts +8 -0
  500. package/table/index.d.ts +5 -0
  501. package/table/public-api.d.ts +16 -0
  502. package/table/utils/generic-filter.d.ts +3 -0
  503. package/table/utils/generic-sort.d.ts +5 -0
  504. package/utils/error-handler.d.ts +6 -0
  505. package/utils/i-stack.d.ts +6 -0
  506. package/utils/index.d.ts +5 -0
  507. package/utils/input-limits.d.ts +7 -0
  508. package/utils/pipes/localized-date-pipe.d.ts +10 -0
  509. package/utils/pipes/localized-date-pipe.module.d.ts +7 -0
  510. package/utils/pipes/map-get-pipe.d.ts +7 -0
  511. package/utils/pipes/map-get-pipe.module.d.ts +7 -0
  512. package/utils/public-api.d.ts +7 -0
  513. package/utils/stack.d.ts +10 -0
@@ -0,0 +1,92 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FieldType } from "./model/FieldType";
3
+ import { FieldTypePipe } from "../../pipes/field-type.pipe";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../pipes/field-type.pipe";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@biit-solutions/wizardry-theme/inputs";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "../bar-range/bar-range.component";
10
+ import * as i6 from "../date-filter-selector/date-filter-selector.component";
11
+ import * as i7 from "../text-filter/text-filter.component";
12
+ import * as i8 from "../boolean-filter/boolean-filter.component";
13
+ import * as i9 from "@biit-solutions/wizardry-theme/button";
14
+ import * as i10 from "../../pipes/filter-by.pipe";
15
+ import * as i11 from "../../pipes/has.pipe";
16
+ export class MetaFilterComponent {
17
+ set _metadata(data) {
18
+ this.metadata = data;
19
+ }
20
+ constructor(fieldType) {
21
+ this.fieldType = fieldType;
22
+ this.filterChange = new EventEmitter();
23
+ this.selectedField = '';
24
+ this.search = '';
25
+ this.filter = new Map();
26
+ this.FieldType = FieldType;
27
+ }
28
+ ngOnInit() {
29
+ this.setFilters();
30
+ }
31
+ setFilters() {
32
+ this.metadata.preselection.forEach(preset => {
33
+ this.filter.set(preset.key, preset.value);
34
+ });
35
+ this.detectFilter();
36
+ }
37
+ onFieldClick(field) {
38
+ if (this.fieldType.transform(field, this.metadata.data) === FieldType.BOOLEAN) {
39
+ return;
40
+ }
41
+ if (this.selectedField === field) {
42
+ this.selectedField = null;
43
+ return;
44
+ }
45
+ this.selectedField = field;
46
+ }
47
+ onRangeChanged(field, range) {
48
+ this.filter.set(field, range);
49
+ this.detectFilter();
50
+ }
51
+ onDateRangeChanged(field, range) {
52
+ range ? this.filter.set(field, range) : this.filter.delete(field);
53
+ this.detectFilter();
54
+ }
55
+ onBooleanFilterChanged(field, value) {
56
+ value === undefined ? this.filter.delete(field) : this.filter.set(field, value);
57
+ this.detectFilter();
58
+ }
59
+ removeFilter(field) {
60
+ this.filter.delete(field);
61
+ this.detectFilter();
62
+ }
63
+ clearFilters() {
64
+ this.filter.clear();
65
+ this.detectFilter();
66
+ }
67
+ detectFilter() {
68
+ this.filter = new Map(this.filter);
69
+ this.filterChange.emit(this.filter);
70
+ }
71
+ onFilterChanged(field, value) {
72
+ if (!value) {
73
+ this.filter.delete(field);
74
+ }
75
+ else {
76
+ this.filter.set(field, value);
77
+ }
78
+ this.detectFilter();
79
+ }
80
+ }
81
+ MetaFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterComponent, deps: [{ token: i1.FieldTypePipe }], target: i0.ɵɵFactoryTarget.Component });
82
+ MetaFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetaFilterComponent, selector: "biit-meta-filter", inputs: { _metadata: ["metadata", "_metadata"] }, outputs: { filterChange: "filterChange" }, providers: [FieldTypePipe], ngImport: i0, template: "<div class=\"filter-view\" id=\"metadata-filter\">\n <div class=\"filter-container\">\n <div class=\"filter-clear\">\n <div *ngIf=\"filter.size\">\n <div>\n Clear All\n </div>\n <div>\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"clearFilters()\"\n ></button>\n </div>\n </div>\n </div>\n <div class=\"filter-search\">\n <biit-input-text\n placeholder=\"search\"\n icon=\"search\"\n [(ngModel)]=\"search\"\n />\n </div>\n <div class=\"filter-sections\">\n <div *ngFor=\"let field of (metadata.fields | filterBy: search)\" class=\"filter-section\">\n <div class=\"filter-title\" (click)=\"onFieldClick(field)\">\n <div>\n <div>{{field}}</div>\n <div class=\"align-content-center\" *ngIf=\"(field | fieldType: metadata.data) === FieldType.BOOLEAN\">\n <biit-boolean-filter\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onBooleanFilterChanged(field, $event)\"/>\n </div>\n </div>\n <div *ngIf=\"filter | has : field\" class=\"filter-remove\">\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"$event.stopImmediatePropagation(); removeFilter(field)\"\n ></button>\n </div>\n </div>\n <div *ngIf=\"field === selectedField && (field | fieldType: metadata.data) !== FieldType.BOOLEAN\"\n class=\"filter-body\"\n [ngSwitch]=\"field | fieldType: metadata.data\"\n >\n <biit-bar-range *ngSwitchCase=\"FieldType.NUMBER\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onRangeChanged(field, $event)\"/>\n <biit-date-filter-selector *ngSwitchCase=\"FieldType.DATE\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onDateRangeChanged(field, $event)\"/>\n <biit-text-filter *ngSwitchCase=\"FieldType.STRING\"\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onFilterChanged(field, $event)\"/>\n <div *ngSwitchDefault>Unknown</div>\n </div>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".filter-view{font-size:1em;transition:.3s;height:100%;width:100%;display:block}.filter-container{height:100%;display:flex;flex-direction:column;background-color:#fff}.filter-sections{overflow-y:auto;height:100%;padding:0 1em}.filter-clear{margin:1em;min-height:2.25em;align-self:end;&>div:first-child{display:inline-flex;align-items:center}}.filter-search{margin:0 1em}.filter-title{display:flex;flex-direction:row;&>div:first-child{flex-grow:1;display:flex;flex-direction:row;gap:1em}}.filter-remove{align-content:center;&>biit-icon{display:block;width:1em;height:1em}}.filter-body{margin:.5em 0}.filter-section{cursor:pointer;-webkit-user-select:none;user-select:none;&>div:first-child{min-height:2.25em;align-items:center;font-size:1em}border-bottom:1px solid #262626}biit-date-filter-selector{font-size:1em}::ng-deep .filter-search>biit-input-text>.biit-input{min-width:unset!important}.align-content-center{align-content:center}\n"], 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: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.BarRangeComponent, selector: "biit-bar-range", inputs: ["items", "field", "range"], outputs: ["rangeChange"] }, { kind: "component", type: i6.DateFilterSelectorComponent, selector: "biit-date-filter-selector", inputs: ["items", "field", "range"], outputs: ["rangeChange"] }, { kind: "component", type: i7.TextFilterComponent, selector: "biit-text-filter", inputs: ["filter"], outputs: ["filterChange"] }, { kind: "component", type: i8.BooleanFilterComponent, selector: "biit-boolean-filter", inputs: ["filter"], outputs: ["filterChange"] }, { kind: "component", type: i9.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "pipe", type: i10.FilterByPipe, name: "filterBy" }, { kind: "pipe", type: i1.FieldTypePipe, name: "fieldType" }, { kind: "pipe", type: i11.HasPipe, name: "has" }] });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'biit-meta-filter', providers: [FieldTypePipe], template: "<div class=\"filter-view\" id=\"metadata-filter\">\n <div class=\"filter-container\">\n <div class=\"filter-clear\">\n <div *ngIf=\"filter.size\">\n <div>\n Clear All\n </div>\n <div>\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"clearFilters()\"\n ></button>\n </div>\n </div>\n </div>\n <div class=\"filter-search\">\n <biit-input-text\n placeholder=\"search\"\n icon=\"search\"\n [(ngModel)]=\"search\"\n />\n </div>\n <div class=\"filter-sections\">\n <div *ngFor=\"let field of (metadata.fields | filterBy: search)\" class=\"filter-section\">\n <div class=\"filter-title\" (click)=\"onFieldClick(field)\">\n <div>\n <div>{{field}}</div>\n <div class=\"align-content-center\" *ngIf=\"(field | fieldType: metadata.data) === FieldType.BOOLEAN\">\n <biit-boolean-filter\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onBooleanFilterChanged(field, $event)\"/>\n </div>\n </div>\n <div *ngIf=\"filter | has : field\" class=\"filter-remove\">\n <button biit-icon\n [icon]=\"'cross_wide'\"\n (click)=\"$event.stopImmediatePropagation(); removeFilter(field)\"\n ></button>\n </div>\n </div>\n <div *ngIf=\"field === selectedField && (field | fieldType: metadata.data) !== FieldType.BOOLEAN\"\n class=\"filter-body\"\n [ngSwitch]=\"field | fieldType: metadata.data\"\n >\n <biit-bar-range *ngSwitchCase=\"FieldType.NUMBER\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onRangeChanged(field, $event)\"/>\n <biit-date-filter-selector *ngSwitchCase=\"FieldType.DATE\"\n [field]=\"field\"\n [items]=\"metadata.data\"\n [range]=\"filter.get(field)\"\n (rangeChange)=\"onDateRangeChanged(field, $event)\"/>\n <biit-text-filter *ngSwitchCase=\"FieldType.STRING\"\n [filter]=\"filter.get(field)\"\n (filterChange)=\"onFilterChanged(field, $event)\"/>\n <div *ngSwitchDefault>Unknown</div>\n </div>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".filter-view{font-size:1em;transition:.3s;height:100%;width:100%;display:block}.filter-container{height:100%;display:flex;flex-direction:column;background-color:#fff}.filter-sections{overflow-y:auto;height:100%;padding:0 1em}.filter-clear{margin:1em;min-height:2.25em;align-self:end;&>div:first-child{display:inline-flex;align-items:center}}.filter-search{margin:0 1em}.filter-title{display:flex;flex-direction:row;&>div:first-child{flex-grow:1;display:flex;flex-direction:row;gap:1em}}.filter-remove{align-content:center;&>biit-icon{display:block;width:1em;height:1em}}.filter-body{margin:.5em 0}.filter-section{cursor:pointer;-webkit-user-select:none;user-select:none;&>div:first-child{min-height:2.25em;align-items:center;font-size:1em}border-bottom:1px solid #262626}biit-date-filter-selector{font-size:1em}::ng-deep .filter-search>biit-input-text>.biit-input{min-width:unset!important}.align-content-center{align-content:center}\n"] }]
86
+ }], ctorParameters: function () { return [{ type: i1.FieldTypePipe }]; }, propDecorators: { _metadata: [{
87
+ type: Input,
88
+ args: ['metadata']
89
+ }], filterChange: [{
90
+ type: Output
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvY2hhcnRzL3NyYy9tZXRhLXZpZXctY2hhcnQvY29tcG9uZW50cy9tZXRhLXNvcnRlci9tZXRhLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9jaGFydHMvc3JjL21ldGEtdmlldy1jaGFydC9jb21wb25lbnRzL21ldGEtc29ydGVyL21ldGEtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVExRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLElBQXVCLFNBQVMsQ0FBQyxJQUFrQjtRQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBU0QsWUFBb0IsU0FBd0I7UUFBeEIsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQVJsQyxpQkFBWSxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVwRixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLFdBQU0sR0FBcUIsSUFBSSxHQUFHLEVBQWUsQ0FBQztRQUN6QyxjQUFTLEdBQUcsU0FBUyxDQUFDO0lBR1EsQ0FBQztJQUVsRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxRQUFR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dGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZXRhVmlld0RhdGF9IGZyb20gXCIuLi8uLi9tb2RlbC9tZXRhLXZpZXctZGF0YVwiO1xuaW1wb3J0IHtGaWVsZFR5cGV9IGZyb20gXCIuL21vZGVsL0ZpZWxkVHlwZVwiO1xuaW1wb3J0IHtGaWVsZFR5cGVQaXBlfSBmcm9tIFwiLi4vLi4vcGlwZXMvZmllbGQtdHlwZS5waXBlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtbWV0YS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXRhLWZpbHRlci5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW0ZpZWxkVHlwZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ21ldGFkYXRhJykgc2V0IF9tZXRhZGF0YShkYXRhOiBNZXRhVmlld0RhdGEpIHtcbiAgICB0aGlzLm1ldGFkYXRhID0gZGF0YTtcbiAgfVxuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWFwPHN0cmluZywgYW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPE1hcDxzdHJpbmcsIGFueT4+KCk7XG4gIHByb3RlY3RlZCBtZXRhZGF0YTogTWV0YVZpZXdEYXRhO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRGaWVsZDogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgZmlsdGVyOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmllbGRUeXBlOiBGaWVsZFR5cGVQaXBlKSB7ICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRGaWx0ZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEZpbHRlcnMoKSB7XG4gICAgdGhpcy5tZXRhZGF0YS5wcmVzZWxlY3Rpb24uZm9yRWFjaChwcmVzZXQgPT4ge1xuICAgICAgdGhpcy5maWx0ZXIuc2V0KHByZXNldC5rZXksIHByZXNldC52YWx1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5kZXRlY3RGaWx0ZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkZpZWxkQ2xpY2soZmllbGQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpZWxkVHlwZS50cmFuc2Zvcm0oZmllbGQsIHRoaXMubWV0YWRhdGEuZGF0YSkgPT09IEZpZWxkVHlwZS5CT09MRUFOKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmllbGQgPT09IGZpZWxkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmllbGQgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkRmllbGQgPSBmaWVsZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblJhbmdlQ2hhbmdlZChmaWVsZDogc3RyaW5nLCByYW5nZTogbnVtYmVyW10pOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlci5zZXQoZmllbGQsIHJhbmdlKTtcbiAgICB0aGlzLmRldGVjdEZpbHRlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRGF0ZVJhbmdlQ2hhbmdlZChmaWVsZDogc3RyaW5nLCByYW5nZTogRGF0ZVtdW10pOiB2b2lkIHtcbiAgICByYW5nZSA/IHRoaXMuZmlsdGVyLnNldChmaWVsZCwgcmFuZ2UpIDogdGhpcy5maWx0ZXIuZGVsZXRlKGZpZWxkKTtcbiAgICB0aGlzLmRldGVjdEZpbHRlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQm9vbGVhbkZpbHRlckNoYW5nZWQoZmllbGQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5maWx0ZXIuZGVsZXRlKGZpZWxkKSA6IHRoaXMuZmlsdGVyLnNldChmaWVsZCwgdmFsdWUpO1xuICAgIHRoaXMuZGV0ZWN0RmlsdGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlRmlsdGVyKGZpZWxkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlci5kZWxldGUoZmllbGQpO1xuICAgIHRoaXMuZGV0ZWN0RmlsdGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyLmNsZWFyKCk7XG4gICAgdGhpcy5kZXRlY3RGaWx0ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0RmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyID0gbmV3IE1hcCh0aGlzLmZpbHRlcik7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcik7XG4gIH1cblxuICBvbkZpbHRlckNoYW5nZWQoZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyLmRlbGV0ZShmaWVsZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyLnNldChmaWVsZCwgdmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmRldGVjdEZpbHRlcigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmlsdGVyLXZpZXdcIiBpZD1cIm1ldGFkYXRhLWZpbHRlclwiPlxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2xlYXJcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmaWx0ZXIuc2l6ZVwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIENsZWFyIEFsbFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIGJpaXQtaWNvblxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2Nyb3NzX3dpZGUnXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiXG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItc2VhcmNoXCI+XG4gICAgICA8YmlpdC1pbnB1dC10ZXh0XG4gICAgICAgIHBsYWNlaG9sZGVyPVwic2VhcmNoXCJcbiAgICAgICAgaWNvbj1cInNlYXJjaFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1zZWN0aW9uc1wiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgKG1ldGFkYXRhLmZpZWxkcyB8IGZpbHRlckJ5OiBzZWFyY2gpXCIgY2xhc3M9XCJmaWx0ZXItc2VjdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlXCIgKGNsaWNrKT1cIm9uRmllbGRDbGljayhmaWVsZClcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdj57e2ZpZWxkfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1jb250ZW50LWNlbnRlclwiICpuZ0lmPVwiKGZpZWxkIHwgZmllbGRUeXBlOiBtZXRhZGF0YS5kYXRhKSA9PT0gRmllbGRUeXBlLkJPT0xFQU5cIj5cbiAgICAgICAgICAgICAgPGJpaXQtYm9vbGVhbi1maWx0ZXJcbiAgICAgICAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlci5nZXQoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uQm9vbGVhbkZpbHRlckNoYW5nZWQoZmllbGQsICRldmVudClcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZmlsdGVyIHwgaGFzIDogZmllbGRcIiBjbGFzcz1cImZpbHRlci1yZW1vdmVcIj5cbiAgICAgICAgICAgIDxidXR0b24gYmlpdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIidjcm9zc193aWRlJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7IHJlbW92ZUZpbHRlcihmaWVsZClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImZpZWxkID09PSBzZWxlY3RlZEZpZWxkICYmIChmaWVsZCB8IGZpZWxkVHlwZTogbWV0YWRhdGEuZGF0YSkgIT09IEZpZWxkVHlwZS5CT09MRUFOXCJcbiAgICAgICAgICAgICBjbGFzcz1cImZpbHRlci1ib2R5XCJcbiAgICAgICAgICAgICBbbmdTd2l0Y2hdPVwiZmllbGQgfCBmaWVsZFR5cGU6IG1ldGFkYXRhLmRhdGFcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJpaXQtYmFyLXJhbmdlICpuZ1N3aXRjaENhc2U9XCJGaWVsZFR5cGUuTlVNQkVSXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1ldGFkYXRhLmRhdGFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmFuZ2VdPVwiZmlsdGVyLmdldChmaWVsZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAocmFuZ2VDaGFuZ2UpPVwib25SYW5nZUNoYW5nZWQoZmllbGQsICRldmVudClcIi8+XG4gICAgICAgICAgPGJpaXQtZGF0ZS1maWx0ZXItc2VsZWN0b3IgKm5nU3dpdGNoQ2FzZT1cIkZpZWxkVHlwZS5EQVRFXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1ldGFkYXRhLmRhdGFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmFuZ2VdPVwiZmlsdGVyLmdldChmaWVsZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAocmFuZ2VDaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2VkKGZpZWxkLCAkZXZlbnQpXCIvPlxuICAgICAgICAgIDxiaWl0LXRleHQtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCJGaWVsZFR5cGUuU1RSSU5HXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlci5nZXQoZmllbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZChmaWVsZCwgJGV2ZW50KVwiLz5cbiAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+VW5rbm93bjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MetaFilterComponent } from './meta-filter.component';
4
+ import { BiitInputTextModule } from "@biit-solutions/wizardry-theme/inputs";
5
+ import { FormsModule } from "@angular/forms";
6
+ import { PipesModule } from "../../pipes/pipes.module";
7
+ import { BarRangeModule } from "../bar-range/bar-range.module";
8
+ import { BiitIconModule } from "@biit-solutions/wizardry-theme/icon";
9
+ import { DateFilterSelectorModule } from "../date-filter-selector/date-filter-selector.module";
10
+ import { TextFilterModule } from "../text-filter/text-filter.module";
11
+ import { BooleanFilterModule } from "../boolean-filter/boolean-filter.module";
12
+ import { BiitIconButtonModule } from "@biit-solutions/wizardry-theme/button";
13
+ import * as i0 from "@angular/core";
14
+ export class MetaFilterModule {
15
+ }
16
+ MetaFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ MetaFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, declarations: [MetaFilterComponent], imports: [CommonModule,
18
+ BiitInputTextModule,
19
+ FormsModule,
20
+ PipesModule,
21
+ BarRangeModule,
22
+ BiitIconModule,
23
+ DateFilterSelectorModule,
24
+ TextFilterModule,
25
+ BooleanFilterModule,
26
+ BiitIconButtonModule], exports: [MetaFilterComponent] });
27
+ MetaFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, imports: [CommonModule,
28
+ BiitInputTextModule,
29
+ FormsModule,
30
+ PipesModule,
31
+ BarRangeModule,
32
+ BiitIconModule,
33
+ DateFilterSelectorModule,
34
+ TextFilterModule,
35
+ BooleanFilterModule,
36
+ BiitIconButtonModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaFilterModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ declarations: [
41
+ MetaFilterComponent
42
+ ],
43
+ exports: [
44
+ MetaFilterComponent
45
+ ],
46
+ imports: [
47
+ CommonModule,
48
+ BiitInputTextModule,
49
+ FormsModule,
50
+ PipesModule,
51
+ BarRangeModule,
52
+ BiitIconModule,
53
+ DateFilterSelectorModule,
54
+ TextFilterModule,
55
+ BooleanFilterModule,
56
+ BiitIconButtonModule,
57
+ ]
58
+ }]
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1maWx0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvY2hhcnRzL3NyYy9tZXRhLXZpZXctY2hhcnQvY29tcG9uZW50cy9tZXRhLXNvcnRlci9tZXRhLWZpbHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLG1CQUFtQixFQUFtQixNQUFNLHVDQUF1QyxDQUFDO0FBQzVGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUF3QjNFLE1BQU0sT0FBTyxnQkFBZ0I7OzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFsQnpCLG1CQUFtQixhQU1uQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxXQUFXO1FBQ1gsY0FBYztRQUNkLGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixvQkFBb0IsYUFacEIsbUJBQW1COytHQWVWLGdCQUFnQixZQVp6QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxXQUFXO1FBQ1gsY0FBYztRQUNkLGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixvQkFBb0I7NEZBR1gsZ0JBQWdCO2tCQXBCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWV0YUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vbWV0YS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmlpdElucHV0VGV4dE1vZHVsZSwgQmlpdFRvZ2dsZU1vZHVsZX0gZnJvbSBcIkBiaWl0LXNvbHV0aW9ucy93aXphcmRyeS10aGVtZS9pbnB1dHNcIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtQaXBlc01vZHVsZX0gZnJvbSBcIi4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZVwiO1xuaW1wb3J0IHtCYXJSYW5nZU1vZHVsZX0gZnJvbSBcIi4uL2Jhci1yYW5nZS9iYXItcmFuZ2UubW9kdWxlXCI7XG5pbXBvcnQge0JpaXRJY29uTW9kdWxlfSBmcm9tIFwiQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2ljb25cIjtcbmltcG9ydCB7RGF0ZUZpbHRlclNlbGVjdG9yTW9kdWxlfSBmcm9tIFwiLi4vZGF0ZS1maWx0ZXItc2VsZWN0b3IvZGF0ZS1maWx0ZXItc2VsZWN0b3IubW9kdWxlXCI7XG5pbXBvcnQge1RleHRGaWx0ZXJNb2R1bGV9IGZyb20gXCIuLi90ZXh0LWZpbHRlci90ZXh0LWZpbHRlci5tb2R1bGVcIjtcbmltcG9ydCB7Qm9vbGVhbkZpbHRlck1vZHVsZX0gZnJvbSBcIi4uL2Jvb2xlYW4tZmlsdGVyL2Jvb2xlYW4tZmlsdGVyLm1vZHVsZVwiO1xuaW1wb3J0IHtCaWl0SWNvbkJ1dHRvbk1vZHVsZX0gZnJvbSBcIkBiaWl0LXNvbHV0aW9ucy93aXphcmRyeS10aGVtZS9idXR0b25cIjtcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1ldGFGaWx0ZXJDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1ldGFGaWx0ZXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCaWl0SW5wdXRUZXh0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEJhclJhbmdlTW9kdWxlLFxuICAgIEJpaXRJY29uTW9kdWxlLFxuICAgIERhdGVGaWx0ZXJTZWxlY3Rvck1vZHVsZSxcbiAgICBUZXh0RmlsdGVyTW9kdWxlLFxuICAgIEJvb2xlYW5GaWx0ZXJNb2R1bGUsXG4gICAgQmlpdEljb25CdXR0b25Nb2R1bGUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWV0YUZpbHRlck1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export var FieldType;
2
+ (function (FieldType) {
3
+ FieldType["STRING"] = "STRING";
4
+ FieldType["NUMBER"] = "NUMBER";
5
+ FieldType["BOOLEAN"] = "BOOLEAN";
6
+ FieldType["NULL"] = "NULL";
7
+ FieldType["DATE"] = "DATE";
8
+ FieldType["UNKNOWN"] = "UNKNOWN";
9
+ })(FieldType || (FieldType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGRUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvY2hhcnRzL3NyYy9tZXRhLXZpZXctY2hhcnQvY29tcG9uZW50cy9tZXRhLXNvcnRlci9tb2RlbC9GaWVsZFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNuQiw4QkFBaUIsQ0FBQTtJQUNqQiw4QkFBaUIsQ0FBQTtJQUNqQixnQ0FBbUIsQ0FBQTtJQUNuQiwwQkFBYSxDQUFBO0lBQ2IsMEJBQWEsQ0FBQTtJQUNiLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFQVyxTQUFTLEtBQVQsU0FBUyxRQU9wQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XG4gIFNUUklORyA9ICdTVFJJTkcnLFxuICBOVU1CRVIgPSAnTlVNQkVSJyxcbiAgQk9PTEVBTiA9ICdCT09MRUFOJyxcbiAgTlVMTCA9ICdOVUxMJyxcbiAgREFURSA9ICdEQVRFJyxcbiAgVU5LTk9XTiA9ICdVTktOT1dOJ1xufVxuIl19
@@ -0,0 +1,37 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../meta-element/meta-element.component";
5
+ import * as i3 from "@biit-solutions/wizardry-theme/info";
6
+ import * as i4 from "@biit-solutions/wizardry-theme/inputs";
7
+ import * as i5 from "@angular/forms";
8
+ import * as i6 from "@biit-solutions/wizardry-theme/button";
9
+ import * as i7 from "../../pipes/auto-format.pipe";
10
+ import * as i8 from "../../pipes/remove-from-array.pipe";
11
+ import * as i9 from "../../pipes/printf.pipe";
12
+ export class MetadataViewerComponent {
13
+ constructor() {
14
+ this.onClose = new EventEmitter();
15
+ }
16
+ set data(data) {
17
+ this._data = data;
18
+ }
19
+ close() {
20
+ this.onClose.emit();
21
+ }
22
+ }
23
+ MetadataViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ MetadataViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetadataViewerComponent, selector: "biit-metadata-viewer", inputs: { data: "data", fields: "fields", titleField: "titleField" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"metadata-view\" id=\"metaviewer-data\">\n <div class=\"metadata-header\" id=\"metaviewer-header\" [class.justify-center]=\"!titleField\">\n <div class=\"data-icon\">\n <biit-meta-element id=\"metaviewer-element\"\n [styles]=\"_data.styles\"\n [classes]=\"_data.classes\"\n [icon]=\"_data.icon\"\n >\n <div *ngIf=\"_data.custom\" [innerHTML]=\"_data.custom.innerHTML\"></div>\n </biit-meta-element>\n </div>\n <div *ngIf=\"titleField\" class=\"data-title\" id=\"title\" [tooltip]=\"_data.data[titleField] | printf\">\n {{_data.data[titleField] | printf}}\n </div>\n <div>\n <button biit-icon id=\"close-button\"\n [icon]=\"'cross_wide'\"\n (click)=\"close()\"\n ></button>\n </div>\n </div>\n <div class=\"metadata-info\" id=\"metaviewer-info\">\n <div *ngFor=\"let field of (fields | removeFromArray: [titleField]) \" class=\"field\">\n <div class=\"metadata-info-row\" id=\"metaviewer-info-row\">\n <div class=\"field-value\" id=\"field\">\n <biit-input-text\n [placeholder]=\"field\"\n [ngModel]=\"_data.data[field] | autoFormat\"\n [readonly]=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".metadata-view{font-size:1em;transition:.3s;display:flex;height:100%;flex-direction:column;background-color:#fff}.metadata-header{margin:1em 1em 0;display:flex;align-items:center;&.justify-center>.data-icon{width:2em;height:2em}&:not(.justify-center)>.data-icon{width:1em;height:1em}:last-child {flex-grow: 1; direction: rtl;}}.data-icon{min-width:1em;min-height:1em}.data-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-content:center;margin-left:1em}.justify-center{justify-content:center}.metadata-info{overflow-y:auto;height:100%;margin:1em}.field{padding-top:1.5em}.metadata-info-row{font-size:.8em;display:flex;flex-direction:column;gap:.5em;padding:.1em .2em;:not(:first-child) {padding-left: .5em;}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MetaElementComponent, selector: "biit-meta-element", inputs: ["icon", "styles", "classes"] }, { kind: "directive", type: i3.BiitTooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "ignorePadding"] }, { kind: "component", type: i4.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "pipe", type: i7.AutoFormatPipe, name: "autoFormat" }, { kind: "pipe", type: i8.RemoveFromArrayPipe, name: "removeFromArray" }, { kind: "pipe", type: i9.PrintfPipe, name: "printf" }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'biit-metadata-viewer', template: "<div class=\"metadata-view\" id=\"metaviewer-data\">\n <div class=\"metadata-header\" id=\"metaviewer-header\" [class.justify-center]=\"!titleField\">\n <div class=\"data-icon\">\n <biit-meta-element id=\"metaviewer-element\"\n [styles]=\"_data.styles\"\n [classes]=\"_data.classes\"\n [icon]=\"_data.icon\"\n >\n <div *ngIf=\"_data.custom\" [innerHTML]=\"_data.custom.innerHTML\"></div>\n </biit-meta-element>\n </div>\n <div *ngIf=\"titleField\" class=\"data-title\" id=\"title\" [tooltip]=\"_data.data[titleField] | printf\">\n {{_data.data[titleField] | printf}}\n </div>\n <div>\n <button biit-icon id=\"close-button\"\n [icon]=\"'cross_wide'\"\n (click)=\"close()\"\n ></button>\n </div>\n </div>\n <div class=\"metadata-info\" id=\"metaviewer-info\">\n <div *ngFor=\"let field of (fields | removeFromArray: [titleField]) \" class=\"field\">\n <div class=\"metadata-info-row\" id=\"metaviewer-info-row\">\n <div class=\"field-value\" id=\"field\">\n <biit-input-text\n [placeholder]=\"field\"\n [ngModel]=\"_data.data[field] | autoFormat\"\n [readonly]=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".metadata-view{font-size:1em;transition:.3s;display:flex;height:100%;flex-direction:column;background-color:#fff}.metadata-header{margin:1em 1em 0;display:flex;align-items:center;&.justify-center>.data-icon{width:2em;height:2em}&:not(.justify-center)>.data-icon{width:1em;height:1em}:last-child {flex-grow: 1; direction: rtl;}}.data-icon{min-width:1em;min-height:1em}.data-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-content:center;margin-left:1em}.justify-center{justify-content:center}.metadata-info{overflow-y:auto;height:100%;margin:1em}.field{padding-top:1.5em}.metadata-info-row{font-size:.8em;display:flex;flex-direction:column;gap:.5em;padding:.1em .2em;:not(:first-child) {padding-left: .5em;}}\n"] }]
28
+ }], propDecorators: { data: [{
29
+ type: Input
30
+ }], fields: [{
31
+ type: Input
32
+ }], titleField: [{
33
+ type: Input
34
+ }], onClose: [{
35
+ type: Output
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2NoYXJ0cy9zcmMvbWV0YS12aWV3LWNoYXJ0L2NvbXBvbmVudHMvbWV0YWRhdGEtdmlld2VyL21ldGFkYXRhLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9jaGFydHMvc3JjL21ldGEtdmlldy1jaGFydC9jb21wb25lbnRzL21ldGFkYXRhLXZpZXdlci9tZXRhZGF0YS12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7QUFRckUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQVlZLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQUtsRTtJQVhDLElBQWEsSUFBSSxDQUFDLElBQXlCO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFNUyxLQUFLO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOztxSEFYVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixtS0NScEMsMnhDQW1DQTs0RkQzQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLbkIsSUFBSTtzQkFBaEIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01ldGFWaWV3RWxlbWVudERhdGF9IGZyb20gXCIuLi8uLi9tb2RlbC9tZXRhLXZpZXctZWxlbWVudC1kYXRhXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtbWV0YWRhdGEtdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLXZpZXdlci5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFWaWV3ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBzZXQgZGF0YShkYXRhOiBNZXRhVmlld0VsZW1lbnREYXRhKSB7XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cbiAgX2RhdGE6IE1ldGFWaWV3RWxlbWVudERhdGE7XG4gIEBJbnB1dCgpIGZpZWxkczogc3RyaW5nW107XG4gIEBJbnB1dCgpIHRpdGxlRmllbGQ6IHN0cmluZztcbiAgQE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcm90ZWN0ZWQgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1ldGFkYXRhLXZpZXdcIiBpZD1cIm1ldGF2aWV3ZXItZGF0YVwiPlxuICA8ZGl2IGNsYXNzPVwibWV0YWRhdGEtaGVhZGVyXCIgaWQ9XCJtZXRhdmlld2VyLWhlYWRlclwiIFtjbGFzcy5qdXN0aWZ5LWNlbnRlcl09XCIhdGl0bGVGaWVsZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXRhLWljb25cIj5cbiAgICAgIDxiaWl0LW1ldGEtZWxlbWVudCBpZD1cIm1ldGF2aWV3ZXItZWxlbWVudFwiXG4gICAgICAgIFtzdHlsZXNdPVwiX2RhdGEuc3R5bGVzXCJcbiAgICAgICAgW2NsYXNzZXNdPVwiX2RhdGEuY2xhc3Nlc1wiXG4gICAgICAgIFtpY29uXT1cIl9kYXRhLmljb25cIlxuICAgICAgPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiX2RhdGEuY3VzdG9tXCIgW2lubmVySFRNTF09XCJfZGF0YS5jdXN0b20uaW5uZXJIVE1MXCI+PC9kaXY+XG4gICAgICA8L2JpaXQtbWV0YS1lbGVtZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ0aXRsZUZpZWxkXCIgY2xhc3M9XCJkYXRhLXRpdGxlXCIgaWQ9XCJ0aXRsZVwiIFt0b29sdGlwXT1cIl9kYXRhLmRhdGFbdGl0bGVGaWVsZF0gfCBwcmludGZcIj5cbiAgICAgIHt7X2RhdGEuZGF0YVt0aXRsZUZpZWxkXSB8IHByaW50Zn19XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gYmlpdC1pY29uIGlkPVwiY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2ljb25dPVwiJ2Nyb3NzX3dpZGUnXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1ldGFkYXRhLWluZm9cIiBpZD1cIm1ldGF2aWV3ZXItaW5mb1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIChmaWVsZHMgfCByZW1vdmVGcm9tQXJyYXk6IFt0aXRsZUZpZWxkXSkgXCIgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1ldGFkYXRhLWluZm8tcm93XCIgaWQ9XCJtZXRhdmlld2VyLWluZm8tcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC12YWx1ZVwiIGlkPVwiZmllbGRcIj5cbiAgICAgICAgICA8YmlpdC1pbnB1dC10ZXh0XG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiX2RhdGEuZGF0YVtmaWVsZF0gfCBhdXRvRm9ybWF0XCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,48 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MetadataViewerComponent } from './metadata-viewer.component';
4
+ import { MetaElementModule } from "../meta-element/meta-element.module";
5
+ import { BiitTooltipModule } from "@biit-solutions/wizardry-theme/info";
6
+ import { PipesModule } from "../../pipes/pipes.module";
7
+ import { BiitInputTextModule } from "@biit-solutions/wizardry-theme/inputs";
8
+ import { FormsModule } from "@angular/forms";
9
+ import { BiitIconButtonModule } from "@biit-solutions/wizardry-theme/button";
10
+ import * as i0 from "@angular/core";
11
+ export class MetadataViewerModule {
12
+ }
13
+ MetadataViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ MetadataViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, declarations: [MetadataViewerComponent], imports: [CommonModule,
15
+ MetaElementModule,
16
+ BiitTooltipModule,
17
+ PipesModule,
18
+ BiitInputTextModule,
19
+ FormsModule,
20
+ BiitIconButtonModule], exports: [MetadataViewerComponent] });
21
+ MetadataViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, imports: [CommonModule,
22
+ MetaElementModule,
23
+ BiitTooltipModule,
24
+ PipesModule,
25
+ BiitInputTextModule,
26
+ FormsModule,
27
+ BiitIconButtonModule] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetadataViewerModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ declarations: [
32
+ MetadataViewerComponent
33
+ ],
34
+ exports: [
35
+ MetadataViewerComponent
36
+ ],
37
+ imports: [
38
+ CommonModule,
39
+ MetaElementModule,
40
+ BiitTooltipModule,
41
+ PipesModule,
42
+ BiitInputTextModule,
43
+ FormsModule,
44
+ BiitIconButtonModule
45
+ ]
46
+ }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2NoYXJ0cy9zcmMvbWV0YS12aWV3LWNoYXJ0L2NvbXBvbmVudHMvbWV0YWRhdGEtdmlld2VyL21ldGFkYXRhLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFxQjNFLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFmN0IsdUJBQXVCLGFBTXZCLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsV0FBVztRQUNYLG9CQUFvQixhQVRwQix1QkFBdUI7bUhBWWQsb0JBQW9CLFlBVDdCLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsV0FBVztRQUNYLG9CQUFvQjs0RkFHWCxvQkFBb0I7a0JBakJoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNZXRhZGF0YVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vbWV0YWRhdGEtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge01ldGFFbGVtZW50TW9kdWxlfSBmcm9tIFwiLi4vbWV0YS1lbGVtZW50L21ldGEtZWxlbWVudC5tb2R1bGVcIjtcbmltcG9ydCB7QmlpdFRvb2x0aXBNb2R1bGV9IGZyb20gXCJAYmlpdC1zb2x1dGlvbnMvd2l6YXJkcnktdGhlbWUvaW5mb1wiO1xuaW1wb3J0IHtQaXBlc01vZHVsZX0gZnJvbSBcIi4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZVwiO1xuaW1wb3J0IHtCaWl0SW5wdXRUZXh0TW9kdWxlfSBmcm9tIFwiQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2lucHV0c1wiO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0JpaXRJY29uQnV0dG9uTW9kdWxlfSBmcm9tIFwiQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2J1dHRvblwiO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWV0YWRhdGFWaWV3ZXJDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1ldGFkYXRhVmlld2VyQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWV0YUVsZW1lbnRNb2R1bGUsXG4gICAgQmlpdFRvb2x0aXBNb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgQmlpdElucHV0VGV4dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBCaWl0SWNvbkJ1dHRvbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhVmlld2VyTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,28 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@biit-solutions/wizardry-theme/inputs";
4
+ import * as i2 from "@angular/forms";
5
+ export class TextFilterComponent {
6
+ constructor() {
7
+ this.filterChange = new EventEmitter();
8
+ this.search = '';
9
+ }
10
+ set filter(value) {
11
+ this.search = value;
12
+ }
13
+ onSearchChange(value) {
14
+ clearTimeout(this.timeout);
15
+ this.timeout = setTimeout(() => this.filterChange.emit(this.search), 500);
16
+ }
17
+ }
18
+ TextFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ TextFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextFilterComponent, selector: "biit-text-filter", inputs: { filter: "filter" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<biit-input-text\n [(ngModel)]=\"search\"\n (ngModelChange)=\"onSearchChange($event)\"\n/>\n", styles: [""], dependencies: [{ kind: "component", type: i1.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'biit-text-filter', template: "<biit-input-text\n [(ngModel)]=\"search\"\n (ngModelChange)=\"onSearchChange($event)\"\n/>\n" }]
23
+ }], propDecorators: { filter: [{
24
+ type: Input
25
+ }], filterChange: [{
26
+ type: Output
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvY2hhcnRzL3NyYy9tZXRhLXZpZXctY2hhcnQvY29tcG9uZW50cy90ZXh0LWZpbHRlci90ZXh0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9jaGFydHMvc3JjL21ldGEtdmlldy1jaGFydC9jb21wb25lbnRzL3RleHQtZmlsdGVyL3RleHQtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPckUsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQVNZLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEUsV0FBTSxHQUFXLEVBQUUsQ0FBQztLQU8vQjtJQVhDLElBQWEsTUFBTSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUtELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7O2lIQVhVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLGlJQ1BoQyxnR0FJQTs0RkRHYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0Usa0JBQWtCOzhCQUtmLE1BQU07c0JBQWxCLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LXRleHQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1maWx0ZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWx0ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBzZXQgZmlsdGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHZhbHVlO1xuICB9XG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHRpbWVvdXQ6IE5vZGVKUy5UaW1lb3V0O1xuXG4gIG9uU2VhcmNoQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5zZWFyY2gpLCA1MDApO1xuICB9XG59XG4iLCI8YmlpdC1pbnB1dC10ZXh0XG4gIFsobmdNb2RlbCldPVwic2VhcmNoXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50KVwiXG4vPlxuIl19
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TextFilterComponent } from './text-filter.component';
4
+ import { BiitInputTextModule } from "@biit-solutions/wizardry-theme/inputs";
5
+ import { FormsModule } from "@angular/forms";
6
+ import * as i0 from "@angular/core";
7
+ export class TextFilterModule {
8
+ }
9
+ TextFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ TextFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, declarations: [TextFilterComponent], imports: [CommonModule,
11
+ BiitInputTextModule,
12
+ FormsModule], exports: [TextFilterComponent] });
13
+ TextFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, imports: [CommonModule,
14
+ BiitInputTextModule,
15
+ FormsModule] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFilterModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [
20
+ TextFilterComponent
21
+ ],
22
+ exports: [
23
+ TextFilterComponent
24
+ ],
25
+ imports: [
26
+ CommonModule,
27
+ BiitInputTextModule,
28
+ FormsModule
29
+ ]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWx0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvY2hhcnRzL3NyYy9tZXRhLXZpZXctY2hhcnQvY29tcG9uZW50cy90ZXh0LWZpbHRlci90ZXh0LWZpbHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQWlCM0MsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVh6QixtQkFBbUIsYUFNbkIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXLGFBTFgsbUJBQW1COytHQVFWLGdCQUFnQixZQUx6QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7NEZBR0YsZ0JBQWdCO2tCQWI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsV0FBVztxQkFDWjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGV4dEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmlpdElucHV0VGV4dE1vZHVsZX0gZnJvbSBcIkBiaWl0LXNvbHV0aW9ucy93aXphcmRyeS10aGVtZS9pbnB1dHNcIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGV4dEZpbHRlckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGV4dEZpbHRlckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJpaXRJbnB1dFRleHRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmlsdGVyTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,141 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { View } from "./model/view";
3
+ import { v4 as uuid } from 'uuid';
4
+ import { animate, style, transition, trigger } from "@angular/animations";
5
+ import { TRANSLOCO_SCOPE } from "@ngneat/transloco";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "./components/meta-board/meta-board.component";
9
+ import * as i3 from "./components/meta-sorter/meta-filter.component";
10
+ import * as i4 from "./components/metadata-viewer/metadata-viewer.component";
11
+ import * as i5 from "../timeline-viewer-chart/timeline-viewer-chart.component";
12
+ import * as i6 from "@biit-solutions/wizardry-theme/icon";
13
+ import * as i7 from "@ngneat/transloco";
14
+ import * as i8 from "./pipes/extract-data.pipe";
15
+ export class MetaViewChartComponent {
16
+ set _data(data) {
17
+ this.data = data;
18
+ if (data) {
19
+ this.data.data.forEach(element => {
20
+ {
21
+ element.data['_id'] = uuid();
22
+ element.data['_color'] = element.statusColor;
23
+ }
24
+ });
25
+ this.cdRef.detectChanges();
26
+ this.timelineOptions = {
27
+ date: data.timelineDateField,
28
+ color: '_color',
29
+ tooltipHeader: data.titleField,
30
+ tooltipInfo: []
31
+ };
32
+ this.elements = this.data.data;
33
+ this.onFilter(null);
34
+ }
35
+ }
36
+ constructor(cdRef) {
37
+ this.cdRef = cdRef;
38
+ this.view = View.GRID;
39
+ this.selected = new EventEmitter();
40
+ this.unselected = new EventEmitter();
41
+ this.View = View;
42
+ this.fields = ['name', 'date', 'v1', 'v2', 'v3', 'b1'];
43
+ this.elements = [];
44
+ }
45
+ onElementClick(element) {
46
+ this.selectedElement = element;
47
+ this.selected.emit(element);
48
+ }
49
+ unselectElement() {
50
+ this.selectedElement = undefined;
51
+ this.unselected.emit();
52
+ this.cdRef.detectChanges();
53
+ }
54
+ onTimeLineElementClick(element) {
55
+ this.selectedElement = this.data.data.find(e => e.data['_id'] === element.meta['_id']);
56
+ this.selected.emit(this.selectedElement);
57
+ this.cdRef.detectChanges();
58
+ }
59
+ onFilter(filters) {
60
+ if (this.delayedFilter != null) {
61
+ clearTimeout(this.delayedFilter);
62
+ }
63
+ /* This avoids to load all data if it comes from an update */
64
+ if (filters) {
65
+ this.latestFilter = filters;
66
+ this.delayedFilter = setTimeout(() => {
67
+ this.filter(filters);
68
+ this.delayedFilter = null;
69
+ }, MetaViewChartComponent.FILTER_DELAY);
70
+ }
71
+ else {
72
+ this.filter(this.latestFilter);
73
+ }
74
+ }
75
+ filter(filters) {
76
+ if (!filters || filters.size === 0) {
77
+ this.elements = this.data.data;
78
+ return;
79
+ }
80
+ this.elements = this.data.data.filter((element) => {
81
+ return !Array.from(filters.entries()).map(filter => this.resolveFilter(filter[1], element.data[filter[0]])).some(result => !result);
82
+ });
83
+ }
84
+ resolveFilter(restriction, value) {
85
+ if (Array.isArray(restriction) && !restriction.some(Array.isArray) && restriction.length === 2) {
86
+ return value >= restriction[0] && value <= restriction[1];
87
+ }
88
+ if (Array.isArray(restriction) && restriction.every(Array.isArray)) {
89
+ if (value instanceof Date) {
90
+ return restriction.some(range => range[0].getTime() <= value.getTime() && value.getTime() <= range[1].getTime());
91
+ }
92
+ }
93
+ const regex = new RegExp(restriction, 'i');
94
+ return regex.test(value);
95
+ }
96
+ }
97
+ MetaViewChartComponent.FILTER_DELAY = 500;
98
+ MetaViewChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
99
+ MetaViewChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MetaViewChartComponent, selector: "biit-meta-view-chart", inputs: { _data: ["data", "_data"], view: "view" }, outputs: { selected: "selected", unselected: "unselected" }, providers: [{
100
+ provide: TRANSLOCO_SCOPE,
101
+ useValue: { scope: 'wizardry-theme/chart', alias: "charts" }
102
+ }], ngImport: i0, template: "<div class=\"meta-view-chart-board\" id=\"metaviewer-chart\" *transloco=\"let t\">\n <div class=\"meta-view-column\">\n <biit-meta-filter [metadata]=\"data\" (filterChange)=\"onFilter($event)\"/>\n </div>\n <biit-meta-board id=\"metaviewer-board\" *ngIf=\"view === View.GRID\"\n [data]=\"elements\"\n [selected]=\"selectedElement\"\n (elementClick)=\"onElementClick($event)\"\n />\n <biit-timeline-viewer-chart id=\"metaviewer-timeline\" *ngIf=\"view === View.TIMELINE && timelineOptions && timelineOptions.date\"\n [data]=\"elements | extractData\"\n [options]=\"timelineOptions\"\n (onItemClick)=\"onTimeLineElementClick($event)\"\n style=\"overflow: hidden\"\n />\n <div class=\"error-view\" id=\"metaviewer-error\" *ngIf=\"view === View.TIMELINE && !timelineOptions?.date\">\n <div>\n <biit-icon name=\"exclamation\" style=\"display:block; width: 1rem;\" />\n </div>\n <div>{{ t('charts.configuration-not-meets-requirements') }}</div>\n </div>\n <div class=\"meta-view-column rtl\" id=\"metadata-viewer\" *ngIf=\"selectedElement\" @fadeInOut>\n <biit-metadata-viewer class=\"ltr\"\n [data]=\"selectedElement\"\n [fields]=\"data.fields\"\n [titleField]=\"data.titleField\"\n (onClose)=\"unselectElement()\"/>\n </div>\n</div>\n", styles: ["biit-meta-board{display:block;width:100%;height:100%}.meta-view-chart-board{display:flex;flex-direction:row;gap:1em;height:100%;transition:transform .3s ease-in-out;&>:not(:nth-child(2)){flex:0 1 auto}&>:nth-child(2){flex:1}}.meta-view-column{min-width:14em;max-width:23em;width:18em;flex:0 1 auto;resize:horizontal;overflow:auto;border:3px solid #262626}.rtl{direction:rtl}.ltr{direction:ltr}.padding-1{padding:.1em}.error-view{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MetaBoardComponent, selector: "biit-meta-board", inputs: ["data", "selected"], outputs: ["elementClick"] }, { kind: "component", type: i3.MetaFilterComponent, selector: "biit-meta-filter", inputs: ["metadata"], outputs: ["filterChange"] }, { kind: "component", type: i4.MetadataViewerComponent, selector: "biit-metadata-viewer", inputs: ["data", "fields", "titleField"], outputs: ["onClose"] }, { kind: "component", type: i5.TimelineViewerChartComponent, selector: "biit-timeline-viewer-chart", inputs: ["data", "options"], outputs: ["onItemClick"] }, { kind: "component", type: i6.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "directive", type: i7.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: i8.ExtractDataPipe, name: "extractData" }], animations: [
103
+ trigger('fadeInOut', [
104
+ transition(':enter', [
105
+ style({ opacity: 0 }),
106
+ animate('300ms ease-in', style({ opacity: 1 }))
107
+ ]),
108
+ transition(':leave', [
109
+ style({ opacity: 1 }),
110
+ animate('300ms ease-out', style({ opacity: 0 }))
111
+ ])
112
+ ])
113
+ ], encapsulation: i0.ViewEncapsulation.None });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MetaViewChartComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'biit-meta-view-chart', encapsulation: ViewEncapsulation.None, providers: [{
117
+ provide: TRANSLOCO_SCOPE,
118
+ useValue: { scope: 'wizardry-theme/chart', alias: "charts" }
119
+ }], animations: [
120
+ trigger('fadeInOut', [
121
+ transition(':enter', [
122
+ style({ opacity: 0 }),
123
+ animate('300ms ease-in', style({ opacity: 1 }))
124
+ ]),
125
+ transition(':leave', [
126
+ style({ opacity: 1 }),
127
+ animate('300ms ease-out', style({ opacity: 0 }))
128
+ ])
129
+ ])
130
+ ], template: "<div class=\"meta-view-chart-board\" id=\"metaviewer-chart\" *transloco=\"let t\">\n <div class=\"meta-view-column\">\n <biit-meta-filter [metadata]=\"data\" (filterChange)=\"onFilter($event)\"/>\n </div>\n <biit-meta-board id=\"metaviewer-board\" *ngIf=\"view === View.GRID\"\n [data]=\"elements\"\n [selected]=\"selectedElement\"\n (elementClick)=\"onElementClick($event)\"\n />\n <biit-timeline-viewer-chart id=\"metaviewer-timeline\" *ngIf=\"view === View.TIMELINE && timelineOptions && timelineOptions.date\"\n [data]=\"elements | extractData\"\n [options]=\"timelineOptions\"\n (onItemClick)=\"onTimeLineElementClick($event)\"\n style=\"overflow: hidden\"\n />\n <div class=\"error-view\" id=\"metaviewer-error\" *ngIf=\"view === View.TIMELINE && !timelineOptions?.date\">\n <div>\n <biit-icon name=\"exclamation\" style=\"display:block; width: 1rem;\" />\n </div>\n <div>{{ t('charts.configuration-not-meets-requirements') }}</div>\n </div>\n <div class=\"meta-view-column rtl\" id=\"metadata-viewer\" *ngIf=\"selectedElement\" @fadeInOut>\n <biit-metadata-viewer class=\"ltr\"\n [data]=\"selectedElement\"\n [fields]=\"data.fields\"\n [titleField]=\"data.titleField\"\n (onClose)=\"unselectElement()\"/>\n </div>\n</div>\n", styles: ["biit-meta-board{display:block;width:100%;height:100%}.meta-view-chart-board{display:flex;flex-direction:row;gap:1em;height:100%;transition:transform .3s ease-in-out;&>:not(:nth-child(2)){flex:0 1 auto}&>:nth-child(2){flex:1}}.meta-view-column{min-width:14em;max-width:23em;width:18em;flex:0 1 auto;resize:horizontal;overflow:auto;border:3px solid #262626}.rtl{direction:rtl}.ltr{direction:ltr}.padding-1{padding:.1em}.error-view{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem}\n"] }]
131
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _data: [{
132
+ type: Input,
133
+ args: ['data']
134
+ }], view: [{
135
+ type: Input
136
+ }], selected: [{
137
+ type: Output
138
+ }], unselected: [{
139
+ type: Output
140
+ }] } });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS12aWV3LWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2NoYXJ0cy9zcmMvbWV0YS12aWV3LWNoYXJ0L21ldGEtdmlldy1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9jaGFydHMvc3JjL21ldGEtdmlldy1jaGFydC9tZXRhLXZpZXctY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0csT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUdsQyxPQUFPLEVBQUMsRUFBRSxJQUFJLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7O0FBd0JsRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLElBQW1CLEtBQUssQ0FBQyxJQUFrQjtRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDL0I7b0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO2lCQUM5QztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtnQkFDNUIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUM5QixXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQWtCRCxZQUFzQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWhCckMsU0FBSSxHQUFTLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsYUFBUSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RixlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFakQsU0FBSSxHQUFHLElBQUksQ0FBQztRQUdyQixXQUFNLEdBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVELGFBQVEsR0FBMEIsRUFBRSxDQUFDO0lBUy9DLENBQUM7SUFFUyxjQUFjLENBQUMsT0FBNEI7UUFDbkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxPQUFnQztRQUMvRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxRQUFRLENBQUMsT0FBeUI7UUFDMUMsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRTtZQUM5QixZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsNkRBQTZEO1FBQzdELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDLEVBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hDO0lBRUgsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUF5QjtRQUN0QyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDL0IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUE0QixFQUFFLEVBQUU7WUFDckUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0SSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhLENBQUMsV0FBZ0IsRUFBRSxLQUFVO1FBQ2hELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzlGLE9BQU8sS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2xFLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtnQkFDekIsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUssS0FBSyxDQUFDLENBQUMsQ0FBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDdEk7U0FDRjtRQUNELE1BQU0sS0FBSyxHQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7QUE1RGMsbUNBQVksR0FBVyxHQUFHLENBQUM7b0hBcEMvQixzQkFBc0I7d0dBQXRCLHNCQUFzQixnS0FqQnRCLENBQUM7WUFDVixPQUFPLEVBQUUsZUFBZTtZQUN4QixRQUFRLEVBQUUsRUFBQyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQztTQUMzRCxDQUFDLDBCQ2xCSix1eENBNkJBLGdsRERWYztRQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO2dCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO2FBQzlDLENBQUM7WUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNuQixLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUM7Z0JBQ25CLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzthQUMvQyxDQUFDO1NBQ0gsQ0FBQztLQUNIOzRGQUVVLHNCQUFzQjtrQkF0QmxDLFNBQVM7K0JBQ0Usc0JBQXNCLGlCQUdqQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDO3lCQUMzRCxDQUFDLGNBQ1U7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO2dDQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDOzZCQUM5QyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztnQ0FDbkIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDOzZCQUMvQyxDQUFDO3lCQUNILENBQUM7cUJBQ0g7d0dBR2tCLEtBQUs7c0JBQXZCLEtBQUs7dUJBQUMsTUFBTTtnQkFxQkosSUFBSTtzQkFBWixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01ldGFWaWV3RWxlbWVudERhdGF9IGZyb20gXCIuL21vZGVsL21ldGEtdmlldy1lbGVtZW50LWRhdGFcIjtcbmltcG9ydCB7TWV0YVZpZXdEYXRhfSBmcm9tIFwiLi9tb2RlbC9tZXRhLXZpZXctZGF0YVwiO1xuaW1wb3J0IHtWaWV3fSBmcm9tIFwiLi9tb2RlbC92aWV3XCI7XG5pbXBvcnQge1RpbWVsaW5lVmlld2VyQ2hhcnRPcHRpb25zfSBmcm9tIFwiLi4vdGltZWxpbmUtdmlld2VyLWNoYXJ0L21vZGVscy90aW1lbGluZS12aWV3ZXItY2hhcnQtb3B0aW9uc1wiO1xuaW1wb3J0IHtUaW1lbGluZVZpZXdlckNoYXJ0RGF0YX0gZnJvbSBcIi4uL3RpbWVsaW5lLXZpZXdlci1jaGFydC9tb2RlbHMvdGltZWxpbmUtdmlld2VyLWNoYXJ0LWRhdGFcIjtcbmltcG9ydCB7djQgYXMgdXVpZH0gZnJvbSAndXVpZCc7XG5pbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtUUkFOU0xPQ09fU0NPUEV9IGZyb20gXCJAbmduZWF0L3RyYW5zbG9jb1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LW1ldGEtdmlldy1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhLXZpZXctY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXRhLXZpZXctY2hhcnQuY29tcG9uZW50LmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogVFJBTlNMT0NPX1NDT1BFLFxuICAgIHVzZVZhbHVlOiB7c2NvcGU6ICd3aXphcmRyeS10aGVtZS9jaGFydCcsIGFsaWFzOiBcImNoYXJ0c1wifVxuICB9XSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZhZGVJbk91dCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoe29wYWNpdHk6IDB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicsIHN0eWxlKHtvcGFjaXR5OiAxfSkpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgc3R5bGUoe29wYWNpdHk6IDF9KSxcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7b3BhY2l0eTogMH0pKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFWaWV3Q2hhcnRDb21wb25lbnQge1xuICBASW5wdXQoJ2RhdGEnKSBzZXQgX2RhdGEoZGF0YTogTWV0YVZpZXdEYXRhKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAge1xuICAgICAgICAgIGVsZW1lbnQuZGF0YVsnX2lkJ10gPSB1dWlkKCk7XG4gICAgICAgICAgZWxlbWVudC5kYXRhWydfY29sb3InXSA9IGVsZW1lbnQuc3RhdHVzQ29sb3I7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLnRpbWVsaW5lT3B0aW9ucyA9IHtcbiAgICAgICAgZGF0ZTogZGF0YS50aW1lbGluZURhdGVGaWVsZCxcbiAgICAgICAgY29sb3I6ICdfY29sb3InLFxuICAgICAgICB0b29sdGlwSGVhZGVyOiBkYXRhLnRpdGxlRmllbGQsXG4gICAgICAgIHRvb2x0aXBJbmZvOiBbXVxuICAgICAgfTtcbiAgICAgIHRoaXMuZWxlbWVudHMgPSB0aGlzLmRhdGEuZGF0YTtcbiAgICAgIHRoaXMub25GaWx0ZXIobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgdmlldzogVmlldyA9IFZpZXcuR1JJRDtcbiAgQE91dHB1dCgpIHNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8TWV0YVZpZXdFbGVtZW50RGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFWaWV3RWxlbWVudERhdGE+KCk7XG4gIEBPdXRwdXQoKSB1bnNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IFZpZXcgPSBWaWV3O1xuXG4gIHByb3RlY3RlZCBkYXRhOiBNZXRhVmlld0RhdGE7XG4gIHByb3RlY3RlZCBmaWVsZHM6IHN0cmluZ1tdID0gWyduYW1lJywgJ2RhdGUnLCAndjEnLCAndjInLCAndjMnLCAnYjEnXTtcbiAgcHJvdGVjdGVkIGVsZW1lbnRzOiBNZXRhVmlld0VsZW1lbnREYXRhW10gPSBbXTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkRWxlbWVudDogTWV0YVZpZXdFbGVtZW50RGF0YTtcbiAgcHJvdGVjdGVkIGxhdGVzdEZpbHRlcjogTWFwPHN0cmluZywgYW55PjtcblxuICBwcm90ZWN0ZWQgdGltZWxpbmVPcHRpb25zOiBUaW1lbGluZVZpZXdlckNoYXJ0T3B0aW9ucztcbiAgcHJpdmF0ZSBkZWxheWVkRmlsdGVyOiBOb2RlSlMuVGltZW91dDtcbiAgcHJpdmF0ZSBzdGF0aWMgRklMVEVSX0RFTEFZOiBudW1iZXIgPSA1MDA7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRWxlbWVudENsaWNrKGVsZW1lbnQ6IE1ldGFWaWV3RWxlbWVudERhdGEpIHtcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KGVsZW1lbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVuc2VsZWN0RWxlbWVudCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnVuc2VsZWN0ZWQuZW1pdCgpO1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBwcm90ZWN0ZWQgb25UaW1lTGluZUVsZW1lbnRDbGljayhlbGVtZW50OiBUaW1lbGluZVZpZXdlckNoYXJ0RGF0YSkge1xuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gdGhpcy5kYXRhLmRhdGEuZmluZChlID0+IGUuZGF0YVsnX2lkJ10gPT09IGVsZW1lbnQubWV0YVsnX2lkJ10pO1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkRWxlbWVudCk7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25GaWx0ZXIoZmlsdGVyczogTWFwPHN0cmluZywgYW55Pik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlbGF5ZWRGaWx0ZXIgIT0gbnVsbCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXllZEZpbHRlcik7XG4gICAgfVxuICAgIC8qIFRoaXMgYXZvaWRzIHRvIGxvYWQgYWxsIGRhdGEgaWYgaXQgY29tZXMgZnJvbSBhbiB1cGRhdGUgKi9cbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgdGhpcy5sYXRlc3RGaWx0ZXIgPSBmaWx0ZXJzO1xuICAgICAgdGhpcy5kZWxheWVkRmlsdGVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZmlsdGVyKGZpbHRlcnMpO1xuICAgICAgICB0aGlzLmRlbGF5ZWRGaWx0ZXIgPSBudWxsO1xuICAgICAgfSwgTWV0YVZpZXdDaGFydENvbXBvbmVudC5GSUxURVJfREVMQVkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcih0aGlzLmxhdGVzdEZpbHRlcik7XG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGZpbHRlcihmaWx0ZXJzOiBNYXA8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKCFmaWx0ZXJzIHx8IGZpbHRlcnMuc2l6ZSA9PT0gMCkge1xuICAgICAgdGhpcy5lbGVtZW50cyA9IHRoaXMuZGF0YS5kYXRhO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVsZW1lbnRzID0gdGhpcy5kYXRhLmRhdGEuZmlsdGVyKChlbGVtZW50OiBNZXRhVmlld0VsZW1lbnREYXRhKSA9PiB7XG4gICAgICByZXR1cm4gIUFycmF5LmZyb20oZmlsdGVycy5lbnRyaWVzKCkpLm1hcChmaWx0ZXIgPT4gdGhpcy5yZXNvbHZlRmlsdGVyKGZpbHRlclsxXSwgZWxlbWVudC5kYXRhW2ZpbHRlclswXV0pKS5zb21lKHJlc3VsdCA9PiAhcmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUZpbHRlcihyZXN0cmljdGlvbjogYW55LCB2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdHJpY3Rpb24pICYmICFyZXN0cmljdGlvbi5zb21lKEFycmF5LmlzQXJyYXkpICYmIHJlc3RyaWN0aW9uLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0dXJuIHZhbHVlID49IHJlc3RyaWN0aW9uWzBdICYmIHZhbHVlIDw9IHJlc3RyaWN0aW9uWzFdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN0cmljdGlvbikgJiYgcmVzdHJpY3Rpb24uZXZlcnkoQXJyYXkuaXNBcnJheSkpIHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgcmV0dXJuIHJlc3RyaWN0aW9uLnNvbWUocmFuZ2UgPT4gKHJhbmdlWzBdIGFzIERhdGUpLmdldFRpbWUoKSA8PSB2YWx1ZS5nZXRUaW1lKCkgJiYgdmFsdWUuZ2V0VGltZSgpIDw9IChyYW5nZVsxXSBhcyBEYXRlKS5nZXRUaW1lKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZWdleDogUmVnRXhwID0gbmV3IFJlZ0V4cChyZXN0cmljdGlvbiwgJ2knKTtcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGNsYXNzPVwibWV0YS12aWV3LWNoYXJ0LWJvYXJkXCIgaWQ9XCJtZXRhdmlld2VyLWNoYXJ0XCIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gIDxkaXYgY2xhc3M9XCJtZXRhLXZpZXctY29sdW1uXCI+XG4gICAgPGJpaXQtbWV0YS1maWx0ZXIgW21ldGFkYXRhXT1cImRhdGFcIiAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyKCRldmVudClcIi8+XG4gIDwvZGl2PlxuICA8YmlpdC1tZXRhLWJvYXJkIGlkPVwibWV0YXZpZXdlci1ib2FyZFwiICpuZ0lmPVwidmlldyA9PT0gVmlldy5HUklEXCJcbiAgICBbZGF0YV09XCJlbGVtZW50c1wiXG4gICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkRWxlbWVudFwiXG4gICAgKGVsZW1lbnRDbGljayk9XCJvbkVsZW1lbnRDbGljaygkZXZlbnQpXCJcbiAgLz5cbiAgPGJpaXQtdGltZWxpbmUtdmlld2VyLWNoYXJ0IGlkPVwibWV0YXZpZXdlci10aW1lbGluZVwiICpuZ0lmPVwidmlldyA9PT0gVmlldy5USU1FTElORSAmJiB0aW1lbGluZU9wdGlvbnMgJiYgdGltZWxpbmVPcHRpb25zLmRhdGVcIlxuICAgIFtkYXRhXT1cImVsZW1lbnRzIHwgZXh0cmFjdERhdGFcIlxuICAgIFtvcHRpb25zXT1cInRpbWVsaW5lT3B0aW9uc1wiXG4gICAgKG9uSXRlbUNsaWNrKT1cIm9uVGltZUxpbmVFbGVtZW50Q2xpY2soJGV2ZW50KVwiXG4gICAgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImVycm9yLXZpZXdcIiBpZD1cIm1ldGF2aWV3ZXItZXJyb3JcIiAqbmdJZj1cInZpZXcgPT09IFZpZXcuVElNRUxJTkUgJiYgIXRpbWVsaW5lT3B0aW9ucz8uZGF0ZVwiPlxuICAgIDxkaXY+XG4gICAgICA8YmlpdC1pY29uIG5hbWU9XCJleGNsYW1hdGlvblwiIHN0eWxlPVwiZGlzcGxheTpibG9jazsgd2lkdGg6IDFyZW07XCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2Pnt7IHQoJ2NoYXJ0cy5jb25maWd1cmF0aW9uLW5vdC1tZWV0cy1yZXF1aXJlbWVudHMnKSB9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1ldGEtdmlldy1jb2x1bW4gcnRsXCIgaWQ9XCJtZXRhZGF0YS12aWV3ZXJcIiAqbmdJZj1cInNlbGVjdGVkRWxlbWVudFwiIEBmYWRlSW5PdXQ+XG4gICAgPGJpaXQtbWV0YWRhdGEtdmlld2VyIGNsYXNzPVwibHRyXCJcbiAgICAgIFtkYXRhXT1cInNlbGVjdGVkRWxlbWVudFwiXG4gICAgICBbZmllbGRzXT1cImRhdGEuZmllbGRzXCJcbiAgICAgIFt0aXRsZUZpZWxkXT1cImRhdGEudGl0bGVGaWVsZFwiXG4gICAgICAob25DbG9zZSk9XCJ1bnNlbGVjdEVsZW1lbnQoKVwiLz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==