@valtimo/components 4.15.3-next-main.15 → 4.15.3-next-main.16

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 (106) hide show
  1. package/bundles/valtimo-components.umd.js +212 -276
  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/alert/alert.component.js +4 -6
  6. package/esm2015/lib/alert/alert.module.js +2 -2
  7. package/esm2015/lib/alert/alert.service.js +1 -1
  8. package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.component.js +13 -13
  9. package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.module.js +3 -5
  10. package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.component.js +7 -7
  11. package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.module.js +3 -7
  12. package/esm2015/lib/camunda/form/camunda-form.components.js +2 -2
  13. package/esm2015/lib/camunda/form/camunda-form.module.js +4 -12
  14. package/esm2015/lib/camunda/form/custom/camunda-custom-form.component.js +3 -3
  15. package/esm2015/lib/camunda/form/custom/camunda-custom-form.module.js +4 -10
  16. package/esm2015/lib/camunda/form/generated/camunda-generated-form.component.js +3 -3
  17. package/esm2015/lib/camunda/form/generated/camunda-generated-form.module.js +6 -11
  18. package/esm2015/lib/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.js +3 -4
  19. package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +4 -4
  20. package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield.service.js +3 -4
  21. package/esm2015/lib/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.js +5 -3
  22. package/esm2015/lib/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +5 -5
  23. package/esm2015/lib/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +3 -4
  24. package/esm2015/lib/camunda/form/generated/formfield/formfield.model.js +1 -1
  25. package/esm2015/lib/camunda/form/generated/formfield/long/camunda-long-formfield.component.js +3 -4
  26. package/esm2015/lib/camunda/form/generated/formfield/string/camunda-string-formfield.component.js +3 -4
  27. package/esm2015/lib/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.js +3 -4
  28. package/esm2015/lib/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +3 -4
  29. package/esm2015/lib/camunda/form/generated/formfield/validation/date.validators.js +5 -5
  30. package/esm2015/lib/card/card.component.js +3 -4
  31. package/esm2015/lib/card/card.module.js +3 -5
  32. package/esm2015/lib/components.module.js +1 -1
  33. package/esm2015/lib/data-list/data-list.component.js +2 -3
  34. package/esm2015/lib/data-list/data-list.module.js +3 -5
  35. package/esm2015/lib/dropzone/dropzone.component.js +6 -6
  36. package/esm2015/lib/dropzone/dropzone.module.js +2 -2
  37. package/esm2015/lib/field-auto-focus/field-auto-focus.directive.js +2 -2
  38. package/esm2015/lib/field-auto-focus/field-auto-focus.module.js +3 -7
  39. package/esm2015/lib/file-size/file-size.module.js +3 -5
  40. package/esm2015/lib/file-size/file-size.pipe.js +3 -10
  41. package/esm2015/lib/filter-sidebar/filter-sidebar.component.js +1 -1
  42. package/esm2015/lib/filter-sidebar/filter-sidebar.module.js +3 -5
  43. package/esm2015/lib/form-io/form-io-builder.component.js +3 -4
  44. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader-edit-form.js +3 -3
  45. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.component.js +7 -5
  46. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.formio.js +2 -2
  47. package/esm2015/lib/form-io/form-io.component.js +21 -16
  48. package/esm2015/lib/form-io/form-io.module.js +3 -3
  49. package/esm2015/lib/form-io/formio-config.js +2 -2
  50. package/esm2015/lib/form-io/services/form-io-dom.service.js +2 -2
  51. package/esm2015/lib/form-io/services/form-io-state.service.js +1 -1
  52. package/esm2015/lib/left-sidebar/left-sidebar.component.js +3 -3
  53. package/esm2015/lib/left-sidebar/left-sidebar.module.js +3 -7
  54. package/esm2015/lib/list/ListFilterPipe.directive.js +3 -7
  55. package/esm2015/lib/list/list.component.js +8 -6
  56. package/esm2015/lib/list/list.module.js +2 -2
  57. package/esm2015/lib/menu/menu-item-text.component.js +8 -6
  58. package/esm2015/lib/menu/menu-routing.module.js +3 -5
  59. package/esm2015/lib/menu/menu.component.js +2 -2
  60. package/esm2015/lib/menu/menu.init.js +1 -1
  61. package/esm2015/lib/menu/menu.module.js +3 -8
  62. package/esm2015/lib/menu/menu.service.js +5 -6
  63. package/esm2015/lib/menu/submenu-item-text.component.js +2 -2
  64. package/esm2015/lib/modal/modal.component.js +1 -1
  65. package/esm2015/lib/modal/modal.module.js +2 -2
  66. package/esm2015/lib/page-header/page-header.component.js +1 -1
  67. package/esm2015/lib/page-header/page-header.module.js +3 -7
  68. package/esm2015/lib/page-title/page-title.component.js +2 -2
  69. package/esm2015/lib/page-title/page-title.module.js +3 -6
  70. package/esm2015/lib/progress-bar/progress-bar.component.js +2 -2
  71. package/esm2015/lib/progress-bar/progress-bar.module.js +3 -5
  72. package/esm2015/lib/right-sidebar/right-sidebar.component.js +8 -6
  73. package/esm2015/lib/right-sidebar/right-sidebar.module.js +5 -5
  74. package/esm2015/lib/searchable-dropdown/searchable-dropdown.component.js +13 -11
  75. package/esm2015/lib/searchable-dropdown/searchable-dropdown.module.js +2 -2
  76. package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.component.js +3 -3
  77. package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.module.js +2 -2
  78. package/esm2015/lib/spinner/spinner.component.js +2 -2
  79. package/esm2015/lib/spinner/spinner.module.js +3 -9
  80. package/esm2015/lib/timeline/timeline.component.js +2 -2
  81. package/esm2015/lib/timeline/timeline.module.js +3 -6
  82. package/esm2015/lib/topbar/topbar.component.js +2 -3
  83. package/esm2015/lib/topbar/topbar.module.js +3 -6
  84. package/esm2015/lib/uploader/uploader-drag-drop.directive.js +2 -2
  85. package/esm2015/lib/uploader/uploader.component.js +3 -4
  86. package/esm2015/lib/uploader/uploader.module.js +3 -6
  87. package/esm2015/lib/version/version.service.js +2 -2
  88. package/esm2015/lib/view-content/type-converters/booleanTypeConverter.js +2 -2
  89. package/esm2015/lib/view-content/type-converters/dateTypeConverter.js +1 -1
  90. package/esm2015/lib/view-content/type-converters/enumTypeConverter.js +1 -1
  91. package/esm2015/lib/view-content/type-converters/relatedFilesTypeConverter.js +1 -1
  92. package/esm2015/lib/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +1 -1
  93. package/esm2015/lib/view-content/type-converters/stringTypeConverter.js +1 -1
  94. package/esm2015/lib/view-content/type-converters/type-converters.model.js +2 -2
  95. package/esm2015/lib/view-content/view-content.service.js +3 -3
  96. package/esm2015/lib/webcam/webcam.component.js +5 -6
  97. package/esm2015/lib/webcam/webcam.module.js +3 -6
  98. package/esm2015/lib/widget/widget.component.js +2 -2
  99. package/esm2015/lib/widget/widget.module.js +3 -5
  100. package/esm2015/public_api.js +1 -1
  101. package/esm2015/valtimo-components.js +1 -1
  102. package/fesm2015/valtimo-components.js +211 -299
  103. package/fesm2015/valtimo-components.js.map +1 -1
  104. package/lib/form-io/form-io.component.d.ts +7 -4
  105. package/package.json +1 -1
  106. package/valtimo-components.metadata.json +1 -1
@@ -33,7 +33,7 @@
33
33
  CamundaFormComponent.decorators = [
34
34
  { type: i0.Component, args: [{
35
35
  selector: 'valtimo-camunda-form',
36
- 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"
36
+ 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"
37
37
  },] }
38
38
  ];
39
39
  CamundaFormComponent.ctorParameters = function () { return []; };
@@ -74,7 +74,7 @@
74
74
  CamundaCustomFormComponent.decorators = [
75
75
  { type: i0.Component, args: [{
76
76
  selector: 'valtimo-custom-form',
77
- 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",
77
+ 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",
78
78
  styles: [""]
79
79
  },] }
80
80
  ];
@@ -108,15 +108,9 @@
108
108
  }());
109
109
  CamundaCustomFormModule.decorators = [
110
110
  { type: i0.NgModule, args: [{
111
- declarations: [
112
- CamundaCustomFormComponent
113
- ],
114
- imports: [
115
- common.CommonModule
116
- ],
117
- exports: [
118
- CamundaCustomFormComponent
119
- ]
111
+ declarations: [CamundaCustomFormComponent],
112
+ imports: [common.CommonModule],
113
+ exports: [CamundaCustomFormComponent],
120
114
  },] }
121
115
  ];
122
116
 
@@ -149,8 +143,8 @@
149
143
  return {
150
144
  minDate: {
151
145
  minDate: momentMinDate.format(DATE_FORMAT),
152
- actual: controlDate.format(DATE_FORMAT)
153
- }
146
+ actual: controlDate.format(DATE_FORMAT),
147
+ },
154
148
  };
155
149
  }
156
150
  else {
@@ -169,8 +163,8 @@
169
163
  return {
170
164
  maxDate: {
171
165
  maxDate: momentMaxDate.format(DATE_FORMAT),
172
- actual: controlDate.format(DATE_FORMAT)
173
- }
166
+ actual: controlDate.format(DATE_FORMAT),
167
+ },
174
168
  };
175
169
  }
176
170
  else {
@@ -238,7 +232,7 @@
238
232
  CamundaFormfieldService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CamundaFormfieldService_Factory() { return new CamundaFormfieldService(); }, token: CamundaFormfieldService, providedIn: "root" });
239
233
  CamundaFormfieldService.decorators = [
240
234
  { type: i0.Injectable, args: [{
241
- providedIn: 'root'
235
+ providedIn: 'root',
242
236
  },] }
243
237
  ];
244
238
  CamundaFormfieldService.ctorParameters = function () { return []; };
@@ -275,7 +269,7 @@
275
269
  this.formFields.forEach(function (formField) {
276
270
  var control = new forms.FormControl({
277
271
  value: formField.defaultValue,
278
- disabled: _this.camundaFormFieldService.isFormFieldDisabled(formField)
272
+ disabled: _this.camundaFormFieldService.isFormFieldDisabled(formField),
279
273
  }, _this.camundaFormFieldService.getValidatorTypes(formField));
280
274
  group.addControl(formField.id, control);
281
275
  });
@@ -297,7 +291,7 @@
297
291
  CamundaGeneratedFormComponent.decorators = [
298
292
  { type: i0.Component, args: [{
299
293
  selector: 'valtimo-camunda-generated-form',
300
- 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"
294
+ 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"
301
295
  },] }
302
296
  ];
303
297
  CamundaGeneratedFormComponent.ctorParameters = function () { return [
@@ -333,7 +327,7 @@
333
327
  CamundaStringFormfieldComponent.decorators = [
334
328
  { type: i0.Component, args: [{
335
329
  selector: 'valtimo-camunda-string-formfield',
336
- 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"
330
+ 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"
337
331
  },] }
338
332
  ];
339
333
  CamundaStringFormfieldComponent.ctorParameters = function () { return []; };
@@ -361,7 +355,7 @@
361
355
  CamundaBooleanFormfieldComponent.decorators = [
362
356
  { type: i0.Component, args: [{
363
357
  selector: 'valtimo-camunda-boolean-formfield',
364
- 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"
358
+ 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"
365
359
  },] }
366
360
  ];
367
361
  CamundaBooleanFormfieldComponent.ctorParameters = function () { return []; };
@@ -395,9 +389,9 @@
395
389
  componentIcon: '.mdi.mdi-calendar',
396
390
  navIcons: {
397
391
  rightIcon: 'mdi mdi-chevron-right',
398
- leftIcon: 'mdi mdi-chevron-left'
392
+ leftIcon: 'mdi mdi-chevron-left',
399
393
  },
400
- format: 'dd-mm-yyyy'
394
+ format: 'dd-mm-yyyy',
401
395
  };
402
396
  };
403
397
  CamundaDateFormfieldComponent.prototype.ngAfterViewInit = function () {
@@ -424,7 +418,7 @@
424
418
  CamundaDateFormfieldComponent.decorators = [
425
419
  { type: i0.Component, args: [{
426
420
  selector: 'valtimo-camunda-date-formfield',
427
- 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"
421
+ 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"
428
422
  },] }
429
423
  ];
430
424
  CamundaDateFormfieldComponent.ctorParameters = function () { return [
@@ -454,7 +448,7 @@
454
448
  CamundaLongFormfieldComponent.decorators = [
455
449
  { type: i0.Component, args: [{
456
450
  selector: 'valtimo-camunda-long-formfield',
457
- 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"
451
+ 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"
458
452
  },] }
459
453
  ];
460
454
  CamundaLongFormfieldComponent.ctorParameters = function () { return []; };
@@ -485,7 +479,7 @@
485
479
  CamundaEnumFormfieldComponent.decorators = [
486
480
  { type: i0.Component, args: [{
487
481
  selector: 'valtimo-camunda-enum-formfield',
488
- 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"
482
+ 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"
489
483
  },] }
490
484
  ];
491
485
  CamundaEnumFormfieldComponent.ctorParameters = function () { return []; };
@@ -513,7 +507,7 @@
513
507
  CamundaTextareaFormfieldComponent.decorators = [
514
508
  { type: i0.Component, args: [{
515
509
  selector: 'valtimo-camunda-textarea-formfield',
516
- 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"
510
+ 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"
517
511
  },] }
518
512
  ];
519
513
  CamundaTextareaFormfieldComponent.ctorParameters = function () { return []; };
@@ -540,7 +534,9 @@
540
534
  }
541
535
  CamundaChoicefieldFormfieldComponent.prototype.ngOnInit = function () {
542
536
  var _this = this;
543
- this.choicefieldService.getChoiceFieldValuesByName(this.formField.properties['choicefield']).subscribe(function (data) {
537
+ this.choicefieldService
538
+ .getChoiceFieldValuesByName(this.formField.properties['choicefield'])
539
+ .subscribe(function (data) {
544
540
  _this.choicefieldValues = data;
545
541
  });
546
542
  };
@@ -549,7 +545,7 @@
549
545
  CamundaChoicefieldFormfieldComponent.decorators = [
550
546
  { type: i0.Component, args: [{
551
547
  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"
548
+ 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
549
  },] }
554
550
  ];
555
551
  CamundaChoicefieldFormfieldComponent.ctorParameters = function () { return [
@@ -582,7 +578,7 @@
582
578
  long: CamundaLongFormfieldComponent,
583
579
  enum: CamundaEnumFormfieldComponent,
584
580
  textarea: CamundaTextareaFormfieldComponent,
585
- choicefield: CamundaChoicefieldFormfieldComponent
581
+ choicefield: CamundaChoicefieldFormfieldComponent,
586
582
  };
587
583
  }
588
584
  CamundaFormfieldGeneratorDirective.prototype.ngOnInit = function () {
@@ -600,7 +596,7 @@
600
596
  }());
601
597
  CamundaFormfieldGeneratorDirective.decorators = [
602
598
  { type: i0.Directive, args: [{
603
- selector: '[valtimoCamundaFormfieldGenerator]'
599
+ selector: '[valtimoCamundaFormfieldGenerator]',
604
600
  },] }
605
601
  ];
606
602
  CamundaFormfieldGeneratorDirective.ctorParameters = function () { return [
@@ -638,7 +634,7 @@
638
634
  CamundaFormfieldValidationComponent.decorators = [
639
635
  { type: i0.Component, args: [{
640
636
  selector: 'valtimo-camunda-formfield-validation',
641
- 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"
637
+ 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"
642
638
  },] }
643
639
  ];
644
640
  CamundaFormfieldValidationComponent.ctorParameters = function () { return []; };
@@ -679,15 +675,10 @@
679
675
  CamundaTextareaFormfieldComponent,
680
676
  CamundaChoicefieldFormfieldComponent,
681
677
  CamundaFormfieldValidationComponent,
682
- CamundaGeneratedFormComponent
683
- ],
684
- imports: [
685
- common.CommonModule,
686
- forms.ReactiveFormsModule
687
- ],
688
- exports: [
689
- CamundaGeneratedFormComponent
678
+ CamundaGeneratedFormComponent,
690
679
  ],
680
+ imports: [common.CommonModule, forms.ReactiveFormsModule],
681
+ exports: [CamundaGeneratedFormComponent],
691
682
  entryComponents: [
692
683
  CamundaStringFormfieldComponent,
693
684
  CamundaBooleanFormfieldComponent,
@@ -695,8 +686,8 @@
695
686
  CamundaLongFormfieldComponent,
696
687
  CamundaEnumFormfieldComponent,
697
688
  CamundaTextareaFormfieldComponent,
698
- CamundaChoicefieldFormfieldComponent
699
- ]
689
+ CamundaChoicefieldFormfieldComponent,
690
+ ],
700
691
  },] }
701
692
  ];
702
693
 
@@ -722,17 +713,9 @@
722
713
  }());
723
714
  CamundaFormModule.decorators = [
724
715
  { type: i0.NgModule, args: [{
725
- declarations: [
726
- CamundaFormComponent
727
- ],
728
- imports: [
729
- common.CommonModule,
730
- CamundaGeneratedFormModule,
731
- CamundaCustomFormModule
732
- ],
733
- exports: [
734
- CamundaFormComponent
735
- ]
716
+ declarations: [CamundaFormComponent],
717
+ imports: [common.CommonModule, CamundaGeneratedFormModule, CamundaCustomFormModule],
718
+ exports: [CamundaFormComponent],
736
719
  },] }
737
720
  ];
738
721
 
@@ -788,11 +771,8 @@
788
771
  TopbarModule.decorators = [
789
772
  { type: i0.NgModule, args: [{
790
773
  declarations: [TopbarComponent],
791
- imports: [
792
- common.CommonModule,
793
- i1.RouterModule
794
- ],
795
- exports: [TopbarComponent]
774
+ imports: [common.CommonModule, i1.RouterModule],
775
+ exports: [TopbarComponent],
796
776
  },] }
797
777
  ];
798
778
 
@@ -842,7 +822,7 @@
842
822
  menuItems.push(menuItem);
843
823
  });
844
824
  menuItems = this.sortMenuItems(menuItems);
845
- this.appendDossierSubMenuItems(menuItems).subscribe(function (value) { return menuItems = _this.applyMenuRoleSecurity(value); });
825
+ this.appendDossierSubMenuItems(menuItems).subscribe(function (value) { return (menuItems = _this.applyMenuRoleSecurity(value)); });
846
826
  return menuItems;
847
827
  };
848
828
  MenuService.prototype.sortMenuItems = function (menuItems) {
@@ -855,13 +835,12 @@
855
835
  return new rxjs.Observable(function (subscriber) {
856
836
  _this.logger.debug('appendDossierSubMenuItems');
857
837
  _this.documentService.getAllDefinitions().subscribe(function (definitions) {
858
- var dossierMenuItems = definitions.content
859
- .map(function (definition, index) { return ({
838
+ var dossierMenuItems = definitions.content.map(function (definition, index) { return ({
860
839
  link: ['/dossiers/' + definition.id.name],
861
840
  title: definition.schema.title,
862
841
  iconClass: 'icon mdi mdi-dot-circle',
863
842
  sequence: index,
864
- show: true
843
+ show: true,
865
844
  }); });
866
845
  _this.logger.debug('found dossierMenuItems', dossierMenuItems);
867
846
  var menuItemIndex = menuItems.findIndex(function (_a) {
@@ -913,7 +892,7 @@
913
892
  MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(i0.ɵɵinject(i1$1.ConfigService), i0.ɵɵinject(i2.DocumentService), i0.ɵɵinject(i3.UserProviderService), i0.ɵɵinject(i4.NGXLogger)); }, token: MenuService, providedIn: "root" });
914
893
  MenuService.decorators = [
915
894
  { type: i0.Injectable, args: [{
916
- providedIn: 'root'
895
+ providedIn: 'root',
917
896
  },] }
918
897
  ];
919
898
  MenuService.ctorParameters = function () { return [
@@ -946,10 +925,8 @@
946
925
  }());
947
926
  MenuRoutingModule.decorators = [
948
927
  { type: i0.NgModule, args: [{
949
- imports: [
950
- i1.RouterModule.forChild(routes)
951
- ],
952
- exports: [i1.RouterModule]
928
+ imports: [i1.RouterModule.forChild(routes)],
929
+ exports: [i1.RouterModule],
953
930
  },] }
954
931
  ];
955
932
 
@@ -978,7 +955,7 @@
978
955
  MenuComponent.prototype.ngOnInit = function () {
979
956
  var _this = this;
980
957
  this.openRouterSubscription();
981
- this.menuItemSubscription = this.menuService.menuItems$.subscribe(function (value) { return _this.menuItems = value; });
958
+ this.menuItemSubscription = this.menuService.menuItems$.subscribe(function (value) { return (_this.menuItems = value); });
982
959
  };
983
960
  MenuComponent.prototype.ngOnDestroy = function () {
984
961
  this.routerSubscription.unsubscribe();
@@ -1041,7 +1018,7 @@
1041
1018
  MenuItemTextComponent.decorators = [
1042
1019
  { type: i0.Component, args: [{
1043
1020
  selector: 'valtimo-menu-item-text',
1044
- template: "\n <i class=\"{{ menuItem.iconClass }}\"\n container=\"body\"\n placement=\"right\"\n ngbTooltip=\"{{ menuItem.title | translate }}\"\n autoClose=\"true\">\n </i>\n <span>{{ menuItem.title | translate }}</span>\n "
1021
+ template: "\n <i\n class=\"{{ menuItem.iconClass }}\"\n container=\"body\"\n placement=\"right\"\n ngbTooltip=\"{{ menuItem.title | translate }}\"\n autoClose=\"true\"\n >\n </i>\n <span>{{ menuItem.title | translate }}</span>\n "
1045
1022
  },] }
1046
1023
  ];
1047
1024
  MenuItemTextComponent.propDecorators = {
@@ -1071,7 +1048,7 @@
1071
1048
  SubmenuItemTextComponent.decorators = [
1072
1049
  { type: i0.Component, args: [{
1073
1050
  selector: 'valtimo-submenu-item-text',
1074
- template: "\n <span [ngClass]=\"submenuItem.textClass\">\n {{ submenuItem.title | translate }}\n <ng-container *ngIf=\"!submenuItem.link\">&gt;</ng-container>\n </span>\n "
1051
+ template: "\n <span [ngClass]=\"submenuItem.textClass\">\n {{ submenuItem.title | translate }}\n <ng-container *ngIf=\"!submenuItem.link\">&gt;</ng-container>\n </span>\n "
1075
1052
  },] }
1076
1053
  ];
1077
1054
  SubmenuItemTextComponent.propDecorators = {
@@ -1101,14 +1078,9 @@
1101
1078
  MenuModule.decorators = [
1102
1079
  { type: i0.NgModule, args: [{
1103
1080
  declarations: [MenuComponent, MenuItemTextComponent, SubmenuItemTextComponent],
1104
- imports: [
1105
- common.CommonModule,
1106
- i1.RouterModule,
1107
- ngBootstrap.NgbTooltipModule,
1108
- core.TranslateModule
1109
- ],
1081
+ imports: [common.CommonModule, i1.RouterModule, ngBootstrap.NgbTooltipModule, core.TranslateModule],
1110
1082
  exports: [MenuComponent],
1111
- providers: []
1083
+ providers: [],
1112
1084
  },] }
1113
1085
  ];
1114
1086
 
@@ -1169,6 +1141,8 @@
1169
1141
  return extendStatics(d, b);
1170
1142
  };
1171
1143
  function __extends(d, b) {
1144
+ if (typeof b !== "function" && b !== null)
1145
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1172
1146
  extendStatics(d, b);
1173
1147
  function __() { this.constructor = d; }
1174
1148
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -1354,11 +1328,13 @@
1354
1328
  }
1355
1329
  return ar;
1356
1330
  }
1331
+ /** @deprecated */
1357
1332
  function __spread() {
1358
1333
  for (var ar = [], i = 0; i < arguments.length; i++)
1359
1334
  ar = ar.concat(__read(arguments[i]));
1360
1335
  return ar;
1361
1336
  }
1337
+ /** @deprecated */
1362
1338
  function __spreadArrays() {
1363
1339
  for (var s = 0, i = 0, il = arguments.length; i < il; i++)
1364
1340
  s += arguments[i].length;
@@ -1367,7 +1343,17 @@
1367
1343
  r[k] = a[j];
1368
1344
  return r;
1369
1345
  }
1370
- ;
1346
+ function __spreadArray(to, from, pack) {
1347
+ if (pack || arguments.length === 2)
1348
+ for (var i = 0, l = from.length, ar; i < l; i++) {
1349
+ if (ar || !(i in from)) {
1350
+ if (!ar)
1351
+ ar = Array.prototype.slice.call(from, 0, i);
1352
+ ar[i] = from[i];
1353
+ }
1354
+ }
1355
+ return to.concat(ar || Array.prototype.slice.call(from));
1356
+ }
1371
1357
  function __await(v) {
1372
1358
  return this instanceof __await ? (this.v = v, this) : new __await(v);
1373
1359
  }
@@ -1432,18 +1418,21 @@
1432
1418
  function __importDefault(mod) {
1433
1419
  return (mod && mod.__esModule) ? mod : { default: mod };
1434
1420
  }
1435
- function __classPrivateFieldGet(receiver, privateMap) {
1436
- if (!privateMap.has(receiver)) {
1437
- throw new TypeError("attempted to get private field on non-instance");
1438
- }
1439
- return privateMap.get(receiver);
1421
+ function __classPrivateFieldGet(receiver, state, kind, f) {
1422
+ if (kind === "a" && !f)
1423
+ throw new TypeError("Private accessor was defined without a getter");
1424
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
1425
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
1426
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
1440
1427
  }
1441
- function __classPrivateFieldSet(receiver, privateMap, value) {
1442
- if (!privateMap.has(receiver)) {
1443
- throw new TypeError("attempted to set private field on non-instance");
1444
- }
1445
- privateMap.set(receiver, value);
1446
- return value;
1428
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
1429
+ if (kind === "m")
1430
+ throw new TypeError("Private method is not writable");
1431
+ if (kind === "a" && !f)
1432
+ throw new TypeError("Private accessor was defined without a setter");
1433
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
1434
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
1435
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
1447
1436
  }
1448
1437
 
1449
1438
  /*
@@ -1474,7 +1463,7 @@
1474
1463
  VersionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VersionService_Factory() { return new VersionService(i0.ɵɵinject(i1$2.HttpClient)); }, token: VersionService, providedIn: "root" });
1475
1464
  VersionService.decorators = [
1476
1465
  { type: i0.Injectable, args: [{
1477
- providedIn: 'root'
1466
+ providedIn: 'root',
1478
1467
  },] }
1479
1468
  ];
1480
1469
  VersionService.ctorParameters = function () { return [
@@ -1499,7 +1488,7 @@
1499
1488
  'emailNotificationOnThursday',
1500
1489
  'emailNotificationOnFriday',
1501
1490
  'emailNotificationOnSaturday',
1502
- 'emailNotificationOnSunday'
1491
+ 'emailNotificationOnSunday',
1503
1492
  ];
1504
1493
  this.settingsForm = this.formBuilder.group({
1505
1494
  taskNotifications: new forms.FormControl(false),
@@ -1510,14 +1499,16 @@
1510
1499
  emailNotificationOnThursday: new forms.FormControl(false),
1511
1500
  emailNotificationOnFriday: new forms.FormControl(false),
1512
1501
  emailNotificationOnSaturday: new forms.FormControl(false),
1513
- emailNotificationOnSunday: new forms.FormControl(false)
1502
+ emailNotificationOnSunday: new forms.FormControl(false),
1514
1503
  });
1515
1504
  this.getUserSettings();
1516
1505
  };
1517
1506
  RightSidebarComponent.prototype.loadContextSwitch = function () {
1518
1507
  var _this = this;
1519
- rxjs.combineLatest([this.contextService.getUserContexts(), this.contextService.getUserContextActive()])
1520
- .subscribe(function (_a) {
1508
+ rxjs.combineLatest([
1509
+ this.contextService.getUserContexts(),
1510
+ this.contextService.getUserContextActive(),
1511
+ ]).subscribe(function (_a) {
1521
1512
  var _b = __read(_a, 2), userContexts = _b[0], userContextActive = _b[1];
1522
1513
  _this.userContextActive = userContextActive;
1523
1514
  _this.userContexts = userContexts;
@@ -1580,7 +1571,7 @@
1580
1571
  RightSidebarComponent.decorators = [
1581
1572
  { type: i0.Component, args: [{
1582
1573
  selector: 'valtimo-right-sidebar',
1583
- 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",
1574
+ 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",
1584
1575
  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}"]
1585
1576
  },] }
1586
1577
  ];
@@ -1627,12 +1618,12 @@
1627
1618
  loader: {
1628
1619
  provide: core.TranslateLoader,
1629
1620
  useFactory: ɵ0,
1630
- deps: [i1$2.HttpClient]
1631
- }
1621
+ deps: [i1$2.HttpClient],
1622
+ },
1632
1623
  }),
1633
- ngBootstrap.NgbTooltipModule
1624
+ ngBootstrap.NgbTooltipModule,
1634
1625
  ],
1635
- exports: [RightSidebarComponent]
1626
+ exports: [RightSidebarComponent],
1636
1627
  },] }
1637
1628
  ];
1638
1629
 
@@ -1722,7 +1713,7 @@
1722
1713
  LeftSidebarComponent.decorators = [
1723
1714
  { type: i0.Component, args: [{
1724
1715
  selector: 'valtimo-left-sidebar',
1725
- 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",
1716
+ 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",
1726
1717
  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\")}"]
1727
1718
  },] }
1728
1719
  ];
@@ -1831,11 +1822,8 @@
1831
1822
  PageTitleModule.decorators = [
1832
1823
  { type: i0.NgModule, args: [{
1833
1824
  declarations: [PageTitleComponent],
1834
- imports: [
1835
- common.CommonModule,
1836
- core.TranslateModule
1837
- ],
1838
- exports: [PageTitleComponent]
1825
+ imports: [common.CommonModule, core.TranslateModule],
1826
+ exports: [PageTitleComponent],
1839
1827
  },] }
1840
1828
  ];
1841
1829
 
@@ -1862,12 +1850,8 @@
1862
1850
  LeftSidebarModule.decorators = [
1863
1851
  { type: i0.NgModule, args: [{
1864
1852
  declarations: [LeftSidebarComponent],
1865
- imports: [
1866
- common.CommonModule,
1867
- MenuModule,
1868
- PageTitleModule
1869
- ],
1870
- exports: [LeftSidebarComponent]
1853
+ imports: [common.CommonModule, MenuModule, PageTitleModule],
1854
+ exports: [LeftSidebarComponent],
1871
1855
  },] }
1872
1856
  ];
1873
1857
 
@@ -1924,7 +1908,7 @@
1924
1908
  return value ? 'Yes' : 'No';
1925
1909
  }
1926
1910
  else {
1927
- return value ? (definition.enum[0] || 'Yes') : (definition.enum[1] || 'No');
1911
+ return value ? definition.enum[0] || 'Yes' : definition.enum[1] || 'No';
1928
1912
  }
1929
1913
  };
1930
1914
  return BooleanTypeConverter;
@@ -2072,7 +2056,7 @@
2072
2056
  dateTypeConverter,
2073
2057
  enumTypeConverter,
2074
2058
  stringReplaceUnderscoreTypeConverter,
2075
- relatedFilesTypeConverter
2059
+ relatedFilesTypeConverter,
2076
2060
  ];
2077
2061
 
2078
2062
  /*
@@ -2099,7 +2083,7 @@
2099
2083
  }
2100
2084
  ViewContentService.prototype.get = function (value, definition) {
2101
2085
  if (!definition.viewType) {
2102
- definition.viewType = typeof (value);
2086
+ definition.viewType = typeof value;
2103
2087
  }
2104
2088
  if (typeof this.converters[definition.viewType] !== 'undefined') {
2105
2089
  return this.converters[definition.viewType].convert(value, definition);
@@ -2119,7 +2103,7 @@
2119
2103
  ViewContentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ViewContentService_Factory() { return new ViewContentService(); }, token: ViewContentService, providedIn: "root" });
2120
2104
  ViewContentService.decorators = [
2121
2105
  { type: i0.Injectable, args: [{
2122
- providedIn: 'root'
2106
+ providedIn: 'root',
2123
2107
  },] }
2124
2108
  ];
2125
2109
  ViewContentService.ctorParameters = function () { return []; };
@@ -2153,7 +2137,7 @@
2153
2137
  this.regExpStringRemoveUnderscore = /_/g;
2154
2138
  this.sort$ = new rxjs.BehaviorSubject({
2155
2139
  state: { name: '', direction: 'DESC' },
2156
- isSorting: false
2140
+ isSorting: false,
2157
2141
  });
2158
2142
  this.viewListAs = localStorage.getItem('viewListAs') || 'table';
2159
2143
  }
@@ -2212,7 +2196,7 @@
2212
2196
  item.listItemFields = _this.fields.map(function (field) { return ({
2213
2197
  key: field.key,
2214
2198
  label: field.label,
2215
- value: _this.resolveObject(field, item)
2199
+ value: _this.resolveObject(field, item),
2216
2200
  }); });
2217
2201
  });
2218
2202
  }
@@ -2223,7 +2207,9 @@
2223
2207
  ListComponent.prototype.resolveObject = function (definition, obj) {
2224
2208
  var definitionKey = definition.key;
2225
2209
  var customPropString = '$.';
2226
- var key = definitionKey.includes(customPropString) ? definitionKey.split(customPropString)[1] : definitionKey;
2210
+ var key = definitionKey.includes(customPropString)
2211
+ ? definitionKey.split(customPropString)[1]
2212
+ : definitionKey;
2227
2213
  var resolvedObjValue = key.split('.').reduce(function (prev, curr) {
2228
2214
  return prev ? prev[curr] : null;
2229
2215
  }, obj || self);
@@ -2274,7 +2260,7 @@
2274
2260
  ListComponent.decorators = [
2275
2261
  { type: i0.Component, args: [{
2276
2262
  selector: 'valtimo-list',
2277
- 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",
2263
+ 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",
2278
2264
  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}"]
2279
2265
  },] }
2280
2266
  ];
@@ -2323,17 +2309,13 @@
2323
2309
  if (!filterText) {
2324
2310
  return list;
2325
2311
  }
2326
- return list.filter(function (item) { return Object.keys(item).some(function (k) { return item[k] != null &&
2327
- item[k]
2328
- .toString()
2329
- .toLowerCase()
2330
- .includes(filterText.toLowerCase()); }); });
2312
+ return list.filter(function (item) { return Object.keys(item).some(function (k) { return item[k] != null && item[k].toString().toLowerCase().includes(filterText.toLowerCase()); }); });
2331
2313
  };
2332
2314
  return ListFilterPipe;
2333
2315
  }());
2334
2316
  ListFilterPipe.decorators = [
2335
2317
  { type: i0.Pipe, args: [{
2336
- name: 'listFilter'
2318
+ name: 'listFilter',
2337
2319
  },] }
2338
2320
  ];
2339
2321
 
@@ -2358,14 +2340,13 @@
2358
2340
  var CardComponent = /** @class */ (function () {
2359
2341
  function CardComponent() {
2360
2342
  }
2361
- CardComponent.prototype.ngOnInit = function () {
2362
- };
2343
+ CardComponent.prototype.ngOnInit = function () { };
2363
2344
  return CardComponent;
2364
2345
  }());
2365
2346
  CardComponent.decorators = [
2366
2347
  { type: i0.Component, args: [{
2367
2348
  selector: 'valtimo-card',
2368
- 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",
2349
+ 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",
2369
2350
  styles: [""]
2370
2351
  },] }
2371
2352
  ];
@@ -2398,10 +2379,8 @@
2398
2379
  CardModule.decorators = [
2399
2380
  { type: i0.NgModule, args: [{
2400
2381
  declarations: [CardComponent],
2401
- imports: [
2402
- common.CommonModule
2403
- ],
2404
- exports: [CardComponent]
2382
+ imports: [common.CommonModule],
2383
+ exports: [CardComponent],
2405
2384
  },] }
2406
2385
  ];
2407
2386
 
@@ -2429,7 +2408,7 @@
2429
2408
  { type: i0.NgModule, args: [{
2430
2409
  declarations: [ListComponent, ListFilterPipe],
2431
2410
  imports: [common.CommonModule, CardModule, ngBootstrap.NgbPaginationModule, forms.FormsModule, core.TranslateModule],
2432
- exports: [ListComponent, ListFilterPipe]
2411
+ exports: [ListComponent, ListFilterPipe],
2433
2412
  },] }
2434
2413
  ];
2435
2414
 
@@ -2513,7 +2492,7 @@
2513
2492
  url: snapshot.url.join('/'),
2514
2493
  path: snapshot.routeConfig.path,
2515
2494
  label: snapshot.data['title'],
2516
- params: snapshot.params
2495
+ params: snapshot.params,
2517
2496
  };
2518
2497
  this.generateBreadcrumbs(activeRoute);
2519
2498
  }
@@ -2522,14 +2501,14 @@
2522
2501
  var _this = this;
2523
2502
  this.breadcrumbs = [];
2524
2503
  this.router.config.map(function (routerConfig) {
2525
- if (activeBreadcrumb.path.indexOf(routerConfig.path + '/') === 0
2526
- && activeBreadcrumb.path !== routerConfig.path
2527
- && routerConfig.path !== '') {
2504
+ if (activeBreadcrumb.path.indexOf(routerConfig.path + '/') === 0 &&
2505
+ activeBreadcrumb.path !== routerConfig.path &&
2506
+ routerConfig.path !== '') {
2528
2507
  var parentRoute_1 = {
2529
2508
  url: routerConfig.path.replace(/:(.+?)\b/g, function (_, p1) { return activeBreadcrumb.params[p1]; }),
2530
2509
  path: routerConfig.path,
2531
2510
  label: routerConfig.data['title'],
2532
- params: activeBreadcrumb.params
2511
+ params: activeBreadcrumb.params,
2533
2512
  };
2534
2513
  var exist = _this.breadcrumbs.findIndex(function (item) { return item.url === parentRoute_1.url; });
2535
2514
  if (exist === -1) {
@@ -2578,12 +2557,8 @@
2578
2557
  BreadcrumbNavigationModule.decorators = [
2579
2558
  { type: i0.NgModule, args: [{
2580
2559
  declarations: [BreadcrumbNavigationComponent],
2581
- imports: [
2582
- common.CommonModule,
2583
- i1.RouterModule,
2584
- core.TranslateModule
2585
- ],
2586
- exports: [BreadcrumbNavigationComponent]
2560
+ imports: [common.CommonModule, i1.RouterModule, core.TranslateModule],
2561
+ exports: [BreadcrumbNavigationComponent],
2587
2562
  },] }
2588
2563
  ];
2589
2564
 
@@ -2610,12 +2585,8 @@
2610
2585
  PageHeaderModule.decorators = [
2611
2586
  { type: i0.NgModule, args: [{
2612
2587
  declarations: [PageHeaderComponent],
2613
- imports: [
2614
- common.CommonModule,
2615
- PageTitleModule,
2616
- BreadcrumbNavigationModule
2617
- ],
2618
- exports: [PageHeaderComponent]
2588
+ imports: [common.CommonModule, PageTitleModule, BreadcrumbNavigationModule],
2589
+ exports: [PageHeaderComponent],
2619
2590
  },] }
2620
2591
  ];
2621
2592
 
@@ -2684,7 +2655,7 @@
2684
2655
  WidgetComponent.decorators = [
2685
2656
  { type: i0.Component, args: [{
2686
2657
  selector: 'valtimo-widget',
2687
- 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",
2658
+ 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",
2688
2659
  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}"]
2689
2660
  },] }
2690
2661
  ];
@@ -2724,10 +2695,8 @@
2724
2695
  WidgetModule.decorators = [
2725
2696
  { type: i0.NgModule, args: [{
2726
2697
  declarations: [WidgetComponent],
2727
- imports: [
2728
- common.CommonModule
2729
- ],
2730
- exports: [WidgetComponent]
2698
+ imports: [common.CommonModule],
2699
+ exports: [WidgetComponent],
2731
2700
  },] }
2732
2701
  ];
2733
2702
 
@@ -2760,7 +2729,7 @@
2760
2729
  }());
2761
2730
  FieldAutoFocusDirective.decorators = [
2762
2731
  { type: i0.Directive, args: [{
2763
- selector: '[valtimoFieldAutoFocus]'
2732
+ selector: '[valtimoFieldAutoFocus]',
2764
2733
  },] }
2765
2734
  ];
2766
2735
  FieldAutoFocusDirective.ctorParameters = function () { return [
@@ -2790,12 +2759,8 @@
2790
2759
  FieldAutoFocusModule.decorators = [
2791
2760
  { type: i0.NgModule, args: [{
2792
2761
  declarations: [FieldAutoFocusDirective],
2793
- exports: [
2794
- FieldAutoFocusDirective
2795
- ],
2796
- imports: [
2797
- common.CommonModule
2798
- ]
2762
+ exports: [FieldAutoFocusDirective],
2763
+ imports: [common.CommonModule],
2799
2764
  },] }
2800
2765
  ];
2801
2766
 
@@ -2871,15 +2836,15 @@
2871
2836
  }
2872
2837
  if (inputData) {
2873
2838
  Object.keys(inputData).forEach(function (key) {
2874
- var diagramContainer = _this.el.nativeElement.querySelector('svg')
2875
- .getBoundingClientRect(), diagramElm = _this.el.nativeElement.querySelector("g[data-element-id=" + key + "]")
2839
+ var diagramContainer = _this.el.nativeElement.querySelector('svg').getBoundingClientRect(), diagramElm = _this.el.nativeElement
2840
+ .querySelector("g[data-element-id=" + key + "]")
2876
2841
  .getBoundingClientRect();
2877
2842
  _this.setMax(key);
2878
2843
  _this.heatPoints.data.push({
2879
2844
  x: Math.round(diagramElm.x - diagramContainer.x + diagramElm.width / 2),
2880
2845
  y: Math.round(diagramElm.y - diagramContainer.y + diagramElm.height / 2),
2881
2846
  value: inputData[key][valueKey],
2882
- radius: diagramElm.width / 2
2847
+ radius: diagramElm.width / 2,
2883
2848
  });
2884
2849
  if (inputData[key].count > 0) {
2885
2850
  _this.addCounterActiveOverlays(key, inputData);
@@ -2903,27 +2868,27 @@
2903
2868
  overlays.add(key, {
2904
2869
  position: {
2905
2870
  bottom: -10,
2906
- left: 0
2871
+ left: 0,
2907
2872
  },
2908
2873
  show: {
2909
2874
  minZoom: 0,
2910
- maxZoom: 5.0
2875
+ maxZoom: 5.0,
2911
2876
  },
2912
- html: "<span class=\"badge badge-pill badge-primary\">" + inputData[key].count + "</span>"
2877
+ html: "<span class=\"badge badge-pill badge-primary\">" + inputData[key].count + "</span>",
2913
2878
  });
2914
2879
  };
2915
2880
  BpmnJsDiagramComponent.prototype.showHeatmap = function () {
2916
2881
  this.heatMapInstance = heatmap.create({
2917
2882
  radius: 54,
2918
- blur: .70,
2919
- maxOpacity: .4,
2883
+ blur: 0.7,
2884
+ maxOpacity: 0.4,
2920
2885
  minOpacity: 0,
2921
- container: this.el.nativeElement
2886
+ container: this.el.nativeElement,
2922
2887
  });
2923
2888
  this.heatMapInstance.setData({
2924
2889
  min: this.min,
2925
2890
  max: this.max,
2926
- data: this.heatPoints.data
2891
+ data: this.heatPoints.data,
2927
2892
  });
2928
2893
  };
2929
2894
  BpmnJsDiagramComponent.prototype.clearHeatmap = function () {
@@ -2946,7 +2911,7 @@
2946
2911
  BpmnJsDiagramComponent.decorators = [
2947
2912
  { type: i0.Component, args: [{
2948
2913
  selector: 'valtimo-bpmn-js-diagram',
2949
- 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",
2914
+ 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",
2950
2915
  styles: [""]
2951
2916
  },] }
2952
2917
  ];
@@ -2983,10 +2948,8 @@
2983
2948
  BpmnJsDiagramModule.decorators = [
2984
2949
  { type: i0.NgModule, args: [{
2985
2950
  declarations: [BpmnJsDiagramComponent],
2986
- imports: [
2987
- common.CommonModule
2988
- ],
2989
- exports: [BpmnJsDiagramComponent]
2951
+ imports: [common.CommonModule],
2952
+ exports: [BpmnJsDiagramComponent],
2990
2953
  },] }
2991
2954
  ];
2992
2955
 
@@ -3013,7 +2976,7 @@
3013
2976
  TimelineComponent.decorators = [
3014
2977
  { type: i0.Component, args: [{
3015
2978
  selector: 'valtimo-timeline',
3016
- 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",
2979
+ 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",
3017
2980
  styles: [""]
3018
2981
  },] }
3019
2982
  ];
@@ -3044,11 +3007,8 @@
3044
3007
  TimelineModule.decorators = [
3045
3008
  { type: i0.NgModule, args: [{
3046
3009
  declarations: [TimelineComponent],
3047
- imports: [
3048
- common.CommonModule,
3049
- core.TranslateModule,
3050
- ],
3051
- exports: [TimelineComponent]
3010
+ imports: [common.CommonModule, core.TranslateModule],
3011
+ exports: [TimelineComponent],
3052
3012
  },] }
3053
3013
  ];
3054
3014
 
@@ -3145,10 +3105,8 @@
3145
3105
  FilterSidebarModule.decorators = [
3146
3106
  { type: i0.NgModule, args: [{
3147
3107
  declarations: [FilterSidebarComponent],
3148
- imports: [
3149
- common.CommonModule
3150
- ],
3151
- exports: [FilterSidebarComponent]
3108
+ imports: [common.CommonModule],
3109
+ exports: [FilterSidebarComponent],
3152
3110
  },] }
3153
3111
  ];
3154
3112
 
@@ -3160,8 +3118,7 @@
3160
3118
  this.resourceRegistered = new i0.EventEmitter();
3161
3119
  this.showFileList = true;
3162
3120
  }
3163
- UploaderComponent.prototype.ngOnInit = function () {
3164
- };
3121
+ UploaderComponent.prototype.ngOnInit = function () { };
3165
3122
  UploaderComponent.prototype.onFileFieldChange = function (files) {
3166
3123
  var e_1, _a;
3167
3124
  try {
@@ -3205,7 +3162,7 @@
3205
3162
  UploaderComponent.decorators = [
3206
3163
  { type: i0.Component, args: [{
3207
3164
  selector: 'valtimo-uploader',
3208
- 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",
3165
+ 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",
3209
3166
  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}"]
3210
3167
  },] }
3211
3168
  ];
@@ -3257,7 +3214,7 @@
3257
3214
  }());
3258
3215
  UploaderDragDropDirective.decorators = [
3259
3216
  { type: i0.Directive, args: [{
3260
- selector: '[valtimoUploaderDragDrop]'
3217
+ selector: '[valtimoUploaderDragDrop]',
3261
3218
  },] }
3262
3219
  ];
3263
3220
  UploaderDragDropDirective.propDecorators = {
@@ -3284,14 +3241,7 @@
3284
3241
  */
3285
3242
  var FileSizePipe = /** @class */ (function () {
3286
3243
  function FileSizePipe() {
3287
- this.units = [
3288
- 'bytes',
3289
- 'KB',
3290
- 'MB',
3291
- 'GB',
3292
- 'TB',
3293
- 'PB'
3294
- ];
3244
+ this.units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
3295
3245
  }
3296
3246
  FileSizePipe.prototype.transform = function (bytes, precision) {
3297
3247
  if (bytes === void 0) { bytes = 0; }
@@ -3310,7 +3260,7 @@
3310
3260
  }());
3311
3261
  FileSizePipe.decorators = [
3312
3262
  { type: i0.Pipe, args: [{
3313
- name: 'filesize'
3263
+ name: 'filesize',
3314
3264
  },] }
3315
3265
  ];
3316
3266
 
@@ -3337,10 +3287,8 @@
3337
3287
  FileSizeModule.decorators = [
3338
3288
  { type: i0.NgModule, args: [{
3339
3289
  declarations: [FileSizePipe],
3340
- imports: [
3341
- common.CommonModule
3342
- ],
3343
- exports: [FileSizePipe]
3290
+ imports: [common.CommonModule],
3291
+ exports: [FileSizePipe],
3344
3292
  },] }
3345
3293
  ];
3346
3294
 
@@ -3367,11 +3315,8 @@
3367
3315
  UploaderModule.decorators = [
3368
3316
  { type: i0.NgModule, args: [{
3369
3317
  declarations: [UploaderComponent, UploaderDragDropDirective],
3370
- imports: [
3371
- common.CommonModule,
3372
- FileSizeModule
3373
- ],
3374
- exports: [UploaderComponent, UploaderDragDropDirective]
3318
+ imports: [common.CommonModule, FileSizeModule],
3319
+ exports: [UploaderComponent, UploaderDragDropDirective],
3375
3320
  },] }
3376
3321
  ];
3377
3322
 
@@ -3473,12 +3418,10 @@
3473
3418
  this.alerts = [];
3474
3419
  this.autoCloseInMS = 5000;
3475
3420
  }
3476
- AlertComponent.prototype.ngOnInit = function () {
3477
- };
3421
+ AlertComponent.prototype.ngOnInit = function () { };
3478
3422
  AlertComponent.prototype.ngAfterContentInit = function () {
3479
3423
  var _this = this;
3480
- this.subscription = this.alertService.onAlert()
3481
- .subscribe(function (alert) {
3424
+ this.subscription = this.alertService.onAlert().subscribe(function (alert) {
3482
3425
  if (!alert.message) {
3483
3426
  // clear alerts when an empty alert is received
3484
3427
  _this.alerts = [];
@@ -3585,7 +3528,7 @@
3585
3528
  AlertComponent.decorators = [
3586
3529
  { type: i0.Component, args: [{
3587
3530
  selector: 'valtimo-alert',
3588
- 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",
3531
+ 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",
3589
3532
  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}"]
3590
3533
  },] }
3591
3534
  ];
@@ -3617,7 +3560,7 @@
3617
3560
  { type: i0.NgModule, args: [{
3618
3561
  imports: [common.CommonModule],
3619
3562
  declarations: [AlertComponent],
3620
- exports: [AlertComponent]
3563
+ exports: [AlertComponent],
3621
3564
  },] }
3622
3565
  ];
3623
3566
 
@@ -3639,8 +3582,7 @@
3639
3582
  var DataListComponent = /** @class */ (function () {
3640
3583
  function DataListComponent() {
3641
3584
  }
3642
- DataListComponent.prototype.ngOnInit = function () {
3643
- };
3585
+ DataListComponent.prototype.ngOnInit = function () { };
3644
3586
  return DataListComponent;
3645
3587
  }());
3646
3588
  DataListComponent.decorators = [
@@ -3679,10 +3621,8 @@
3679
3621
  DataListModule.decorators = [
3680
3622
  { type: i0.NgModule, args: [{
3681
3623
  declarations: [DataListComponent],
3682
- imports: [
3683
- common.CommonModule
3684
- ],
3685
- exports: [DataListComponent]
3624
+ imports: [common.CommonModule],
3625
+ exports: [DataListComponent],
3686
3626
  },] }
3687
3627
  ];
3688
3628
 
@@ -3737,21 +3677,22 @@
3737
3677
  * limitations under the License.
3738
3678
  */
3739
3679
  var FormioComponent = /** @class */ (function () {
3740
- function FormioComponent(userProviderService, logger, stateService, route) {
3680
+ function FormioComponent(userProviderService, logger, stateService, route, translateService) {
3741
3681
  this.userProviderService = userProviderService;
3742
3682
  this.logger = logger;
3743
3683
  this.stateService = stateService;
3744
3684
  this.route = route;
3685
+ this.translateService = translateService;
3745
3686
  this.submission = {};
3746
3687
  this.submit = new i0.EventEmitter();
3747
3688
  this.change = new i0.EventEmitter();
3748
3689
  this.refreshForm = new i0.EventEmitter();
3749
3690
  this.errors = [];
3691
+ this.currentLanguage$ = new rxjs.BehaviorSubject(this.translateService.currentLang);
3750
3692
  }
3751
3693
  FormioComponent.prototype.ngOnInit = function () {
3752
3694
  var documentDefinitionName = this.route.snapshot.paramMap.get('documentDefinitionName');
3753
3695
  var formDefinition = this.form;
3754
- this.loadUserLanguageSetting();
3755
3696
  this.formDefinition = formDefinition;
3756
3697
  this.errors = [];
3757
3698
  if (this.formHasLegacyUpload(formDefinition)) {
@@ -3761,11 +3702,11 @@
3761
3702
  this.stateService.setDocumentDefinitionName(documentDefinitionName);
3762
3703
  }
3763
3704
  this.subscribeFormRefresh();
3705
+ this.openLanguageSubscription();
3764
3706
  };
3765
3707
  FormioComponent.prototype.ngOnChanges = function (changes) {
3766
3708
  var currentForm = changes.form.currentValue;
3767
3709
  this.formDefinition = currentForm;
3768
- this.loadUserLanguageSetting();
3769
3710
  this.reloadForm();
3770
3711
  if (this.formHasLegacyUpload(currentForm)) {
3771
3712
  this.setInitialToken();
@@ -3776,17 +3717,14 @@
3776
3717
  }
3777
3718
  };
3778
3719
  FormioComponent.prototype.ngOnDestroy = function () {
3720
+ var _a, _b;
3779
3721
  this.unsubscribeFormRefresh();
3780
- if (this.tokenRefreshTimerSubscription) {
3781
- this.tokenRefreshTimerSubscription.unsubscribe();
3782
- }
3783
- };
3784
- FormioComponent.prototype.loadUserLanguageSetting = function () {
3785
- this.language = localStorage.getItem('langKey') || '';
3722
+ (_a = this.tokenRefreshTimerSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
3723
+ (_b = this.languageSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
3786
3724
  };
3787
3725
  FormioComponent.prototype.reloadForm = function () {
3788
3726
  this.refreshForm.emit({
3789
- form: this.formDefinition
3727
+ form: this.formDefinition,
3790
3728
  });
3791
3729
  };
3792
3730
  FormioComponent.prototype.showErrors = function (errors) {
@@ -3851,12 +3789,18 @@
3851
3789
  this.formRefreshSubscription.unsubscribe();
3852
3790
  }
3853
3791
  };
3792
+ FormioComponent.prototype.openLanguageSubscription = function () {
3793
+ var _this = this;
3794
+ this.languageSubscription = this.translateService.stream('key').subscribe(function () {
3795
+ _this.currentLanguage$.next(_this.translateService.currentLang);
3796
+ });
3797
+ };
3854
3798
  return FormioComponent;
3855
3799
  }());
3856
3800
  FormioComponent.decorators = [
3857
3801
  { type: i0.Component, args: [{
3858
3802
  selector: 'valtimo-form-io',
3859
- 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",
3803
+ 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",
3860
3804
  styles: [""]
3861
3805
  },] }
3862
3806
  ];
@@ -3864,7 +3808,8 @@
3864
3808
  { type: i3.UserProviderService },
3865
3809
  { type: i4.NGXLogger },
3866
3810
  { type: FormIoStateService },
3867
- { type: i1.ActivatedRoute }
3811
+ { type: i1.ActivatedRoute },
3812
+ { type: core.TranslateService }
3868
3813
  ]; };
3869
3814
  FormioComponent.propDecorators = {
3870
3815
  form: [{ type: i0.Input }],
@@ -3894,8 +3839,7 @@
3894
3839
  function FormioBuilderComponent() {
3895
3840
  this.change = new i0.EventEmitter();
3896
3841
  }
3897
- FormioBuilderComponent.prototype.ngOnInit = function () {
3898
- };
3842
+ FormioBuilderComponent.prototype.ngOnInit = function () { };
3899
3843
  FormioBuilderComponent.prototype.onChange = function (event) {
3900
3844
  this.change.emit(event);
3901
3845
  };
@@ -3904,7 +3848,7 @@
3904
3848
  FormioBuilderComponent.decorators = [
3905
3849
  { type: i0.Component, args: [{
3906
3850
  selector: 'valtimo-form-io-builder',
3907
- 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",
3851
+ 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",
3908
3852
  styles: [""]
3909
3853
  },] }
3910
3854
  ];
@@ -3933,7 +3877,7 @@
3933
3877
  appUrl: 'http://localhost:4200',
3934
3878
  apiUrl: 'http://localhost:4200',
3935
3879
  icons: 'fontawesome',
3936
- formOnly: false
3880
+ formOnly: false,
3937
3881
  };
3938
3882
 
3939
3883
  var FormIoDomService = /** @class */ (function () {
@@ -3981,7 +3925,9 @@
3981
3925
  });
3982
3926
  FormIoUploaderComponent.prototype.downloadFile = function (resourceFile) {
3983
3927
  var _this = this;
3984
- this.uploadProviderService.getResource(resourceFile.data.resourceId).subscribe(function (resource) {
3928
+ this.uploadProviderService
3929
+ .getResource(resourceFile.data.resourceId)
3930
+ .subscribe(function (resource) {
3985
3931
  _this.downloadService.downloadFile(resource.url, resource.resource.name);
3986
3932
  });
3987
3933
  };
@@ -4008,7 +3954,7 @@
4008
3954
  FormIoUploaderComponent.decorators = [
4009
3955
  { type: i0.Component, args: [{
4010
3956
  selector: 'valtimo-formio-uploader',
4011
- 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",
3957
+ 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",
4012
3958
  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}"]
4013
3959
  },] }
4014
3960
  ];
@@ -4046,13 +3992,13 @@
4046
3992
  this.error$ = new rxjs.BehaviorSubject('');
4047
3993
  this.errorMessagesStrings = {
4048
3994
  tooBig: 'too big',
4049
- wrongType: 'this type'
3995
+ wrongType: 'this type',
4050
3996
  };
4051
3997
  this.errorMessage$ = rxjs.combineLatest([
4052
3998
  this.error$,
4053
3999
  this.translateService.stream('dropzone.error.generic'),
4054
4000
  this.translateService.stream('dropzone.error.tooBig'),
4055
- this.translateService.stream('dropzone.error.wrongType')
4001
+ this.translateService.stream('dropzone.error.wrongType'),
4056
4002
  ]).pipe(operators.map(function (_a) {
4057
4003
  var _b = __read(_a, 4), dropzoneError = _b[0], generic = _b[1], tooBig = _b[2], wrongType = _b[3];
4058
4004
  var strings = _this.errorMessagesStrings;
@@ -4107,7 +4053,7 @@
4107
4053
  accept: function (file) {
4108
4054
  _this.dropzone.removeAllFiles();
4109
4055
  _this.setFile(file);
4110
- }
4056
+ },
4111
4057
  });
4112
4058
  this.setDropzoneEvents();
4113
4059
  };
@@ -4135,7 +4081,7 @@
4135
4081
  DropzoneComponent.decorators = [
4136
4082
  { type: i0.Component, args: [{
4137
4083
  selector: 'valtimo-dropzone',
4138
- 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",
4084
+ 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",
4139
4085
  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}"]
4140
4086
  },] }
4141
4087
  ];
@@ -4182,7 +4128,7 @@
4182
4128
  ProgressBarComponent.decorators = [
4183
4129
  { type: i0.Component, args: [{
4184
4130
  selector: 'valtimo-progress-bar',
4185
- template: "<div class=\"progress\" style=\"position: relative;\">\n <div class=\"progress-bar progress-bar-striped indeterminate\">\n </div>\n</div>\n",
4131
+ template: "<div class=\"progress\" style=\"position: relative\">\n <div class=\"progress-bar progress-bar-striped indeterminate\"></div>\n</div>\n",
4186
4132
  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%}}"]
4187
4133
  },] }
4188
4134
  ];
@@ -4210,10 +4156,8 @@
4210
4156
  ProgressBarModule.decorators = [
4211
4157
  { type: i0.NgModule, args: [{
4212
4158
  declarations: [ProgressBarComponent],
4213
- imports: [
4214
- common.CommonModule,
4215
- ],
4216
- exports: [ProgressBarComponent]
4159
+ imports: [common.CommonModule],
4160
+ exports: [ProgressBarComponent],
4217
4161
  },] }
4218
4162
  ];
4219
4163
 
@@ -4246,8 +4190,7 @@
4246
4190
  _this.toggleFade();
4247
4191
  });
4248
4192
  if (navigator.mediaDevices.getUserMedia) {
4249
- navigator.mediaDevices.getUserMedia({ video: true })
4250
- .then(function (stream) {
4193
+ navigator.mediaDevices.getUserMedia({ video: true }).then(function (stream) {
4251
4194
  video.srcObject = stream;
4252
4195
  _this.stream$.next(stream);
4253
4196
  });
@@ -4313,7 +4256,7 @@
4313
4256
  WebcamComponent.decorators = [
4314
4257
  { type: i0.Component, args: [{
4315
4258
  selector: 'valtimo-webcam',
4316
- 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",
4259
+ 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",
4317
4260
  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}"]
4318
4261
  },] }
4319
4262
  ];
@@ -4344,11 +4287,8 @@
4344
4287
  WebcamModule.decorators = [
4345
4288
  { type: i0.NgModule, args: [{
4346
4289
  declarations: [WebcamComponent],
4347
- imports: [
4348
- common.CommonModule,
4349
- core.TranslateModule
4350
- ],
4351
- exports: [WebcamComponent]
4290
+ imports: [common.CommonModule, core.TranslateModule],
4291
+ exports: [WebcamComponent],
4352
4292
  },] }
4353
4293
  ];
4354
4294
 
@@ -4376,7 +4316,7 @@
4376
4316
  { type: i0.NgModule, args: [{
4377
4317
  declarations: [DropzoneComponent],
4378
4318
  imports: [common.CommonModule, core.TranslateModule, FileSizeModule, ProgressBarModule, WebcamModule],
4379
- exports: [DropzoneComponent]
4319
+ exports: [DropzoneComponent],
4380
4320
  },] }
4381
4321
  ];
4382
4322
 
@@ -4411,14 +4351,14 @@
4411
4351
  i2.DocumentModule,
4412
4352
  FileSizeModule,
4413
4353
  resource.ResourceModule,
4414
- i1.RouterModule
4354
+ i1.RouterModule,
4415
4355
  ],
4416
4356
  declarations: [FormioComponent, FormioBuilderComponent, FormIoUploaderComponent],
4417
4357
  exports: [FormioComponent, FormioBuilderComponent, FormIoUploaderComponent],
4418
4358
  providers: [
4419
4359
  FormIoStateService,
4420
4360
  FormIoDomService,
4421
- { provide: angularFormio.FormioAppConfig, useValue: ɵ0$1 }
4361
+ { provide: angularFormio.FormioAppConfig, useValue: ɵ0$1 },
4422
4362
  ],
4423
4363
  },] }
4424
4364
  ];
@@ -4495,7 +4435,7 @@
4495
4435
  { type: i0.NgModule, args: [{
4496
4436
  declarations: [ModalComponent],
4497
4437
  imports: [common.CommonModule],
4498
- exports: [ModalComponent]
4438
+ exports: [ModalComponent],
4499
4439
  },] }
4500
4440
  ];
4501
4441
 
@@ -4529,7 +4469,7 @@
4529
4469
  SpinnerComponent.decorators = [
4530
4470
  { type: i0.Component, args: [{
4531
4471
  selector: 'valtimo-spinner',
4532
- 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",
4472
+ 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",
4533
4473
  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}"]
4534
4474
  },] }
4535
4475
  ];
@@ -4567,14 +4507,8 @@
4567
4507
  SpinnerModule.decorators = [
4568
4508
  { type: i0.NgModule, args: [{
4569
4509
  declarations: [SpinnerComponent],
4570
- exports: [
4571
- SpinnerComponent
4572
- ],
4573
- imports: [
4574
- common.CommonModule,
4575
- ngxSpinner.NgxSpinnerModule,
4576
- core.TranslateModule
4577
- ]
4510
+ exports: [SpinnerComponent],
4511
+ imports: [common.CommonModule, ngxSpinner.NgxSpinnerModule, core.TranslateModule],
4578
4512
  },] }
4579
4513
  ];
4580
4514
 
@@ -4679,7 +4613,8 @@
4679
4613
  }
4680
4614
  // handle moving up in the list with up arrow up or shift+tab
4681
4615
  }
4682
- else if ((code === up || (code === tab && shiftKey)) && focusedId !== _this.searchId) {
4616
+ else if ((code === up || (code === tab && shiftKey)) &&
4617
+ focusedId !== _this.searchId) {
4683
4618
  // move to previous item if focus is not on the first item in the list
4684
4619
  if (focusedIndex > 0) {
4685
4620
  _this.focusedItemId$.next(items[focusedIndex - 1].id);
@@ -4705,7 +4640,8 @@
4705
4640
  var filteredItems = _this.items.filter(function (item) { return item.text.toUpperCase().includes(searchTerm.toUpperCase()); });
4706
4641
  _this.filteredItems$.next(filteredItems);
4707
4642
  // move focus to search box if filtered list length is 0 or previously focused item is not in filtered list anymore
4708
- if (filteredItems.length === 0 || !filteredItems.some(function (item) { return item.id === focusedItemId; })) {
4643
+ if (filteredItems.length === 0 ||
4644
+ !filteredItems.some(function (item) { return item.id === focusedItemId; })) {
4709
4645
  _this.resetFocus();
4710
4646
  }
4711
4647
  }
@@ -4731,7 +4667,7 @@
4731
4667
  SearchableDropdownComponent.decorators = [
4732
4668
  { type: i0.Component, args: [{
4733
4669
  selector: 'valtimo-searchable-dropdown',
4734
- 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",
4670
+ 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",
4735
4671
  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}"]
4736
4672
  },] }
4737
4673
  ];
@@ -4773,7 +4709,7 @@
4773
4709
  { type: i0.NgModule, args: [{
4774
4710
  declarations: [SearchableDropdownComponent],
4775
4711
  imports: [common.CommonModule, forms.ReactiveFormsModule],
4776
- exports: [SearchableDropdownComponent]
4712
+ exports: [SearchableDropdownComponent],
4777
4713
  },] }
4778
4714
  ];
4779
4715
 
@@ -4799,7 +4735,7 @@
4799
4735
  tooltip: 'The name of this field in the API endpoint.',
4800
4736
  validate: {
4801
4737
  required: true,
4802
- }
4738
+ },
4803
4739
  },
4804
4740
  {
4805
4741
  type: 'textfield',
@@ -4863,7 +4799,7 @@
4863
4799
  validate: {
4864
4800
  required: false,
4865
4801
  },
4866
- }
4802
+ },
4867
4803
  ],
4868
4804
  }); };
4869
4805
 
@@ -4927,7 +4863,7 @@
4927
4863
  SearchableDropdownSelectComponent.decorators = [
4928
4864
  { type: i0.Component, args: [{
4929
4865
  selector: 'valtimo-searchable-dropdown-select',
4930
- 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",
4866
+ 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",
4931
4867
  styles: [".selected-text{margin:0}.clear-icon{font-size:13px}"]
4932
4868
  },] }
4933
4869
  ];
@@ -4971,7 +4907,7 @@
4971
4907
  { type: i0.NgModule, args: [{
4972
4908
  declarations: [SearchableDropdownSelectComponent],
4973
4909
  imports: [common.CommonModule, forms.ReactiveFormsModule, SearchableDropdownModule],
4974
- exports: [SearchableDropdownSelectComponent]
4910
+ exports: [SearchableDropdownSelectComponent],
4975
4911
  },] }
4976
4912
  ];
4977
4913