@valtimo/components 4.15.2 → 4.16.0-next-main.19

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 (291) hide show
  1. package/bundles/valtimo-components.umd.js +412 -306
  2. package/bundles/valtimo-components.umd.js.map +1 -1
  3. package/bundles/valtimo-components.umd.min.js +2 -2
  4. package/bundles/valtimo-components.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/alert/alert.component.js +140 -0
  6. package/esm2015/lib/{topbar/topbar.module.js → components/alert/alert.module.js} +7 -11
  7. package/esm2015/lib/components/alert/alert.service.js +81 -0
  8. package/esm2015/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.js +160 -0
  9. package/esm2015/lib/{alert/alert.module.js → components/bpmn-js-diagram/bpmn-js-diagram.module.js} +6 -6
  10. package/esm2015/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.js +93 -0
  11. package/esm2015/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.js +30 -0
  12. package/esm2015/lib/components/camunda/form/camunda-form.components.js +37 -0
  13. package/esm2015/lib/components/camunda/form/camunda-form.module.js +30 -0
  14. package/esm2015/lib/components/camunda/form/custom/camunda-custom-form.component.js +42 -0
  15. package/esm2015/lib/components/camunda/form/custom/camunda-custom-form.module.js +28 -0
  16. package/esm2015/lib/components/camunda/form/generated/camunda-generated-form.component.js +69 -0
  17. package/esm2015/lib/components/camunda/form/generated/camunda-generated-form.module.js +58 -0
  18. package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/boolean/camunda-boolean-formfield.component.js +3 -4
  19. package/esm2015/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +64 -0
  20. package/esm2015/lib/components/camunda/form/generated/formfield/camunda-formfield.service.js +66 -0
  21. package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.js +5 -3
  22. package/esm2015/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +66 -0
  23. package/esm2015/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +30 -0
  24. package/esm2015/lib/{menu/submenu-item-text.component.js → components/camunda/form/generated/formfield/formfield.model.js} +1 -18
  25. package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/long/camunda-long-formfield.component.js +3 -4
  26. package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/string/camunda-string-formfield.component.js +3 -4
  27. package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/textarea/camunda-textarea-formfield.component.js +3 -4
  28. package/esm2015/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +35 -0
  29. package/esm2015/lib/components/camunda/form/generated/formfield/validation/date.validators.js +60 -0
  30. package/esm2015/lib/{form-io/form-io-builder.component.js → components/card/card.component.js} +15 -18
  31. package/esm2015/lib/components/card/card.module.js +28 -0
  32. package/esm2015/lib/{camunda/form/generated/formfield/formfield.model.js → components/components.module.js} +7 -1
  33. package/esm2015/lib/{data-list → components/data-list}/data-list.component.js +2 -3
  34. package/esm2015/lib/components/data-list/data-list.module.js +28 -0
  35. package/esm2015/lib/components/dropzone/dropzone.component.js +143 -0
  36. package/esm2015/lib/components/dropzone/dropzone.module.js +32 -0
  37. package/esm2015/lib/components/field-auto-focus/field-auto-focus.directive.js +35 -0
  38. package/esm2015/lib/components/field-auto-focus/field-auto-focus.module.js +28 -0
  39. package/esm2015/lib/{view-content/type-converters/enumTypeConverter.js → components/file-size/file-size.module.js} +12 -8
  40. package/esm2015/lib/components/file-size/file-size.pipe.js +38 -0
  41. package/esm2015/lib/components/filter-sidebar/filter-sidebar.component.js +46 -0
  42. package/esm2015/lib/components/filter-sidebar/filter-sidebar.module.js +28 -0
  43. package/esm2015/lib/components/form-io/form-io-builder.component.js +38 -0
  44. package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.js +90 -0
  45. package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader.component.js +74 -0
  46. package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader.formio.js +26 -0
  47. package/esm2015/lib/components/form-io/form-io.component.js +163 -0
  48. package/esm2015/lib/components/form-io/form-io.module.js +56 -0
  49. package/esm2015/lib/components/form-io/formio-config.js +22 -0
  50. package/esm2015/lib/components/form-io/services/form-io-dom.service.js +23 -0
  51. package/esm2015/lib/components/form-io/services/form-io-state.service.js +24 -0
  52. package/esm2015/lib/components/left-sidebar/left-sidebar.component.js +114 -0
  53. package/esm2015/lib/components/left-sidebar/left-sidebar.module.js +30 -0
  54. package/esm2015/lib/components/list/ListFilterPipe.directive.js +31 -0
  55. package/esm2015/lib/components/list/list.component.js +179 -0
  56. package/esm2015/lib/components/list/list.module.js +33 -0
  57. package/esm2015/lib/components/menu/menu-item-text.component.js +38 -0
  58. package/esm2015/lib/components/menu/menu-routing.module.js +27 -0
  59. package/esm2015/lib/components/menu/menu.component.js +65 -0
  60. package/esm2015/lib/components/menu/menu.init.js +34 -0
  61. package/esm2015/lib/components/menu/menu.module.js +34 -0
  62. package/esm2015/lib/components/menu/menu.service.js +126 -0
  63. package/esm2015/lib/components/menu/submenu-item-text.component.js +33 -0
  64. package/esm2015/lib/{modal → components/modal}/modal.component.js +1 -1
  65. package/esm2015/lib/components/modal/modal.module.js +28 -0
  66. package/esm2015/lib/{page-header → components/page-header}/page-header.component.js +1 -1
  67. package/esm2015/lib/components/page-header/page-header.module.js +30 -0
  68. package/esm2015/lib/components/page-title/page-title.component.js +76 -0
  69. package/esm2015/lib/components/page-title/page-title.module.js +29 -0
  70. package/esm2015/lib/components/progress-bar/progress-bar.component.js +26 -0
  71. package/esm2015/lib/{bpmn-js-diagram/bpmn-js-diagram.module.js → components/progress-bar/progress-bar.module.js} +7 -9
  72. package/esm2015/lib/components/right-sidebar/right-sidebar.component.js +133 -0
  73. package/esm2015/lib/components/right-sidebar/right-sidebar.module.js +49 -0
  74. package/esm2015/lib/components/searchable-dropdown/searchable-dropdown.component.js +187 -0
  75. package/esm2015/lib/components/searchable-dropdown/searchable-dropdown.module.js +29 -0
  76. package/esm2015/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.js +52 -0
  77. package/esm2015/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.js +30 -0
  78. package/esm2015/lib/{spinner → components/spinner}/spinner.component.js +6 -4
  79. package/esm2015/lib/components/spinner/spinner.module.js +30 -0
  80. package/esm2015/lib/components/timeline/timeline.component.js +29 -0
  81. package/esm2015/lib/{progress-bar/progress-bar.module.js → components/timeline/timeline.module.js} +8 -9
  82. package/esm2015/lib/{topbar → components/topbar}/topbar.component.js +2 -3
  83. package/esm2015/lib/components/topbar/topbar.module.js +29 -0
  84. package/esm2015/lib/components/uploader/uploader-drag-drop.directive.js +49 -0
  85. package/esm2015/lib/components/uploader/uploader.component.js +68 -0
  86. package/esm2015/lib/components/uploader/uploader.module.js +30 -0
  87. package/esm2015/lib/components/version/version.service.js +38 -0
  88. package/esm2015/lib/components/view-content/type-converters/booleanTypeConverter.js +29 -0
  89. package/esm2015/lib/components/view-content/type-converters/dateTypeConverter.js +30 -0
  90. package/esm2015/lib/components/view-content/type-converters/enumTypeConverter.js +24 -0
  91. package/esm2015/lib/components/view-content/type-converters/relatedFilesTypeConverter.js +24 -0
  92. package/esm2015/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +27 -0
  93. package/esm2015/lib/components/view-content/type-converters/stringTypeConverter.js +24 -0
  94. package/esm2015/lib/components/view-content/type-converters/type-converters.model.js +37 -0
  95. package/esm2015/lib/{view-content → components/view-content}/view-content.service.js +3 -3
  96. package/esm2015/lib/components/webcam/webcam.component.js +102 -0
  97. package/esm2015/lib/components/webcam/webcam.module.js +29 -0
  98. package/esm2015/lib/components/widget/widget.component.js +80 -0
  99. package/esm2015/lib/{file-size/file-size.module.js → components/widget/widget.module.js} +7 -9
  100. package/esm2015/lib/models/alert.model.js +30 -0
  101. package/esm2015/lib/models/form-io.model.js +30 -0
  102. package/esm2015/lib/models/index.js +24 -0
  103. package/esm2015/lib/models/pagination.model.js +1 -0
  104. package/esm2015/lib/models/searchable-dropdown.model.js +1 -0
  105. package/esm2015/lib/models/timeline.model.js +44 -0
  106. package/esm2015/lib/models/version.model.js +16 -0
  107. package/esm2015/public_api.js +67 -66
  108. package/esm2015/valtimo-components.js +23 -23
  109. package/fesm2015/valtimo-components.js +356 -307
  110. package/fesm2015/valtimo-components.js.map +1 -1
  111. package/lib/{alert → components/alert}/alert.component.d.ts +1 -1
  112. package/lib/{alert → components/alert}/alert.module.d.ts +0 -0
  113. package/lib/{alert → components/alert}/alert.service.d.ts +1 -1
  114. package/lib/{bpmn-js-diagram → components/bpmn-js-diagram}/bpmn-js-diagram.component.d.ts +0 -0
  115. package/lib/{bpmn-js-diagram → components/bpmn-js-diagram}/bpmn-js-diagram.module.d.ts +0 -0
  116. package/lib/{breadcrumb-navigation → components/breadcrumb-navigation}/breadcrumb-navigation.component.d.ts +0 -0
  117. package/lib/{breadcrumb-navigation → components/breadcrumb-navigation}/breadcrumb-navigation.module.d.ts +0 -0
  118. package/lib/{camunda → components/camunda}/form/camunda-form.components.d.ts +0 -0
  119. package/lib/{camunda → components/camunda}/form/camunda-form.module.d.ts +0 -0
  120. package/lib/{camunda → components/camunda}/form/custom/camunda-custom-form.component.d.ts +0 -0
  121. package/lib/{camunda → components/camunda}/form/custom/camunda-custom-form.module.d.ts +0 -0
  122. package/lib/{camunda → components/camunda}/form/generated/camunda-generated-form.component.d.ts +0 -0
  123. package/lib/{camunda → components/camunda}/form/generated/camunda-generated-form.module.d.ts +0 -0
  124. package/lib/{camunda → components/camunda}/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts +0 -0
  125. package/lib/{camunda → components/camunda}/form/generated/formfield/camunda-formfield-generator.directive.d.ts +0 -0
  126. package/lib/{camunda → components/camunda}/form/generated/formfield/camunda-formfield.service.d.ts +0 -0
  127. package/lib/{camunda → components/camunda}/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts +0 -0
  128. package/lib/{camunda → components/camunda}/form/generated/formfield/date/camunda-date-formfield.component.d.ts +0 -0
  129. package/lib/{camunda → components/camunda}/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts +0 -0
  130. package/lib/{camunda → components/camunda}/form/generated/formfield/formfield.model.d.ts +0 -0
  131. package/lib/{camunda → components/camunda}/form/generated/formfield/long/camunda-long-formfield.component.d.ts +0 -0
  132. package/lib/{camunda → components/camunda}/form/generated/formfield/string/camunda-string-formfield.component.d.ts +0 -0
  133. package/lib/{camunda → components/camunda}/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts +0 -0
  134. package/lib/{camunda → components/camunda}/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts +0 -0
  135. package/lib/{camunda → components/camunda}/form/generated/formfield/validation/date.validators.d.ts +0 -0
  136. package/lib/{card → components/card}/card.component.d.ts +0 -0
  137. package/lib/{card → components/card}/card.module.d.ts +0 -0
  138. package/lib/{components.module.d.ts → components/components.module.d.ts} +0 -0
  139. package/lib/{data-list → components/data-list}/data-list.component.d.ts +0 -0
  140. package/lib/{data-list → components/data-list}/data-list.module.d.ts +0 -0
  141. package/lib/{dropzone → components/dropzone}/dropzone.component.d.ts +0 -0
  142. package/lib/{dropzone → components/dropzone}/dropzone.module.d.ts +0 -0
  143. package/lib/{field-auto-focus → components/field-auto-focus}/field-auto-focus.directive.d.ts +0 -0
  144. package/lib/{field-auto-focus → components/field-auto-focus}/field-auto-focus.module.d.ts +0 -0
  145. package/lib/{file-size → components/file-size}/file-size.module.d.ts +0 -0
  146. package/lib/{file-size → components/file-size}/file-size.pipe.d.ts +0 -0
  147. package/lib/{filter-sidebar → components/filter-sidebar}/filter-sidebar.component.d.ts +0 -0
  148. package/lib/{filter-sidebar → components/filter-sidebar}/filter-sidebar.module.d.ts +0 -0
  149. package/lib/{form-io → components/form-io}/form-io-builder.component.d.ts +0 -0
  150. package/lib/{form-io → components/form-io}/form-io-uploader/form-io-uploader-edit-form.d.ts +0 -0
  151. package/lib/{form-io → components/form-io}/form-io-uploader/form-io-uploader.component.d.ts +1 -1
  152. package/lib/{form-io → components/form-io}/form-io-uploader/form-io-uploader.formio.d.ts +0 -0
  153. package/lib/{form-io → components/form-io}/form-io.component.d.ts +8 -6
  154. package/lib/{form-io → components/form-io}/form-io.module.d.ts +0 -0
  155. package/lib/{form-io → components/form-io}/formio-config.d.ts +0 -0
  156. package/lib/{form-io → components/form-io}/services/form-io-dom.service.d.ts +0 -0
  157. package/lib/{form-io → components/form-io}/services/form-io-state.service.d.ts +0 -0
  158. package/lib/{left-sidebar → components/left-sidebar}/left-sidebar.component.d.ts +0 -0
  159. package/lib/{left-sidebar → components/left-sidebar}/left-sidebar.module.d.ts +0 -0
  160. package/lib/{list → components/list}/ListFilterPipe.directive.d.ts +0 -0
  161. package/lib/{list → components/list}/list.component.d.ts +1 -1
  162. package/lib/{list → components/list}/list.module.d.ts +0 -0
  163. package/lib/{menu → components/menu}/menu-item-text.component.d.ts +1 -1
  164. package/lib/{menu → components/menu}/menu-routing.module.d.ts +0 -0
  165. package/lib/{menu → components/menu}/menu.component.d.ts +1 -1
  166. package/lib/{menu → components/menu}/menu.init.d.ts +0 -0
  167. package/lib/{menu → components/menu}/menu.module.d.ts +0 -0
  168. package/lib/{menu → components/menu}/menu.service.d.ts +1 -1
  169. package/lib/{menu → components/menu}/submenu-item-text.component.d.ts +1 -1
  170. package/lib/{modal → components/modal}/modal.component.d.ts +0 -0
  171. package/lib/{modal → components/modal}/modal.module.d.ts +0 -0
  172. package/lib/{page-header → components/page-header}/page-header.component.d.ts +0 -0
  173. package/lib/{page-header → components/page-header}/page-header.module.d.ts +0 -0
  174. package/lib/{page-title → components/page-title}/page-title.component.d.ts +0 -0
  175. package/lib/{page-title → components/page-title}/page-title.module.d.ts +0 -0
  176. package/lib/{progress-bar → components/progress-bar}/progress-bar.component.d.ts +0 -0
  177. package/lib/{progress-bar → components/progress-bar}/progress-bar.module.d.ts +0 -0
  178. package/lib/{right-sidebar → components/right-sidebar}/right-sidebar.component.d.ts +2 -1
  179. package/lib/{right-sidebar → components/right-sidebar}/right-sidebar.module.d.ts +0 -0
  180. package/lib/{searchable-dropdown → components/searchable-dropdown}/searchable-dropdown.component.d.ts +1 -1
  181. package/lib/{searchable-dropdown → components/searchable-dropdown}/searchable-dropdown.module.d.ts +0 -0
  182. package/lib/{searchable-dropdown-select → components/searchable-dropdown-select}/searchable-dropdown-select.component.d.ts +1 -1
  183. package/lib/{searchable-dropdown-select → components/searchable-dropdown-select}/searchable-dropdown-select.module.d.ts +0 -0
  184. package/lib/{spinner → components/spinner}/spinner.component.d.ts +1 -0
  185. package/lib/{spinner → components/spinner}/spinner.module.d.ts +0 -0
  186. package/lib/{timeline → components/timeline}/timeline.component.d.ts +1 -1
  187. package/lib/{timeline → components/timeline}/timeline.module.d.ts +0 -0
  188. package/lib/{topbar → components/topbar}/topbar.component.d.ts +0 -0
  189. package/lib/{topbar → components/topbar}/topbar.module.d.ts +0 -0
  190. package/lib/{uploader → components/uploader}/uploader-drag-drop.directive.d.ts +0 -0
  191. package/lib/{uploader → components/uploader}/uploader.component.d.ts +1 -2
  192. package/lib/{uploader → components/uploader}/uploader.module.d.ts +0 -0
  193. package/lib/{version → components/version}/version.service.d.ts +1 -1
  194. package/lib/{view-content → components/view-content}/type-converters/booleanTypeConverter.d.ts +0 -0
  195. package/lib/{view-content → components/view-content}/type-converters/dateTypeConverter.d.ts +0 -0
  196. package/lib/{view-content → components/view-content}/type-converters/enumTypeConverter.d.ts +0 -0
  197. package/lib/{view-content → components/view-content}/type-converters/relatedFilesTypeConverter.d.ts +0 -0
  198. package/lib/{view-content → components/view-content}/type-converters/stringReplaceUnderscoreTypeConverter.d.ts +0 -0
  199. package/lib/{view-content → components/view-content}/type-converters/stringTypeConverter.d.ts +0 -0
  200. package/lib/{view-content → components/view-content}/type-converters/type-converters.model.d.ts +0 -0
  201. package/lib/{view-content → components/view-content}/view-content.service.d.ts +0 -0
  202. package/lib/{webcam → components/webcam}/webcam.component.d.ts +0 -0
  203. package/lib/{webcam → components/webcam}/webcam.module.d.ts +0 -0
  204. package/lib/{widget → components/widget}/widget.component.d.ts +0 -0
  205. package/lib/{widget → components/widget}/widget.module.d.ts +0 -0
  206. package/lib/models/alert.model.d.ts +21 -0
  207. package/lib/models/form-io.model.d.ts +27 -0
  208. package/lib/models/index.d.ts +6 -0
  209. package/lib/models/pagination.model.d.ts +7 -0
  210. package/lib/models/searchable-dropdown.model.d.ts +5 -0
  211. package/lib/models/timeline.model.d.ts +23 -0
  212. package/lib/models/version.model.d.ts +4 -0
  213. package/package.json +1 -4
  214. package/public_api.d.ts +66 -65
  215. package/valtimo-components.d.ts +22 -22
  216. package/valtimo-components.metadata.json +1 -1
  217. package/esm2015/lib/alert/alert.component.js +0 -142
  218. package/esm2015/lib/alert/alert.service.js +0 -81
  219. package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.component.js +0 -160
  220. package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.component.js +0 -93
  221. package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.module.js +0 -34
  222. package/esm2015/lib/camunda/form/camunda-form.components.js +0 -37
  223. package/esm2015/lib/camunda/form/camunda-form.module.js +0 -38
  224. package/esm2015/lib/camunda/form/custom/camunda-custom-form.component.js +0 -42
  225. package/esm2015/lib/camunda/form/custom/camunda-custom-form.module.js +0 -34
  226. package/esm2015/lib/camunda/form/generated/camunda-generated-form.component.js +0 -69
  227. package/esm2015/lib/camunda/form/generated/camunda-generated-form.module.js +0 -63
  228. package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +0 -64
  229. package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield.service.js +0 -67
  230. package/esm2015/lib/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +0 -66
  231. package/esm2015/lib/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +0 -31
  232. package/esm2015/lib/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +0 -36
  233. package/esm2015/lib/camunda/form/generated/formfield/validation/date.validators.js +0 -60
  234. package/esm2015/lib/card/card.component.js +0 -37
  235. package/esm2015/lib/card/card.module.js +0 -30
  236. package/esm2015/lib/components.module.js +0 -22
  237. package/esm2015/lib/data-list/data-list.module.js +0 -30
  238. package/esm2015/lib/dropzone/dropzone.component.js +0 -143
  239. package/esm2015/lib/dropzone/dropzone.module.js +0 -32
  240. package/esm2015/lib/field-auto-focus/field-auto-focus.directive.js +0 -35
  241. package/esm2015/lib/field-auto-focus/field-auto-focus.module.js +0 -32
  242. package/esm2015/lib/file-size/file-size.pipe.js +0 -45
  243. package/esm2015/lib/filter-sidebar/filter-sidebar.component.js +0 -46
  244. package/esm2015/lib/filter-sidebar/filter-sidebar.module.js +0 -30
  245. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader-edit-form.js +0 -90
  246. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.component.js +0 -72
  247. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.formio.js +0 -26
  248. package/esm2015/lib/form-io/form-io.component.js +0 -160
  249. package/esm2015/lib/form-io/form-io.module.js +0 -56
  250. package/esm2015/lib/form-io/formio-config.js +0 -22
  251. package/esm2015/lib/form-io/services/form-io-dom.service.js +0 -23
  252. package/esm2015/lib/form-io/services/form-io-state.service.js +0 -24
  253. package/esm2015/lib/left-sidebar/left-sidebar.component.js +0 -114
  254. package/esm2015/lib/left-sidebar/left-sidebar.module.js +0 -34
  255. package/esm2015/lib/list/ListFilterPipe.directive.js +0 -35
  256. package/esm2015/lib/list/list.component.js +0 -177
  257. package/esm2015/lib/list/list.module.js +0 -33
  258. package/esm2015/lib/menu/menu-item-text.component.js +0 -36
  259. package/esm2015/lib/menu/menu-routing.module.js +0 -29
  260. package/esm2015/lib/menu/menu.component.js +0 -65
  261. package/esm2015/lib/menu/menu.init.js +0 -34
  262. package/esm2015/lib/menu/menu.module.js +0 -39
  263. package/esm2015/lib/menu/menu.service.js +0 -127
  264. package/esm2015/lib/modal/modal.module.js +0 -28
  265. package/esm2015/lib/page-header/page-header.module.js +0 -34
  266. package/esm2015/lib/page-title/page-title.component.js +0 -76
  267. package/esm2015/lib/page-title/page-title.module.js +0 -32
  268. package/esm2015/lib/progress-bar/progress-bar.component.js +0 -26
  269. package/esm2015/lib/right-sidebar/right-sidebar.component.js +0 -131
  270. package/esm2015/lib/right-sidebar/right-sidebar.module.js +0 -49
  271. package/esm2015/lib/searchable-dropdown/searchable-dropdown.component.js +0 -185
  272. package/esm2015/lib/searchable-dropdown/searchable-dropdown.module.js +0 -29
  273. package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.component.js +0 -52
  274. package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.module.js +0 -30
  275. package/esm2015/lib/spinner/spinner.module.js +0 -36
  276. package/esm2015/lib/timeline/timeline.component.js +0 -29
  277. package/esm2015/lib/timeline/timeline.module.js +0 -32
  278. package/esm2015/lib/uploader/uploader-drag-drop.directive.js +0 -49
  279. package/esm2015/lib/uploader/uploader.component.js +0 -70
  280. package/esm2015/lib/uploader/uploader.module.js +0 -33
  281. package/esm2015/lib/version/version.service.js +0 -38
  282. package/esm2015/lib/view-content/type-converters/booleanTypeConverter.js +0 -29
  283. package/esm2015/lib/view-content/type-converters/dateTypeConverter.js +0 -30
  284. package/esm2015/lib/view-content/type-converters/relatedFilesTypeConverter.js +0 -24
  285. package/esm2015/lib/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +0 -27
  286. package/esm2015/lib/view-content/type-converters/stringTypeConverter.js +0 -24
  287. package/esm2015/lib/view-content/type-converters/type-converters.model.js +0 -37
  288. package/esm2015/lib/webcam/webcam.component.js +0 -103
  289. package/esm2015/lib/webcam/webcam.module.js +0 -32
  290. package/esm2015/lib/widget/widget.component.js +0 -80
  291. package/esm2015/lib/widget/widget.module.js +0 -30
@@ -1,114 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
17
- import { TranslateService } from '@ngx-translate/core';
18
- import { BehaviorSubject, combineLatest, fromEvent } from 'rxjs';
19
- import { debounceTime, map, take } from 'rxjs/operators';
20
- export class LeftSidebarComponent {
21
- constructor(translateService, elementRef) {
22
- this.translateService = translateService;
23
- this.elementRef = elementRef;
24
- this.menuWidthChanged = new EventEmitter();
25
- this.menuTooltipText$ = this.translateService.stream('interface.mainMenu');
26
- this.toggleMenuText$ = this.translateService.stream('interface.toggleMenu');
27
- this.mouseIsOnResizeBorder$ = new BehaviorSubject(false);
28
- this.menuWidth$ = new BehaviorSubject(undefined);
29
- this.isResizing$ = new BehaviorSubject(false);
30
- this.defaultMenuWidth = 230;
31
- this.maxMenuWidth = 330;
32
- this.minMenuWidth = 120;
33
- this.mouseX$ = fromEvent(document.body, 'mousemove').pipe(map((e) => e.pageX));
34
- this.bodyStyle = elementRef.nativeElement.ownerDocument.body.style;
35
- }
36
- ngOnInit() {
37
- this.setMenuWidth(this.defaultMenuWidth);
38
- }
39
- ngAfterViewInit() {
40
- this.mouseXSubscription = combineLatest([this.mouseX$, this.isResizing$])
41
- .pipe(debounceTime(3))
42
- .subscribe(([x, isResizing]) => {
43
- const menuOpen = this.menuIsOpen;
44
- if (isResizing) {
45
- const offSetWidth = this.xOnClick - x;
46
- const newMenuWidth = this.menuWidthOnClick - offSetWidth;
47
- const snapMargin = 35;
48
- const snapInside = newMenuWidth < this.minMenuWidth - snapMargin;
49
- const snapOutside = !menuOpen && offSetWidth < -snapMargin;
50
- if (menuOpen && newMenuWidth <= this.maxMenuWidth && newMenuWidth >= this.minMenuWidth) {
51
- this.setMenuWidth(newMenuWidth);
52
- }
53
- else if (snapInside || snapOutside) {
54
- this.snapMenu(snapInside ? this.menuWidthOnClick : this.defaultMenuWidth);
55
- }
56
- }
57
- });
58
- this.mouseUpSubscription = fromEvent(document, 'mouseup').subscribe(() => {
59
- this.stopResizing();
60
- });
61
- }
62
- ngOnDestroy() {
63
- this.mouseXSubscription.unsubscribe();
64
- this.mouseUpSubscription.unsubscribe();
65
- }
66
- enterBorder() {
67
- this.mouseIsOnResizeBorder$.next(true);
68
- }
69
- leaveBorder() {
70
- this.mouseIsOnResizeBorder$.next(false);
71
- }
72
- resizeBorderClick(e) {
73
- this.menuWidth$.pipe(take(1)).subscribe(menuWidth => {
74
- this.menuWidthOnClick = menuWidth;
75
- this.xOnClick = e.pageX;
76
- this.bodyStyle.userSelect = 'none';
77
- this.bodyStyle.cursor = 'col-resize';
78
- this.isResizing$.next(true);
79
- });
80
- }
81
- snapMenu(snapTo) {
82
- this.stopResizing();
83
- this.setMenuWidth(snapTo);
84
- setTimeout(() => {
85
- this.toggleButtonRef.nativeElement.click();
86
- });
87
- }
88
- stopResizing() {
89
- this.bodyStyle.cursor = 'auto';
90
- this.bodyStyle.userSelect = 'auto';
91
- this.isResizing$.next(false);
92
- }
93
- setMenuWidth(width) {
94
- this.menuWidth$.next(width);
95
- this.menuWidthChanged.emit(width);
96
- }
97
- }
98
- LeftSidebarComponent.decorators = [
99
- { type: Component, args: [{
100
- selector: 'valtimo-left-sidebar',
101
- template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container *ngIf=\"{isResizing: isResizing$ | async} as obs\">\n <div\n class=\"be-left-sidebar\"\n [style.width.px]=\"menuIsOpen ? (menuWidth$ | async) : null\"\n [ngClass]=\"{'no-transition': obs.isResizing}\"\n >\n <div class=\"left-sidebar-wrapper\">\n <a class=\"left-sidebar-toggle\" href=\"javascript:void(0);\"><valtimo-page-title></valtimo-page-title></a>\n <div class=\"progress-widget\" style=\"padding: 20px 0\">\n <ul class=\"sidebar-elements\">\n <li>\n <a\n #toggleButton\n class=\"be-toggle-left-sidebar\"\n href=\"javascript:void(0);\"\n [title]=\"menuTooltipText$ | async\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n width=\"1em\"\n height=\"1em\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg)\"\n viewBox=\"0 0 24 24\"\n transform=\"rotate(360)\"\n >\n <path [ngClass]=\"menuIsOpen ? 'd-1' : 'd-1-flipped'\" />\n <path [ngClass]=\"menuIsOpen ? 'd-2' : 'd-2-flipped'\" />\n <path [ngClass]=\"menuIsOpen ? 'd-3' : 'd-3-flipped'\" />\n <path [ngClass]=\"menuIsOpen ? 'd-4' : 'd-4-flipped'\" />\n </svg>\n <span>{{ toggleMenuText$ | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n <div class=\"left-sidebar-spacer\">\n <div class=\"left-sidebar-scroll\">\n <div class=\"left-sidebar-content\">\n <valtimo-menu></valtimo-menu>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"resize-border\"\n (mouseenter)=\"enterBorder()\"\n (mouseleave)=\"leaveBorder()\"\n (mousedown)=\"resizeBorderClick($event)\"\n [ngClass]=\"{'resize-hover': (mouseIsOnResizeBorder$ | async) || obs.isResizing}\"\n ></div>\n </div>\n</ng-container>\n",
102
- styles: ["@media screen and (max-width:767px){.be-left-sidebar{width:100%!important}}.be-left-sidebar .left-sidebar-toggle{padding:20px}.be-left-sidebar .left-sidebar-toggle:before{font-size:1.615rem}.be-left-sidebar .sidebar-elements>li>a.be-toggle-left-sidebar{align-items:center;display:flex;height:32px}.be-left-sidebar .left-sidebar-content{padding-top:20px}.be-toggle-left-sidebar svg{height:auto;margin-right:7px;min-width:21px;overflow:visible}.be-toggle-left-sidebar svg path{fill:#696969;transition:.27s ease}.resize-border{background-color:#ff5800;cursor:col-resize;height:100%;margin-right:-3px;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease;width:3px}.resize-hover{opacity:.7}.no-transition{transition:none}.d-1{d:path(\"M3 18v-2h13v2z\")}.d-1-flipped{d:path(\"M3 18v-2h11v2z\")}.d-2{d:path(\"M3 13v-2h10v2H3\")}.d-2-flipped{d:path(\"M3 13v-2h12v2H3\")}.d-3{d:path(\"M3 6h13v2H3V6\")}.d-3-flipped{d:path(\"M3 6h11v2H3V6\")}.d-4{d:path(\"M21 15.61L19.59 17l-5.01-5 5.01-5L21 8.39 17.44 12 21 15.61\")}.d-4-flipped{d:path(\"M15.58 15.61L16.99 17 22 12l-5.01-5-1.41 1.39L19.14 12l-3.56 3.61\")}"]
103
- },] }
104
- ];
105
- LeftSidebarComponent.ctorParameters = () => [
106
- { type: TranslateService },
107
- { type: ElementRef }
108
- ];
109
- LeftSidebarComponent.propDecorators = {
110
- toggleButtonRef: [{ type: ViewChild, args: ['toggleButton',] }],
111
- menuIsOpen: [{ type: Input }],
112
- menuWidthChanged: [{ type: Output }]
113
- };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2xlZnQtc2lkZWJhci9sZWZ0LXNpZGViYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBT3ZELE1BQU0sT0FBTyxvQkFBb0I7SUEyQi9CLFlBQW9CLGdCQUFrQyxFQUFtQixVQUFzQjtRQUEzRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQVk7UUF2QnJGLHFCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdELHFCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN0RSxvQkFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV2RSwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMs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QUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUFjO1FBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBMUdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxxcUZBQTRDOzthQUU3Qzs7O1lBUk8sZ0JBQWdCO1lBRFUsVUFBVTs7OzhCQVd6QyxTQUFTLFNBQUMsY0FBYzt5QkFFeEIsS0FBSzsrQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1sZWZ0LXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGVmdC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGVmdC1zaWRlYmFyLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMZWZ0U2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgndG9nZ2xlQnV0dG9uJykgdG9nZ2xlQnV0dG9uUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIG1lbnVJc09wZW46IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBtZW51V2lkdGhDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICByZWFkb25seSBtZW51VG9vbHRpcFRleHQkID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgnaW50ZXJmYWNlLm1haW5NZW51Jyk7XG4gIHJlYWRvbmx5IHRvZ2dsZU1lbnVUZXh0JCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2ludGVyZmFjZS50b2dnbGVNZW51Jyk7XG5cbiAgcmVhZG9ubHkgbW91c2VJc09uUmVzaXplQm9yZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtZW51V2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlzUmVzaXppbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSBib2R5U3R5bGU6IGFueTtcblxuICBwcml2YXRlIHhPbkNsaWNrOiBudW1iZXI7XG4gIHByaXZhdGUgbWVudVdpZHRoT25DbGljazogbnVtYmVyO1xuXG4gIHByaXZhdGUgbW91c2VYU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbW91c2VVcFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE1lbnVXaWR0aCA9IDIzMDtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXhNZW51V2lkdGggPSAzMzA7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWluTWVudVdpZHRoID0gMTIwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbW91c2VYJCA9IGZyb21FdmVudChkb2N1bWVudC5ib2R5LCAnbW91c2Vtb3ZlJykucGlwZShtYXAoKGU6IE1vdXNlRXZlbnQpID0+IGUucGFnZVgpKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuYm9keVN0eWxlID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keS5zdHlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TWVudVdpZHRoKHRoaXMuZGVmYXVsdE1lbnVXaWR0aCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZVhTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm1vdXNlWCQsIHRoaXMuaXNSZXNpemluZyRdKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMpKVxuICAgICAgLnN1YnNjcmliZSgoW3gsIGlzUmVzaXppbmddKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbnVPcGVuID0gdGhpcy5tZW51SXNPcGVuO1xuXG4gICAgICAgIGlmIChpc1Jlc2l6aW5nKSB7XG4gICAgICAgICAgY29uc3Qgb2ZmU2V0V2lkdGggPSB0aGlzLnhPbkNsaWNrIC0geDtcbiAgICAgICAgICBjb25zdCBuZXdNZW51V2lkdGggPSB0aGlzLm1lbnVXaWR0aE9uQ2xpY2sgLSBvZmZTZXRXaWR0aDtcbiAgICAgICAgICBjb25zdCBzbmFwTWFyZ2luID0gMzU7XG4gICAgICAgICAgY29uc3Qgc25hcEluc2lkZSA9IG5ld01lbnVXaWR0aCA8IHRoaXMubWluTWVudVdpZHRoIC0gc25hcE1hcmdpbjtcbiAgICAgICAgICBjb25zdCBzbmFwT3V0c2lkZSA9ICFtZW51T3BlbiAmJiBvZmZTZXRXaWR0aCA8IC1zbmFwTWFyZ2luO1xuXG4gICAgICAgICAgaWYgKG1lbnVPcGVuICYmIG5ld01lbnVXaWR0aCA8PSB0aGlzLm1heE1lbnVXaWR0aCAmJiBuZXdNZW51V2lkdGggPj0gdGhpcy5taW5NZW51V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TWVudVdpZHRoKG5ld01lbnVXaWR0aCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzbmFwSW5zaWRlIHx8IHNuYXBPdXRzaWRlKSB7XG4gICAgICAgICAgICB0aGlzLnNuYXBNZW51KHNuYXBJbnNpZGUgPyB0aGlzLm1lbnVXaWR0aE9uQ2xpY2sgOiB0aGlzLmRlZmF1bHRNZW51V2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc3RvcFJlc2l6aW5nKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vdXNlWFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubW91c2VVcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZW50ZXJCb3JkZXIoKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZUlzT25SZXNpemVCb3JkZXIkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBsZWF2ZUJvcmRlcigpOiB2b2lkIHtcbiAgICB0aGlzLm1vdXNlSXNPblJlc2l6ZUJvcmRlciQubmV4dChmYWxzZSk7XG4gIH1cblxuICByZXNpemVCb3JkZXJDbGljayhlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tZW51V2lkdGgkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG1lbnVXaWR0aCA9PiB7XG4gICAgICB0aGlzLm1lbnVXaWR0aE9uQ2xpY2sgPSBtZW51V2lkdGg7XG4gICAgICB0aGlzLnhPbkNsaWNrID0gZS5wYWdlWDtcbiAgICAgIHRoaXMuYm9keVN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XG4gICAgICB0aGlzLmJvZHlTdHlsZS5jdXJzb3IgPSAnY29sLXJlc2l6ZSc7XG4gICAgICB0aGlzLmlzUmVzaXppbmckLm5leHQodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNuYXBNZW51KHNuYXBUbzogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wUmVzaXppbmcoKTtcbiAgICB0aGlzLnNldE1lbnVXaWR0aChzbmFwVG8pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50b2dnbGVCdXR0b25SZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUmVzaXppbmcoKTogdm9pZCB7XG4gICAgdGhpcy5ib2R5U3R5bGUuY3Vyc29yID0gJ2F1dG8nO1xuICAgIHRoaXMuYm9keVN0eWxlLnVzZXJTZWxlY3QgPSAnYXV0byc7XG4gICAgdGhpcy5pc1Jlc2l6aW5nJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TWVudVdpZHRoKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVXaWR0aCQubmV4dCh3aWR0aCk7XG4gICAgdGhpcy5tZW51V2lkdGhDaGFuZ2VkLmVtaXQod2lkdGgpO1xuICB9XG59XG4iXX0=
@@ -1,34 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { NgModule } from '@angular/core';
17
- import { CommonModule } from '@angular/common';
18
- import { LeftSidebarComponent } from './left-sidebar.component';
19
- import { PageTitleModule } from '../page-title/page-title.module';
20
- import { MenuModule } from '../menu/menu.module';
21
- export class LeftSidebarModule {
22
- }
23
- LeftSidebarModule.decorators = [
24
- { type: NgModule, args: [{
25
- declarations: [LeftSidebarComponent],
26
- imports: [
27
- CommonModule,
28
- MenuModule,
29
- PageTitleModule
30
- ],
31
- exports: [LeftSidebarComponent]
32
- },] }
33
- ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1zaWRlYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2xlZnQtc2lkZWJhci9sZWZ0LXNpZGViYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVdqRCxNQUFNLE9BQU8saUJBQWlCOzs7WUFUN0IsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNwQyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixVQUFVO29CQUNWLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMZWZ0U2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vbGVmdC1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdlVGl0bGVNb2R1bGUgfSBmcm9tICcuLi9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUubW9kdWxlJztcbmltcG9ydCB7IE1lbnVNb2R1bGUgfSBmcm9tICcuLi9tZW51L21lbnUubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTGVmdFNpZGViYXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1lbnVNb2R1bGUsXG4gICAgUGFnZVRpdGxlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtMZWZ0U2lkZWJhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTGVmdFNpZGViYXJNb2R1bGUgeyB9XG4iXX0=
@@ -1,35 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Pipe } from '@angular/core';
17
- export class ListFilterPipe {
18
- transform(list, filterText) {
19
- list = list || [];
20
- if (!filterText) {
21
- return list;
22
- }
23
- return list.filter(item => Object.keys(item).some(k => item[k] != null &&
24
- item[k]
25
- .toString()
26
- .toLowerCase()
27
- .includes(filterText.toLowerCase())));
28
- }
29
- }
30
- ListFilterPipe.decorators = [
31
- { type: Pipe, args: [{
32
- name: 'listFilter'
33
- },] }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdEZpbHRlclBpcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvbGlzdC9MaXN0RmlsdGVyUGlwZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUtsRCxNQUFNLE9BQU8sY0FBYztJQUV6QixTQUFTLENBQUMsSUFBVyxFQUFFLFVBQWtCO1FBQ3ZDLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNwQixDQUFDLENBQUMsRUFBRSxDQUNGLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJO1lBQ2YsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDSixRQUFRLEVBQUU7aUJBQ1YsV0FBVyxFQUFFO2lCQUNiLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7O1lBbEJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsWUFBWTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2xpc3RGaWx0ZXInXG59KVxuZXhwb3J0IGNsYXNzIExpc3RGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGxpc3Q6IGFueVtdLCBmaWx0ZXJUZXh0OiBzdHJpbmcpOiBhbnkge1xuICAgIGxpc3QgPSBsaXN0IHx8IFtdO1xuICAgIGlmICghZmlsdGVyVGV4dCkge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuICAgIHJldHVybiBsaXN0LmZpbHRlcihpdGVtID0+XG4gICAgICBPYmplY3Qua2V5cyhpdGVtKS5zb21lKFxuICAgICAgICBrID0+XG4gICAgICAgICAgaXRlbVtrXSAhPSBudWxsICYmXG4gICAgICAgICAgaXRlbVtrXVxuICAgICAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAuaW5jbHVkZXMoZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpKSkpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,177 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
17
- import { NGXLogger } from 'ngx-logger';
18
- import { BehaviorSubject, fromEvent } from 'rxjs';
19
- import { debounceTime, take } from 'rxjs/operators';
20
- import { ViewContentService } from '../view-content/view-content.service';
21
- export class ListComponent {
22
- constructor(viewContentService, logger) {
23
- this.viewContentService = viewContentService;
24
- this.logger = logger;
25
- this.actions = [];
26
- this.rowClicked = new EventEmitter();
27
- this.paginationClicked = new EventEmitter();
28
- this.paginationSet = new EventEmitter();
29
- this.search = new EventEmitter();
30
- this.sortChanged = new EventEmitter();
31
- this.headerProvided = false;
32
- this.regExpStringRemoveUnderscore = /_/g;
33
- this.sort$ = new BehaviorSubject({
34
- state: { name: '', direction: 'DESC' },
35
- isSorting: false
36
- });
37
- this.viewListAs = localStorage.getItem('viewListAs') || 'table';
38
- }
39
- loadPaginationSize() {
40
- const entries = localStorage.getItem(`${this.paginationIdentifier}${ListComponent.PAGINATION_SIZE}`);
41
- if (entries !== null) {
42
- this.pagination.size = +entries;
43
- this.paginationSet.emit(+entries);
44
- this.logger.debug('Pagination loaded from local storage for this list. Current: ', entries);
45
- }
46
- else {
47
- this.logger.debug('Pagination does NOT exist in local storage for this list. Will use default. Change it to create an entry.');
48
- }
49
- this.paginationSet.emit();
50
- }
51
- setPaginationSize(numberOfEntries) {
52
- localStorage.setItem(`${this.paginationIdentifier}${ListComponent.PAGINATION_SIZE}`, numberOfEntries);
53
- this.pagination.size = numberOfEntries;
54
- this.logger.debug('Pagination set in local storage for this list: ', numberOfEntries);
55
- this.paginationSet.emit(numberOfEntries);
56
- }
57
- ngOnInit() {
58
- if (this.pagination) {
59
- this.loadPaginationSize();
60
- }
61
- if (this.initialSortState) {
62
- this.sort$.next(this.initialSortState);
63
- }
64
- }
65
- ngOnChanges(changes) {
66
- if (changes.items && changes.items.currentValue) {
67
- this.transformListItemsMatchFields();
68
- }
69
- }
70
- ngAfterViewInit() {
71
- if (this.isSearchable) {
72
- fromEvent(this.searchBox.nativeElement, 'keyup')
73
- .pipe(debounceTime(500))
74
- .subscribe(() => {
75
- const value = this.searchBox.nativeElement.value;
76
- if (this.search.observers.length > 0) {
77
- // custom search callbak is specified, perhaps to query on the server side
78
- this.search.emit(value);
79
- }
80
- else {
81
- this.searchModel = value;
82
- }
83
- });
84
- }
85
- }
86
- transformListItemsMatchFields() {
87
- if (this.items && this.fields) {
88
- this.items.forEach(item => {
89
- item.listItemFields = this.fields.map(field => ({
90
- key: field.key,
91
- label: field.label,
92
- value: this.resolveObject(field, item)
93
- }));
94
- });
95
- }
96
- }
97
- onClickRow(item) {
98
- this.rowClicked.emit(item);
99
- }
100
- resolveObject(definition, obj) {
101
- const definitionKey = definition.key;
102
- const customPropString = '$.';
103
- const key = definitionKey.includes(customPropString) ? definitionKey.split(customPropString)[1] : definitionKey;
104
- const resolvedObjValue = key.split('.').reduce(function (prev, curr) {
105
- return prev ? prev[curr] : null;
106
- }, obj || self);
107
- return this.viewContentService.get(resolvedObjValue, definition);
108
- }
109
- switchView(type) {
110
- localStorage.setItem('viewListAs', type);
111
- this.viewListAs = type;
112
- }
113
- getTotalPageCount() {
114
- return Math.ceil(this.pagination.collectionSize / this.pagination.size);
115
- }
116
- onClickPagination(page) {
117
- this.paginationClicked.emit(page);
118
- }
119
- handleFieldClick(key, sortable) {
120
- const desc = 'DESC';
121
- const asc = 'ASC';
122
- if (!sortable) {
123
- return;
124
- }
125
- this.sort$.pipe(take(1)).subscribe(sort => {
126
- let newState;
127
- if (sort.state.name === key) {
128
- if (!sort.isSorting) {
129
- newState = { state: Object.assign(Object.assign({}, sort.state), { direction: desc }), isSorting: true };
130
- }
131
- else {
132
- if (sort.state.direction === desc) {
133
- newState = Object.assign(Object.assign({}, sort), { state: Object.assign(Object.assign({}, sort.state), { direction: asc }) });
134
- }
135
- else {
136
- newState = { state: Object.assign(Object.assign({}, sort.state), { direction: desc }), isSorting: false };
137
- }
138
- }
139
- }
140
- else {
141
- newState = { state: { name: key, direction: desc }, isSorting: true };
142
- }
143
- this.sort$.next(newState);
144
- this.sortChanged.emit(newState);
145
- });
146
- }
147
- }
148
- ListComponent.PAGINATION_SIZE = 'PaginationSize';
149
- ListComponent.decorators = [
150
- { type: Component, args: [{
151
- selector: 'valtimo-list',
152
- template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input *ngIf=\"isSearchable\" class=\"form-control col-sm-8\" type=\"text\" placeholder=\"Search...\" #searchBox />\n\n <div class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\" role=\"group\" *ngIf=\"viewMode\">\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"mdi mdi-view-headline\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"mdi mdi-view-module\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n {{ listItemField.value || '-' }}\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i style=\"cursor: pointer\" [ngClass]=\"action.iconClass\" (click)=\"action.callback(item)\"></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{ 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()} }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate: {number: (items | listFilter: searchModel).length, total: pagination.collectionSize})\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">{{ 'list.noResults' | translate }}</div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n",
153
- styles: ["@charset \"UTF-8\";\n/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.table{table-layout:fixed}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;height:80px;padding-left:18px;padding-right:18px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}td:first-child,th:first-child{padding-left:25px}th.sortable{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:pointer;user-select:none}th.sortable:after{content:\" \uF0DD\";font-family:Font Awesome\\ 5 Free;margin:auto 0 auto 5px;opacity:0;position:absolute;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}"]
154
- },] }
155
- ];
156
- ListComponent.ctorParameters = () => [
157
- { type: ViewContentService },
158
- { type: NGXLogger }
159
- ];
160
- ListComponent.propDecorators = {
161
- items: [{ type: Input }],
162
- fields: [{ type: Input }],
163
- pagination: [{ type: Input }],
164
- viewMode: [{ type: Input }],
165
- isSearchable: [{ type: Input }],
166
- header: [{ type: Input }],
167
- actions: [{ type: Input }],
168
- paginationIdentifier: [{ type: Input }],
169
- initialSortState: [{ type: Input }],
170
- rowClicked: [{ type: Output }],
171
- paginationClicked: [{ type: Output }],
172
- paginationSet: [{ type: Output }],
173
- search: [{ type: Output }],
174
- sortChanged: [{ type: Output }],
175
- searchBox: [{ type: ViewChild, args: ['searchBox',] }]
176
- };
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQU94RSxNQUFNLE9BQU8sYUFBYTtJQTZCeEIsWUFBb0Isa0JBQXNDLEVBQVUsTUFBaUI7UUFBakUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFwQjVFLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFHbkIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLGdCQUFXLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBR2xDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBWTtZQUM5QyxLQUFLLEVBQUUs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SyxLQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUM7cUJBQ3hFO2lCQUNGO2FBQ0Y7aUJBQU07Z0JBQ0wsUUFBUSxHQUFHLEVBQUMsS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO2FBQ25FO1lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXhKYyw2QkFBZSxHQUFHLGdCQUFnQixDQUFDOztZQU5uRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLGl4TUFBb0M7O2FBRXJDOzs7WUFOTyxrQkFBa0I7WUFIbEIsU0FBUzs7O29CQWFkLEtBQUs7cUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSztxQkFDTCxLQUFLO3NCQUNMLEtBQUs7bUNBQ0wsS0FBSzsrQkFDTCxLQUFLO3lCQUNMLE1BQU07Z0NBQ04sTUFBTTs0QkFDTixNQUFNO3FCQUNOLE1BQU07MEJBQ04sTUFBTTt3QkFNTixTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTb3J0U3RhdGUsIERpcmVjdGlvbn0gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWaWV3Q29udGVudFNlcnZpY2V9IGZyb20gJy4uL3ZpZXctY29udGVudC92aWV3LWNvbnRlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIFBBR0lOQVRJT05fU0laRSA9ICdQYWdpbmF0aW9uU2l6ZSc7XG5cbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIGZpZWxkczogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcGFnaW5hdGlvbj86IGFueTtcbiAgQElucHV0KCkgdmlld01vZGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBpc1NlYXJjaGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBoZWFkZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBhY3Rpb25zOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdpbmF0aW9uSWRlbnRpZmllcj86IHN0cmluZztcbiAgQElucHV0KCkgaW5pdGlhbFNvcnRTdGF0ZTogU29ydFN0YXRlO1xuICBAT3V0cHV0KCkgcm93Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uU2V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlYXJjaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPFNvcnRTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGhlYWRlclByb3ZpZGVkID0gZmFsc2U7XG4gIHB1YmxpYyB2aWV3TGlzdEFzOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWFyY2hNb2RlbDogc3RyaW5nO1xuICBwdWJsaWMgcmVnRXhwU3RyaW5nUmVtb3ZlVW5kZXJzY29yZSA9IC9fL2c7XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcpIHNlYXJjaEJveDogRWxlbWVudFJlZjtcblxuICByZWFkb25seSBzb3J0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U29ydFN0YXRlPih7XG4gICAgc3RhdGU6IHtuYW1lOiAnJywgZGlyZWN0aW9uOiAnREVTQyd9LFxuICAgIGlzU29ydGluZzogZmFsc2VcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGVudFNlcnZpY2U6IFZpZXdDb250ZW50U2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcikge1xuICAgIHRoaXMudmlld0xpc3RBcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd2aWV3TGlzdEFzJykgfHwgJ3RhYmxlJztcbiAgfVxuXG4gIGxvYWRQYWdpbmF0aW9uU2l6ZSgpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oYCR7dGhpcy5wYWdpbmF0aW9uSWRlbnRpZmllcn0ke0xpc3RDb21wb25lbnQuUEFHSU5BVElPTl9TSVpFfWApO1xuICAgIGlmIChlbnRyaWVzICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnBhZ2luYXRpb24uc2l6ZSA9ICtlbnRyaWVzO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uU2V0LmVtaXQoK2VudHJpZXMpO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1BhZ2luYXRpb24gbG9hZGVkIGZyb20gbG9jYWwgc3RvcmFnZSBmb3IgdGhpcyBsaXN0LiBDdXJyZW50OiAnLCBlbnRyaWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICdQYWdpbmF0aW9uIGRvZXMgTk9UIGV4aXN0IGluIGxvY2FsIHN0b3JhZ2UgZm9yIHRoaXMgbGlzdC4gV2lsbCB1c2UgZGVmYXVsdC4gQ2hhbmdlIGl0IHRvIGNyZWF0ZSBhbiBlbnRyeS4nXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnBhZ2luYXRpb25TZXQuZW1pdCgpO1xuICB9XG5cbiAgc2V0UGFnaW5hdGlvblNpemUobnVtYmVyT2ZFbnRyaWVzOiBzdHJpbmcpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShgJHt0aGlzLnBhZ2luYXRpb25JZGVudGlmaWVyfSR7TGlzdENvbXBvbmVudC5QQUdJTkFUSU9OX1NJWkV9YCwgbnVtYmVyT2ZFbnRyaWVzKTtcbiAgICB0aGlzLnBhZ2luYXRpb24uc2l6ZSA9IG51bWJlck9mRW50cmllcztcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnUGFnaW5hdGlvbiBzZXQgaW4gbG9jYWwgc3RvcmFnZSBmb3IgdGhpcyBsaXN0OiAnLCBudW1iZXJPZkVudHJpZXMpO1xuICAgIHRoaXMucGFnaW5hdGlvblNldC5lbWl0KG51bWJlck9mRW50cmllcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uKSB7XG4gICAgICB0aGlzLmxvYWRQYWdpbmF0aW9uU2l6ZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxTb3J0U3RhdGUpIHtcbiAgICAgIHRoaXMuc29ydCQubmV4dCh0aGlzLmluaXRpYWxTb3J0U3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5pdGVtcyAmJiBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy50cmFuc2Zvcm1MaXN0SXRlbXNNYXRjaEZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5pc1NlYXJjaGFibGUpIHtcbiAgICAgIGZyb21FdmVudCh0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LCAna2V5dXAnKVxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gY3VzdG9tIHNlYXJjaCBjYWxsYmFrIGlzIHNwZWNpZmllZCwgcGVyaGFwcyB0byBxdWVyeSBvbiB0aGUgc2VydmVyIHNpZGVcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmVtaXQodmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaE1vZGVsID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtTGlzdEl0ZW1zTWF0Y2hGaWVsZHMoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5maWVsZHMpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5saXN0SXRlbUZpZWxkcyA9IHRoaXMuZmllbGRzLm1hcChmaWVsZCA9PiAoe1xuICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbCxcbiAgICAgICAgICB2YWx1ZTogdGhpcy5yZXNvbHZlT2JqZWN0KGZpZWxkLCBpdGVtKVxuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbGlja1JvdyhpdGVtKSB7XG4gICAgdGhpcy5yb3dDbGlja2VkLmVtaXQoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZU9iamVjdChkZWZpbml0aW9uOiBhbnksIG9iajogYW55KSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbktleSA9IGRlZmluaXRpb24ua2V5O1xuICAgIGNvbnN0IGN1c3RvbVByb3BTdHJpbmcgPSAnJC4nO1xuICAgIGNvbnN0IGtleSA9IGRlZmluaXRpb25LZXkuaW5jbHVkZXMoY3VzdG9tUHJvcFN0cmluZykgPyBkZWZpbml0aW9uS2V5LnNwbGl0KGN1c3RvbVByb3BTdHJpbmcpWzFdIDogZGVmaW5pdGlvbktleTtcbiAgICBjb25zdCByZXNvbHZlZE9ialZhbHVlID0ga2V5LnNwbGl0KCcuJykucmVkdWNlKGZ1bmN0aW9uIChwcmV2LCBjdXJyKSB7XG4gICAgICByZXR1cm4gcHJldiA/IHByZXZbY3Vycl0gOiBudWxsO1xuICAgIH0sIG9iaiB8fCBzZWxmKTtcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udGVudFNlcnZpY2UuZ2V0KHJlc29sdmVkT2JqVmFsdWUsIGRlZmluaXRpb24pO1xuICB9XG5cbiAgcHVibGljIHN3aXRjaFZpZXcodHlwZSkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd2aWV3TGlzdEFzJywgdHlwZSk7XG4gICAgdGhpcy52aWV3TGlzdEFzID0gdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFBhZ2VDb3VudCgpIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMucGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZSAvIHRoaXMucGFnaW5hdGlvbi5zaXplKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrUGFnaW5hdGlvbihwYWdlKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uQ2xpY2tlZC5lbWl0KHBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUZpZWxkQ2xpY2soa2V5OiBzdHJpbmcsIHNvcnRhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgZGVzYzogRGlyZWN0aW9uID0gJ0RFU0MnO1xuICAgIGNvbnN0IGFzYzogRGlyZWN0aW9uID0gJ0FTQyc7XG5cbiAgICBpZiAoIXNvcnRhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zb3J0JC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzb3J0ID0+IHtcbiAgICAgIGxldCBuZXdTdGF0ZTogU29ydFN0YXRlO1xuXG4gICAgICBpZiAoc29ydC5zdGF0ZS5uYW1lID09PSBrZXkpIHtcbiAgICAgICAgaWYgKCFzb3J0LmlzU29ydGluZykge1xuICAgICAgICAgIG5ld1N0YXRlID0ge3N0YXRlOiB7Li4uc29ydC5zdGF0ZSwgZGlyZWN0aW9uOiBkZXNjfSwgaXNTb3J0aW5nOiB0cnVlfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoc29ydC5zdGF0ZS5kaXJlY3Rpb24gPT09IGRlc2MpIHtcbiAgICAgICAgICAgIG5ld1N0YXRlID0gey4uLnNvcnQsIHN0YXRlOiB7Li4uc29ydC5zdGF0ZSwgZGlyZWN0aW9uOiBhc2N9fTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3U3RhdGUgPSB7c3RhdGU6IHsuLi5zb3J0LnN0YXRlLCBkaXJlY3Rpb246IGRlc2N9LCBpc1NvcnRpbmc6IGZhbHNlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1N0YXRlID0ge3N0YXRlOiB7bmFtZToga2V5LCBkaXJlY3Rpb246IGRlc2N9LCBpc1NvcnRpbmc6IHRydWV9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNvcnQkLm5leHQobmV3U3RhdGUpO1xuICAgICAgdGhpcy5zb3J0Q2hhbmdlZC5lbWl0KG5ld1N0YXRlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,33 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { CommonModule } from '@angular/common';
17
- import { NgModule } from '@angular/core';
18
- import { FormsModule } from '@angular/forms';
19
- import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
20
- import { TranslateModule } from '@ngx-translate/core';
21
- import { CardModule } from '../card/card.module';
22
- import { ListComponent } from './list.component';
23
- import { ListFilterPipe } from './ListFilterPipe.directive';
24
- export class ListModule {
25
- }
26
- ListModule.decorators = [
27
- { type: NgModule, args: [{
28
- declarations: [ListComponent, ListFilterPipe],
29
- imports: [CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule],
30
- exports: [ListComponent, ListFilterPipe]
31
- },] }
32
- ];
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQU8xRCxNQUFNLE9BQU8sVUFBVTs7O1lBTHRCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO2dCQUM3QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7Z0JBQ3RGLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7YUFDekMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOZ2JQYWdpbmF0aW9uTW9kdWxlfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NhcmRNb2R1bGV9IGZyb20gJy4uL2NhcmQvY2FyZC5tb2R1bGUnO1xuaW1wb3J0IHtMaXN0Q29tcG9uZW50fSBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7TGlzdEZpbHRlclBpcGV9IGZyb20gJy4vTGlzdEZpbHRlclBpcGUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTGlzdENvbXBvbmVudCwgTGlzdEZpbHRlclBpcGVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDYXJkTW9kdWxlLCBOZ2JQYWdpbmF0aW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgZXhwb3J0czogW0xpc3RDb21wb25lbnQsIExpc3RGaWx0ZXJQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0TW9kdWxlIHt9XG4iXX0=
@@ -1,36 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, Input } from '@angular/core';
17
- export class MenuItemTextComponent {
18
- }
19
- MenuItemTextComponent.decorators = [
20
- { type: Component, args: [{
21
- selector: 'valtimo-menu-item-text',
22
- template: `
23
- <i class="{{ menuItem.iconClass }}"
24
- container="body"
25
- placement="right"
26
- ngbTooltip="{{ menuItem.title | translate }}"
27
- autoClose="true">
28
- </i>
29
- <span>{{ menuItem.title | translate }}</span>
30
- `
31
- },] }
32
- ];
33
- MenuItemTextComponent.propDecorators = {
34
- menuItem: [{ type: Input }]
35
- };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LWl0ZW0tdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQWUvQyxNQUFNLE9BQU8scUJBQXFCOzs7WUFaakMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDthQUNGOzs7dUJBR0UsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01lbnVJdGVtfSBmcm9tICdAdmFsdGltby9jb250cmFjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbWVudS1pdGVtLXRleHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpIGNsYXNzPVwie3sgbWVudUl0ZW0uaWNvbkNsYXNzIH19XCJcbiAgICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgbmdiVG9vbHRpcD1cInt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICBhdXRvQ2xvc2U9XCJ0cnVlXCI+XG4gICAgPC9pPlxuICAgIDxzcGFuPnt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbVRleHRDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIG1lbnVJdGVtOiBNZW51SXRlbTtcblxufVxuIl19
@@ -1,29 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { RouterModule } from '@angular/router';
17
- import { NgModule } from '@angular/core';
18
- const routes = [];
19
- export class MenuRoutingModule {
20
- }
21
- MenuRoutingModule.decorators = [
22
- { type: NgModule, args: [{
23
- imports: [
24
- RouterModule.forChild(routes)
25
- ],
26
- exports: [RouterModule]
27
- },] }
28
- ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sTUFBTSxHQUFXLEVBQUUsQ0FBQztBQVExQixNQUFNLE9BQU8saUJBQWlCOzs7WUFON0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztpQkFDOUI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcylcbiAgXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgTWVudVJvdXRpbmdNb2R1bGUge1xufVxuIl19
@@ -1,65 +0,0 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, ElementRef, Renderer2 } from '@angular/core';
17
- import { NavigationEnd, Router } from '@angular/router';
18
- import { MenuService } from './menu.service';
19
- export class MenuComponent {
20
- constructor(menuService, elRef, renderer, router) {
21
- this.menuService = menuService;
22
- this.elRef = elRef;
23
- this.renderer = renderer;
24
- this.router = router;
25
- }
26
- ngOnInit() {
27
- this.openRouterSubscription();
28
- this.menuItemSubscription = this.menuService.menuItems$.subscribe(value => this.menuItems = value);
29
- }
30
- ngOnDestroy() {
31
- this.routerSubscription.unsubscribe();
32
- this.menuItemSubscription.unsubscribe();
33
- }
34
- openRouterSubscription() {
35
- this.routerSubscription = this.router.events.subscribe((event) => {
36
- if (event instanceof NavigationEnd) {
37
- this.closeSubMenu();
38
- }
39
- });
40
- }
41
- closeSubMenu() {
42
- const visibleSubMenuElm = this.elRef.nativeElement.querySelector('.sub-menu.visible');
43
- if (visibleSubMenuElm) {
44
- this.renderer.removeClass(visibleSubMenuElm, 'visible');
45
- const topLevelMenuItem = this.elRef.nativeElement.querySelector('li.parent.open');
46
- if (topLevelMenuItem) {
47
- this.renderer.removeClass(topLevelMenuItem, 'open');
48
- }
49
- }
50
- }
51
- }
52
- MenuComponent.decorators = [
53
- { type: Component, args: [{
54
- selector: 'valtimo-menu',
55
- template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ul class=\"sidebar-elements\">\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <li\n [class.parent]=\"menuItem.children\"\n [hidden]=\"!menuItem.show\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n <a *ngIf=\"menuItem.link\" [routerLink]=\"menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <a *ngIf=\"!menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <ng-container *ngIf=\"menuItem.children\">\n <ul class=\"sub-menu\">\n <li class=\"title\">{{ menuItem.title | translate }}</li>\n <li\n *ngFor=\"let subMenuItem of menuItem.children\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n <a *ngIf=\"subMenuItem.link\" [routerLink]=\"subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n <a *ngIf=\"!subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n </li>\n </ul>\n </ng-container>\n </li>\n </ng-container>\n</ul>\n",
56
- styles: [".c-default{cursor:default}.sub-item{cursor:pointer}"]
57
- },] }
58
- ];
59
- MenuComponent.ctorParameters = () => [
60
- { type: MenuService },
61
- { type: ElementRef },
62
- { type: Renderer2 },
63
- { type: Router }
64
- ];
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQVEsYUFBYSxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU8zQyxNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUNVLFdBQXdCLEVBQ3hCLEtBQWlCLEVBQ2pCLFFBQW1CLEVBQ25CLE1BQWM7UUFIZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV4QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUN0RSxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDakIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN0RixJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbEYsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDckQ7U0FDRjtJQUNILENBQUM7OztZQTdDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLG1oRUFBb0M7O2FBRXJDOzs7WUFOTyxXQUFXO1lBSkEsVUFBVTtZQUFxQixTQUFTO1lBQzdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2ZW50LCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge01lbnVJdGVtfSBmcm9tICdAdmFsdGltby9jb250cmFjdCc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge01lbnVTZXJ2aWNlfSBmcm9tICcuL21lbnUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIG1lbnVJdGVtczogTWVudUl0ZW1bXTtcbiAgcHJpdmF0ZSByb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBtZW51SXRlbVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5Sb3V0ZXJTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm1lbnVJdGVtU3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5tZW51SXRlbXMkLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLm1lbnVJdGVtcyA9IHZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5tZW51SXRlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUm91dGVyU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMuY2xvc2VTdWJNZW51KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VTdWJNZW51KCkge1xuICAgIGNvbnN0IHZpc2libGVTdWJNZW51RWxtID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zdWItbWVudS52aXNpYmxlJyk7XG4gICAgaWYgKHZpc2libGVTdWJNZW51RWxtKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHZpc2libGVTdWJNZW51RWxtLCAndmlzaWJsZScpO1xuICAgICAgY29uc3QgdG9wTGV2ZWxNZW51SXRlbSA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdsaS5wYXJlbnQub3BlbicpO1xuICAgICAgaWYgKHRvcExldmVsTWVudUl0ZW0pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0b3BMZXZlbE1lbnVJdGVtLCAnb3BlbicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=