@valtimo/components 4.15.3-next-main.14 → 4.16.0

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 +408 -302
  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 +2 -2
  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 +352 -303
  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 -5
  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 +0 -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 -1
  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 -158
  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
@@ -5,7 +5,7 @@ import * as momentImported from 'moment';
5
5
  import { ChoicefieldService } from '@valtimo/choicefield';
6
6
  import { RouterModule, NavigationEnd, Router, ActivatedRoute, PRIMARY_OUTLET, NavigationStart } from '@angular/router';
7
7
  import { NGXLogger } from 'ngx-logger';
8
- import { ConfigService } from '@valtimo/config';
8
+ import { ConfigService, HttpLoaderFactory } from '@valtimo/config';
9
9
  import { BehaviorSubject, Observable, combineLatest, fromEvent, Subscription, Subject, timer, from } from 'rxjs';
10
10
  import { DocumentService, DocumentModule } from '@valtimo/document';
11
11
  import { UserProviderService } from '@valtimo/security';
@@ -13,17 +13,154 @@ import { NgbTooltipModule, NgbPaginationModule } from '@ng-bootstrap/ng-bootstra
13
13
  import { TranslateModule, TranslateService, TranslateLoader } from '@ngx-translate/core';
14
14
  import { HttpClient } from '@angular/common/http';
15
15
  import { ContextService } from '@valtimo/context';
16
- import { HttpLoaderFactory, S3Resource, Alert, AlertType } from '@valtimo/contract';
17
16
  import { map, debounceTime, take, filter, switchMap } from 'rxjs/operators';
18
17
  import { Title } from '@angular/platform-browser';
19
18
  import * as BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
20
19
  import { create } from 'heatmap.js-fixed/build/heatmap.js';
21
- import { S3Service, UploadProviderService, DownloadService, ResourceModule } from '@valtimo/resource';
20
+ import { S3Resource, S3Service, UploadProviderService, DownloadService, ResourceModule } from '@valtimo/resource';
22
21
  import { Formio, FormioModule, FormioAppConfig, createCustomFormioComponent, registerCustomFormioComponentWithClass } from 'angular-formio';
23
22
  import jwt_decode from 'jwt-decode';
24
23
  import * as Dropzone from 'dropzone';
25
24
  import { NgxSpinnerModule } from 'ngx-spinner';
26
25
 
26
+ /*
27
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
28
+ *
29
+ * Licensed under EUPL, Version 1.2 (the "License");
30
+ * you may not use this file except in compliance with the License.
31
+ * You may obtain a copy of the License at
32
+ *
33
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
34
+ *
35
+ * Unless required by applicable law or agreed to in writing, software
36
+ * distributed under the License is distributed on an "AS IS" basis,
37
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38
+ * See the License for the specific language governing permissions and
39
+ * limitations under the License.
40
+ */
41
+ class Alert {
42
+ constructor(init) {
43
+ Object.assign(this, init);
44
+ }
45
+ }
46
+ var AlertType;
47
+ (function (AlertType) {
48
+ AlertType[AlertType["Success"] = 0] = "Success";
49
+ AlertType[AlertType["Error"] = 1] = "Error";
50
+ AlertType[AlertType["Info"] = 2] = "Info";
51
+ AlertType[AlertType["Warning"] = 3] = "Warning";
52
+ AlertType[AlertType["Notification"] = 4] = "Notification";
53
+ AlertType[AlertType["ModalNotification"] = 5] = "ModalNotification";
54
+ })(AlertType || (AlertType = {}));
55
+
56
+ /*
57
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
58
+ *
59
+ * Licensed under EUPL, Version 1.2 (the "License");
60
+ * you may not use this file except in compliance with the License.
61
+ * You may obtain a copy of the License at
62
+ *
63
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
64
+ *
65
+ * Unless required by applicable law or agreed to in writing, software
66
+ * distributed under the License is distributed on an "AS IS" basis,
67
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
68
+ * See the License for the specific language governing permissions and
69
+ * limitations under the License.
70
+ */
71
+ class AlertsOptionsImpl {
72
+ constructor(submitMessage) {
73
+ this.submitMessage = submitMessage;
74
+ }
75
+ }
76
+ class FormioOptionsImpl {
77
+ constructor() { }
78
+ setAlertMessage(submitMessage) {
79
+ this.alerts = new AlertsOptionsImpl(submitMessage);
80
+ }
81
+ setHooks(beforeSubmit) {
82
+ this.hooks = { beforeSubmit: beforeSubmit };
83
+ }
84
+ }
85
+
86
+ /*
87
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
88
+ *
89
+ * Licensed under EUPL, Version 1.2 (the "License");
90
+ * you may not use this file except in compliance with the License.
91
+ * You may obtain a copy of the License at
92
+ *
93
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
94
+ *
95
+ * Unless required by applicable law or agreed to in writing, software
96
+ * distributed under the License is distributed on an "AS IS" basis,
97
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
98
+ * See the License for the specific language governing permissions and
99
+ * limitations under the License.
100
+ */
101
+ class TimelineItemImpl {
102
+ constructor(date, time, user, activity, summaryTranslationKey, summaryTranslationParams) {
103
+ this._date = date;
104
+ this._time = time;
105
+ this._user = user;
106
+ this._activity = activity;
107
+ this._summaryTranslationKey = summaryTranslationKey;
108
+ this._summaryTranslationParams = summaryTranslationParams;
109
+ }
110
+ get date() {
111
+ return this._date;
112
+ }
113
+ get time() {
114
+ return this._time;
115
+ }
116
+ get user() {
117
+ return this._user;
118
+ }
119
+ get activity() {
120
+ return this._activity;
121
+ }
122
+ get summaryTranslationKey() {
123
+ return this._summaryTranslationKey;
124
+ }
125
+ get summaryTranslationParams() {
126
+ return this._summaryTranslationParams;
127
+ }
128
+ }
129
+
130
+ /*
131
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
132
+ *
133
+ * Licensed under EUPL, Version 1.2 (the "License");
134
+ * you may not use this file except in compliance with the License.
135
+ * You may obtain a copy of the License at
136
+ *
137
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
138
+ *
139
+ * Unless required by applicable law or agreed to in writing, software
140
+ * distributed under the License is distributed on an "AS IS" basis,
141
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
142
+ * See the License for the specific language governing permissions and
143
+ * limitations under the License.
144
+ */
145
+
146
+ /*
147
+ *
148
+ * * Copyright 2015-2020 Ritense BV, the Netherlands.
149
+ * *
150
+ * * Licensed under EUPL, Version 1.2 (the "License");
151
+ * * you may not use this file except in compliance with the License.
152
+ * * You may obtain a copy of the License at
153
+ * *
154
+ * * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
155
+ * *
156
+ * * Unless required by applicable law or agreed to in writing, software
157
+ * * distributed under the License is distributed on an "AS IS" basis,
158
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
159
+ * * See the License for the specific language governing permissions and
160
+ * * limitations under the License.
161
+ *
162
+ */
163
+
27
164
  /*
28
165
  * Copyright 2015-2020 Ritense BV, the Netherlands.
29
166
  *
@@ -50,7 +187,7 @@ class CamundaFormComponent {
50
187
  CamundaFormComponent.decorators = [
51
188
  { type: Component, args: [{
52
189
  selector: 'valtimo-camunda-form',
53
- 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<ng-container *ngIf=\"!componentName && submitted\">\n <valtimo-camunda-generated-form *ngIf=\"formFields\"\n [formFields]=\"formFields\"\n (submitted)=\"onSubmitted($event)\">\n </valtimo-camunda-generated-form>\n</ng-container>\n<ng-container *ngIf=\"componentName\">\n <valtimo-custom-form [componentName]=\"componentName\"></valtimo-custom-form>\n</ng-container>\n"
190
+ 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<ng-container *ngIf=\"!componentName && submitted\">\n <valtimo-camunda-generated-form\n *ngIf=\"formFields\"\n [formFields]=\"formFields\"\n (submitted)=\"onSubmitted($event)\"\n >\n </valtimo-camunda-generated-form>\n</ng-container>\n<ng-container *ngIf=\"componentName\">\n <valtimo-custom-form [componentName]=\"componentName\"></valtimo-custom-form>\n</ng-container>\n"
54
191
  },] }
55
192
  ];
56
193
  CamundaFormComponent.ctorParameters = () => [];
@@ -89,7 +226,7 @@ class CamundaCustomFormComponent {
89
226
  CamundaCustomFormComponent.decorators = [
90
227
  { type: Component, args: [{
91
228
  selector: 'valtimo-custom-form',
92
- 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<ng-template #customFormContainer></ng-template>\n\n",
229
+ 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<ng-template #customFormContainer></ng-template>\n",
93
230
  styles: [""]
94
231
  },] }
95
232
  ];
@@ -120,15 +257,9 @@ class CamundaCustomFormModule {
120
257
  }
121
258
  CamundaCustomFormModule.decorators = [
122
259
  { type: NgModule, args: [{
123
- declarations: [
124
- CamundaCustomFormComponent
125
- ],
126
- imports: [
127
- CommonModule
128
- ],
129
- exports: [
130
- CamundaCustomFormComponent
131
- ]
260
+ declarations: [CamundaCustomFormComponent],
261
+ imports: [CommonModule],
262
+ exports: [CamundaCustomFormComponent],
132
263
  },] }
133
264
  ];
134
265
 
@@ -161,8 +292,8 @@ function minDate(minDateIn) {
161
292
  return {
162
293
  minDate: {
163
294
  minDate: momentMinDate.format(DATE_FORMAT),
164
- actual: controlDate.format(DATE_FORMAT)
165
- }
295
+ actual: controlDate.format(DATE_FORMAT),
296
+ },
166
297
  };
167
298
  }
168
299
  else {
@@ -181,8 +312,8 @@ function maxDate(maxDateIn) {
181
312
  return {
182
313
  maxDate: {
183
314
  maxDate: momentMaxDate.format(DATE_FORMAT),
184
- actual: controlDate.format(DATE_FORMAT)
185
- }
315
+ actual: controlDate.format(DATE_FORMAT),
316
+ },
186
317
  };
187
318
  }
188
319
  else {
@@ -207,8 +338,7 @@ function maxDate(maxDateIn) {
207
338
  * limitations under the License.
208
339
  */
209
340
  class CamundaFormfieldService {
210
- constructor() {
211
- }
341
+ constructor() { }
212
342
  isFormFieldDisabled(formField) {
213
343
  return formField.validationConstraints.filter(vc => vc.name === 'readonly').length > 0;
214
344
  }
@@ -249,7 +379,7 @@ class CamundaFormfieldService {
249
379
  CamundaFormfieldService.ɵprov = ɵɵdefineInjectable({ factory: function CamundaFormfieldService_Factory() { return new CamundaFormfieldService(); }, token: CamundaFormfieldService, providedIn: "root" });
250
380
  CamundaFormfieldService.decorators = [
251
381
  { type: Injectable, args: [{
252
- providedIn: 'root'
382
+ providedIn: 'root',
253
383
  },] }
254
384
  ];
255
385
  CamundaFormfieldService.ctorParameters = () => [];
@@ -285,7 +415,7 @@ class CamundaGeneratedFormComponent {
285
415
  this.formFields.forEach(formField => {
286
416
  const control = new FormControl({
287
417
  value: formField.defaultValue,
288
- disabled: this.camundaFormFieldService.isFormFieldDisabled(formField)
418
+ disabled: this.camundaFormFieldService.isFormFieldDisabled(formField),
289
419
  }, this.camundaFormFieldService.getValidatorTypes(formField));
290
420
  group.addControl(formField.id, control);
291
421
  });
@@ -306,7 +436,7 @@ class CamundaGeneratedFormComponent {
306
436
  CamundaGeneratedFormComponent.decorators = [
307
437
  { type: Component, args: [{
308
438
  selector: 'valtimo-camunda-generated-form',
309
- 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<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSubmit($event)\">\n <ng-container\n *ngFor=\"let formField of formFields\"\n valtimoCamundaFormfieldGenerator\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n <ng-content></ng-content>\n </ng-container>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button class=\"btn btn-space btn-default float-left\" type=\"button\" (click)=\"back()\" id=\"back-button\">\n Back\n </button>\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\" id=\"reset-button\">Reset</button>\n <button class=\"btn btn-space btn-primary\"\n [disabled]=\"!formGroup.disabled && !formGroup.valid\"\n type=\"submit\"\n id=\"submit-button\">\n Submit\n </button>\n </div>\n </div>\n </div>\n</form>\n"
439
+ 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<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSubmit($event)\">\n <ng-container\n *ngFor=\"let formField of formFields\"\n valtimoCamundaFormfieldGenerator\n [formGroup]=\"formGroup\"\n [formField]=\"formField\"\n >\n <ng-content></ng-content>\n </ng-container>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n [disabled]=\"!formGroup.disabled && !formGroup.valid\"\n type=\"submit\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n</form>\n"
310
440
  },] }
311
441
  ];
312
442
  CamundaGeneratedFormComponent.ctorParameters = () => [
@@ -335,13 +465,12 @@ CamundaGeneratedFormComponent.propDecorators = {
335
465
  * limitations under the License.
336
466
  */
337
467
  class CamundaStringFormfieldComponent {
338
- constructor() {
339
- }
468
+ constructor() { }
340
469
  }
341
470
  CamundaStringFormfieldComponent.decorators = [
342
471
  { type: Component, args: [{
343
472
  selector: 'valtimo-camunda-string-formfield',
344
- 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input id=\"{{ formField.id }}\"\n class=\"form-control\"\n type=\"text\"\n [attr.placeholder]=\"formField.defaultValue\"\n [formControlName]=\"formField.id\"/>\n <valtimo-camunda-formfield-validation\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n\n"
473
+ 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n id=\"{{ formField.id }}\"\n class=\"form-control\"\n type=\"text\"\n [attr.placeholder]=\"formField.defaultValue\"\n [formControlName]=\"formField.id\"\n />\n <valtimo-camunda-formfield-validation [formGroup]=\"formGroup\" [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
345
474
  },] }
346
475
  ];
347
476
  CamundaStringFormfieldComponent.ctorParameters = () => [];
@@ -362,13 +491,12 @@ CamundaStringFormfieldComponent.ctorParameters = () => [];
362
491
  * limitations under the License.
363
492
  */
364
493
  class CamundaBooleanFormfieldComponent {
365
- constructor() {
366
- }
494
+ constructor() { }
367
495
  }
368
496
  CamundaBooleanFormfieldComponent.decorators = [
369
497
  { type: Component, args: [{
370
498
  selector: 'valtimo-camunda-boolean-formfield',
371
- 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6 form-check mt-1\">\n <label for=\"yes_{{ formField.id }}\" class=\"custom-control custom-radio custom-control-inline\">\n <input\n class=\"custom-control-input\"\n id=\"yes_{{ formField.id }}\"\n type=\"radio\"\n [value]=\"true\"\n [formControlName]=\"formField.id\"/>\n <span class=\"custom-control-label custom-control-color\">Yes</span>\n </label>\n <label for=\"no_{{ formField.id }}\" class=\"custom-control custom-radio custom-control-inline\">\n <input\n class=\"custom-control-input\"\n id=\"no_{{ formField.id }}\"\n type=\"radio\"\n [value]=\"false\"\n [formControlName]=\"formField.id\"/>\n <span class=\"custom-control-label custom-control-color\">No</span>\n </label>\n <valtimo-camunda-formfield-validation\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
499
+ 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6 form-check mt-1\">\n <label for=\"yes_{{ formField.id }}\" class=\"custom-control custom-radio custom-control-inline\">\n <input\n class=\"custom-control-input\"\n id=\"yes_{{ formField.id }}\"\n type=\"radio\"\n [value]=\"true\"\n [formControlName]=\"formField.id\"\n />\n <span class=\"custom-control-label custom-control-color\">Yes</span>\n </label>\n <label for=\"no_{{ formField.id }}\" class=\"custom-control custom-radio custom-control-inline\">\n <input\n class=\"custom-control-input\"\n id=\"no_{{ formField.id }}\"\n type=\"radio\"\n [value]=\"false\"\n [formControlName]=\"formField.id\"\n />\n <span class=\"custom-control-label custom-control-color\">No</span>\n </label>\n <valtimo-camunda-formfield-validation [formGroup]=\"formGroup\" [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
372
500
  },] }
373
501
  ];
374
502
  CamundaBooleanFormfieldComponent.ctorParameters = () => [];
@@ -402,9 +530,9 @@ class CamundaDateFormfieldComponent {
402
530
  componentIcon: '.mdi.mdi-calendar',
403
531
  navIcons: {
404
532
  rightIcon: 'mdi mdi-chevron-right',
405
- leftIcon: 'mdi mdi-chevron-left'
533
+ leftIcon: 'mdi mdi-chevron-left',
406
534
  },
407
- format: 'dd-mm-yyyy'
535
+ format: 'dd-mm-yyyy',
408
536
  };
409
537
  }
410
538
  ngAfterViewInit() {
@@ -421,7 +549,7 @@ class CamundaDateFormfieldComponent {
421
549
  $(this.INPUT_SELECTOR).datetimepicker(this.datePickerOptions);
422
550
  $(this.INPUT_SELECTOR).on('changeDate', function (e) {
423
551
  formGroup.patchValue({
424
- [formField.id]: moment$1(e.date.valueOf()).format('DD/MM/YYYY')
552
+ [formField.id]: moment$1(e.date.valueOf()).format('DD/MM/YYYY'),
425
553
  });
426
554
  });
427
555
  }
@@ -429,7 +557,7 @@ class CamundaDateFormfieldComponent {
429
557
  CamundaDateFormfieldComponent.decorators = [
430
558
  { type: Component, args: [{
431
559
  selector: 'valtimo-camunda-date-formfield',
432
- 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6 pt1\">\n <input\n type=\"input\"\n class=\"form-control\"\n data-min-view=\"2\"\n id=\"{{ formField.id }}\"\n autocomplete=\"off\"\n [formControlName]=\"formField.id\"/>\n <valtimo-camunda-formfield-validation\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
560
+ 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6 pt1\">\n <input\n type=\"input\"\n class=\"form-control\"\n data-min-view=\"2\"\n id=\"{{ formField.id }}\"\n autocomplete=\"off\"\n [formControlName]=\"formField.id\"\n />\n <valtimo-camunda-formfield-validation [formGroup]=\"formGroup\" [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
433
561
  },] }
434
562
  ];
435
563
  CamundaDateFormfieldComponent.ctorParameters = () => [
@@ -452,13 +580,12 @@ CamundaDateFormfieldComponent.ctorParameters = () => [
452
580
  * limitations under the License.
453
581
  */
454
582
  class CamundaLongFormfieldComponent {
455
- constructor() {
456
- }
583
+ constructor() { }
457
584
  }
458
585
  CamundaLongFormfieldComponent.decorators = [
459
586
  { type: Component, args: [{
460
587
  selector: 'valtimo-camunda-long-formfield',
461
- 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input id=\"{{ formField.id }}\"\n class=\"form-control\"\n type=\"number\"\n [attr.placeholder]=\"formField.defaultValue\"\n [formControlName]=\"formField.id\"/>\n <valtimo-camunda-formfield-validation\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
588
+ 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n id=\"{{ formField.id }}\"\n class=\"form-control\"\n type=\"number\"\n [attr.placeholder]=\"formField.defaultValue\"\n [formControlName]=\"formField.id\"\n />\n <valtimo-camunda-formfield-validation [formGroup]=\"formGroup\" [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
462
589
  },] }
463
590
  ];
464
591
  CamundaLongFormfieldComponent.ctorParameters = () => [];
@@ -479,8 +606,7 @@ CamundaLongFormfieldComponent.ctorParameters = () => [];
479
606
  * limitations under the License.
480
607
  */
481
608
  class CamundaEnumFormfieldComponent {
482
- constructor() {
483
- }
609
+ constructor() { }
484
610
  ngOnInit() {
485
611
  this.valueKeys = Object.keys(this.formField.type.values);
486
612
  }
@@ -488,7 +614,7 @@ class CamundaEnumFormfieldComponent {
488
614
  CamundaEnumFormfieldComponent.decorators = [
489
615
  { type: Component, args: [{
490
616
  selector: 'valtimo-camunda-enum-formfield',
491
- 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 class=\"form-group row\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n class=\"form-control\"\n id=\"{{ formField.id }}\"\n [formControlName]=\"formField.id\">\n <option selected=\"selected\" value=\"\"></option>\n <option *ngFor=\"let key of valueKeys\" [value]=\"key\" id=\"option_{{ key }}\">\n {{ formField.type.values[key] }}\n </option>\n </select>\n <valtimo-camunda-formfield-validation\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
617
+ 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 class=\"form-group row\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select class=\"form-control\" id=\"{{ formField.id }}\" [formControlName]=\"formField.id\">\n <option selected=\"selected\" value=\"\"></option>\n <option *ngFor=\"let key of valueKeys\" [value]=\"key\" id=\"option_{{ key }}\">\n {{ formField.type.values[key] }}\n </option>\n </select>\n <valtimo-camunda-formfield-validation [formGroup]=\"formGroup\" [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
492
618
  },] }
493
619
  ];
494
620
  CamundaEnumFormfieldComponent.ctorParameters = () => [];
@@ -509,13 +635,12 @@ CamundaEnumFormfieldComponent.ctorParameters = () => [];
509
635
  * limitations under the License.
510
636
  */
511
637
  class CamundaTextareaFormfieldComponent {
512
- constructor() {
513
- }
638
+ constructor() { }
514
639
  }
515
640
  CamundaTextareaFormfieldComponent.decorators = [
516
641
  { type: Component, args: [{
517
642
  selector: 'valtimo-camunda-textarea-formfield',
518
- 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea id=\"{{ formField.id }}\"\n class=\"form-control\"\n [attr.placeholder]=\"formField.defaultValue\"\n [formControlName]=\"formField.id\"></textarea>\n <valtimo-camunda-formfield-validation\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n\n"
643
+ 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 class=\"form-group row\" *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n id=\"{{ formField.id }}\"\n class=\"form-control\"\n [attr.placeholder]=\"formField.defaultValue\"\n [formControlName]=\"formField.id\"\n ></textarea>\n <valtimo-camunda-formfield-validation [formGroup]=\"formGroup\" [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
519
644
  },] }
520
645
  ];
521
646
  CamundaTextareaFormfieldComponent.ctorParameters = () => [];
@@ -541,7 +666,9 @@ class CamundaChoicefieldFormfieldComponent {
541
666
  this.choicefieldValues = [];
542
667
  }
543
668
  ngOnInit() {
544
- this.choicefieldService.getChoiceFieldValuesByName(this.formField.properties['choicefield']).subscribe(data => {
669
+ this.choicefieldService
670
+ .getChoiceFieldValuesByName(this.formField.properties['choicefield'])
671
+ .subscribe(data => {
545
672
  this.choicefieldValues = data;
546
673
  });
547
674
  }
@@ -549,7 +676,7 @@ class CamundaChoicefieldFormfieldComponent {
549
676
  CamundaChoicefieldFormfieldComponent.decorators = [
550
677
  { type: Component, args: [{
551
678
  selector: 'valtimo-camunda-choicefield-formfield',
552
- 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 class=\"form-group row\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n class=\"form-control\"\n id=\"{{ formField.id }}\"\n [formControlName]=\"formField.id\">\n <option selected=\"selected\" value=\"\"></option>\n <ng-container *ngFor=\"let choicefieldValue of choicefieldValues\">\n <option *ngIf=\"!choicefieldValue.deprecated\"\n [value]=\"choicefieldValue.value\"\n id=\"option_{{ choicefieldValue.value }}\">\n {{ choicefieldValue.name }}\n </option>\n </ng-container>\n </select>\n <valtimo-camunda-formfield-validation\n [formGroup]=\"formGroup\"\n [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
679
+ 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 class=\"form-group row\" [formGroup]=\"formGroup\">\n <label for=\"{{ formField.id }}\" class=\"col-12 col-sm-3 col-form-label text-sm-right\">\n {{ formField.label }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select class=\"form-control\" id=\"{{ formField.id }}\" [formControlName]=\"formField.id\">\n <option selected=\"selected\" value=\"\"></option>\n <ng-container *ngFor=\"let choicefieldValue of choicefieldValues\">\n <option\n *ngIf=\"!choicefieldValue.deprecated\"\n [value]=\"choicefieldValue.value\"\n id=\"option_{{ choicefieldValue.value }}\"\n >\n {{ choicefieldValue.name }}\n </option>\n </ng-container>\n </select>\n <valtimo-camunda-formfield-validation [formGroup]=\"formGroup\" [formField]=\"formField\">\n </valtimo-camunda-formfield-validation>\n </div>\n</div>\n"
553
680
  },] }
554
681
  ];
555
682
  CamundaChoicefieldFormfieldComponent.ctorParameters = () => [
@@ -582,7 +709,7 @@ class CamundaFormfieldGeneratorDirective {
582
709
  long: CamundaLongFormfieldComponent,
583
710
  enum: CamundaEnumFormfieldComponent,
584
711
  textarea: CamundaTextareaFormfieldComponent,
585
- choicefield: CamundaChoicefieldFormfieldComponent
712
+ choicefield: CamundaChoicefieldFormfieldComponent,
586
713
  };
587
714
  }
588
715
  ngOnInit() {
@@ -599,7 +726,7 @@ class CamundaFormfieldGeneratorDirective {
599
726
  }
600
727
  CamundaFormfieldGeneratorDirective.decorators = [
601
728
  { type: Directive, args: [{
602
- selector: '[valtimoCamundaFormfieldGenerator]'
729
+ selector: '[valtimoCamundaFormfieldGenerator]',
603
730
  },] }
604
731
  ];
605
732
  CamundaFormfieldGeneratorDirective.ctorParameters = () => [
@@ -627,8 +754,7 @@ CamundaFormfieldGeneratorDirective.propDecorators = {
627
754
  * limitations under the License.
628
755
  */
629
756
  class CamundaFormfieldValidationComponent {
630
- constructor() {
631
- }
757
+ constructor() { }
632
758
  ngOnInit() {
633
759
  this.formControl = this.formGroup.get(this.formField.id);
634
760
  }
@@ -636,7 +762,7 @@ class CamundaFormfieldValidationComponent {
636
762
  CamundaFormfieldValidationComponent.decorators = [
637
763
  { type: Component, args: [{
638
764
  selector: 'valtimo-camunda-formfield-validation',
639
- 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=\"parsley-errors-list filled\"\n *ngIf=\"formControl.invalid && (formControl.dirty || formControl.touched)\">\n <li *ngIf=\"formControl.errors.required\">\n This field is required.\n </li>\n <li *ngIf=\"formControl.errors.minlength\">\n This field should be more than {{ formControl.errors.minlength.requiredLength }} characters.\n </li>\n <li *ngIf=\"formControl.errors.maxlength\">\n This field cannot be more than {{ formControl.errors.maxlength.requiredLength }} characters.\n </li>\n <li *ngIf=\"formControl.errors.min\">\n This field should be more than {{ formControl.errors.min.min }}.\n </li>\n <li *ngIf=\"formControl.errors.max\">\n This field should be less or equal to {{ formControl.errors.max.max }}.\n </li>\n <li *ngIf=\"formControl.errors.minDate\">\n This field should be more than {{ formControl.errors.minDate.minDate }}.\n </li>\n <li *ngIf=\"formControl.errors.maxDate\">\n This field should be less or equal to {{ formControl.errors.maxDate.maxDate }}.\n </li>\n</ul>\n"
765
+ 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\n class=\"parsley-errors-list filled\"\n *ngIf=\"formControl.invalid && (formControl.dirty || formControl.touched)\"\n>\n <li *ngIf=\"formControl.errors.required\">This field is required.</li>\n <li *ngIf=\"formControl.errors.minlength\">\n This field should be more than {{ formControl.errors.minlength.requiredLength }} characters.\n </li>\n <li *ngIf=\"formControl.errors.maxlength\">\n This field cannot be more than {{ formControl.errors.maxlength.requiredLength }} characters.\n </li>\n <li *ngIf=\"formControl.errors.min\">\n This field should be more than {{ formControl.errors.min.min }}.\n </li>\n <li *ngIf=\"formControl.errors.max\">\n This field should be less or equal to {{ formControl.errors.max.max }}.\n </li>\n <li *ngIf=\"formControl.errors.minDate\">\n This field should be more than {{ formControl.errors.minDate.minDate }}.\n </li>\n <li *ngIf=\"formControl.errors.maxDate\">\n This field should be less or equal to {{ formControl.errors.maxDate.maxDate }}.\n </li>\n</ul>\n"
640
766
  },] }
641
767
  ];
642
768
  CamundaFormfieldValidationComponent.ctorParameters = () => [];
@@ -674,15 +800,10 @@ CamundaGeneratedFormModule.decorators = [
674
800
  CamundaTextareaFormfieldComponent,
675
801
  CamundaChoicefieldFormfieldComponent,
676
802
  CamundaFormfieldValidationComponent,
677
- CamundaGeneratedFormComponent
678
- ],
679
- imports: [
680
- CommonModule,
681
- ReactiveFormsModule
682
- ],
683
- exports: [
684
- CamundaGeneratedFormComponent
803
+ CamundaGeneratedFormComponent,
685
804
  ],
805
+ imports: [CommonModule, ReactiveFormsModule],
806
+ exports: [CamundaGeneratedFormComponent],
686
807
  entryComponents: [
687
808
  CamundaStringFormfieldComponent,
688
809
  CamundaBooleanFormfieldComponent,
@@ -690,8 +811,8 @@ CamundaGeneratedFormModule.decorators = [
690
811
  CamundaLongFormfieldComponent,
691
812
  CamundaEnumFormfieldComponent,
692
813
  CamundaTextareaFormfieldComponent,
693
- CamundaChoicefieldFormfieldComponent
694
- ]
814
+ CamundaChoicefieldFormfieldComponent,
815
+ ],
695
816
  },] }
696
817
  ];
697
818
 
@@ -714,17 +835,9 @@ class CamundaFormModule {
714
835
  }
715
836
  CamundaFormModule.decorators = [
716
837
  { type: NgModule, args: [{
717
- declarations: [
718
- CamundaFormComponent
719
- ],
720
- imports: [
721
- CommonModule,
722
- CamundaGeneratedFormModule,
723
- CamundaCustomFormModule
724
- ],
725
- exports: [
726
- CamundaFormComponent
727
- ]
838
+ declarations: [CamundaFormComponent],
839
+ imports: [CommonModule, CamundaGeneratedFormModule, CamundaCustomFormModule],
840
+ exports: [CamundaFormComponent],
728
841
  },] }
729
842
  ];
730
843
 
@@ -744,8 +857,7 @@ CamundaFormModule.decorators = [
744
857
  * limitations under the License.
745
858
  */
746
859
  class TopbarComponent {
747
- constructor() {
748
- }
860
+ constructor() { }
749
861
  }
750
862
  TopbarComponent.decorators = [
751
863
  { type: Component, args: [{
@@ -776,11 +888,8 @@ class TopbarModule {
776
888
  TopbarModule.decorators = [
777
889
  { type: NgModule, args: [{
778
890
  declarations: [TopbarComponent],
779
- imports: [
780
- CommonModule,
781
- RouterModule
782
- ],
783
- exports: [TopbarComponent]
891
+ imports: [CommonModule, RouterModule],
892
+ exports: [TopbarComponent],
784
893
  },] }
785
894
  ];
786
895
 
@@ -825,7 +934,7 @@ class MenuService {
825
934
  menuItems.push(menuItem);
826
935
  });
827
936
  menuItems = this.sortMenuItems(menuItems);
828
- this.appendDossierSubMenuItems(menuItems).subscribe(value => menuItems = this.applyMenuRoleSecurity(value));
937
+ this.appendDossierSubMenuItems(menuItems).subscribe(value => (menuItems = this.applyMenuRoleSecurity(value)));
829
938
  return menuItems;
830
939
  }
831
940
  sortMenuItems(menuItems) {
@@ -837,13 +946,12 @@ class MenuService {
837
946
  return new Observable(subscriber => {
838
947
  this.logger.debug('appendDossierSubMenuItems');
839
948
  this.documentService.getAllDefinitions().subscribe(definitions => {
840
- const dossierMenuItems = definitions.content
841
- .map((definition, index) => ({
949
+ const dossierMenuItems = definitions.content.map((definition, index) => ({
842
950
  link: ['/dossiers/' + definition.id.name],
843
951
  title: definition.schema.title,
844
952
  iconClass: 'icon mdi mdi-dot-circle',
845
953
  sequence: index,
846
- show: true
954
+ show: true,
847
955
  }));
848
956
  this.logger.debug('found dossierMenuItems', dossierMenuItems);
849
957
  const menuItemIndex = menuItems.findIndex(({ title }) => title === 'Dossiers');
@@ -890,7 +998,7 @@ class MenuService {
890
998
  MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(ɵɵinject(ConfigService), ɵɵinject(DocumentService), ɵɵinject(UserProviderService), ɵɵinject(NGXLogger)); }, token: MenuService, providedIn: "root" });
891
999
  MenuService.decorators = [
892
1000
  { type: Injectable, args: [{
893
- providedIn: 'root'
1001
+ providedIn: 'root',
894
1002
  },] }
895
1003
  ];
896
1004
  MenuService.ctorParameters = () => [
@@ -920,10 +1028,8 @@ class MenuRoutingModule {
920
1028
  }
921
1029
  MenuRoutingModule.decorators = [
922
1030
  { type: NgModule, args: [{
923
- imports: [
924
- RouterModule.forChild(routes)
925
- ],
926
- exports: [RouterModule]
1031
+ imports: [RouterModule.forChild(routes)],
1032
+ exports: [RouterModule],
927
1033
  },] }
928
1034
  ];
929
1035
 
@@ -951,7 +1057,7 @@ class MenuComponent {
951
1057
  }
952
1058
  ngOnInit() {
953
1059
  this.openRouterSubscription();
954
- this.menuItemSubscription = this.menuService.menuItems$.subscribe(value => this.menuItems = value);
1060
+ this.menuItemSubscription = this.menuService.menuItems$.subscribe(value => (this.menuItems = value));
955
1061
  }
956
1062
  ngOnDestroy() {
957
1063
  this.routerSubscription.unsubscribe();
@@ -1010,11 +1116,13 @@ MenuItemTextComponent.decorators = [
1010
1116
  { type: Component, args: [{
1011
1117
  selector: 'valtimo-menu-item-text',
1012
1118
  template: `
1013
- <i class="{{ menuItem.iconClass }}"
1014
- container="body"
1015
- placement="right"
1016
- ngbTooltip="{{ menuItem.title | translate }}"
1017
- autoClose="true">
1119
+ <i
1120
+ class="{{ menuItem.iconClass }}"
1121
+ container="body"
1122
+ placement="right"
1123
+ ngbTooltip="{{ menuItem.title | translate }}"
1124
+ autoClose="true"
1125
+ >
1018
1126
  </i>
1019
1127
  <span>{{ menuItem.title | translate }}</span>
1020
1128
  `
@@ -1046,7 +1154,7 @@ SubmenuItemTextComponent.decorators = [
1046
1154
  selector: 'valtimo-submenu-item-text',
1047
1155
  template: `
1048
1156
  <span [ngClass]="submenuItem.textClass">
1049
- {{ submenuItem.title | translate }}
1157
+ {{ submenuItem.title | translate }}
1050
1158
  <ng-container *ngIf="!submenuItem.link">&gt;</ng-container>
1051
1159
  </span>
1052
1160
  `
@@ -1076,14 +1184,9 @@ class MenuModule {
1076
1184
  MenuModule.decorators = [
1077
1185
  { type: NgModule, args: [{
1078
1186
  declarations: [MenuComponent, MenuItemTextComponent, SubmenuItemTextComponent],
1079
- imports: [
1080
- CommonModule,
1081
- RouterModule,
1082
- NgbTooltipModule,
1083
- TranslateModule
1084
- ],
1187
+ imports: [CommonModule, RouterModule, NgbTooltipModule, TranslateModule],
1085
1188
  exports: [MenuComponent],
1086
- providers: []
1189
+ providers: [],
1087
1190
  },] }
1088
1191
  ];
1089
1192
 
@@ -1147,7 +1250,7 @@ class VersionService {
1147
1250
  VersionService.ɵprov = ɵɵdefineInjectable({ factory: function VersionService_Factory() { return new VersionService(ɵɵinject(HttpClient)); }, token: VersionService, providedIn: "root" });
1148
1251
  VersionService.decorators = [
1149
1252
  { type: Injectable, args: [{
1150
- providedIn: 'root'
1253
+ providedIn: 'root',
1151
1254
  },] }
1152
1255
  ];
1153
1256
  VersionService.ctorParameters = () => [
@@ -1187,7 +1290,7 @@ class RightSidebarComponent {
1187
1290
  'emailNotificationOnThursday',
1188
1291
  'emailNotificationOnFriday',
1189
1292
  'emailNotificationOnSaturday',
1190
- 'emailNotificationOnSunday'
1293
+ 'emailNotificationOnSunday',
1191
1294
  ];
1192
1295
  this.settingsForm = this.formBuilder.group({
1193
1296
  taskNotifications: new FormControl(false),
@@ -1198,13 +1301,15 @@ class RightSidebarComponent {
1198
1301
  emailNotificationOnThursday: new FormControl(false),
1199
1302
  emailNotificationOnFriday: new FormControl(false),
1200
1303
  emailNotificationOnSaturday: new FormControl(false),
1201
- emailNotificationOnSunday: new FormControl(false)
1304
+ emailNotificationOnSunday: new FormControl(false),
1202
1305
  });
1203
1306
  this.getUserSettings();
1204
1307
  }
1205
1308
  loadContextSwitch() {
1206
- combineLatest([this.contextService.getUserContexts(), this.contextService.getUserContextActive()])
1207
- .subscribe(([userContexts, userContextActive]) => {
1309
+ combineLatest([
1310
+ this.contextService.getUserContexts(),
1311
+ this.contextService.getUserContextActive(),
1312
+ ]).subscribe(([userContexts, userContextActive]) => {
1208
1313
  this.userContextActive = userContextActive;
1209
1314
  this.userContexts = userContexts;
1210
1315
  });
@@ -1262,7 +1367,7 @@ class RightSidebarComponent {
1262
1367
  RightSidebarComponent.decorators = [
1263
1368
  { type: Component, args: [{
1264
1369
  selector: 'valtimo-right-sidebar',
1265
- 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<nav class=\"be-right-sidebar\">\n <div class=\"sb-content\">\n <div class=\"tab-navigation\">\n <ul class=\"nav nav-tabs nav-justified\" role=\"tablist\">\n <li class=\"nav-item\" role=\"presentation\">\n <a class=\"nav-link active\" href=\"#account\" aria-controls=\"account\" role=\"tab\" data-toggle=\"tab\"\n translate=\"account.title\"></a>\n </li>\n <li class=\"nav-item\" role=\"presentation\">\n <a class=\"nav-link\" (click)=\"loadUserSettingsTab()\" href=\"#settings\" aria-controls=\"settings\" role=\"tab\"\n data-toggle=\"tab\" translate=\"settings.title\"></a>\n </li>\n </ul>\n </div>\n <div class=\"tab-panel\">\n <div class=\"tab-content\">\n <!-- account -->\n <div class=\"tab-pane tab-account active\" id=\"account\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\" *ngIf=\"userIdentity\">\n <div class=\"content\">\n <div class=\"category-title border-0 m-0\">\n <div class=\"p-0 text-muted\">\n <dl class=\"row mb-0\">\n <dt class=\"col-sm-3\">Email</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.email }}</dd>\n <ng-container *ngIf=\"userIdentity.username\">\n <dt class=\"col-sm-3\">Username</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.username }}</dd>\n </ng-container>\n <dt class=\"col-sm-3\">Name</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.firstName + ' ' + userIdentity.lastName }}</dd>\n </dl>\n </div>\n </div>\n <!-- context switch -->\n <ul class=\"settings-list\" *ngIf=\"userContexts?.length > 1\">\n <li ngbTooltip=\"{{ 'settings.context.title' | translate }}\">\n <select class=\"form-control\" #contextSelect (change)=\"setUserContext(+contextSelect.value)\">\n <option *ngFor=\"let context of userContexts\" [value]=\"context.id\"\n [selected]=\"context.id === userContextActive.id\">\n {{ context.name }}\n </option>\n </select>\n </li>\n </ul>\n <ul class=\"list-group list-group-flush m-0\">\n <li class=\"bg-transparent list-group-item px-0\">\n <a href=\"https://docs.valtimo.nl\" target=\"_blank\" class=\"d-block\" translate=\"account.links.help\"></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a href=\"https://www.valtimo.nl/feedback/\" target=\"_blank\" class=\"d-block\"\n translate=\"account.links.feedback\"></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a href=\"https://forum.valtimo.nl\" target=\"_blank\" class=\"d-block\"\n translate=\"account.links.forum\"></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a href=\"javascript:void(0)\" class=\"d-block\" (click)=\"logout()\"\n translate=\"account.links.signOut\"></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n <!-- settings -->\n <div class=\"tab-pane tab-settings\" id=\"settings\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\">\n <div class=\"content\">\n <span class=\"category-title\" translate=\"settings.language.title\"></span>\n <ul class=\"settings-list\">\n <li>\n <select class=\"form-control\" #langSelect (change)=\"updateUserLanguage(langSelect.value)\">\n <option *ngFor=\"let lang of translate.getLangs()\" [value]=\"lang\"\n [selected]=\"lang === translate.currentLang\">\n {{ 'settings.language.options.' + lang | translate }}\n </option>\n </select>\n </li>\n </ul>\n\n <form [formGroup]=\"settingsForm\">\n <span class=\"category-title\" translate=\"settings.notification.title\"></span>\n <ul class=\"settings-list m-0\">\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" formControlName=\"taskNotifications\" id=\"taskNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"><span>\n <label for=\"taskNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.taskNotifications\"></span>\n <div class=\"text-muted info-text\" translate=\"settings.notification.taskNotificationsIntro\"></div>\n </li>\n\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" formControlName=\"emailNotifications\" id=\"emailNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"><span>\n <label for=\"emailNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.emailNotifications\"></span>\n <div class=\"text-muted info-text\" translate=\"settings.notification.emailNotificationsIntro\"></div>\n </li>\n </ul>\n\n <div *ngIf=\"settingsForm.value.emailNotifications\">\n <ul class=\"settings-list\">\n <li *ngFor=\"let frequency of frequencies\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" formControlName=\"{{ frequency }}\" id=\"{{ frequency }}\"\n (ngModelChange)=\"onSettingsSubmit()\"><span>\n <label for=\"{{ frequency }}\"></label></span>\n </div>\n <span class=\"name\">{{ 'settings.notification.' + frequency | translate }}</span>\n </li>\n </ul>\n </div>\n </form>\n\n <div class=\"version-holder\">\n <span class=\"category-title\" translate=\"settings.version.title\"></span>\n <ul class=\"settings-list\">\n <li *ngIf=\"build\">\n <div class=\"name\">{{ build.title }}</div>\n <div class=\"text-muted\">{{ build.version }}</div>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n</nav>\n",
1370
+ 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<nav class=\"be-right-sidebar\">\n <div class=\"sb-content\">\n <div class=\"tab-navigation\">\n <ul class=\"nav nav-tabs nav-justified\" role=\"tablist\">\n <li class=\"nav-item\" role=\"presentation\">\n <a\n class=\"nav-link active\"\n href=\"#account\"\n aria-controls=\"account\"\n role=\"tab\"\n data-toggle=\"tab\"\n translate=\"account.title\"\n ></a>\n </li>\n <li class=\"nav-item\" role=\"presentation\">\n <a\n class=\"nav-link\"\n (click)=\"loadUserSettingsTab()\"\n href=\"#settings\"\n aria-controls=\"settings\"\n role=\"tab\"\n data-toggle=\"tab\"\n translate=\"settings.title\"\n ></a>\n </li>\n </ul>\n </div>\n <div class=\"tab-panel\">\n <div class=\"tab-content\">\n <!-- account -->\n <div class=\"tab-pane tab-account active\" id=\"account\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\" *ngIf=\"userIdentity\">\n <div class=\"content\">\n <div class=\"category-title border-0 m-0\">\n <div class=\"p-0 text-muted\">\n <dl class=\"row mb-0\">\n <dt class=\"col-sm-3\">Email</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.email }}</dd>\n <ng-container *ngIf=\"userIdentity.username\">\n <dt class=\"col-sm-3\">Username</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">{{ userIdentity.username }}</dd>\n </ng-container>\n <dt class=\"col-sm-3\">Name</dt>\n <dd class=\"col-sm-9 mb-0 text-bold\">\n {{ userIdentity.firstName + ' ' + userIdentity.lastName }}\n </dd>\n </dl>\n </div>\n </div>\n <!-- context switch -->\n <ul class=\"settings-list\" *ngIf=\"userContexts?.length > 1\">\n <li ngbTooltip=\"{{ 'settings.context.title' | translate }}\">\n <select\n class=\"form-control\"\n #contextSelect\n (change)=\"setUserContext(+contextSelect.value)\"\n >\n <option\n *ngFor=\"let context of userContexts\"\n [value]=\"context.id\"\n [selected]=\"context.id === userContextActive.id\"\n >\n {{ context.name }}\n </option>\n </select>\n </li>\n </ul>\n <ul class=\"list-group list-group-flush m-0\">\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://docs.valtimo.nl\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.help\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://www.valtimo.nl/feedback/\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.feedback\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"https://forum.valtimo.nl\"\n target=\"_blank\"\n class=\"d-block\"\n translate=\"account.links.forum\"\n ></a>\n </li>\n <li class=\"bg-transparent list-group-item px-0\">\n <a\n href=\"javascript:void(0)\"\n class=\"d-block\"\n (click)=\"logout()\"\n translate=\"account.links.signOut\"\n ></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n <!-- settings -->\n <div class=\"tab-pane tab-settings\" id=\"settings\" role=\"tabpanel\">\n <div class=\"p-3 be-scroller-settings\">\n <div class=\"content\">\n <span class=\"category-title\" translate=\"settings.language.title\"></span>\n <ul class=\"settings-list\">\n <li>\n <select\n class=\"form-control\"\n #langSelect\n (change)=\"updateUserLanguage(langSelect.value)\"\n >\n <option\n *ngFor=\"let lang of translate.getLangs()\"\n [value]=\"lang\"\n [selected]=\"lang === translate.currentLang\"\n >\n {{ 'settings.language.options.' + lang | translate }}\n </option>\n </select>\n </li>\n </ul>\n\n <form [formGroup]=\"settingsForm\">\n <span class=\"category-title\" translate=\"settings.notification.title\"></span>\n <ul class=\"settings-list m-0\">\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"taskNotifications\"\n id=\"taskNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"taskNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.taskNotifications\"></span>\n <div\n class=\"text-muted info-text\"\n translate=\"settings.notification.taskNotificationsIntro\"\n ></div>\n </li>\n\n <li>\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"emailNotifications\"\n id=\"emailNotifications\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"emailNotifications\"></label></span>\n </div>\n <span class=\"name\" translate=\"settings.notification.emailNotifications\"></span>\n <div\n class=\"text-muted info-text\"\n translate=\"settings.notification.emailNotificationsIntro\"\n ></div>\n </li>\n </ul>\n\n <div *ngIf=\"settingsForm.value.emailNotifications\">\n <ul class=\"settings-list\">\n <li *ngFor=\"let frequency of frequencies\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n formControlName=\"{{ frequency }}\"\n id=\"{{ frequency }}\"\n (ngModelChange)=\"onSettingsSubmit()\"\n /><span> <label for=\"{{ frequency }}\"></label></span>\n </div>\n <span class=\"name\">{{\n 'settings.notification.' + frequency | translate\n }}</span>\n </li>\n </ul>\n </div>\n </form>\n\n <div class=\"version-holder\">\n <span class=\"category-title\" translate=\"settings.version.title\"></span>\n <ul class=\"settings-list\">\n <li *ngIf=\"build\">\n <div class=\"name\">{{ build.title }}</div>\n <div class=\"text-muted\">{{ build.version }}</div>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</nav>\n",
1266
1371
  styles: [".be-scroller-settings{padding-bottom:150px!important}.version-holder{background-color:#f8f9fa;bottom:0;position:fixed;width:259px}.info-text{line-height:1em!important;margin-bottom:15px;padding-right:70px}"]
1267
1372
  },] }
1268
1373
  ];
@@ -1306,12 +1411,12 @@ RightSidebarModule.decorators = [
1306
1411
  loader: {
1307
1412
  provide: TranslateLoader,
1308
1413
  useFactory: ɵ0,
1309
- deps: [HttpClient]
1310
- }
1414
+ deps: [HttpClient],
1415
+ },
1311
1416
  }),
1312
- NgbTooltipModule
1417
+ NgbTooltipModule,
1313
1418
  ],
1314
- exports: [RightSidebarComponent]
1419
+ exports: [RightSidebarComponent],
1315
1420
  },] }
1316
1421
  ];
1317
1422
 
@@ -1411,7 +1516,7 @@ class LeftSidebarComponent {
1411
1516
  LeftSidebarComponent.decorators = [
1412
1517
  { type: Component, args: [{
1413
1518
  selector: 'valtimo-left-sidebar',
1414
- 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",
1519
+ 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);\"\n ><valtimo-page-title></valtimo-page-title\n ></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",
1415
1520
  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\")}"]
1416
1521
  },] }
1417
1522
  ];
@@ -1471,7 +1576,7 @@ class PageTitleComponent {
1471
1576
  this.setTitle();
1472
1577
  this.routerSub = this.router.events
1473
1578
  .pipe(filter(event => event instanceof NavigationEnd))
1474
- .subscribe((event) => {
1579
+ .subscribe(event => {
1475
1580
  this.setTitle();
1476
1581
  });
1477
1582
  }
@@ -1514,11 +1619,8 @@ class PageTitleModule {
1514
1619
  PageTitleModule.decorators = [
1515
1620
  { type: NgModule, args: [{
1516
1621
  declarations: [PageTitleComponent],
1517
- imports: [
1518
- CommonModule,
1519
- TranslateModule
1520
- ],
1521
- exports: [PageTitleComponent]
1622
+ imports: [CommonModule, TranslateModule],
1623
+ exports: [PageTitleComponent],
1522
1624
  },] }
1523
1625
  ];
1524
1626
 
@@ -1542,12 +1644,8 @@ class LeftSidebarModule {
1542
1644
  LeftSidebarModule.decorators = [
1543
1645
  { type: NgModule, args: [{
1544
1646
  declarations: [LeftSidebarComponent],
1545
- imports: [
1546
- CommonModule,
1547
- MenuModule,
1548
- PageTitleModule
1549
- ],
1550
- exports: [LeftSidebarComponent]
1647
+ imports: [CommonModule, MenuModule, PageTitleModule],
1648
+ exports: [LeftSidebarComponent],
1551
1649
  },] }
1552
1650
  ];
1553
1651
 
@@ -1599,7 +1697,7 @@ class BooleanTypeConverter {
1599
1697
  return value ? 'Yes' : 'No';
1600
1698
  }
1601
1699
  else {
1602
- return value ? (definition.enum[0] || 'Yes') : (definition.enum[1] || 'No');
1700
+ return value ? definition.enum[0] || 'Yes' : definition.enum[1] || 'No';
1603
1701
  }
1604
1702
  }
1605
1703
  }
@@ -1736,7 +1834,7 @@ const TYPE_CONVERTERS = [
1736
1834
  dateTypeConverter,
1737
1835
  enumTypeConverter,
1738
1836
  stringReplaceUnderscoreTypeConverter,
1739
- relatedFilesTypeConverter
1837
+ relatedFilesTypeConverter,
1740
1838
  ];
1741
1839
 
1742
1840
  /*
@@ -1762,7 +1860,7 @@ class ViewContentService {
1762
1860
  }
1763
1861
  get(value, definition) {
1764
1862
  if (!definition.viewType) {
1765
- definition.viewType = typeof (value);
1863
+ definition.viewType = typeof value;
1766
1864
  }
1767
1865
  if (typeof this.converters[definition.viewType] !== 'undefined') {
1768
1866
  return this.converters[definition.viewType].convert(value, definition);
@@ -1781,7 +1879,7 @@ class ViewContentService {
1781
1879
  ViewContentService.ɵprov = ɵɵdefineInjectable({ factory: function ViewContentService_Factory() { return new ViewContentService(); }, token: ViewContentService, providedIn: "root" });
1782
1880
  ViewContentService.decorators = [
1783
1881
  { type: Injectable, args: [{
1784
- providedIn: 'root'
1882
+ providedIn: 'root',
1785
1883
  },] }
1786
1884
  ];
1787
1885
  ViewContentService.ctorParameters = () => [];
@@ -1815,7 +1913,7 @@ class ListComponent {
1815
1913
  this.regExpStringRemoveUnderscore = /_/g;
1816
1914
  this.sort$ = new BehaviorSubject({
1817
1915
  state: { name: '', direction: 'DESC' },
1818
- isSorting: false
1916
+ isSorting: false,
1819
1917
  });
1820
1918
  this.viewListAs = localStorage.getItem('viewListAs') || 'table';
1821
1919
  }
@@ -1872,7 +1970,7 @@ class ListComponent {
1872
1970
  item.listItemFields = this.fields.map(field => ({
1873
1971
  key: field.key,
1874
1972
  label: field.label,
1875
- value: this.resolveObject(field, item)
1973
+ value: this.resolveObject(field, item),
1876
1974
  }));
1877
1975
  });
1878
1976
  }
@@ -1883,7 +1981,9 @@ class ListComponent {
1883
1981
  resolveObject(definition, obj) {
1884
1982
  const definitionKey = definition.key;
1885
1983
  const customPropString = '$.';
1886
- const key = definitionKey.includes(customPropString) ? definitionKey.split(customPropString)[1] : definitionKey;
1984
+ const key = definitionKey.includes(customPropString)
1985
+ ? definitionKey.split(customPropString)[1]
1986
+ : definitionKey;
1887
1987
  const resolvedObjValue = key.split('.').reduce(function (prev, curr) {
1888
1988
  return prev ? prev[curr] : null;
1889
1989
  }, obj || self);
@@ -1932,7 +2032,7 @@ ListComponent.PAGINATION_SIZE = 'PaginationSize';
1932
2032
  ListComponent.decorators = [
1933
2033
  { type: Component, args: [{
1934
2034
  selector: 'valtimo-list',
1935
- 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",
2035
+ 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\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"Search...\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\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\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></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>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\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\">\n {{ 'list.noResults' | translate }}\n </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",
1936
2036
  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}"]
1937
2037
  },] }
1938
2038
  ];
@@ -1979,16 +2079,12 @@ class ListFilterPipe {
1979
2079
  if (!filterText) {
1980
2080
  return list;
1981
2081
  }
1982
- return list.filter(item => Object.keys(item).some(k => item[k] != null &&
1983
- item[k]
1984
- .toString()
1985
- .toLowerCase()
1986
- .includes(filterText.toLowerCase())));
2082
+ return list.filter(item => Object.keys(item).some(k => item[k] != null && item[k].toString().toLowerCase().includes(filterText.toLowerCase())));
1987
2083
  }
1988
2084
  }
1989
2085
  ListFilterPipe.decorators = [
1990
2086
  { type: Pipe, args: [{
1991
- name: 'listFilter'
2087
+ name: 'listFilter',
1992
2088
  },] }
1993
2089
  ];
1994
2090
 
@@ -2012,13 +2108,12 @@ ListFilterPipe.decorators = [
2012
2108
  */
2013
2109
  class CardComponent {
2014
2110
  constructor() { }
2015
- ngOnInit() {
2016
- }
2111
+ ngOnInit() { }
2017
2112
  }
2018
2113
  CardComponent.decorators = [
2019
2114
  { type: Component, args: [{
2020
2115
  selector: 'valtimo-card',
2021
- 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 class=\"card card-border-color card-border-color-primary\">\n <div *ngIf=\"title || subtitle\"class=\"card-header card-header-divider\">\n <span *ngIf=\"title\">{{title}}</span>\n <span *ngIf=\"subtitle\" class=\"card-subtitle\">{{subtitle}}</span>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n</div>\n",
2116
+ 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 class=\"card card-border-color card-border-color-primary\">\n <div *ngIf=\"title || subtitle\" class=\"card-header card-header-divider\">\n <span *ngIf=\"title\">{{ title }}</span>\n <span *ngIf=\"subtitle\" class=\"card-subtitle\">{{ subtitle }}</span>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n</div>\n",
2022
2117
  styles: [""]
2023
2118
  },] }
2024
2119
  ];
@@ -2048,10 +2143,8 @@ class CardModule {
2048
2143
  CardModule.decorators = [
2049
2144
  { type: NgModule, args: [{
2050
2145
  declarations: [CardComponent],
2051
- imports: [
2052
- CommonModule
2053
- ],
2054
- exports: [CardComponent]
2146
+ imports: [CommonModule],
2147
+ exports: [CardComponent],
2055
2148
  },] }
2056
2149
  ];
2057
2150
 
@@ -2076,7 +2169,7 @@ ListModule.decorators = [
2076
2169
  { type: NgModule, args: [{
2077
2170
  declarations: [ListComponent, ListFilterPipe],
2078
2171
  imports: [CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule],
2079
- exports: [ListComponent, ListFilterPipe]
2172
+ exports: [ListComponent, ListFilterPipe],
2080
2173
  },] }
2081
2174
  ];
2082
2175
 
@@ -2136,7 +2229,7 @@ class BreadcrumbNavigationComponent {
2136
2229
  this.routerSub = this.router.events
2137
2230
  .pipe(filter(event => event instanceof NavigationEnd))
2138
2231
  .pipe(map(() => this.route))
2139
- .pipe(map((route) => {
2232
+ .pipe(map(route => {
2140
2233
  while (route.firstChild) {
2141
2234
  route = route.firstChild;
2142
2235
  }
@@ -2157,7 +2250,7 @@ class BreadcrumbNavigationComponent {
2157
2250
  url: snapshot.url.join('/'),
2158
2251
  path: snapshot.routeConfig.path,
2159
2252
  label: snapshot.data['title'],
2160
- params: snapshot.params
2253
+ params: snapshot.params,
2161
2254
  };
2162
2255
  this.generateBreadcrumbs(activeRoute);
2163
2256
  }
@@ -2165,14 +2258,14 @@ class BreadcrumbNavigationComponent {
2165
2258
  generateBreadcrumbs(activeBreadcrumb) {
2166
2259
  this.breadcrumbs = [];
2167
2260
  this.router.config.map(routerConfig => {
2168
- if (activeBreadcrumb.path.indexOf(routerConfig.path + '/') === 0
2169
- && activeBreadcrumb.path !== routerConfig.path
2170
- && routerConfig.path !== '') {
2261
+ if (activeBreadcrumb.path.indexOf(routerConfig.path + '/') === 0 &&
2262
+ activeBreadcrumb.path !== routerConfig.path &&
2263
+ routerConfig.path !== '') {
2171
2264
  const parentRoute = {
2172
2265
  url: routerConfig.path.replace(/:(.+?)\b/g, (_, p1) => activeBreadcrumb.params[p1]),
2173
2266
  path: routerConfig.path,
2174
2267
  label: routerConfig.data['title'],
2175
- params: activeBreadcrumb.params
2268
+ params: activeBreadcrumb.params,
2176
2269
  };
2177
2270
  const exist = this.breadcrumbs.findIndex(item => item.url === parentRoute.url);
2178
2271
  if (exist === -1) {
@@ -2217,12 +2310,8 @@ class BreadcrumbNavigationModule {
2217
2310
  BreadcrumbNavigationModule.decorators = [
2218
2311
  { type: NgModule, args: [{
2219
2312
  declarations: [BreadcrumbNavigationComponent],
2220
- imports: [
2221
- CommonModule,
2222
- RouterModule,
2223
- TranslateModule
2224
- ],
2225
- exports: [BreadcrumbNavigationComponent]
2313
+ imports: [CommonModule, RouterModule, TranslateModule],
2314
+ exports: [BreadcrumbNavigationComponent],
2226
2315
  },] }
2227
2316
  ];
2228
2317
 
@@ -2246,12 +2335,8 @@ class PageHeaderModule {
2246
2335
  PageHeaderModule.decorators = [
2247
2336
  { type: NgModule, args: [{
2248
2337
  declarations: [PageHeaderComponent],
2249
- imports: [
2250
- CommonModule,
2251
- PageTitleModule,
2252
- BreadcrumbNavigationModule
2253
- ],
2254
- exports: [PageHeaderComponent]
2338
+ imports: [CommonModule, PageTitleModule, BreadcrumbNavigationModule],
2339
+ exports: [PageHeaderComponent],
2255
2340
  },] }
2256
2341
  ];
2257
2342
 
@@ -2317,7 +2402,7 @@ class WidgetComponent {
2317
2402
  WidgetComponent.decorators = [
2318
2403
  { type: Component, args: [{
2319
2404
  selector: 'valtimo-widget',
2320
- 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 class=\"card card-border card-contrast {{ cardClassName }}\">\n <div class=\"card-header {{ contrastClass }} {{ dividerClass }}\"\n *ngIf=\"title || subtitle\">\n <div class=\"row\">\n <div class=\"col-7\"\n [ngClass]=\"{'clickable': collapseAble}\"\n (click)=\"toggleContent()\">\n <!-- Title -->\n <div *ngIf=\"title\" class=\"text-truncate\">{{ title }}</div>\n <!-- Sub title -->\n <div *ngIf=\"subtitle\" class=\"card-subtitle text-truncate\">{{ subtitle }}</div>\n </div>\n\n <!-- Tools-->\n <div class=\"tools col-5 text-right\">\n <!-- Collapse content -->\n <a class=\"icon mdi\"\n *ngIf=\"collapseAble\"\n [ngClass]=\"{'mdi-chevron-up': isCollapsed, 'mdi-chevron-down': !isCollapsed}\"\n (click)=\"toggleContent()\"></a>\n </div>\n </div>\n </div>\n <!-- content -->\n <div [hidden]=\"!isCollapsed\">\n <ng-content></ng-content>\n </div>\n</div>\n",
2405
+ 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 class=\"card card-border card-contrast {{ cardClassName }}\">\n <div class=\"card-header {{ contrastClass }} {{ dividerClass }}\" *ngIf=\"title || subtitle\">\n <div class=\"row\">\n <div class=\"col-7\" [ngClass]=\"{clickable: collapseAble}\" (click)=\"toggleContent()\">\n <!-- Title -->\n <div *ngIf=\"title\" class=\"text-truncate\">{{ title }}</div>\n <!-- Sub title -->\n <div *ngIf=\"subtitle\" class=\"card-subtitle text-truncate\">{{ subtitle }}</div>\n </div>\n\n <!-- Tools-->\n <div class=\"tools col-5 text-right\">\n <!-- Collapse content -->\n <a\n class=\"icon mdi\"\n *ngIf=\"collapseAble\"\n [ngClass]=\"{'mdi-chevron-up': isCollapsed, 'mdi-chevron-down': !isCollapsed}\"\n (click)=\"toggleContent()\"\n ></a>\n </div>\n </div>\n </div>\n <!-- content -->\n <div [hidden]=\"!isCollapsed\">\n <ng-content></ng-content>\n </div>\n</div>\n",
2321
2406
  styles: [".card-contrast .card-header{padding:20px!important}.card-subtitle{margin-bottom:0}.card-full,.card-full .card-subtitle,.card-full .tools .icon{color:#6b6b6b!important}.card-full-warning,.card-full-warning .card-subtitle,.card-full-warning .tools .icon{color:#343a40!important}.card-full-danger,.card-full-danger .card-subtitle,.card-full-danger .tools .icon,.card-full-dark,.card-full-dark .card-subtitle,.card-full-dark .tools .icon,.card-full-info,.card-full-info .card-subtitle,.card-full-info .tools .icon,.card-full-primary,.card-full-primary .card-subtitle,.card-full-primary .tools .icon,.card-full-success,.card-full-success .card-subtitle,.card-full-success .tools .icon{color:#fff!important}.card-contrast .card-body{padding-top:15px}.card-body{padding:15px 20px}.pie-label{font-size:16px!important}.widget.widget-tile svg.ngx-charts{margin-left:-1.5rem!important}svg.ngx-charts{margin:0;padding:0}"]
2322
2407
  },] }
2323
2408
  ];
@@ -2354,10 +2439,8 @@ class WidgetModule {
2354
2439
  WidgetModule.decorators = [
2355
2440
  { type: NgModule, args: [{
2356
2441
  declarations: [WidgetComponent],
2357
- imports: [
2358
- CommonModule
2359
- ],
2360
- exports: [WidgetComponent]
2442
+ imports: [CommonModule],
2443
+ exports: [WidgetComponent],
2361
2444
  },] }
2362
2445
  ];
2363
2446
 
@@ -2388,7 +2471,7 @@ class FieldAutoFocusDirective {
2388
2471
  }
2389
2472
  FieldAutoFocusDirective.decorators = [
2390
2473
  { type: Directive, args: [{
2391
- selector: '[valtimoFieldAutoFocus]'
2474
+ selector: '[valtimoFieldAutoFocus]',
2392
2475
  },] }
2393
2476
  ];
2394
2477
  FieldAutoFocusDirective.ctorParameters = () => [
@@ -2415,12 +2498,8 @@ class FieldAutoFocusModule {
2415
2498
  FieldAutoFocusModule.decorators = [
2416
2499
  { type: NgModule, args: [{
2417
2500
  declarations: [FieldAutoFocusDirective],
2418
- exports: [
2419
- FieldAutoFocusDirective
2420
- ],
2421
- imports: [
2422
- CommonModule
2423
- ]
2501
+ exports: [FieldAutoFocusDirective],
2502
+ imports: [CommonModule],
2424
2503
  },] }
2425
2504
  ];
2426
2505
 
@@ -2493,15 +2572,15 @@ class BpmnJsDiagramComponent {
2493
2572
  }
2494
2573
  if (inputData) {
2495
2574
  Object.keys(inputData).forEach(key => {
2496
- const diagramContainer = this.el.nativeElement.querySelector('svg')
2497
- .getBoundingClientRect(), diagramElm = this.el.nativeElement.querySelector(`g[data-element-id=${key}]`)
2575
+ const diagramContainer = this.el.nativeElement.querySelector('svg').getBoundingClientRect(), diagramElm = this.el.nativeElement
2576
+ .querySelector(`g[data-element-id=${key}]`)
2498
2577
  .getBoundingClientRect();
2499
2578
  this.setMax(key);
2500
2579
  this.heatPoints.data.push({
2501
2580
  x: Math.round(diagramElm.x - diagramContainer.x + diagramElm.width / 2),
2502
2581
  y: Math.round(diagramElm.y - diagramContainer.y + diagramElm.height / 2),
2503
2582
  value: inputData[key][valueKey],
2504
- radius: diagramElm.width / 2
2583
+ radius: diagramElm.width / 2,
2505
2584
  });
2506
2585
  if (inputData[key].count > 0) {
2507
2586
  this.addCounterActiveOverlays(key, inputData);
@@ -2525,27 +2604,27 @@ class BpmnJsDiagramComponent {
2525
2604
  overlays.add(key, {
2526
2605
  position: {
2527
2606
  bottom: -10,
2528
- left: 0
2607
+ left: 0,
2529
2608
  },
2530
2609
  show: {
2531
2610
  minZoom: 0,
2532
- maxZoom: 5.0
2611
+ maxZoom: 5.0,
2533
2612
  },
2534
- html: `<span class="badge badge-pill badge-primary">${inputData[key].count}</span>`
2613
+ html: `<span class="badge badge-pill badge-primary">${inputData[key].count}</span>`,
2535
2614
  });
2536
2615
  }
2537
2616
  showHeatmap() {
2538
2617
  this.heatMapInstance = create({
2539
2618
  radius: 54,
2540
- blur: .70,
2541
- maxOpacity: .4,
2619
+ blur: 0.7,
2620
+ maxOpacity: 0.4,
2542
2621
  minOpacity: 0,
2543
- container: this.el.nativeElement
2622
+ container: this.el.nativeElement,
2544
2623
  });
2545
2624
  this.heatMapInstance.setData({
2546
2625
  min: this.min,
2547
2626
  max: this.max,
2548
- data: this.heatPoints.data
2627
+ data: this.heatPoints.data,
2549
2628
  });
2550
2629
  }
2551
2630
  clearHeatmap() {
@@ -2567,7 +2646,7 @@ class BpmnJsDiagramComponent {
2567
2646
  BpmnJsDiagramComponent.decorators = [
2568
2647
  { type: Component, args: [{
2569
2648
  selector: 'valtimo-bpmn-js-diagram',
2570
- 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 class=\"p-4\" *ngIf=\"heatmapDuration || heatmapCount\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" id=\"toggleHeatmap\" [checked]=\"heatmapMode\" (click)=\"toggleHeatmap()\"><span>\n <label for=\"toggleHeatmap\"></label></span>\n </div>\n</div>\n\n<div #ref class=\"diagram-container\"></div>\n\n<div *ngIf=\"historicActivityInstances\" class=\"p-4 text-center legenda-holder\">\n <span><div class=\"legenda highlight-overlay-past\"></div> Executed tasks</span>\n <span class=\"ml-3\"><div class=\"legenda highlight-overlay-current\"></div> Current tasks</span>\n</div>\n\n<div *ngIf=\"heatmapDuration || heatmapCount\" class=\"p-4 text-center legenda-holder\">\n <span><span class=\"badge badge-pill badge-primary\">N</span>&nbsp;&nbsp;Amount of currently active instances of this task.</span>\n <span>&nbsp;&nbsp;|&nbsp;&nbsp;Red/yellow/green orbs: The amount of times the task is executed in comparison to the other tasks.</span>\n</div>\n",
2649
+ 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 class=\"p-4\" *ngIf=\"heatmapDuration || heatmapCount\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input\n type=\"checkbox\"\n id=\"toggleHeatmap\"\n [checked]=\"heatmapMode\"\n (click)=\"toggleHeatmap()\"\n /><span> <label for=\"toggleHeatmap\"></label></span>\n </div>\n</div>\n\n<div #ref class=\"diagram-container\"></div>\n\n<div *ngIf=\"historicActivityInstances\" class=\"p-4 text-center legenda-holder\">\n <span\n ><div class=\"legenda highlight-overlay-past\"></div>\n Executed tasks</span\n >\n <span class=\"ml-3\"\n ><div class=\"legenda highlight-overlay-current\"></div>\n Current tasks</span\n >\n</div>\n\n<div *ngIf=\"heatmapDuration || heatmapCount\" class=\"p-4 text-center legenda-holder\">\n <span\n ><span class=\"badge badge-pill badge-primary\">N</span>&nbsp;&nbsp;Amount of currently active\n instances of this task.</span\n >\n <span\n >&nbsp;&nbsp;|&nbsp;&nbsp;Red/yellow/green orbs: The amount of times the task is executed in\n comparison to the other tasks.</span\n >\n</div>\n",
2571
2650
  styles: [""]
2572
2651
  },] }
2573
2652
  ];
@@ -2601,10 +2680,8 @@ class BpmnJsDiagramModule {
2601
2680
  BpmnJsDiagramModule.decorators = [
2602
2681
  { type: NgModule, args: [{
2603
2682
  declarations: [BpmnJsDiagramComponent],
2604
- imports: [
2605
- CommonModule
2606
- ],
2607
- exports: [BpmnJsDiagramComponent]
2683
+ imports: [CommonModule],
2684
+ exports: [BpmnJsDiagramComponent],
2608
2685
  },] }
2609
2686
  ];
2610
2687
 
@@ -2628,7 +2705,7 @@ class TimelineComponent {
2628
2705
  TimelineComponent.decorators = [
2629
2706
  { type: Component, args: [{
2630
2707
  selector: 'valtimo-timeline',
2631
- 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 id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n No result found\n </div>\n <div class=\"pb-5\" *ngIf=\"items?.length > 0\">\n <ul class=\"timeline mb-0 py-5\">\n <li class=\"timeline-item status-done\" *ngFor=\"let item of items\">\n <div class=\"timeline-date\">\n <span>{{ item.date }}</span>\n </div>\n <div class=\"timeline-content mt-1\">\n <div class=\"timeline-header p-0\">\n <span class=\"timeline-time\">{{ item.time }}</span>\n <span class=\"timeline-author\">{{ item.user }}</span>\n <br/>\n <p class=\"timeline-activity\">{{ item.activity }}</p>\n <div class=\"timeline-summary\">\n <p [innerHTML]=\"item.summaryTranslationKey | translate: item.summaryTranslationParams\"></p>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n</div>\n",
2708
+ 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 id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">No result found</div>\n <div class=\"pb-5\" *ngIf=\"items?.length > 0\">\n <ul class=\"timeline mb-0 py-5\">\n <li class=\"timeline-item status-done\" *ngFor=\"let item of items\">\n <div class=\"timeline-date\">\n <span>{{ item.date }}</span>\n </div>\n <div class=\"timeline-content mt-1\">\n <div class=\"timeline-header p-0\">\n <span class=\"timeline-time\">{{ item.time }}</span>\n <span class=\"timeline-author\">{{ item.user }}</span>\n <br />\n <p class=\"timeline-activity\">{{ item.activity }}</p>\n <div class=\"timeline-summary\">\n <p\n [innerHTML]=\"item.summaryTranslationKey | translate: item.summaryTranslationParams\"\n ></p>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n</div>\n",
2632
2709
  styles: [""]
2633
2710
  },] }
2634
2711
  ];
@@ -2656,11 +2733,8 @@ class TimelineModule {
2656
2733
  TimelineModule.decorators = [
2657
2734
  { type: NgModule, args: [{
2658
2735
  declarations: [TimelineComponent],
2659
- imports: [
2660
- CommonModule,
2661
- TranslateModule,
2662
- ],
2663
- exports: [TimelineComponent]
2736
+ imports: [CommonModule, TranslateModule],
2737
+ exports: [TimelineComponent],
2664
2738
  },] }
2665
2739
  ];
2666
2740
 
@@ -2750,10 +2824,8 @@ class FilterSidebarModule {
2750
2824
  FilterSidebarModule.decorators = [
2751
2825
  { type: NgModule, args: [{
2752
2826
  declarations: [FilterSidebarComponent],
2753
- imports: [
2754
- CommonModule
2755
- ],
2756
- exports: [FilterSidebarComponent]
2827
+ imports: [CommonModule],
2828
+ exports: [FilterSidebarComponent],
2757
2829
  },] }
2758
2830
  ];
2759
2831
 
@@ -2780,8 +2852,7 @@ class UploaderComponent {
2780
2852
  this.resourceRegistered = new EventEmitter();
2781
2853
  this.showFileList = true;
2782
2854
  }
2783
- ngOnInit() {
2784
- }
2855
+ ngOnInit() { }
2785
2856
  onFileFieldChange(files) {
2786
2857
  for (const file of files) {
2787
2858
  this.uploadFile(file);
@@ -2811,7 +2882,7 @@ class UploaderComponent {
2811
2882
  UploaderComponent.decorators = [
2812
2883
  { type: Component, args: [{
2813
2884
  selector: 'valtimo-uploader',
2814
- 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 class=\"upload-file-container p-5\" (click)=\"fileInput.click()\" valtimoUploaderDragDrop\n (fileDropped)=\"onFileFieldChange($event)\">\n <span class=\"align-middle\"><i class=\"fa fa-cloud-upload fa-4x\"></i></span>\n <input hidden type=\"file\" #fileInput (change)=\"onFileFieldChange($event.target.files)\" multiple/>\n</div>\n<div *ngIf=\"showFileList\">\n <div class=\"files-list px-3 py-2\" *ngFor=\"let resource of resources\">\n <p class=\"m-0\">\n <strong>{{ resource.name }}</strong><br/>\n {{ resource.sizeInBytes | filesize }}\n </p>\n <button class=\"delete-file\" (click)=\"deleteResource(resource)\">\n <i class=\"fa fa-trash text-danger\"></i>\n </button>\n </div>\n</div>\n\n",
2885
+ 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 class=\"upload-file-container p-5\"\n (click)=\"fileInput.click()\"\n valtimoUploaderDragDrop\n (fileDropped)=\"onFileFieldChange($event)\"\n>\n <span class=\"align-middle\"><i class=\"fa fa-cloud-upload fa-4x\"></i></span>\n <input hidden type=\"file\" #fileInput (change)=\"onFileFieldChange($event.target.files)\" multiple />\n</div>\n<div *ngIf=\"showFileList\">\n <div class=\"files-list px-3 py-2\" *ngFor=\"let resource of resources\">\n <p class=\"m-0\">\n <strong>{{ resource.name }}</strong\n ><br />\n {{ resource.sizeInBytes | filesize }}\n </p>\n <button class=\"delete-file\" (click)=\"deleteResource(resource)\">\n <i class=\"fa fa-trash text-danger\"></i>\n </button>\n </div>\n</div>\n",
2815
2886
  styles: [".upload-file-container{background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:100px;border:2px dashed #d5d8de;color:#d5d8de;margin:0 0 1rem;text-align:center}.upload-file-container i.mdi-cloud-upload{font-size:5em}.upload-file-container:hover{cursor:pointer;opacity:.8}.files-list{background:#fff;border:1px solid #bdc0c7;display:flex;font-size:1em;justify-content:space-between;margin:1rem auto;padding:5px}.files-list .delete-file{background:transparent;border:none;cursor:pointer}.files-list .delete-file i{font-size:1.5em}"]
2816
2887
  },] }
2817
2888
  ];
@@ -2862,7 +2933,7 @@ class UploaderDragDropDirective {
2862
2933
  }
2863
2934
  UploaderDragDropDirective.decorators = [
2864
2935
  { type: Directive, args: [{
2865
- selector: '[valtimoUploaderDragDrop]'
2936
+ selector: '[valtimoUploaderDragDrop]',
2866
2937
  },] }
2867
2938
  ];
2868
2939
  UploaderDragDropDirective.propDecorators = {
@@ -2889,14 +2960,7 @@ UploaderDragDropDirective.propDecorators = {
2889
2960
  */
2890
2961
  class FileSizePipe {
2891
2962
  constructor() {
2892
- this.units = [
2893
- 'bytes',
2894
- 'KB',
2895
- 'MB',
2896
- 'GB',
2897
- 'TB',
2898
- 'PB'
2899
- ];
2963
+ this.units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
2900
2964
  }
2901
2965
  transform(bytes = 0, precision = 2) {
2902
2966
  if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) {
@@ -2912,7 +2976,7 @@ class FileSizePipe {
2912
2976
  }
2913
2977
  FileSizePipe.decorators = [
2914
2978
  { type: Pipe, args: [{
2915
- name: 'filesize'
2979
+ name: 'filesize',
2916
2980
  },] }
2917
2981
  ];
2918
2982
 
@@ -2936,10 +3000,8 @@ class FileSizeModule {
2936
3000
  FileSizeModule.decorators = [
2937
3001
  { type: NgModule, args: [{
2938
3002
  declarations: [FileSizePipe],
2939
- imports: [
2940
- CommonModule
2941
- ],
2942
- exports: [FileSizePipe]
3003
+ imports: [CommonModule],
3004
+ exports: [FileSizePipe],
2943
3005
  },] }
2944
3006
  ];
2945
3007
 
@@ -2963,11 +3025,8 @@ class UploaderModule {
2963
3025
  UploaderModule.decorators = [
2964
3026
  { type: NgModule, args: [{
2965
3027
  declarations: [UploaderComponent, UploaderDragDropDirective],
2966
- imports: [
2967
- CommonModule,
2968
- FileSizeModule
2969
- ],
2970
- exports: [UploaderComponent, UploaderDragDropDirective]
3028
+ imports: [CommonModule, FileSizeModule],
3029
+ exports: [UploaderComponent, UploaderDragDropDirective],
2971
3030
  },] }
2972
3031
  ];
2973
3032
 
@@ -3067,11 +3126,9 @@ class AlertComponent {
3067
3126
  this.alerts = [];
3068
3127
  this.autoCloseInMS = 5000;
3069
3128
  }
3070
- ngOnInit() {
3071
- }
3129
+ ngOnInit() { }
3072
3130
  ngAfterContentInit() {
3073
- this.subscription = this.alertService.onAlert()
3074
- .subscribe(alert => {
3131
+ this.subscription = this.alertService.onAlert().subscribe(alert => {
3075
3132
  if (!alert.message) {
3076
3133
  // clear alerts when an empty alert is received
3077
3134
  this.alerts = [];
@@ -3177,7 +3234,7 @@ class AlertComponent {
3177
3234
  AlertComponent.decorators = [
3178
3235
  { type: Component, args: [{
3179
3236
  selector: 'valtimo-alert',
3180
- 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 *ngFor=\"let alert of alerts\" class=\"{{cssClass(alert)}} rounded-0 m-0 alert-dismissable\">\n\n <div *ngIf=\"inModal(alert)\">\n <!-- Modal -->\n <div class=\"modal fade\" id=\"modalNotification\" tabindex=\"-1\" role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body p-0\">\n <button class=\"close\" type=\"button\" (click)=\"removeAlert(alert)\"><span class=\"mdi mdi-close\" aria-hidden=\"true\"></span></button>\n <div class=\"icon\"><span class=\"{{ alert.iconClass || cssIconClass(alert) }}\"></span></div>\n <div class=\"message\">\n <div [innerHTML]=\"alert.message\"></div>\n </div>\n </div>\n <div class=\"modal-footer pt-0\" *ngIf=\"alert.confirmations?.length\">\n <button class=\"{{ confirmation.class }} mr-2\"\n *ngFor=\"let confirmation of alert.confirmations\"\n (click)=\"alertConfirm(alert, confirmation.value)\">{{ confirmation.label }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!inModal(alert)\" class=\"alert-block\">\n <div class=\"icon\"><span class=\"{{ alert.iconClass || cssIconClass(alert) }}\"></span></div>\n <div class=\"message\">\n <div [innerHTML]=\"alert.message\"></div>\n <div class=\"mt-3\" *ngIf=\"alert.confirmations?.length\">\n <button class=\"{{ confirmation.class }} mr-2\"\n *ngFor=\"let confirmation of alert.confirmations\"\n (click)=\"alertConfirm(alert, confirmation.value)\">{{ confirmation.label }}</button>\n </div>\n </div>\n <button class=\"close\" type=\"button\" (click)=\"removeAlert(alert)\"><span class=\"mdi mdi-close\" aria-hidden=\"true\"></span></button>\n </div>\n</div>\n",
3237
+ 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 *ngFor=\"let alert of alerts\" class=\"{{ cssClass(alert) }} rounded-0 m-0 alert-dismissable\">\n <div *ngIf=\"inModal(alert)\">\n <!-- Modal -->\n <div class=\"modal fade\" id=\"modalNotification\" tabindex=\"-1\" role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body p-0\">\n <button class=\"close\" type=\"button\" (click)=\"removeAlert(alert)\">\n <span class=\"mdi mdi-close\" aria-hidden=\"true\"></span>\n </button>\n <div class=\"icon\">\n <span class=\"{{ alert.iconClass || cssIconClass(alert) }}\"></span>\n </div>\n <div class=\"message\">\n <div [innerHTML]=\"alert.message\"></div>\n </div>\n </div>\n <div class=\"modal-footer pt-0\" *ngIf=\"alert.confirmations?.length\">\n <button\n class=\"{{ confirmation.class }} mr-2\"\n *ngFor=\"let confirmation of alert.confirmations\"\n (click)=\"alertConfirm(alert, confirmation.value)\"\n >\n {{ confirmation.label }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!inModal(alert)\" class=\"alert-block\">\n <div class=\"icon\"><span class=\"{{ alert.iconClass || cssIconClass(alert) }}\"></span></div>\n <div class=\"message\">\n <div [innerHTML]=\"alert.message\"></div>\n <div class=\"mt-3\" *ngIf=\"alert.confirmations?.length\">\n <button\n class=\"{{ confirmation.class }} mr-2\"\n *ngFor=\"let confirmation of alert.confirmations\"\n (click)=\"alertConfirm(alert, confirmation.value)\"\n >\n {{ confirmation.label }}\n </button>\n </div>\n </div>\n <button class=\"close\" type=\"button\" (click)=\"removeAlert(alert)\">\n <span class=\"mdi mdi-close\" aria-hidden=\"true\"></span>\n </button>\n </div>\n</div>\n",
3181
3238
  styles: [".alert-block{display:flex;flex-direction:row;justify-content:space-between}.alert-block .message{width:100%}.alert-block .icon{align-items:center;display:flex}.alert .message{font-size:1.1rem!important;line-height:1.5rem!important;padding:2rem 5rem 2rem 2rem!important}.alert .close{color:#fff!important;opacity:1!important;padding:2rem 2rem 0 0!important;right:0!important}.alert .icon{padding-left:2rem!important}.alert-warning{color:#404040!important}.alert-light .close,.alert-warning .close{color:#404040!important;opacity:1!important}"]
3182
3239
  },] }
3183
3240
  ];
@@ -3206,7 +3263,7 @@ AlertModule.decorators = [
3206
3263
  { type: NgModule, args: [{
3207
3264
  imports: [CommonModule],
3208
3265
  declarations: [AlertComponent],
3209
- exports: [AlertComponent]
3266
+ exports: [AlertComponent],
3210
3267
  },] }
3211
3268
  ];
3212
3269
 
@@ -3227,8 +3284,7 @@ AlertModule.decorators = [
3227
3284
  */
3228
3285
  class DataListComponent {
3229
3286
  constructor() { }
3230
- ngOnInit() {
3231
- }
3287
+ ngOnInit() { }
3232
3288
  }
3233
3289
  DataListComponent.decorators = [
3234
3290
  { type: Component, args: [{
@@ -3263,10 +3319,8 @@ class DataListModule {
3263
3319
  DataListModule.decorators = [
3264
3320
  { type: NgModule, args: [{
3265
3321
  declarations: [DataListComponent],
3266
- imports: [
3267
- CommonModule
3268
- ],
3269
- exports: [DataListComponent]
3322
+ imports: [CommonModule],
3323
+ exports: [DataListComponent],
3270
3324
  },] }
3271
3325
  ];
3272
3326
 
@@ -3308,21 +3362,22 @@ FormIoStateService.decorators = [
3308
3362
  * limitations under the License.
3309
3363
  */
3310
3364
  class FormioComponent {
3311
- constructor(userProviderService, logger, stateService, route) {
3365
+ constructor(userProviderService, logger, stateService, route, translateService) {
3312
3366
  this.userProviderService = userProviderService;
3313
3367
  this.logger = logger;
3314
3368
  this.stateService = stateService;
3315
3369
  this.route = route;
3370
+ this.translateService = translateService;
3316
3371
  this.submission = {};
3317
3372
  this.submit = new EventEmitter();
3318
3373
  this.change = new EventEmitter();
3319
3374
  this.refreshForm = new EventEmitter();
3320
3375
  this.errors = [];
3376
+ this.currentLanguage$ = new BehaviorSubject(this.translateService.currentLang);
3321
3377
  }
3322
3378
  ngOnInit() {
3323
3379
  const documentDefinitionName = this.route.snapshot.paramMap.get('documentDefinitionName');
3324
3380
  const formDefinition = this.form;
3325
- this.loadUserLanguageSetting();
3326
3381
  this.formDefinition = formDefinition;
3327
3382
  this.errors = [];
3328
3383
  if (this.formHasLegacyUpload(formDefinition)) {
@@ -3332,11 +3387,11 @@ class FormioComponent {
3332
3387
  this.stateService.setDocumentDefinitionName(documentDefinitionName);
3333
3388
  }
3334
3389
  this.subscribeFormRefresh();
3390
+ this.openLanguageSubscription();
3335
3391
  }
3336
3392
  ngOnChanges(changes) {
3337
3393
  const currentForm = changes.form.currentValue;
3338
3394
  this.formDefinition = currentForm;
3339
- this.loadUserLanguageSetting();
3340
3395
  this.reloadForm();
3341
3396
  if (this.formHasLegacyUpload(currentForm)) {
3342
3397
  this.setInitialToken();
@@ -3347,17 +3402,14 @@ class FormioComponent {
3347
3402
  }
3348
3403
  }
3349
3404
  ngOnDestroy() {
3405
+ var _a, _b;
3350
3406
  this.unsubscribeFormRefresh();
3351
- if (this.tokenRefreshTimerSubscription) {
3352
- this.tokenRefreshTimerSubscription.unsubscribe();
3353
- }
3354
- }
3355
- loadUserLanguageSetting() {
3356
- this.language = localStorage.getItem('langKey') || '';
3407
+ (_a = this.tokenRefreshTimerSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
3408
+ (_b = this.languageSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
3357
3409
  }
3358
3410
  reloadForm() {
3359
3411
  this.refreshForm.emit({
3360
- form: this.formDefinition
3412
+ form: this.formDefinition,
3361
3413
  });
3362
3414
  }
3363
3415
  showErrors(errors) {
@@ -3406,7 +3458,7 @@ class FormioComponent {
3406
3458
  }
3407
3459
  subscribeFormRefresh() {
3408
3460
  if (this.formRefresh$) {
3409
- this.formRefreshSubscription = this.formRefresh$.subscribe((refreshValue) => {
3461
+ this.formRefreshSubscription = this.formRefresh$.subscribe(refreshValue => {
3410
3462
  if (refreshValue) {
3411
3463
  this.refreshForm.emit(refreshValue);
3412
3464
  }
@@ -3418,11 +3470,16 @@ class FormioComponent {
3418
3470
  this.formRefreshSubscription.unsubscribe();
3419
3471
  }
3420
3472
  }
3473
+ openLanguageSubscription() {
3474
+ this.languageSubscription = this.translateService.stream('key').subscribe(() => {
3475
+ this.currentLanguage$.next(this.translateService.currentLang);
3476
+ });
3477
+ }
3421
3478
  }
3422
3479
  FormioComponent.decorators = [
3423
3480
  { type: Component, args: [{
3424
3481
  selector: 'valtimo-form-io',
3425
- 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=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{error}}\n </li>\n </ol>\n </div>\n <formio [submission]=\"submission\"\n [form]=\"formDefinition\"\n [refresh]=\"refreshForm\"\n [options]=\"options\"\n [language]=\"language\"\n (submit)=\"onSubmit($event)\"\n (ready)=\"formReady($event)\"\n (change)=\"onChange($event)\"\n >\n </formio>\n</div>\n",
3482
+ 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=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n <formio\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [refresh]=\"refreshForm\"\n [options]=\"options\"\n [language]=\"currentLanguage$ | async\"\n (submit)=\"onSubmit($event)\"\n (ready)=\"formReady($event)\"\n (change)=\"onChange($event)\"\n ></formio>\n</div>\n",
3426
3483
  styles: [""]
3427
3484
  },] }
3428
3485
  ];
@@ -3430,7 +3487,8 @@ FormioComponent.ctorParameters = () => [
3430
3487
  { type: UserProviderService },
3431
3488
  { type: NGXLogger },
3432
3489
  { type: FormIoStateService },
3433
- { type: ActivatedRoute }
3490
+ { type: ActivatedRoute },
3491
+ { type: TranslateService }
3434
3492
  ];
3435
3493
  FormioComponent.propDecorators = {
3436
3494
  form: [{ type: Input }],
@@ -3460,8 +3518,7 @@ class FormioBuilderComponent {
3460
3518
  constructor() {
3461
3519
  this.change = new EventEmitter();
3462
3520
  }
3463
- ngOnInit() {
3464
- }
3521
+ ngOnInit() { }
3465
3522
  onChange(event) {
3466
3523
  this.change.emit(event);
3467
3524
  }
@@ -3469,7 +3526,7 @@ class FormioBuilderComponent {
3469
3526
  FormioBuilderComponent.decorators = [
3470
3527
  { type: Component, args: [{
3471
3528
  selector: 'valtimo-form-io-builder',
3472
- 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 <form-builder [form]=\"form\" (change)=\"onChange($event)\" ></form-builder>\n</div>\n",
3529
+ 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 <form-builder [form]=\"form\" (change)=\"onChange($event)\"></form-builder>\n</div>\n",
3473
3530
  styles: [""]
3474
3531
  },] }
3475
3532
  ];
@@ -3498,7 +3555,7 @@ const AppConfig = {
3498
3555
  appUrl: 'http://localhost:4200',
3499
3556
  apiUrl: 'http://localhost:4200',
3500
3557
  icons: 'fontawesome',
3501
- formOnly: false
3558
+ formOnly: false,
3502
3559
  };
3503
3560
 
3504
3561
  class FormIoDomService {
@@ -3506,7 +3563,7 @@ class FormIoDomService {
3506
3563
  this.stateService = stateService;
3507
3564
  }
3508
3565
  toggleSubmitButton(disabled) {
3509
- this.stateService.currentForm$.pipe(take(1)).subscribe((form) => {
3566
+ this.stateService.currentForm$.pipe(take(1)).subscribe(form => {
3510
3567
  const button = form.formioElement.nativeElement
3511
3568
  .getElementsByClassName('formio-component-submit')[0]
3512
3569
  .getElementsByClassName('btn-primary')[0];
@@ -3540,15 +3597,17 @@ class FormIoUploaderComponent {
3540
3597
  }
3541
3598
  }
3542
3599
  downloadFile(resourceFile) {
3543
- this.uploadProviderService.getResource(resourceFile.data.resourceId).subscribe((resource) => {
3600
+ this.uploadProviderService
3601
+ .getResource(resourceFile.data.resourceId)
3602
+ .subscribe((resource) => {
3544
3603
  this.downloadService.downloadFile(resource.url, resource.resource.name);
3545
3604
  });
3546
3605
  }
3547
3606
  fileSelected(file) {
3548
3607
  this.domService.toggleSubmitButton(true);
3549
3608
  this.uploading$.next(true);
3550
- this.stateService.documentDefinitionName$.pipe(take(1)).subscribe((name) => {
3551
- this.uploadProviderService.uploadFile(file, name).subscribe((result) => {
3609
+ this.stateService.documentDefinitionName$.pipe(take(1)).subscribe(name => {
3610
+ this.uploadProviderService.uploadFile(file, name).subscribe(result => {
3552
3611
  this.domService.toggleSubmitButton(false);
3553
3612
  this.uploading$.next(false);
3554
3613
  this._value.push(result);
@@ -3565,7 +3624,7 @@ class FormIoUploaderComponent {
3565
3624
  FormIoUploaderComponent.decorators = [
3566
3625
  { type: Component, args: [{
3567
3626
  selector: 'valtimo-formio-uploader',
3568
- template: "<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [disabled]=\"disabled\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [camera]=\"camera\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<div class=\"file-preview\" *ngFor=\"let resource of _value\">\n <div class=\"file-preview-name\">\n <a href=\"#\" (click)=\"downloadFile(resource)\">\n {{resource.originalName}}\n </a>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{resource.size | filesize}}\n </span>\n </div>\n <div class=\"file-preview-delete\" *ngIf=\"!disabled\">\n <a (click)=\"deleteFile(resource.data.resourceId)\">\n <i class=\"icon fa fa-trash\"></i>\n </a>\n </div>\n</div>\n",
3627
+ template: "<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [disabled]=\"disabled\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [camera]=\"camera\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<div class=\"file-preview\" *ngFor=\"let resource of _value\">\n <div class=\"file-preview-name\">\n <a href=\"#\" (click)=\"downloadFile(resource)\">\n {{ resource.originalName }}\n </a>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.size | filesize }}\n </span>\n </div>\n <div class=\"file-preview-delete\" *ngIf=\"!disabled\">\n <a (click)=\"deleteFile(resource.data.resourceId)\">\n <i class=\"icon fa fa-trash\"></i>\n </a>\n </div>\n</div>\n",
3569
3628
  styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .btn-secondary,::ng-deep .formio-component-valtimo-file .formio-button-add-another{display:none}::ng-deep .formio-component-valtimo-file td{border:none;padding:0!important}::ng-deep .formio-component-valtimo-file .table{border:none;border-collapse:collapse;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{border:1px solid #dee2e6;display:flex;margin-top:-1px}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;cursor:pointer;font-size:1.3846rem;line-height:18px}.file-preview .icon:hover{color:grey}"]
3570
3629
  },] }
3571
3630
  ];
@@ -3617,13 +3676,13 @@ class DropzoneComponent {
3617
3676
  this.error$ = new BehaviorSubject('');
3618
3677
  this.errorMessagesStrings = {
3619
3678
  tooBig: 'too big',
3620
- wrongType: 'this type'
3679
+ wrongType: 'this type',
3621
3680
  };
3622
3681
  this.errorMessage$ = combineLatest([
3623
3682
  this.error$,
3624
3683
  this.translateService.stream('dropzone.error.generic'),
3625
3684
  this.translateService.stream('dropzone.error.tooBig'),
3626
- this.translateService.stream('dropzone.error.wrongType')
3685
+ this.translateService.stream('dropzone.error.wrongType'),
3627
3686
  ]).pipe(map(([dropzoneError, generic, tooBig, wrongType]) => {
3628
3687
  const strings = this.errorMessagesStrings;
3629
3688
  if (dropzoneError) {
@@ -3675,7 +3734,7 @@ class DropzoneComponent {
3675
3734
  accept: file => {
3676
3735
  this.dropzone.removeAllFiles();
3677
3736
  this.setFile(file);
3678
- }
3737
+ },
3679
3738
  });
3680
3739
  this.setDropzoneEvents();
3681
3740
  }
@@ -3701,7 +3760,7 @@ class DropzoneComponent {
3701
3760
  DropzoneComponent.decorators = [
3702
3761
  { type: Component, args: [{
3703
3762
  selector: 'valtimo-dropzone',
3704
- template: "<form #dropzone [ngClass]=\"{ disabled: disabled || uploading}\" class=\"dropzone dz-clickable\">\n <div class=\"dz-message\">\n <div class=\"icon\"><span class=\"mdi mdi-cloud-upload\"></span></div>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n <ng-container *ngIf=\"uploading\">\n <ng-container *ngTemplateOutlet=\"progressBar\"></ng-container>\n </ng-container>\n <div class=\"dropzone-mobile-trigger needsclick\"></div>\n </div>\n <button (click)=\"showCamera()\" *ngIf=\"camera\" type=\"button\" class=\"btn btn-primary px-3 webcam-button\"><i class=\"fa fa-camera\" aria-hidden=\"true\"></i></button>\n <ng-container *ngIf=\"showingCamera$ | async\">\n <ng-container *ngTemplateOutlet=\"webcam\"></ng-container>\n </ng-container>\n</form>\n\n<ng-template #body>\n <h2 *ngIf=\"!hideTitle\" class=\"mb-4 mt-2\">{{ title || ('dropzone.drop' | translate) }}</h2>\n <span *ngIf=\"subtitle\" class=\"note mb-3\">{{ subtitle }}</span>\n <span *ngIf=\" showMaxFileSize\" class=\"note mb-3 small-font\"\n >{{ 'dropzone.maxFileSize' | translate }}<b>{{ maxFileSize }}mb</b></span\n >\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n</ng-template>\n\n<ng-template #preview>\n <ng-container\n *ngIf=\"{ errorMessage: errorMessage$ | async, externalError: externalError$ | async, file: file$ | async } as obs\"\n >\n <ng-container *ngIf=\"obs.externalError || obs.errorMessage\">\n <div class=\"alert alert-danger mt-2 mb-0\">\n <div class=\"message\">\n {{ obs.externalError || obs.errorMessage }}\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!hideFilePreview && (obs.file && !obs.externalError && !obs.errorMessage)\">\n <div class=\"file\">\n <i class=\"icon mdi mdi-file-text mr-2\"></i>\n <span class=\"note\">{{ obs.file.name }}</span>\n <span class=\"note file-size\">- {{ obs.file.size | filesize: 2}}</span>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #progressBar>\n <div class=\"progress-bar-container\">\n <valtimo-progress-bar></valtimo-progress-bar>\n </div>\n</ng-template>\n\n<ng-template #webcam>\n <valtimo-webcam (imageSaved)=\"webcamImageSaved($event)\"></valtimo-webcam>\n</ng-template>\n\n",
3763
+ template: "<form #dropzone [ngClass]=\"{disabled: disabled || uploading}\" class=\"dropzone dz-clickable\">\n <div class=\"dz-message\">\n <div class=\"icon\"><span class=\"mdi mdi-cloud-upload\"></span></div>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n <ng-container *ngIf=\"uploading\">\n <ng-container *ngTemplateOutlet=\"progressBar\"></ng-container>\n </ng-container>\n <div class=\"dropzone-mobile-trigger needsclick\"></div>\n </div>\n <button\n (click)=\"showCamera()\"\n *ngIf=\"camera\"\n type=\"button\"\n class=\"btn btn-primary px-3 webcam-button\"\n >\n <i class=\"fa fa-camera\" aria-hidden=\"true\"></i>\n </button>\n <ng-container *ngIf=\"showingCamera$ | async\">\n <ng-container *ngTemplateOutlet=\"webcam\"></ng-container>\n </ng-container>\n</form>\n\n<ng-template #body>\n <h2 *ngIf=\"!hideTitle\" class=\"mb-4 mt-2\">{{ title || ('dropzone.drop' | translate) }}</h2>\n <span *ngIf=\"subtitle\" class=\"note mb-3\">{{ subtitle }}</span>\n <span *ngIf=\"showMaxFileSize\" class=\"note mb-3 small-font\"\n >{{ 'dropzone.maxFileSize' | translate }}<b>{{ maxFileSize }}mb</b></span\n >\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n</ng-template>\n\n<ng-template #preview>\n <ng-container\n *ngIf=\"{\n errorMessage: errorMessage$ | async,\n externalError: externalError$ | async,\n file: file$ | async\n } as obs\"\n >\n <ng-container *ngIf=\"obs.externalError || obs.errorMessage\">\n <div class=\"alert alert-danger mt-2 mb-0\">\n <div class=\"message\">\n {{ obs.externalError || obs.errorMessage }}\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!hideFilePreview && obs.file && !obs.externalError && !obs.errorMessage\">\n <div class=\"file\">\n <i class=\"icon mdi mdi-file-text mr-2\"></i>\n <span class=\"note\">{{ obs.file.name }}</span>\n <span class=\"note file-size\">- {{ obs.file.size | filesize: 2 }}</span>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #progressBar>\n <div class=\"progress-bar-container\">\n <valtimo-progress-bar></valtimo-progress-bar>\n </div>\n</ng-template>\n\n<ng-template #webcam>\n <valtimo-webcam (imageSaved)=\"webcamImageSaved($event)\"></valtimo-webcam>\n</ng-template>\n",
3705
3764
  styles: ["form.dropzone{padding:30px 20px}form.dropzone h2{font-size:2rem;text-align:center}form.dropzone.disabled{cursor:default;opacity:.7;pointer-events:none}form.dropzone.preview{border:none;padding:15px 20px}.dz-message{align-items:center;display:flex;flex-direction:column}.dropzone-mobile-trigger{cursor:pointer}.alert-light{align-items:center;display:flex}form.dropzone .mdi{background-color:transparent;border-radius:0;display:inline-block;height:auto;margin-bottom:0;padding:0;width:auto}form.dropzone .message{padding:1.385rem 2.1542rem}.file{align-items:center;display:flex;flex-direction:row;font-size:1.5rem}.small-font{color:#959595;font-size:1rem}.file-size{margin-left:5px}.progress-bar-container{bottom:0;height:auto;position:absolute;width:100%}.webcam-button{position:absolute;right:10px;top:10px}"]
3706
3765
  },] }
3707
3766
  ];
@@ -3745,7 +3804,7 @@ class ProgressBarComponent {
3745
3804
  ProgressBarComponent.decorators = [
3746
3805
  { type: Component, args: [{
3747
3806
  selector: 'valtimo-progress-bar',
3748
- template: "<div class=\"progress\" style=\"position: relative;\">\n <div class=\"progress-bar progress-bar-striped indeterminate\">\n </div>\n</div>\n",
3807
+ template: "<div class=\"progress\" style=\"position: relative\">\n <div class=\"progress-bar progress-bar-striped indeterminate\"></div>\n</div>\n",
3749
3808
  styles: [".progress-bar.indeterminate{-webkit-animation:progress-indeterminate 3s linear infinite;animation:progress-indeterminate 3s linear infinite;position:relative}@-webkit-keyframes progress-indeterminate{0%{left:-25%;width:25%}to{left:100%;width:25%}}@keyframes progress-indeterminate{0%{left:-25%;width:25%}to{left:100%;width:25%}}"]
3750
3809
  },] }
3751
3810
  ];
@@ -3770,10 +3829,8 @@ class ProgressBarModule {
3770
3829
  ProgressBarModule.decorators = [
3771
3830
  { type: NgModule, args: [{
3772
3831
  declarations: [ProgressBarComponent],
3773
- imports: [
3774
- CommonModule,
3775
- ],
3776
- exports: [ProgressBarComponent]
3832
+ imports: [CommonModule],
3833
+ exports: [ProgressBarComponent],
3777
3834
  },] }
3778
3835
  ];
3779
3836
 
@@ -3805,8 +3862,7 @@ class WebcamComponent {
3805
3862
  this.toggleFade();
3806
3863
  });
3807
3864
  if (navigator.mediaDevices.getUserMedia) {
3808
- navigator.mediaDevices.getUserMedia({ video: true })
3809
- .then((stream) => {
3865
+ navigator.mediaDevices.getUserMedia({ video: true }).then(stream => {
3810
3866
  video.srcObject = stream;
3811
3867
  this.stream$.next(stream);
3812
3868
  });
@@ -3836,9 +3892,9 @@ class WebcamComponent {
3836
3892
  return false;
3837
3893
  }
3838
3894
  stopStream() {
3839
- this.stream$.pipe(take(1)).subscribe((mediaStream) => {
3895
+ this.stream$.pipe(take(1)).subscribe(mediaStream => {
3840
3896
  if (mediaStream) {
3841
- mediaStream.getTracks().forEach((stream) => stream.stop());
3897
+ mediaStream.getTracks().forEach(stream => stream.stop());
3842
3898
  }
3843
3899
  });
3844
3900
  }
@@ -3869,7 +3925,7 @@ class WebcamComponent {
3869
3925
  WebcamComponent.decorators = [
3870
3926
  { type: Component, args: [{
3871
3927
  selector: 'valtimo-webcam',
3872
- template: "<div (click)=\"close(false)\" *ngIf=\"{picture: picture$ | async, stream: stream$ | async} as obs\"\n [ngClass]=\"{showing: showing$ | async}\"\n class=\"webcam-overlay\">\n <div (click)=\"false; $event.stopPropagation();\" class=\"inner-container\">\n <div class=\"webcam-container modal-content\">\n <div class=\"video-container\">\n <video autoplay=\"true\" id=\"videoElement\"></video>\n <canvas id=\"canvas\"></canvas>\n <img *ngIf=\"obs.picture?.uri\" [src]=\"obs.picture?.uri\"/>\n </div>\n <div class=\"button-container\">\n <div class=\"picture-btn\">\n <button (click)=\"captureImage()\" [disabled]=\"obs.picture?.file || !obs.stream\" class=\"btn btn-primary btn-lg\">\n <i\n class=\"fa fa-camera\"></i>{{'webcam.takePicture' | translate}}\n </button>\n </div>\n <div class=\"new-btn\">\n <button (click)=\"clearImage()\" [disabled]=\"!obs.picture?.file\" class=\"btn btn-primary\"><i\n class=\"fa fa-undo\"></i>{{'webcam.redo' | translate}}\n </button>\n </div>\n <div class=\"save-btn\">\n <button (click)=\"close()\" [disabled]=\"!obs.picture?.file\" class=\"btn btn-primary\"><i\n class=\"fa fa-save\"></i>{{'webcam.save' | translate}}</button>\n </div>\n </div>\n </div>\n <div class=\"modal-header\">\n <button (click)=\"close(false)\" aria-label=\"Close\" class=\"close\"><span>\u00D7</span></button>\n </div>\n </div>\n</div>\n",
3928
+ template: "<div\n (click)=\"close(false)\"\n *ngIf=\"{picture: picture$ | async, stream: stream$ | async} as obs\"\n [ngClass]=\"{showing: showing$ | async}\"\n class=\"webcam-overlay\"\n>\n <div (click)=\"(false); $event.stopPropagation()\" class=\"inner-container\">\n <div class=\"webcam-container modal-content\">\n <div class=\"video-container\">\n <video autoplay=\"true\" id=\"videoElement\"></video>\n <canvas id=\"canvas\"></canvas>\n <img *ngIf=\"obs.picture?.uri\" [src]=\"obs.picture?.uri\" />\n </div>\n <div class=\"button-container\">\n <div class=\"picture-btn\">\n <button\n (click)=\"captureImage()\"\n [disabled]=\"obs.picture?.file || !obs.stream\"\n class=\"btn btn-primary btn-lg\"\n >\n <i class=\"fa fa-camera\"></i>{{ 'webcam.takePicture' | translate }}\n </button>\n </div>\n <div class=\"new-btn\">\n <button (click)=\"clearImage()\" [disabled]=\"!obs.picture?.file\" class=\"btn btn-primary\">\n <i class=\"fa fa-undo\"></i>{{ 'webcam.redo' | translate }}\n </button>\n </div>\n <div class=\"save-btn\">\n <button (click)=\"close()\" [disabled]=\"!obs.picture?.file\" class=\"btn btn-primary\">\n <i class=\"fa fa-save\"></i>{{ 'webcam.save' | translate }}\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-header\">\n <button (click)=\"close(false)\" aria-label=\"Close\" class=\"close\"><span>\u00D7</span></button>\n </div>\n </div>\n</div>\n",
3873
3929
  styles: [".webcam-overlay{align-items:center;background-color:rgba(0,0,0,.65);display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .15s linear;width:100%;z-index:9999}.showing{opacity:1}.webcam-container{padding:20px}.button-container{align-items:center;display:flex;height:30px;justify-content:space-evenly;margin-bottom:10px;margin-top:20px}.button-container i{margin-right:5px}.new-btn,.picture-btn,.save-btn{display:flex;justify-content:center;position:absolute}.new-btn,.save-btn{width:calc(50% - 65px)}.picture-btn{left:0;width:100%}.new-btn{left:0}.save-btn{right:0}.modal-header{color:grey;margin-top:35px;padding:0;position:absolute;right:-18px;top:0}.close{color:grey}.inner-container{position:relative}.video-container{height:495px;overflow:hidden}.video-container img,.video-container video{height:495px;position:absolute;width:660px}.video-container img{-o-object-fit:cover;object-fit:cover}#canvas{display:none}"]
3874
3930
  },] }
3875
3931
  ];
@@ -3897,11 +3953,8 @@ class WebcamModule {
3897
3953
  WebcamModule.decorators = [
3898
3954
  { type: NgModule, args: [{
3899
3955
  declarations: [WebcamComponent],
3900
- imports: [
3901
- CommonModule,
3902
- TranslateModule
3903
- ],
3904
- exports: [WebcamComponent]
3956
+ imports: [CommonModule, TranslateModule],
3957
+ exports: [WebcamComponent],
3905
3958
  },] }
3906
3959
  ];
3907
3960
 
@@ -3926,7 +3979,7 @@ DropzoneModule.decorators = [
3926
3979
  { type: NgModule, args: [{
3927
3980
  declarations: [DropzoneComponent],
3928
3981
  imports: [CommonModule, TranslateModule, FileSizeModule, ProgressBarModule, WebcamModule],
3929
- exports: [DropzoneComponent]
3982
+ exports: [DropzoneComponent],
3930
3983
  },] }
3931
3984
  ];
3932
3985
 
@@ -3958,14 +4011,14 @@ FormIoModule.decorators = [
3958
4011
  DocumentModule,
3959
4012
  FileSizeModule,
3960
4013
  ResourceModule,
3961
- RouterModule
4014
+ RouterModule,
3962
4015
  ],
3963
4016
  declarations: [FormioComponent, FormioBuilderComponent, FormIoUploaderComponent],
3964
4017
  exports: [FormioComponent, FormioBuilderComponent, FormIoUploaderComponent],
3965
4018
  providers: [
3966
4019
  FormIoStateService,
3967
4020
  FormIoDomService,
3968
- { provide: FormioAppConfig, useValue: ɵ0$1 }
4021
+ { provide: FormioAppConfig, useValue: ɵ0$1 },
3969
4022
  ],
3970
4023
  },] }
3971
4024
  ];
@@ -4038,7 +4091,7 @@ ModalModule.decorators = [
4038
4091
  { type: NgModule, args: [{
4039
4092
  declarations: [ModalComponent],
4040
4093
  imports: [CommonModule],
4041
- exports: [ModalComponent]
4094
+ exports: [ModalComponent],
4042
4095
  },] }
4043
4096
  ];
4044
4097
 
@@ -4071,7 +4124,7 @@ class SpinnerComponent {
4071
4124
  SpinnerComponent.decorators = [
4072
4125
  { type: Component, args: [{
4073
4126
  selector: 'valtimo-spinner',
4074
- 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<ng-container *ngIf=\"useBootstrapSpinner; else ngxSpinner\">\n <div class=\"spinner-container\" [ngClass]=\"{'no-margin-top': noMarginTop}\">\n <div class=\"spinner-border text-primary\" role=\"status\">\n <span class=\"sr-only\">{{ \"interface.loading\" | translate }}</span>\n </div>\n </div>\n</ng-container>\n\n<ng-template #ngxSpinner>\n <ngx-spinner\n [bdColor]=\"bdColor\"\n [fullScreen]=\"fullScreen\"\n [name]=\"name\"\n [color]=\"color\"\n [size]=\"size\"\n [type]=\"type\"\n >\n </ngx-spinner>\n</ng-template>\n",
4127
+ 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<ng-container *ngIf=\"useBootstrapSpinner; else ngxSpinner\">\n <div class=\"spinner-container\" [ngClass]=\"{'no-margin-top': noMarginTop}\">\n <div class=\"spinner-border text-primary\" role=\"status\">\n <span class=\"sr-only\">{{ 'interface.loading' | translate }}</span>\n </div>\n </div>\n</ng-container>\n\n<ng-template #ngxSpinner>\n <ngx-spinner\n [bdColor]=\"bdColor\"\n [fullScreen]=\"fullScreen\"\n [name]=\"name\"\n [color]=\"color\"\n [size]=\"size\"\n [type]=\"type\"\n >\n </ngx-spinner>\n</ng-template>\n",
4075
4128
  styles: ["/*!\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 */.spinner-container{display:flex;justify-content:center;margin-top:30px;width:100%}.spinner-container.no-margin-top{margin-top:0}"]
4076
4129
  },] }
4077
4130
  ];
@@ -4106,14 +4159,8 @@ class SpinnerModule {
4106
4159
  SpinnerModule.decorators = [
4107
4160
  { type: NgModule, args: [{
4108
4161
  declarations: [SpinnerComponent],
4109
- exports: [
4110
- SpinnerComponent
4111
- ],
4112
- imports: [
4113
- CommonModule,
4114
- NgxSpinnerModule,
4115
- TranslateModule
4116
- ]
4162
+ exports: [SpinnerComponent],
4163
+ imports: [CommonModule, NgxSpinnerModule, TranslateModule],
4117
4164
  },] }
4118
4165
  ];
4119
4166
 
@@ -4199,7 +4246,7 @@ class SearchableDropdownComponent {
4199
4246
  .pipe(take(1))
4200
4247
  .subscribe(([mouseOnList, items, focusedId]) => {
4201
4248
  const length = items.length;
4202
- const focusedIndex = items.findIndex((item) => item.id === focusedId);
4249
+ const focusedIndex = items.findIndex(item => item.id === focusedId);
4203
4250
  const code = event.code;
4204
4251
  const shiftKey = event.shiftKey;
4205
4252
  const down = 'ArrowDown';
@@ -4231,7 +4278,8 @@ class SearchableDropdownComponent {
4231
4278
  }
4232
4279
  // handle moving up in the list with up arrow up or shift+tab
4233
4280
  }
4234
- else if ((code === up || (code === tab && shiftKey)) && focusedId !== this.searchId) {
4281
+ else if ((code === up || (code === tab && shiftKey)) &&
4282
+ focusedId !== this.searchId) {
4235
4283
  // move to previous item if focus is not on the first item in the list
4236
4284
  if (focusedIndex > 0) {
4237
4285
  this.focusedItemId$.next(items[focusedIndex - 1].id);
@@ -4247,16 +4295,17 @@ class SearchableDropdownComponent {
4247
4295
  });
4248
4296
  }
4249
4297
  openSearchSubscription() {
4250
- this.searchSubscription = this.searchTerm.valueChanges.subscribe((searchTerm) => {
4251
- this.focusedItemId$.pipe(take(1)).subscribe((focusedItemId) => {
4298
+ this.searchSubscription = this.searchTerm.valueChanges.subscribe(searchTerm => {
4299
+ this.focusedItemId$.pipe(take(1)).subscribe(focusedItemId => {
4252
4300
  if (!searchTerm) {
4253
4301
  this.filteredItems$.next(this.items);
4254
4302
  }
4255
4303
  else {
4256
- const filteredItems = this.items.filter((item) => item.text.toUpperCase().includes(searchTerm.toUpperCase()));
4304
+ const filteredItems = this.items.filter(item => item.text.toUpperCase().includes(searchTerm.toUpperCase()));
4257
4305
  this.filteredItems$.next(filteredItems);
4258
4306
  // move focus to search box if filtered list length is 0 or previously focused item is not in filtered list anymore
4259
- if (filteredItems.length === 0 || !filteredItems.some((item) => item.id === focusedItemId)) {
4307
+ if (filteredItems.length === 0 ||
4308
+ !filteredItems.some(item => item.id === focusedItemId)) {
4260
4309
  this.resetFocus();
4261
4310
  }
4262
4311
  }
@@ -4268,8 +4317,8 @@ class SearchableDropdownComponent {
4268
4317
  });
4269
4318
  }
4270
4319
  scrollButtonIntoView(id) {
4271
- this.filteredItems$.pipe(take(1)).subscribe((items) => {
4272
- const focusItemIndex = items.findIndex((item) => item.id === id);
4320
+ this.filteredItems$.pipe(take(1)).subscribe(items => {
4321
+ const focusItemIndex = items.findIndex(item => item.id === id);
4273
4322
  const focusedButton = this.buttons.toArray()[focusItemIndex];
4274
4323
  if (focusedButton) {
4275
4324
  focusedButton.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
@@ -4280,7 +4329,7 @@ class SearchableDropdownComponent {
4280
4329
  SearchableDropdownComponent.decorators = [
4281
4330
  { type: Component, args: [{
4282
4331
  selector: 'valtimo-searchable-dropdown',
4283
- template: "<ng-container *ngIf=\"buttonText && items\">\n <ng-container [ngTemplateOutlet]=\"(open$ | async) ? opened : closed\"> </ng-container>\n</ng-container>\n\n<ng-template #closed>\n <ng-container *ngIf=\"style === 'button' || !style\">\n <button class=\"btn btn-primary btn-sm dropdown-size\" (click)=\"openDropdown()\" [style.width.px]=\"width\">\n {{ buttonText }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"style === 'underlinedText'\">\n <h5 class=\"underline-button\" (click)=\"openDropdown()\" [style.width.px]=\"width\">\n <b>\n {{ buttonText }}\n </b>\n </h5>\n </ng-container>\n</ng-template>\n\n<ng-template #opened>\n <div class=\"dropdown-container\" [style.width.px]=\"width\">\n <div class=\"dropdown-size search\" [style.width.px]=\"width\">\n <input #search [ngClass]=\"{ disabled: disabled }\" [placeholder]=\"searchText\" [formControl]=\"searchTerm\" />\n {{ search.focus() }}\n </div>\n <div class=\"dropdown-list\" (mouseenter)=\"mouseEnterList()\" (mouseleave)=\"mouseLeaveList()\">\n <ng-container *ngIf=\"filteredItems$ | async as filteredItems\">\n <ng-container *ngIf=\"filteredItems.length > 0 && focusedItemId$ | async as focusedItemId; else noResults\">\n <button\n #button\n *ngFor=\"let item of filteredItems\"\n [ngClass]=\"{ focus: focusedItemId === item.id, disabled: disabled }\"\n class=\"dropdown-button dropdown-size\"\n (click)=\"submit(item.id)\"\n (mouseenter)=\"hoverOverButton(item.id)\"\n (mouseleave)=\"resetFocus()\"\n [style.width.px]=\"width\"\n >\n <span class=\"dropdown-button-text\">\n {{ item.text }}\n </span>\n </button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"space\"> </ng-container>\n</ng-template>\n\n<ng-template #noResults>\n <div class=\"dropdown-button dropdown-size disabled\" [style.width.px]=\"width\">\n <span class=\"dropdown-button-text\">{{ noResultsText }}</span>\n </div>\n</ng-template>\n\n<ng-template #space>\n <div *ngIf=\"style === 'button' || !style\" class=\"dropdown-size\" [style.width.px]=\"width\"></div>\n <h5 *ngIf=\"style === 'underlinedText'\" class=\"underline-button\"><b>-</b></h5>\n</ng-template>\n",
4332
+ template: "<ng-container *ngIf=\"buttonText && items\">\n <ng-container [ngTemplateOutlet]=\"(open$ | async) ? opened : closed\"> </ng-container>\n</ng-container>\n\n<ng-template #closed>\n <ng-container *ngIf=\"style === 'button' || !style\">\n <button\n class=\"btn btn-primary btn-sm dropdown-size\"\n (click)=\"openDropdown()\"\n [style.width.px]=\"width\"\n >\n {{ buttonText }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"style === 'underlinedText'\">\n <h5 class=\"underline-button\" (click)=\"openDropdown()\" [style.width.px]=\"width\">\n <b>\n {{ buttonText }}\n </b>\n </h5>\n </ng-container>\n</ng-template>\n\n<ng-template #opened>\n <div class=\"dropdown-container\" [style.width.px]=\"width\">\n <div class=\"dropdown-size search\" [style.width.px]=\"width\">\n <input\n #search\n [ngClass]=\"{disabled: disabled}\"\n [placeholder]=\"searchText\"\n [formControl]=\"searchTerm\"\n />\n {{ search.focus() }}\n </div>\n <div class=\"dropdown-list\" (mouseenter)=\"mouseEnterList()\" (mouseleave)=\"mouseLeaveList()\">\n <ng-container *ngIf=\"filteredItems$ | async as filteredItems\">\n <ng-container\n *ngIf=\"\n filteredItems.length > 0 && focusedItemId$ | async as focusedItemId;\n else noResults\n \"\n >\n <button\n #button\n *ngFor=\"let item of filteredItems\"\n [ngClass]=\"{focus: focusedItemId === item.id, disabled: disabled}\"\n class=\"dropdown-button dropdown-size\"\n (click)=\"submit(item.id)\"\n (mouseenter)=\"hoverOverButton(item.id)\"\n (mouseleave)=\"resetFocus()\"\n [style.width.px]=\"width\"\n >\n <span class=\"dropdown-button-text\">\n {{ item.text }}\n </span>\n </button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"space\"> </ng-container>\n</ng-template>\n\n<ng-template #noResults>\n <div class=\"dropdown-button dropdown-size disabled\" [style.width.px]=\"width\">\n <span class=\"dropdown-button-text\">{{ noResultsText }}</span>\n </div>\n</ng-template>\n\n<ng-template #space>\n <div *ngIf=\"style === 'button' || !style\" class=\"dropdown-size\" [style.width.px]=\"width\"></div>\n <h5 *ngIf=\"style === 'underlinedText'\" class=\"underline-button\"><b>-</b></h5>\n</ng-template>\n",
4284
4333
  styles: [".dropdown-size{height:34px;width:250px}.underline-button{cursor:pointer;text-decoration:underline;width:250px}.dropdown-container{background-color:#fff;border:1px solid #e3e3e3;border-radius:3px;box-shadow:0 0 6px 0 rgba(0,0,0,.12);display:flex;flex-direction:column;max-height:300px;overflow:hidden;padding:7px 0;position:fixed;width:250px;z-index:999}.dropdown-list{list-style:none;margin:0;overflow:auto;overflow-x:hidden;padding:0;z-index:9999}.search{align-items:center;border-bottom:1px solid #dee2e6;display:flex;flex-shrink:0;height:44px;padding:8px 24px}.search input{padding:0;width:100%}.dropdown-button,.search input,.search input:focus{border:none;outline:none}.dropdown-button{align-items:center;background-color:#fff;color:#504e4e;cursor:pointer;display:flex;font-size:1rem;font-weight:400;padding:8px 24px}.dropdown-button.focus{background-color:#f5f5f5}.dropdown-button-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disabled{color:#959595;cursor:default;pointer-events:none}"]
4285
4334
  },] }
4286
4335
  ];
@@ -4319,7 +4368,7 @@ SearchableDropdownModule.decorators = [
4319
4368
  { type: NgModule, args: [{
4320
4369
  declarations: [SearchableDropdownComponent],
4321
4370
  imports: [CommonModule, ReactiveFormsModule],
4322
- exports: [SearchableDropdownComponent]
4371
+ exports: [SearchableDropdownComponent],
4323
4372
  },] }
4324
4373
  ];
4325
4374
 
@@ -4345,7 +4394,7 @@ const formIoUploaderEditForm = () => ({
4345
4394
  tooltip: 'The name of this field in the API endpoint.',
4346
4395
  validate: {
4347
4396
  required: true,
4348
- }
4397
+ },
4349
4398
  },
4350
4399
  {
4351
4400
  type: 'textfield',
@@ -4409,7 +4458,7 @@ const formIoUploaderEditForm = () => ({
4409
4458
  validate: {
4410
4459
  required: false,
4411
4460
  },
4412
- }
4461
+ },
4413
4462
  ],
4414
4463
  });
4415
4464
 
@@ -4467,7 +4516,7 @@ class SearchableDropdownSelectComponent {
4467
4516
  SearchableDropdownSelectComponent.decorators = [
4468
4517
  { type: Component, args: [{
4469
4518
  selector: 'valtimo-searchable-dropdown-select',
4470
- template: "<valtimo-searchable-dropdown\n *ngIf=\"!hasSelection; else selection\"\n [style]=\"style\"\n [items]=\"items\"\n [buttonText]=\"buttonText\"\n [searchText]=\"searchText\"\n [noResultsText]=\"noResultsText\"\n [disabled]=\"disabled\"\n [width]=\"width\"\n (itemSelected)=\"onSelect($event)\"\n>\n</valtimo-searchable-dropdown>\n\n<ng-template #selection>\n <div class=\"d-flex flex-row align-items-center\" [style.height.px]=\"style === 'button' ? 34 : null\">\n <h5 class=\"selected-text\">{{ selectedText }} <b>{{ selectedTextValue }}</b></h5>\n <button\n type=\"button\"\n class=\"close p-0 m-0 ml-2 d-flex text-danger\"\n aria-label=\"Close\"\n (click)=\"onClearSelection()\"\n [title]=\"clearSelectionButtonTitle\"\n >\n <i class=\"clear-icon fa fa-times text-danger\"></i>\n </button>\n </div>\n</ng-template>\n\n",
4519
+ template: "<valtimo-searchable-dropdown\n *ngIf=\"!hasSelection; else selection\"\n [style]=\"style\"\n [items]=\"items\"\n [buttonText]=\"buttonText\"\n [searchText]=\"searchText\"\n [noResultsText]=\"noResultsText\"\n [disabled]=\"disabled\"\n [width]=\"width\"\n (itemSelected)=\"onSelect($event)\"\n>\n</valtimo-searchable-dropdown>\n\n<ng-template #selection>\n <div\n class=\"d-flex flex-row align-items-center\"\n [style.height.px]=\"style === 'button' ? 34 : null\"\n >\n <h5 class=\"selected-text\">\n {{ selectedText }} <b>{{ selectedTextValue }}</b>\n </h5>\n <button\n type=\"button\"\n class=\"close p-0 m-0 ml-2 d-flex text-danger\"\n aria-label=\"Close\"\n (click)=\"onClearSelection()\"\n [title]=\"clearSelectionButtonTitle\"\n >\n <i class=\"clear-icon fa fa-times text-danger\"></i>\n </button>\n </div>\n</ng-template>\n",
4471
4520
  styles: [".selected-text{margin:0}.clear-icon{font-size:13px}"]
4472
4521
  },] }
4473
4522
  ];
@@ -4508,7 +4557,7 @@ SearchableDropdownSelectModule.decorators = [
4508
4557
  { type: NgModule, args: [{
4509
4558
  declarations: [SearchableDropdownSelectComponent],
4510
4559
  imports: [CommonModule, ReactiveFormsModule, SearchableDropdownModule],
4511
- exports: [SearchableDropdownSelectComponent]
4560
+ exports: [SearchableDropdownSelectComponent],
4512
4561
  },] }
4513
4562
  ];
4514
4563
 
@@ -4532,5 +4581,5 @@ SearchableDropdownSelectModule.decorators = [
4532
4581
  * Generated bundle index. Do not edit.
4533
4582
  */
4534
4583
 
4535
- export { AlertComponent, AlertModule, AlertService, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, CamundaFormComponent, CamundaFormModule, CardComponent, CardModule, ComponentsModule, DataListComponent, DataListModule, DropzoneComponent, DropzoneModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FormIoModule, FormIoUploaderComponent, FormioBuilderComponent, FormioComponent, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, PageHeaderComponent, PageHeaderModule, PageTitleComponent, PageTitleModule, ProgressBarComponent, ProgressBarModule, RightSidebarComponent, RightSidebarModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SpinnerModule, TimelineComponent, TimelineModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, ViewContentService, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, customUploaderType, menuInitializer, registerFormioUploadComponent, ɵ0, CamundaGeneratedFormModule as ɵa, CamundaStringFormfieldComponent as ɵb, CamundaBooleanFormfieldComponent as ɵc, CamundaDateFormfieldComponent as ɵd, CamundaFormfieldService as ɵe, CamundaFormfieldGeneratorDirective as ɵf, CamundaLongFormfieldComponent as ɵg, CamundaEnumFormfieldComponent as ɵh, CamundaTextareaFormfieldComponent as ɵi, CamundaChoicefieldFormfieldComponent as ɵj, CamundaFormfieldValidationComponent as ɵk, CamundaGeneratedFormComponent as ɵl, CamundaCustomFormModule as ɵm, CamundaCustomFormComponent as ɵn, MenuComponent as ɵo, MenuItemTextComponent as ɵp, SubmenuItemTextComponent as ɵq, VersionService as ɵr, FormIoStateService as ɵs, FormIoDomService as ɵt, AppConfig as ɵu, SpinnerComponent as ɵv };
4584
+ export { Alert, AlertComponent, AlertModule, AlertService, AlertType, AlertsOptionsImpl, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, CamundaFormComponent, CamundaFormModule, CardComponent, CardModule, ComponentsModule, DataListComponent, DataListModule, DropzoneComponent, DropzoneModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FormIoModule, FormIoUploaderComponent, FormioBuilderComponent, FormioComponent, FormioOptionsImpl, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, PageHeaderComponent, PageHeaderModule, PageTitleComponent, PageTitleModule, ProgressBarComponent, ProgressBarModule, RightSidebarComponent, RightSidebarModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SpinnerModule, TimelineComponent, TimelineItemImpl, TimelineModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, ViewContentService, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, customUploaderType, menuInitializer, registerFormioUploadComponent, ɵ0, CamundaGeneratedFormModule as ɵa, CamundaStringFormfieldComponent as ɵb, CamundaBooleanFormfieldComponent as ɵc, CamundaDateFormfieldComponent as ɵd, CamundaFormfieldService as ɵe, CamundaFormfieldGeneratorDirective as ɵf, CamundaLongFormfieldComponent as ɵg, CamundaEnumFormfieldComponent as ɵh, CamundaTextareaFormfieldComponent as ɵi, CamundaChoicefieldFormfieldComponent as ɵj, CamundaFormfieldValidationComponent as ɵk, CamundaGeneratedFormComponent as ɵl, CamundaCustomFormModule as ɵm, CamundaCustomFormComponent as ɵn, MenuComponent as ɵo, MenuItemTextComponent as ɵp, SubmenuItemTextComponent as ɵq, VersionService as ɵr, FormIoStateService as ɵs, FormIoDomService as ɵt, AppConfig as ɵu, SpinnerComponent as ɵv };
4536
4585
  //# sourceMappingURL=valtimo-components.js.map