@valtimo/components 4.15.2-next-main.8

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 (202) hide show
  1. package/bundles/valtimo-components.umd.js +5089 -0
  2. package/bundles/valtimo-components.umd.js.map +1 -0
  3. package/bundles/valtimo-components.umd.min.js +17 -0
  4. package/bundles/valtimo-components.umd.min.js.map +1 -0
  5. package/esm2015/lib/alert/alert.component.js +142 -0
  6. package/esm2015/lib/alert/alert.module.js +28 -0
  7. package/esm2015/lib/alert/alert.service.js +81 -0
  8. package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.component.js +160 -0
  9. package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.module.js +30 -0
  10. package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.component.js +93 -0
  11. package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.module.js +34 -0
  12. package/esm2015/lib/camunda/form/camunda-form.components.js +37 -0
  13. package/esm2015/lib/camunda/form/camunda-form.module.js +38 -0
  14. package/esm2015/lib/camunda/form/custom/camunda-custom-form.component.js +42 -0
  15. package/esm2015/lib/camunda/form/custom/camunda-custom-form.module.js +34 -0
  16. package/esm2015/lib/camunda/form/generated/camunda-generated-form.component.js +69 -0
  17. package/esm2015/lib/camunda/form/generated/camunda-generated-form.module.js +63 -0
  18. package/esm2015/lib/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.js +28 -0
  19. package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +64 -0
  20. package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield.service.js +67 -0
  21. package/esm2015/lib/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.js +38 -0
  22. package/esm2015/lib/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +66 -0
  23. package/esm2015/lib/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +31 -0
  24. package/esm2015/lib/camunda/form/generated/formfield/formfield.model.js +16 -0
  25. package/esm2015/lib/camunda/form/generated/formfield/long/camunda-long-formfield.component.js +28 -0
  26. package/esm2015/lib/camunda/form/generated/formfield/string/camunda-string-formfield.component.js +28 -0
  27. package/esm2015/lib/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.js +28 -0
  28. package/esm2015/lib/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +36 -0
  29. package/esm2015/lib/camunda/form/generated/formfield/validation/date.validators.js +60 -0
  30. package/esm2015/lib/card/card.component.js +37 -0
  31. package/esm2015/lib/card/card.module.js +30 -0
  32. package/esm2015/lib/components.module.js +22 -0
  33. package/esm2015/lib/data-list/data-list.component.js +34 -0
  34. package/esm2015/lib/data-list/data-list.module.js +30 -0
  35. package/esm2015/lib/dropzone/dropzone.component.js +143 -0
  36. package/esm2015/lib/dropzone/dropzone.module.js +32 -0
  37. package/esm2015/lib/field-auto-focus/field-auto-focus.directive.js +35 -0
  38. package/esm2015/lib/field-auto-focus/field-auto-focus.module.js +32 -0
  39. package/esm2015/lib/file-size/file-size.module.js +30 -0
  40. package/esm2015/lib/file-size/file-size.pipe.js +45 -0
  41. package/esm2015/lib/filter-sidebar/filter-sidebar.component.js +46 -0
  42. package/esm2015/lib/filter-sidebar/filter-sidebar.module.js +30 -0
  43. package/esm2015/lib/form-io/form-io-builder.component.js +39 -0
  44. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader-edit-form.js +90 -0
  45. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.component.js +72 -0
  46. package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.formio.js +26 -0
  47. package/esm2015/lib/form-io/form-io.component.js +160 -0
  48. package/esm2015/lib/form-io/form-io.module.js +56 -0
  49. package/esm2015/lib/form-io/formio-config.js +22 -0
  50. package/esm2015/lib/form-io/services/form-io-dom.service.js +23 -0
  51. package/esm2015/lib/form-io/services/form-io-state.service.js +24 -0
  52. package/esm2015/lib/left-sidebar/left-sidebar.component.js +114 -0
  53. package/esm2015/lib/left-sidebar/left-sidebar.module.js +34 -0
  54. package/esm2015/lib/list/ListFilterPipe.directive.js +35 -0
  55. package/esm2015/lib/list/list.component.js +177 -0
  56. package/esm2015/lib/list/list.module.js +33 -0
  57. package/esm2015/lib/menu/menu-item-text.component.js +36 -0
  58. package/esm2015/lib/menu/menu-routing.module.js +29 -0
  59. package/esm2015/lib/menu/menu.component.js +65 -0
  60. package/esm2015/lib/menu/menu.init.js +34 -0
  61. package/esm2015/lib/menu/menu.module.js +39 -0
  62. package/esm2015/lib/menu/menu.service.js +127 -0
  63. package/esm2015/lib/menu/submenu-item-text.component.js +33 -0
  64. package/esm2015/lib/modal/modal.component.js +48 -0
  65. package/esm2015/lib/modal/modal.module.js +28 -0
  66. package/esm2015/lib/page-header/page-header.component.js +29 -0
  67. package/esm2015/lib/page-header/page-header.module.js +34 -0
  68. package/esm2015/lib/page-title/page-title.component.js +76 -0
  69. package/esm2015/lib/page-title/page-title.module.js +32 -0
  70. package/esm2015/lib/progress-bar/progress-bar.component.js +26 -0
  71. package/esm2015/lib/progress-bar/progress-bar.module.js +30 -0
  72. package/esm2015/lib/right-sidebar/right-sidebar.component.js +131 -0
  73. package/esm2015/lib/right-sidebar/right-sidebar.module.js +49 -0
  74. package/esm2015/lib/searchable-dropdown/searchable-dropdown.component.js +185 -0
  75. package/esm2015/lib/searchable-dropdown/searchable-dropdown.module.js +29 -0
  76. package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.component.js +52 -0
  77. package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.module.js +30 -0
  78. package/esm2015/lib/spinner/spinner.component.js +43 -0
  79. package/esm2015/lib/spinner/spinner.module.js +36 -0
  80. package/esm2015/lib/timeline/timeline.component.js +29 -0
  81. package/esm2015/lib/timeline/timeline.module.js +32 -0
  82. package/esm2015/lib/topbar/topbar.component.js +29 -0
  83. package/esm2015/lib/topbar/topbar.module.js +32 -0
  84. package/esm2015/lib/uploader/uploader-drag-drop.directive.js +49 -0
  85. package/esm2015/lib/uploader/uploader.component.js +70 -0
  86. package/esm2015/lib/uploader/uploader.module.js +33 -0
  87. package/esm2015/lib/version/version.service.js +38 -0
  88. package/esm2015/lib/view-content/type-converters/booleanTypeConverter.js +29 -0
  89. package/esm2015/lib/view-content/type-converters/dateTypeConverter.js +30 -0
  90. package/esm2015/lib/view-content/type-converters/enumTypeConverter.js +24 -0
  91. package/esm2015/lib/view-content/type-converters/relatedFilesTypeConverter.js +24 -0
  92. package/esm2015/lib/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +27 -0
  93. package/esm2015/lib/view-content/type-converters/stringTypeConverter.js +24 -0
  94. package/esm2015/lib/view-content/type-converters/type-converters.model.js +37 -0
  95. package/esm2015/lib/view-content/view-content.service.js +51 -0
  96. package/esm2015/lib/webcam/webcam.component.js +103 -0
  97. package/esm2015/lib/webcam/webcam.module.js +32 -0
  98. package/esm2015/lib/widget/widget.component.js +80 -0
  99. package/esm2015/lib/widget/widget.module.js +30 -0
  100. package/esm2015/public_api.js +84 -0
  101. package/esm2015/valtimo-components.js +27 -0
  102. package/fesm2015/valtimo-components.js +4536 -0
  103. package/fesm2015/valtimo-components.js.map +1 -0
  104. package/lib/alert/alert.component.d.ts +21 -0
  105. package/lib/alert/alert.module.d.ts +2 -0
  106. package/lib/alert/alert.service.d.ts +21 -0
  107. package/lib/bpmn-js-diagram/bpmn-js-diagram.component.d.ts +27 -0
  108. package/lib/bpmn-js-diagram/bpmn-js-diagram.module.d.ts +2 -0
  109. package/lib/breadcrumb-navigation/breadcrumb-navigation.component.d.ts +14 -0
  110. package/lib/breadcrumb-navigation/breadcrumb-navigation.module.d.ts +2 -0
  111. package/lib/camunda/form/camunda-form.components.d.ts +9 -0
  112. package/lib/camunda/form/camunda-form.module.d.ts +2 -0
  113. package/lib/camunda/form/custom/camunda-custom-form.component.d.ts +8 -0
  114. package/lib/camunda/form/custom/camunda-custom-form.module.d.ts +2 -0
  115. package/lib/camunda/form/generated/camunda-generated-form.component.d.ts +19 -0
  116. package/lib/camunda/form/generated/camunda-generated-form.module.d.ts +2 -0
  117. package/lib/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts +7 -0
  118. package/lib/camunda/form/generated/formfield/camunda-formfield-generator.directive.d.ts +13 -0
  119. package/lib/camunda/form/generated/formfield/camunda-formfield.service.d.ts +7 -0
  120. package/lib/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts +12 -0
  121. package/lib/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts +14 -0
  122. package/lib/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts +10 -0
  123. package/lib/camunda/form/generated/formfield/formfield.model.d.ts +20 -0
  124. package/lib/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts +7 -0
  125. package/lib/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts +7 -0
  126. package/lib/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts +7 -0
  127. package/lib/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts +10 -0
  128. package/lib/camunda/form/generated/formfield/validation/date.validators.d.ts +3 -0
  129. package/lib/card/card.component.d.ts +16 -0
  130. package/lib/card/card.module.d.ts +2 -0
  131. package/lib/components.module.d.ts +2 -0
  132. package/lib/data-list/data-list.component.d.ts +7 -0
  133. package/lib/data-list/data-list.module.d.ts +2 -0
  134. package/lib/dropzone/dropzone.component.d.ts +38 -0
  135. package/lib/dropzone/dropzone.module.d.ts +2 -0
  136. package/lib/field-auto-focus/field-auto-focus.directive.d.ts +6 -0
  137. package/lib/field-auto-focus/field-auto-focus.module.d.ts +2 -0
  138. package/lib/file-size/file-size.module.d.ts +2 -0
  139. package/lib/file-size/file-size.pipe.d.ts +5 -0
  140. package/lib/filter-sidebar/filter-sidebar.component.d.ts +8 -0
  141. package/lib/filter-sidebar/filter-sidebar.module.d.ts +2 -0
  142. package/lib/form-io/form-io-builder.component.d.ts +8 -0
  143. package/lib/form-io/form-io-uploader/form-io-uploader-edit-form.d.ts +61 -0
  144. package/lib/form-io/form-io-uploader/form-io-uploader.component.d.ts +29 -0
  145. package/lib/form-io/form-io-uploader/form-io-uploader.formio.d.ts +3 -0
  146. package/lib/form-io/form-io.component.d.ts +45 -0
  147. package/lib/form-io/form-io.module.d.ts +2 -0
  148. package/lib/form-io/formio-config.d.ts +6 -0
  149. package/lib/form-io/services/form-io-dom.service.d.ts +6 -0
  150. package/lib/form-io/services/form-io-state.service.d.ts +10 -0
  151. package/lib/left-sidebar/left-sidebar.component.d.ts +34 -0
  152. package/lib/left-sidebar/left-sidebar.module.d.ts +2 -0
  153. package/lib/list/ListFilterPipe.directive.d.ts +4 -0
  154. package/lib/list/list.component.d.ts +43 -0
  155. package/lib/list/list.module.d.ts +2 -0
  156. package/lib/menu/menu-item-text.component.d.ts +4 -0
  157. package/lib/menu/menu-routing.module.d.ts +2 -0
  158. package/lib/menu/menu.component.d.ts +18 -0
  159. package/lib/menu/menu.init.d.ts +3 -0
  160. package/lib/menu/menu.module.d.ts +2 -0
  161. package/lib/menu/menu.service.d.ts +23 -0
  162. package/lib/menu/submenu-item-text.component.d.ts +4 -0
  163. package/lib/modal/modal.component.d.ts +12 -0
  164. package/lib/modal/modal.module.d.ts +2 -0
  165. package/lib/page-header/page-header.component.d.ts +5 -0
  166. package/lib/page-header/page-header.module.d.ts +2 -0
  167. package/lib/page-title/page-title.component.d.ts +19 -0
  168. package/lib/page-title/page-title.module.d.ts +2 -0
  169. package/lib/progress-bar/progress-bar.component.d.ts +2 -0
  170. package/lib/progress-bar/progress-bar.module.d.ts +2 -0
  171. package/lib/right-sidebar/right-sidebar.component.d.ts +34 -0
  172. package/lib/right-sidebar/right-sidebar.module.d.ts +2 -0
  173. package/lib/searchable-dropdown/searchable-dropdown.component.d.ts +39 -0
  174. package/lib/searchable-dropdown/searchable-dropdown.module.d.ts +2 -0
  175. package/lib/searchable-dropdown-select/searchable-dropdown-select.component.d.ts +19 -0
  176. package/lib/searchable-dropdown-select/searchable-dropdown-select.module.d.ts +2 -0
  177. package/lib/spinner/spinner.component.d.ts +9 -0
  178. package/lib/spinner/spinner.module.d.ts +2 -0
  179. package/lib/timeline/timeline.component.d.ts +4 -0
  180. package/lib/timeline/timeline.module.d.ts +2 -0
  181. package/lib/topbar/topbar.component.d.ts +3 -0
  182. package/lib/topbar/topbar.module.d.ts +2 -0
  183. package/lib/uploader/uploader-drag-drop.directive.d.ts +7 -0
  184. package/lib/uploader/uploader.component.d.ts +15 -0
  185. package/lib/uploader/uploader.module.d.ts +2 -0
  186. package/lib/version/version.service.d.ts +8 -0
  187. package/lib/view-content/type-converters/booleanTypeConverter.d.ts +5 -0
  188. package/lib/view-content/type-converters/dateTypeConverter.d.ts +5 -0
  189. package/lib/view-content/type-converters/enumTypeConverter.d.ts +5 -0
  190. package/lib/view-content/type-converters/relatedFilesTypeConverter.d.ts +5 -0
  191. package/lib/view-content/type-converters/stringReplaceUnderscoreTypeConverter.d.ts +6 -0
  192. package/lib/view-content/type-converters/stringTypeConverter.d.ts +5 -0
  193. package/lib/view-content/type-converters/type-converters.model.d.ts +5 -0
  194. package/lib/view-content/view-content.service.d.ts +8 -0
  195. package/lib/webcam/webcam.component.d.ts +20 -0
  196. package/lib/webcam/webcam.module.d.ts +2 -0
  197. package/lib/widget/widget.component.d.ts +28 -0
  198. package/lib/widget/widget.module.d.ts +2 -0
  199. package/package.json +34 -0
  200. package/public_api.d.ts +65 -0
  201. package/valtimo-components.d.ts +26 -0
  202. package/valtimo-components.metadata.json +1 -0
@@ -0,0 +1,72 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { FormIoStateService } from '../services/form-io-state.service';
4
+ import { take } from 'rxjs/operators';
5
+ import { FormIoDomService } from '../services/form-io-dom.service';
6
+ import { DownloadService, UploadProviderService } from '@valtimo/resource';
7
+ export class FormIoUploaderComponent {
8
+ constructor(uploadProviderService, stateService, domService, downloadService) {
9
+ this.uploadProviderService = uploadProviderService;
10
+ this.stateService = stateService;
11
+ this.domService = domService;
12
+ this.downloadService = downloadService;
13
+ this.valueChange = new EventEmitter();
14
+ this.uploading$ = new BehaviorSubject(false);
15
+ this._value = [];
16
+ }
17
+ get value() {
18
+ return this._value;
19
+ }
20
+ set value(value) {
21
+ if (Array.isArray(value)) {
22
+ this._value = value;
23
+ }
24
+ }
25
+ downloadFile(resourceFile) {
26
+ this.uploadProviderService.getResource(resourceFile.data.resourceId).subscribe((resource) => {
27
+ this.downloadService.downloadFile(resource.url, resource.resource.name);
28
+ });
29
+ }
30
+ fileSelected(file) {
31
+ this.domService.toggleSubmitButton(true);
32
+ this.uploading$.next(true);
33
+ this.stateService.documentDefinitionName$.pipe(take(1)).subscribe((name) => {
34
+ this.uploadProviderService.uploadFile(file, name).subscribe((result) => {
35
+ this.domService.toggleSubmitButton(false);
36
+ this.uploading$.next(false);
37
+ this._value.push(result);
38
+ this.valueChange.emit(this._value);
39
+ });
40
+ });
41
+ }
42
+ deleteFile(resourceId) {
43
+ this.domService.toggleSubmitButton(true);
44
+ this._value = this._value.filter((file) => { var _a; return (file === null || file === void 0 ? void 0 : file.data) ? ((_a = file === null || file === void 0 ? void 0 : file.data) === null || _a === void 0 ? void 0 : _a.resourceId) !== resourceId : true; });
45
+ this.valueChange.emit(this._value);
46
+ }
47
+ }
48
+ FormIoUploaderComponent.decorators = [
49
+ { type: Component, args: [{
50
+ selector: 'valtimo-formio-uploader',
51
+ 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",
52
+ 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}"]
53
+ },] }
54
+ ];
55
+ FormIoUploaderComponent.ctorParameters = () => [
56
+ { type: UploadProviderService },
57
+ { type: FormIoStateService },
58
+ { type: FormIoDomService },
59
+ { type: DownloadService }
60
+ ];
61
+ FormIoUploaderComponent.propDecorators = {
62
+ disabled: [{ type: Input }],
63
+ title: [{ type: Input }],
64
+ hideTitle: [{ type: Input }],
65
+ subtitle: [{ type: Input }],
66
+ maxFileSize: [{ type: Input }],
67
+ hideMaxFileSize: [{ type: Input }],
68
+ camera: [{ type: Input }],
69
+ valueChange: [{ type: Output }],
70
+ value: [{ type: Input }]
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWlvL2Zvcm0taW8tdXBsb2FkZXIvZm9ybS1pby11cGxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZUFBZSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFPekUsTUFBTSxPQUFPLHVCQUF1QjtJQVlsQyxZQUNtQixxQkFBNEMsRUFDNUMsWUFBZ0MsRUFDaEMsVUFBNEIsRUFDNUIsZUFBZ0M7UUFIaEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBUnpDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFdkQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBVTFELFdBQU0sR0FBd0IsRUFBRSxDQUFDO0lBRmpDLENBQUM7SUFJRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQTBCO1FBQ3pDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsWUFBMEI7UUFDckMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUN2RyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVU7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN6RSxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDckUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBa0I7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFLFdBQUMsT0FBQSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLE9BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksMENBQUUsVUFBVSxNQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLEVBQUEsQ0FBQyxDQUFDO1FBQ3BILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7WUE3REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLHM4QkFBZ0Q7O2FBRWpEOzs7WUFOd0IscUJBQXFCO1lBSHRDLGtCQUFrQjtZQUVsQixnQkFBZ0I7WUFDaEIsZUFBZTs7O3VCQVFwQixLQUFLO29CQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSztxQkFDTCxLQUFLOzBCQUNMLE1BQU07b0JBa0JOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybWlvQ3VzdG9tQ29tcG9uZW50fSBmcm9tICdhbmd1bGFyLWZvcm1pbyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Jlc291cmNlRHRvLCBSZXNvdXJjZUZpbGV9IGZyb20gJ0B2YWx0aW1vL2NvbnRyYWN0JztcbmltcG9ydCB7Rm9ybUlvU3RhdGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLWlvLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Zvcm1Jb0RvbVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm0taW8tZG9tLnNlcnZpY2UnO1xuaW1wb3J0IHtEb3dubG9hZFNlcnZpY2UsIFVwbG9hZFByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcmVzb3VyY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm1pby11cGxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWlvLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1pby11cGxvYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Jb1VwbG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgRm9ybWlvQ3VzdG9tQ29tcG9uZW50PEFycmF5PFJlc291cmNlRmlsZT4+IHtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZGVUaXRsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgbWF4RmlsZVNpemU6IG51bWJlcjtcbiAgQElucHV0KCkgaGlkZU1heEZpbGVTaXplOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW1lcmE6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8UmVzb3VyY2VGaWxlPj4oKTtcblxuICByZWFkb25seSB1cGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cGxvYWRQcm92aWRlclNlcnZpY2U6IFVwbG9hZFByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogRm9ybUlvU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tU2VydmljZTogRm9ybUlvRG9tU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvd25sb2FkU2VydmljZTogRG93bmxvYWRTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIF92YWx1ZTogQXJyYXk8UmVzb3VyY2VGaWxlPiA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogQXJyYXk8UmVzb3VyY2VGaWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogQXJyYXk8UmVzb3VyY2VGaWxlPikge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBkb3dubG9hZEZpbGUocmVzb3VyY2VGaWxlOiBSZXNvdXJjZUZpbGUpIHtcbiAgICB0aGlzLnVwbG9hZFByb3ZpZGVyU2VydmljZS5nZXRSZXNvdXJjZShyZXNvdXJjZUZpbGUuZGF0YS5yZXNvdXJjZUlkKS5zdWJzY3JpYmUoKHJlc291cmNlOiBSZXNvdXJjZUR0bykgPT4ge1xuICAgICAgdGhpcy5kb3dubG9hZFNlcnZpY2UuZG93bmxvYWRGaWxlKHJlc291cmNlLnVybCwgcmVzb3VyY2UucmVzb3VyY2UubmFtZSk7XG4gICAgfSk7XG4gIH1cblxuICBmaWxlU2VsZWN0ZWQoZmlsZTogRmlsZSkge1xuICAgIHRoaXMuZG9tU2VydmljZS50b2dnbGVTdWJtaXRCdXR0b24odHJ1ZSk7XG4gICAgdGhpcy51cGxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKG5hbWUpID0+IHtcbiAgICAgIHRoaXMudXBsb2FkUHJvdmlkZXJTZXJ2aWNlLnVwbG9hZEZpbGUoZmlsZSwgbmFtZSkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLnRvZ2dsZVN1Ym1pdEJ1dHRvbihmYWxzZSk7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5fdmFsdWUucHVzaChyZXN1bHQpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGVGaWxlKHJlc291cmNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZG9tU2VydmljZS50b2dnbGVTdWJtaXRCdXR0b24odHJ1ZSk7XG4gICAgdGhpcy5fdmFsdWUgPSB0aGlzLl92YWx1ZS5maWx0ZXIoKGZpbGU6IFJlc291cmNlRmlsZSkgPT4gZmlsZT8uZGF0YSA/IGZpbGU/LmRhdGE/LnJlc291cmNlSWQgIT09IHJlc291cmNlSWQgOiB0cnVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { createCustomFormioComponent, registerCustomFormioComponentWithClass } from 'angular-formio';
2
+ import { FormIoUploaderComponent } from './form-io-uploader.component';
3
+ import { formIoUploaderEditForm } from './form-io-uploader-edit-form';
4
+ export const customUploaderType = 'valtimo-file';
5
+ const COMPONENT_OPTIONS = {
6
+ type: customUploaderType,
7
+ selector: 'valtimo-form-io-uploader',
8
+ title: 'Valtimo File Upload',
9
+ group: 'basic',
10
+ icon: 'upload',
11
+ // set empty value to force formio to accept arrays as valid input value for this field type
12
+ emptyValue: [],
13
+ editForm: formIoUploaderEditForm,
14
+ };
15
+ export function registerFormioUploadComponent(injector) {
16
+ const originalUploadComponent = createCustomFormioComponent(COMPONENT_OPTIONS);
17
+ // override setValue function to allow for setting an array value
18
+ class UploaderComponent extends originalUploadComponent {
19
+ setValue(value) {
20
+ this._customAngularElement.value = value;
21
+ return true;
22
+ }
23
+ }
24
+ registerCustomFormioComponentWithClass(COMPONENT_OPTIONS, FormIoUploaderComponent, UploaderComponent, injector);
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby11cGxvYWRlci5mb3JtaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWlvL2Zvcm0taW8tdXBsb2FkZXIvZm9ybS1pby11cGxvYWRlci5mb3JtaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLDJCQUEyQixFQUE2QixzQ0FBc0MsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlILE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQztBQUVqRCxNQUFNLGlCQUFpQixHQUE4QjtJQUNuRCxJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLFFBQVEsRUFBRSwwQkFBMEI7SUFDcEMsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxRQUFRO0lBQ2QsNEZBQTRGO0lBQzVGLFVBQVUsRUFBRSxFQUFFO0lBQ2QsUUFBUSxFQUFFLHNCQUFzQjtDQUNqQyxDQUFDO0FBRUYsTUFBTSxVQUFVLDZCQUE2QixDQUFDLFFBQWtCO0lBRTlELE1BQU0sdUJBQXVCLEdBQUcsMkJBQTJCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUUvRSxpRUFBaUU7SUFDakUsTUFBTSxpQkFBa0IsU0FBUSx1QkFBdUI7UUFDckQsUUFBUSxDQUFFLEtBQUs7WUFDYixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FDRjtJQUNELHNDQUFzQyxDQUNwQyxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixRQUFRLENBQ1QsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Y3JlYXRlQ3VzdG9tRm9ybWlvQ29tcG9uZW50LCBGb3JtaW9DdXN0b21Db21wb25lbnRJbmZvLCByZWdpc3RlckN1c3RvbUZvcm1pb0NvbXBvbmVudFdpdGhDbGFzc30gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuaW1wb3J0IHtGb3JtSW9VcGxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge2Zvcm1Jb1VwbG9hZGVyRWRpdEZvcm19IGZyb20gJy4vZm9ybS1pby11cGxvYWRlci1lZGl0LWZvcm0nO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tVXBsb2FkZXJUeXBlID0gJ3ZhbHRpbW8tZmlsZSc7XG5cbmNvbnN0IENPTVBPTkVOVF9PUFRJT05TOiBGb3JtaW9DdXN0b21Db21wb25lbnRJbmZvID0ge1xuICB0eXBlOiBjdXN0b21VcGxvYWRlclR5cGUsXG4gIHNlbGVjdG9yOiAndmFsdGltby1mb3JtLWlvLXVwbG9hZGVyJyxcbiAgdGl0bGU6ICdWYWx0aW1vIEZpbGUgVXBsb2FkJyxcbiAgZ3JvdXA6ICdiYXNpYycsXG4gIGljb246ICd1cGxvYWQnLFxuICAvLyBzZXQgZW1wdHkgdmFsdWUgdG8gZm9yY2UgZm9ybWlvIHRvIGFjY2VwdCBhcnJheXMgYXMgdmFsaWQgaW5wdXQgdmFsdWUgZm9yIHRoaXMgZmllbGQgdHlwZVxuICBlbXB0eVZhbHVlOiBbXSxcbiAgZWRpdEZvcm06IGZvcm1Jb1VwbG9hZGVyRWRpdEZvcm0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJGb3JtaW9VcGxvYWRDb21wb25lbnQoaW5qZWN0b3I6IEluamVjdG9yKSB7XG5cbiAgY29uc3Qgb3JpZ2luYWxVcGxvYWRDb21wb25lbnQgPSBjcmVhdGVDdXN0b21Gb3JtaW9Db21wb25lbnQoQ09NUE9ORU5UX09QVElPTlMpO1xuXG4gIC8vIG92ZXJyaWRlIHNldFZhbHVlIGZ1bmN0aW9uIHRvIGFsbG93IGZvciBzZXR0aW5nIGFuIGFycmF5IHZhbHVlXG4gIGNsYXNzIFVwbG9hZGVyQ29tcG9uZW50IGV4dGVuZHMgb3JpZ2luYWxVcGxvYWRDb21wb25lbnQge1xuICAgIHNldFZhbHVlICh2YWx1ZSk6IGJvb2xlYW4ge1xuICAgICAgdGhpcy5fY3VzdG9tQW5ndWxhckVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZWdpc3RlckN1c3RvbUZvcm1pb0NvbXBvbmVudFdpdGhDbGFzcyhcbiAgICBDT01QT05FTlRfT1BUSU9OUyxcbiAgICBGb3JtSW9VcGxvYWRlckNvbXBvbmVudCxcbiAgICBVcGxvYWRlckNvbXBvbmVudCxcbiAgICBpbmplY3RvclxuICApO1xufVxuIl19
@@ -0,0 +1,160 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
17
+ import { UserProviderService } from '@valtimo/security';
18
+ import { Formio } from 'angular-formio';
19
+ import jwt_decode from 'jwt-decode';
20
+ import { NGXLogger } from 'ngx-logger';
21
+ import { from, Subject, timer } from 'rxjs';
22
+ import { switchMap, take } from 'rxjs/operators';
23
+ import { FormIoStateService } from './services/form-io-state.service';
24
+ import { ActivatedRoute } from '@angular/router';
25
+ export class FormioComponent {
26
+ constructor(userProviderService, logger, stateService, route) {
27
+ this.userProviderService = userProviderService;
28
+ this.logger = logger;
29
+ this.stateService = stateService;
30
+ this.route = route;
31
+ this.submission = {};
32
+ this.useFormRefresh = false;
33
+ this.submit = new EventEmitter();
34
+ this.change = new EventEmitter();
35
+ this.refreshForm = new EventEmitter();
36
+ this.errors = [];
37
+ }
38
+ ngOnInit() {
39
+ const documentDefinitionName = this.route.snapshot.paramMap.get('documentDefinitionName');
40
+ const formDefinition = this.form;
41
+ this.loadUserLanguageSetting();
42
+ this.formDefinition = formDefinition;
43
+ this.errors = [];
44
+ if (this.formHasLegacyUpload(formDefinition)) {
45
+ this.setInitialToken();
46
+ }
47
+ if (documentDefinitionName) {
48
+ this.stateService.setDocumentDefinitionName(documentDefinitionName);
49
+ }
50
+ this.subscribeFormRefresh();
51
+ }
52
+ ngOnChanges(changes) {
53
+ const currentForm = changes.form.currentValue;
54
+ this.formDefinition = currentForm;
55
+ this.loadUserLanguageSetting();
56
+ this.reloadForm();
57
+ if (this.formHasLegacyUpload(currentForm)) {
58
+ this.setInitialToken();
59
+ }
60
+ if (changes.formDefinitionRefresh$) {
61
+ this.unsubscribeFormRefresh();
62
+ this.subscribeFormRefresh();
63
+ }
64
+ }
65
+ ngOnDestroy() {
66
+ this.unsubscribeFormRefresh();
67
+ if (this.tokenRefreshTimerSubscription) {
68
+ this.tokenRefreshTimerSubscription.unsubscribe();
69
+ }
70
+ }
71
+ loadUserLanguageSetting() {
72
+ this.language = localStorage.getItem('langKey') || '';
73
+ }
74
+ reloadForm() {
75
+ this.refreshForm.emit({
76
+ form: this.formDefinition
77
+ });
78
+ }
79
+ showErrors(errors) {
80
+ this.errors = errors;
81
+ }
82
+ onSubmit(submission) {
83
+ this.errors = [];
84
+ this.submit.emit(submission);
85
+ }
86
+ formReady(form) {
87
+ this.reloadForm();
88
+ this.stateService.currentForm = form;
89
+ }
90
+ onChange(object) {
91
+ this.change.emit(object);
92
+ }
93
+ formHasLegacyUpload(formDefinition) {
94
+ const stringifiedFormDefinition = JSON.stringify(formDefinition);
95
+ const legacyUploadString = '"type":"file"';
96
+ return stringifiedFormDefinition.includes(legacyUploadString);
97
+ }
98
+ setInitialToken() {
99
+ this.userProviderService.getToken().then((token) => {
100
+ this.setToken(token);
101
+ });
102
+ }
103
+ setToken(token) {
104
+ Formio.setToken(token);
105
+ this.setTimerForTokenRefresh(token);
106
+ this.logger.debug('New token set for form.io.');
107
+ }
108
+ setTimerForTokenRefresh(token) {
109
+ const tokenExp = jwt_decode(token).exp * 1000;
110
+ const expiryTime = tokenExp - Date.now() - 1000;
111
+ this.tokenRefreshTimerSubscription = timer(expiryTime).subscribe(() => {
112
+ this.refreshToken();
113
+ });
114
+ this.logger.debug(`Timer for form.io token refresh set for: ${expiryTime}ms.`);
115
+ }
116
+ refreshToken() {
117
+ from(this.userProviderService.updateToken(-1))
118
+ .pipe(switchMap(() => this.userProviderService.getToken()), take(1))
119
+ .subscribe(token => {
120
+ this.setToken(token);
121
+ });
122
+ }
123
+ subscribeFormRefresh() {
124
+ if (this.formRefresh$) {
125
+ this.formRefreshSubscription = this.formRefresh$.subscribe((refreshValue) => {
126
+ if (refreshValue) {
127
+ this.refreshForm.emit(refreshValue);
128
+ }
129
+ });
130
+ }
131
+ }
132
+ unsubscribeFormRefresh() {
133
+ if (this.formRefreshSubscription) {
134
+ this.formRefreshSubscription.unsubscribe();
135
+ }
136
+ }
137
+ }
138
+ FormioComponent.decorators = [
139
+ { type: Component, args: [{
140
+ selector: 'valtimo-form-io',
141
+ 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]=\"useFormRefresh && 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",
142
+ styles: [""]
143
+ },] }
144
+ ];
145
+ FormioComponent.ctorParameters = () => [
146
+ { type: UserProviderService },
147
+ { type: NGXLogger },
148
+ { type: FormIoStateService },
149
+ { type: ActivatedRoute }
150
+ ];
151
+ FormioComponent.propDecorators = {
152
+ form: [{ type: Input }],
153
+ options: [{ type: Input }],
154
+ submission: [{ type: Input }],
155
+ formRefresh$: [{ type: Input }],
156
+ useFormRefresh: [{ type: Input }],
157
+ submit: [{ type: Output }],
158
+ change: [{ type: Output }]
159
+ };
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWlvL2Zvcm0taW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxNQUFNLEVBQXVELE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQWdCLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQU8vQyxNQUFNLE9BQU8sZUFBZTtJQWdCMUIsWUFDVSxtQkFBd0MsRUFDeEMsTUFBaUIsRUFDUixZQUFnQyxFQUNoQyxLQUFxQjtRQUg5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDUixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFqQi9CLGVBQVUsR0FBaUIsRUFBRSxDQUFDO1FBRTlCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLFdBQU0sR0FBc0IsSUFB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O2FBQ0EsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDMUUsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUNyQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7OztZQTNKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsMHJDQUF1Qzs7YUFFeEM7OztZQWRPLG1CQUFtQjtZQUluQixTQUFTO1lBR1Qsa0JBQWtCO1lBQ2xCLGNBQWM7OzttQkFRbkIsS0FBSztzQkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSzs2QkFDTCxLQUFLO3FCQUNMLE1BQU07cUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtaW9TdWJtaXNzaW9uLCBWYWx0aW1vRm9ybWlvT3B0aW9uc30gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge0Zvcm1pbywgRm9ybWlvQ29tcG9uZW50IGFzIEZvcm1Jb1NvdXJjZUNvbXBvbmVudCwgRm9ybWlvRm9ybX0gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuaW1wb3J0IHtGb3JtaW9SZWZyZXNoVmFsdWV9IGZyb20gJ2FuZ3VsYXItZm9ybWlvL2Zvcm1pby5jb21tb24nO1xuaW1wb3J0IGp3dF9kZWNvZGUgZnJvbSAnand0LWRlY29kZSc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge2Zyb20sIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Rm9ybUlvU3RhdGVTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm0taW8tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0taW8nLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0taW8uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1pb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtOiBhbnk7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFZhbHRpbW9Gb3JtaW9PcHRpb25zO1xuICBASW5wdXQoKSBzdWJtaXNzaW9uPzogb2JqZWN0IHwge30gPSB7fTtcbiAgQElucHV0KCkgZm9ybVJlZnJlc2gkITogU3ViamVjdDxGb3JtaW9SZWZyZXNoVmFsdWU+O1xuICBASW5wdXQoKSB1c2VGb3JtUmVmcmVzaCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHJlZnJlc2hGb3JtOiBFdmVudEVtaXR0ZXI8Rm9ybWlvUmVmcmVzaFZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZm9ybURlZmluaXRpb246IEZvcm1pb0Zvcm07XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJpdmF0ZSB0b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGZvcm1SZWZyZXNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyUHJvdmlkZXJTZXJ2aWNlOiBVc2VyUHJvdmlkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IEZvcm1Jb1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnZG9jdW1lbnREZWZpbml0aW9uTmFtZScpO1xuICAgIGNvbnN0IGZvcm1EZWZpbml0aW9uID0gdGhpcy5mb3JtO1xuXG4gICAgdGhpcy5sb2FkVXNlckxhbmd1YWdlU2V0dGluZygpO1xuICAgIHRoaXMuZm9ybURlZmluaXRpb24gPSBmb3JtRGVmaW5pdGlvbjtcbiAgICB0aGlzLmVycm9ycyA9IFtdO1xuXG4gICAgaWYgKHRoaXMuZm9ybUhhc0xlZ2FjeVVwbG9hZChmb3JtRGVmaW5pdGlvbikpIHtcbiAgICAgIHRoaXMuc2V0SW5pdGlhbFRva2VuKCk7XG4gICAgfVxuXG4gICAgaWYgKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpIHtcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldERvY3VtZW50RGVmaW5pdGlvbk5hbWUoZG9jdW1lbnREZWZpbml0aW9uTmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRGb3JtID0gY2hhbmdlcy5mb3JtLmN1cnJlbnRWYWx1ZTtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gY3VycmVudEZvcm07XG4gICAgdGhpcy5sb2FkVXNlckxhbmd1YWdlU2V0dGluZygpO1xuICAgIHRoaXMucmVsb2FkRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMuZm9ybUhhc0xlZ2FjeVVwbG9hZChjdXJyZW50Rm9ybSkpIHtcbiAgICAgIHRoaXMuc2V0SW5pdGlhbFRva2VuKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuZm9ybURlZmluaXRpb25SZWZyZXNoJCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZUZvcm1SZWZyZXNoKCk7XG4gICAgICB0aGlzLnN1YnNjcmliZUZvcm1SZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZUZvcm1SZWZyZXNoKCk7XG5cbiAgICBpZiAodGhpcy50b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy50b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRVc2VyTGFuZ3VhZ2VTZXR0aW5nKCk6IHZvaWQge1xuICAgIHRoaXMubGFuZ3VhZ2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ0tleScpIHx8ICcnO1xuICB9XG5cbiAgcmVsb2FkRm9ybSgpIHtcbiAgICB0aGlzLnJlZnJlc2hGb3JtLmVtaXQoe1xuICAgICAgZm9ybTogdGhpcy5mb3JtRGVmaW5pdGlvblxuICAgIH0pO1xuICB9XG5cbiAgc2hvd0Vycm9ycyhlcnJvcnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gIH1cblxuICBvblN1Ym1pdChzdWJtaXNzaW9uOiBGb3JtaW9TdWJtaXNzaW9uKSB7XG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICB0aGlzLnN1Ym1pdC5lbWl0KHN1Ym1pc3Npb24pO1xuICB9XG5cbiAgZm9ybVJlYWR5KGZvcm06IEZvcm1Jb1NvdXJjZUNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMucmVsb2FkRm9ybSgpO1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmN1cnJlbnRGb3JtID0gZm9ybTtcbiAgfVxuXG4gIG9uQ2hhbmdlKG9iamVjdDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChvYmplY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtSGFzTGVnYWN5VXBsb2FkKGZvcm1EZWZpbml0aW9uOiBhbnkpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdHJpbmdpZmllZEZvcm1EZWZpbml0aW9uID0gSlNPTi5zdHJpbmdpZnkoZm9ybURlZmluaXRpb24pO1xuICAgIGNvbnN0IGxlZ2FjeVVwbG9hZFN0cmluZyA9ICdcInR5cGVcIjpcImZpbGVcIic7XG5cbiAgICByZXR1cm4gc3RyaW5naWZpZWRGb3JtRGVmaW5pdGlvbi5pbmNsdWRlcyhsZWdhY3lVcGxvYWRTdHJpbmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbml0aWFsVG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldFRva2VuKCkudGhlbigodG9rZW46IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5zZXRUb2tlbih0b2tlbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBGb3JtaW8uc2V0VG9rZW4odG9rZW4pO1xuICAgIHRoaXMuc2V0VGltZXJGb3JUb2tlblJlZnJlc2godG9rZW4pO1xuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ05ldyB0b2tlbiBzZXQgZm9yIGZvcm0uaW8uJyk7XG4gIH1cblxuICBwcml2YXRlIHNldFRpbWVyRm9yVG9rZW5SZWZyZXNoKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbkV4cCA9IChqd3RfZGVjb2RlKHRva2VuKSBhcyBhbnkpLmV4cCAqIDEwMDA7XG4gICAgY29uc3QgZXhwaXJ5VGltZSA9IHRva2VuRXhwIC0gRGF0ZS5ub3coKSAtIDEwMDA7XG4gICAgdGhpcy50b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbiA9IHRpbWVyKGV4cGlyeVRpbWUpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFRpbWVyIGZvciBmb3JtLmlvIHRva2VuIHJlZnJlc2ggc2V0IGZvcjogJHtleHBpcnlUaW1lfW1zLmApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW4oKTogdm9pZCB7XG4gICAgZnJvbSh0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UudXBkYXRlVG9rZW4oLTEpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UuZ2V0VG9rZW4oKSksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodG9rZW4gPT4ge1xuICAgICAgICB0aGlzLnNldFRva2VuKHRva2VuKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVGb3JtUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtUmVmcmVzaCQpIHtcbiAgICAgIHRoaXMuZm9ybVJlZnJlc2hTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1SZWZyZXNoJC5zdWJzY3JpYmUoKHJlZnJlc2hWYWx1ZSkgPT4ge1xuICAgICAgICBpZiAocmVmcmVzaFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoRm9ybS5lbWl0KHJlZnJlc2hWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtUmVmcmVzaFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtUmVmcmVzaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { NgModule } from '@angular/core';
17
+ import { CommonModule } from '@angular/common';
18
+ import { FormioComponent } from './form-io.component';
19
+ import { FormioBuilderComponent } from './form-io-builder.component';
20
+ import { FormioAppConfig, FormioModule } from 'angular-formio';
21
+ import { AppConfig } from './formio-config';
22
+ import { FormIoUploaderComponent } from './form-io-uploader/form-io-uploader.component';
23
+ import { FormIoStateService } from './services/form-io-state.service';
24
+ import { DropzoneModule } from '../dropzone/dropzone.module';
25
+ import { TranslateModule } from '@ngx-translate/core';
26
+ import { DocumentModule } from '@valtimo/document';
27
+ import { FormIoDomService } from './services/form-io-dom.service';
28
+ import { FileSizeModule } from '../file-size/file-size.module';
29
+ import { ResourceModule } from '@valtimo/resource';
30
+ import { RouterModule } from '@angular/router';
31
+ const ɵ0 = AppConfig;
32
+ export class FormIoModule {
33
+ }
34
+ FormIoModule.decorators = [
35
+ { type: NgModule, args: [{
36
+ imports: [
37
+ CommonModule,
38
+ FormioModule,
39
+ DropzoneModule,
40
+ TranslateModule,
41
+ DocumentModule,
42
+ FileSizeModule,
43
+ ResourceModule,
44
+ RouterModule
45
+ ],
46
+ declarations: [FormioComponent, FormioBuilderComponent, FormIoUploaderComponent],
47
+ exports: [FormioComponent, FormioBuilderComponent, FormIoUploaderComponent],
48
+ providers: [
49
+ FormIoStateService,
50
+ FormIoDomService,
51
+ { provide: FormioAppConfig, useValue: ɵ0 }
52
+ ],
53
+ },] }
54
+ ];
55
+ export { ɵ0 };
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWlvL2Zvcm0taW8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO1dBa0JKLFNBQVM7QUFJbEQsTUFBTSxPQUFPLFlBQVk7OztZQXBCeEIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxlQUFlO29CQUNmLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxjQUFjO29CQUNkLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO2dCQUNoRixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLENBQUM7Z0JBQzNFLFNBQVMsRUFBRTtvQkFDVCxrQkFBa0I7b0JBQ2xCLGdCQUFnQjtvQkFDaEIsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsSUFBVyxFQUFDO2lCQUNoRDthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Rm9ybWlvQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0taW8uY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWlvQnVpbGRlckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWlvQXBwQ29uZmlnLCBGb3JtaW9Nb2R1bGV9IGZyb20gJ2FuZ3VsYXItZm9ybWlvJztcbmltcG9ydCB7QXBwQ29uZmlnfSBmcm9tICcuL2Zvcm1pby1jb25maWcnO1xuaW1wb3J0IHtGb3JtSW9VcGxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLXVwbG9hZGVyL2Zvcm0taW8tdXBsb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUlvU3RhdGVTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm0taW8tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0Ryb3B6b25lTW9kdWxlfSBmcm9tICcuLi9kcm9wem9uZS9kcm9wem9uZS5tb2R1bGUnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEb2N1bWVudE1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtGb3JtSW9Eb21TZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm0taW8tZG9tLnNlcnZpY2UnO1xuaW1wb3J0IHtGaWxlU2l6ZU1vZHVsZX0gZnJvbSAnLi4vZmlsZS1zaXplL2ZpbGUtc2l6ZS5tb2R1bGUnO1xuaW1wb3J0IHtSZXNvdXJjZU1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vcmVzb3VyY2UnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybWlvTW9kdWxlLFxuICAgIERyb3B6b25lTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBEb2N1bWVudE1vZHVsZSxcbiAgICBGaWxlU2l6ZU1vZHVsZSxcbiAgICBSZXNvdXJjZU1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbRm9ybWlvQ29tcG9uZW50LCBGb3JtaW9CdWlsZGVyQ29tcG9uZW50LCBGb3JtSW9VcGxvYWRlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtGb3JtaW9Db21wb25lbnQsIEZvcm1pb0J1aWxkZXJDb21wb25lbnQsIEZvcm1Jb1VwbG9hZGVyQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRm9ybUlvU3RhdGVTZXJ2aWNlLFxuICAgIEZvcm1Jb0RvbVNlcnZpY2UsXG4gICAge3Byb3ZpZGU6IEZvcm1pb0FwcENvbmZpZywgdXNlVmFsdWU6IEFwcENvbmZpZ31cbiAgXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBGb3JtSW9Nb2R1bGUge1xufVxuIl19
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export const AppConfig = {
17
+ appUrl: 'http://localhost:4200',
18
+ apiUrl: 'http://localhost:4200',
19
+ icons: 'fontawesome',
20
+ formOnly: false
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2Zvcm0taW8vZm9ybWlvLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUN2QixNQUFNLEVBQUUsdUJBQXVCO0lBQy9CLE1BQU0sRUFBRSx1QkFBdUI7SUFDL0IsS0FBSyxFQUFFLGFBQWE7SUFDcEIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCBjb25zdCBBcHBDb25maWcgPSB7XG4gIGFwcFVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMCcsXG4gIGFwaVVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMCcsXG4gIGljb25zOiAnZm9udGF3ZXNvbWUnLFxuICBmb3JtT25seTogZmFsc2Vcbn07XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FormIoStateService } from './form-io-state.service';
3
+ import { take } from 'rxjs/operators';
4
+ export class FormIoDomService {
5
+ constructor(stateService) {
6
+ this.stateService = stateService;
7
+ }
8
+ toggleSubmitButton(disabled) {
9
+ this.stateService.currentForm$.pipe(take(1)).subscribe((form) => {
10
+ const button = form.formioElement.nativeElement
11
+ .getElementsByClassName('formio-component-submit')[0]
12
+ .getElementsByClassName('btn-primary')[0];
13
+ button.disabled = disabled;
14
+ });
15
+ }
16
+ }
17
+ FormIoDomService.decorators = [
18
+ { type: Injectable }
19
+ ];
20
+ FormIoDomService.ctorParameters = () => [
21
+ { type: FormIoStateService }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby1kb20uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2Zvcm0taW8vc2VydmljZXMvZm9ybS1pby1kb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ21CLFlBQWdDO1FBQWhDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtJQUVuRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBaUI7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlELE1BQU0sTUFBTSxHQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYTtpQkFDN0Msc0JBQXNCLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BELHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBc0IsQ0FBQztZQUVqRSxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWhCRixVQUFVOzs7WUFISCxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtSW9TdGF0ZVNlcnZpY2V9IGZyb20gJy4vZm9ybS1pby1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybUlvRG9tU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IEZvcm1Jb1N0YXRlU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHRvZ2dsZVN1Ym1pdEJ1dHRvbihkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmN1cnJlbnRGb3JtJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoZm9ybSkgPT4ge1xuICAgICAgY29uc3QgYnV0dG9uID0gKGZvcm0uZm9ybWlvRWxlbWVudC5uYXRpdmVFbGVtZW50XG4gICAgICAgIC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdmb3JtaW8tY29tcG9uZW50LXN1Ym1pdCcpWzBdXG4gICAgICAgIC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdidG4tcHJpbWFyeScpWzBdIGFzIEhUTUxJbnB1dEVsZW1lbnQpO1xuXG4gICAgICBidXR0b24uZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,24 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ export class FormIoStateService {
4
+ constructor() {
5
+ this._documentDefinitionName$ = new BehaviorSubject(undefined);
6
+ this._currentForm$ = new BehaviorSubject(undefined);
7
+ }
8
+ get documentDefinitionName$() {
9
+ return this._documentDefinitionName$.asObservable();
10
+ }
11
+ setDocumentDefinitionName(documentDefinitionName) {
12
+ this._documentDefinitionName$.next(documentDefinitionName);
13
+ }
14
+ get currentForm$() {
15
+ return this._currentForm$.asObservable();
16
+ }
17
+ set currentForm(form) {
18
+ this._currentForm$.next(form);
19
+ }
20
+ }
21
+ FormIoStateService.decorators = [
22
+ { type: Injectable }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvZm9ybS1pby9zZXJ2aWNlcy9mb3JtLWlvLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBSWpELE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFHVSw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUVsRSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFrQixTQUFTLENBQUMsQ0FBQztJQWlCMUUsQ0FBQztJQWZDLElBQVcsdUJBQXVCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxzQkFBOEI7UUFDN0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFdBQVcsQ0FBQyxJQUFxQjtRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7WUFyQkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zvcm1pb0NvbXBvbmVudH0gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybUlvU3RhdGVTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9kb2N1bWVudERlZmluaXRpb25OYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRGb3JtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybWlvQ29tcG9uZW50Pih1bmRlZmluZWQpO1xuXG4gIHB1YmxpYyBnZXQgZG9jdW1lbnREZWZpbml0aW9uTmFtZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZShkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJC5uZXh0KGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50Rm9ybSQoKTogT2JzZXJ2YWJsZTxGb3JtaW9Db21wb25lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudEZvcm0kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBjdXJyZW50Rm9ybShmb3JtOiBGb3JtaW9Db21wb25lbnQpIHtcbiAgICB0aGlzLl9jdXJyZW50Rm9ybSQubmV4dChmb3JtKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,114 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
17
+ import { TranslateService } from '@ngx-translate/core';
18
+ import { BehaviorSubject, combineLatest, fromEvent } from 'rxjs';
19
+ import { debounceTime, map, take } from 'rxjs/operators';
20
+ export class LeftSidebarComponent {
21
+ constructor(translateService, elementRef) {
22
+ this.translateService = translateService;
23
+ this.elementRef = elementRef;
24
+ this.menuWidthChanged = new EventEmitter();
25
+ this.menuTooltipText$ = this.translateService.stream('interface.mainMenu');
26
+ this.toggleMenuText$ = this.translateService.stream('interface.toggleMenu');
27
+ this.mouseIsOnResizeBorder$ = new BehaviorSubject(false);
28
+ this.menuWidth$ = new BehaviorSubject(undefined);
29
+ this.isResizing$ = new BehaviorSubject(false);
30
+ this.defaultMenuWidth = 230;
31
+ this.maxMenuWidth = 330;
32
+ this.minMenuWidth = 120;
33
+ this.mouseX$ = fromEvent(document.body, 'mousemove').pipe(map((e) => e.pageX));
34
+ this.bodyStyle = elementRef.nativeElement.ownerDocument.body.style;
35
+ }
36
+ ngOnInit() {
37
+ this.setMenuWidth(this.defaultMenuWidth);
38
+ }
39
+ ngAfterViewInit() {
40
+ this.mouseXSubscription = combineLatest([this.mouseX$, this.isResizing$])
41
+ .pipe(debounceTime(3))
42
+ .subscribe(([x, isResizing]) => {
43
+ const menuOpen = this.menuIsOpen;
44
+ if (isResizing) {
45
+ const offSetWidth = this.xOnClick - x;
46
+ const newMenuWidth = this.menuWidthOnClick - offSetWidth;
47
+ const snapMargin = 35;
48
+ const snapInside = newMenuWidth < this.minMenuWidth - snapMargin;
49
+ const snapOutside = !menuOpen && offSetWidth < -snapMargin;
50
+ if (menuOpen && newMenuWidth <= this.maxMenuWidth && newMenuWidth >= this.minMenuWidth) {
51
+ this.setMenuWidth(newMenuWidth);
52
+ }
53
+ else if (snapInside || snapOutside) {
54
+ this.snapMenu(snapInside ? this.menuWidthOnClick : this.defaultMenuWidth);
55
+ }
56
+ }
57
+ });
58
+ this.mouseUpSubscription = fromEvent(document, 'mouseup').subscribe(() => {
59
+ this.stopResizing();
60
+ });
61
+ }
62
+ ngOnDestroy() {
63
+ this.mouseXSubscription.unsubscribe();
64
+ this.mouseUpSubscription.unsubscribe();
65
+ }
66
+ enterBorder() {
67
+ this.mouseIsOnResizeBorder$.next(true);
68
+ }
69
+ leaveBorder() {
70
+ this.mouseIsOnResizeBorder$.next(false);
71
+ }
72
+ resizeBorderClick(e) {
73
+ this.menuWidth$.pipe(take(1)).subscribe(menuWidth => {
74
+ this.menuWidthOnClick = menuWidth;
75
+ this.xOnClick = e.pageX;
76
+ this.bodyStyle.userSelect = 'none';
77
+ this.bodyStyle.cursor = 'col-resize';
78
+ this.isResizing$.next(true);
79
+ });
80
+ }
81
+ snapMenu(snapTo) {
82
+ this.stopResizing();
83
+ this.setMenuWidth(snapTo);
84
+ setTimeout(() => {
85
+ this.toggleButtonRef.nativeElement.click();
86
+ });
87
+ }
88
+ stopResizing() {
89
+ this.bodyStyle.cursor = 'auto';
90
+ this.bodyStyle.userSelect = 'auto';
91
+ this.isResizing$.next(false);
92
+ }
93
+ setMenuWidth(width) {
94
+ this.menuWidth$.next(width);
95
+ this.menuWidthChanged.emit(width);
96
+ }
97
+ }
98
+ LeftSidebarComponent.decorators = [
99
+ { type: Component, args: [{
100
+ selector: 'valtimo-left-sidebar',
101
+ template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container *ngIf=\"{isResizing: isResizing$ | async} as obs\">\n <div\n class=\"be-left-sidebar\"\n [style.width.px]=\"menuIsOpen ? (menuWidth$ | async) : null\"\n [ngClass]=\"{'no-transition': obs.isResizing}\"\n >\n <div class=\"left-sidebar-wrapper\">\n <a class=\"left-sidebar-toggle\" href=\"javascript:void(0);\"><valtimo-page-title></valtimo-page-title></a>\n <div class=\"progress-widget\" style=\"padding: 20px 0\">\n <ul class=\"sidebar-elements\">\n <li>\n <a\n #toggleButton\n class=\"be-toggle-left-sidebar\"\n href=\"javascript:void(0);\"\n [title]=\"menuTooltipText$ | async\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n width=\"1em\"\n height=\"1em\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg)\"\n viewBox=\"0 0 24 24\"\n transform=\"rotate(360)\"\n >\n <path [ngClass]=\"menuIsOpen ? 'd-1' : 'd-1-flipped'\" />\n <path [ngClass]=\"menuIsOpen ? 'd-2' : 'd-2-flipped'\" />\n <path [ngClass]=\"menuIsOpen ? 'd-3' : 'd-3-flipped'\" />\n <path [ngClass]=\"menuIsOpen ? 'd-4' : 'd-4-flipped'\" />\n </svg>\n <span>{{ toggleMenuText$ | async }}</span>\n </a>\n </li>\n </ul>\n </div>\n <div class=\"left-sidebar-spacer\">\n <div class=\"left-sidebar-scroll\">\n <div class=\"left-sidebar-content\">\n <valtimo-menu></valtimo-menu>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"resize-border\"\n (mouseenter)=\"enterBorder()\"\n (mouseleave)=\"leaveBorder()\"\n (mousedown)=\"resizeBorderClick($event)\"\n [ngClass]=\"{'resize-hover': (mouseIsOnResizeBorder$ | async) || obs.isResizing}\"\n ></div>\n </div>\n</ng-container>\n",
102
+ styles: ["@media screen and (max-width:767px){.be-left-sidebar{width:100%!important}}.be-left-sidebar .left-sidebar-toggle{padding:20px}.be-left-sidebar .left-sidebar-toggle:before{font-size:1.615rem}.be-left-sidebar .sidebar-elements>li>a.be-toggle-left-sidebar{align-items:center;display:flex;height:32px}.be-left-sidebar .left-sidebar-content{padding-top:20px}.be-toggle-left-sidebar svg{height:auto;margin-right:7px;min-width:21px;overflow:visible}.be-toggle-left-sidebar svg path{fill:#696969;transition:.27s ease}.resize-border{background-color:#ff5800;cursor:col-resize;height:100%;margin-right:-3px;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease;width:3px}.resize-hover{opacity:.7}.no-transition{transition:none}.d-1{d:path(\"M3 18v-2h13v2z\")}.d-1-flipped{d:path(\"M3 18v-2h11v2z\")}.d-2{d:path(\"M3 13v-2h10v2H3\")}.d-2-flipped{d:path(\"M3 13v-2h12v2H3\")}.d-3{d:path(\"M3 6h13v2H3V6\")}.d-3-flipped{d:path(\"M3 6h11v2H3V6\")}.d-4{d:path(\"M21 15.61L19.59 17l-5.01-5 5.01-5L21 8.39 17.44 12 21 15.61\")}.d-4-flipped{d:path(\"M15.58 15.61L16.99 17 22 12l-5.01-5-1.41 1.39L19.14 12l-3.56 3.61\")}"]
103
+ },] }
104
+ ];
105
+ LeftSidebarComponent.ctorParameters = () => [
106
+ { type: TranslateService },
107
+ { type: ElementRef }
108
+ ];
109
+ LeftSidebarComponent.propDecorators = {
110
+ toggleButtonRef: [{ type: ViewChild, args: ['toggleButton',] }],
111
+ menuIsOpen: [{ type: Input }],
112
+ menuWidthChanged: [{ type: Output }]
113
+ };
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2xlZnQtc2lkZWJhci9sZWZ0LXNpZGViYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBT3ZELE1BQU0sT0FBTyxvQkFBb0I7SUEyQi9CLFlBQW9CLGdCQUFrQyxFQUFtQixVQUFzQjtRQUEzRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQVk7UUF2QnJGLHFCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdELHFCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN0RSxvQkFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV2RSwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMs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QUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUFjO1FBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBMUdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxxcUZBQTRDOzthQUU3Qzs7O1lBUk8sZ0JBQWdCO1lBRFUsVUFBVTs7OzhCQVd6QyxTQUFTLFNBQUMsY0FBYzt5QkFFeEIsS0FBSzsrQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1sZWZ0LXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGVmdC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGVmdC1zaWRlYmFyLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMZWZ0U2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgndG9nZ2xlQnV0dG9uJykgdG9nZ2xlQnV0dG9uUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIG1lbnVJc09wZW46IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBtZW51V2lkdGhDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICByZWFkb25seSBtZW51VG9vbHRpcFRleHQkID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgnaW50ZXJmYWNlLm1haW5NZW51Jyk7XG4gIHJlYWRvbmx5IHRvZ2dsZU1lbnVUZXh0JCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2ludGVyZmFjZS50b2dnbGVNZW51Jyk7XG5cbiAgcmVhZG9ubHkgbW91c2VJc09uUmVzaXplQm9yZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtZW51V2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlzUmVzaXppbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSBib2R5U3R5bGU6IGFueTtcblxuICBwcml2YXRlIHhPbkNsaWNrOiBudW1iZXI7XG4gIHByaXZhdGUgbWVudVdpZHRoT25DbGljazogbnVtYmVyO1xuXG4gIHByaXZhdGUgbW91c2VYU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbW91c2VVcFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE1lbnVXaWR0aCA9IDIzMDtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXhNZW51V2lkdGggPSAzMzA7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWluTWVudVdpZHRoID0gMTIwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbW91c2VYJCA9IGZyb21FdmVudChkb2N1bWVudC5ib2R5LCAnbW91c2Vtb3ZlJykucGlwZShtYXAoKGU6IE1vdXNlRXZlbnQpID0+IGUucGFnZVgpKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuYm9keVN0eWxlID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keS5zdHlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TWVudVdpZHRoKHRoaXMuZGVmYXVsdE1lbnVXaWR0aCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZVhTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm1vdXNlWCQsIHRoaXMuaXNSZXNpemluZyRdKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMpKVxuICAgICAgLnN1YnNjcmliZSgoW3gsIGlzUmVzaXppbmddKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbnVPcGVuID0gdGhpcy5tZW51SXNPcGVuO1xuXG4gICAgICAgIGlmIChpc1Jlc2l6aW5nKSB7XG4gICAgICAgICAgY29uc3Qgb2ZmU2V0V2lkdGggPSB0aGlzLnhPbkNsaWNrIC0geDtcbiAgICAgICAgICBjb25zdCBuZXdNZW51V2lkdGggPSB0aGlzLm1lbnVXaWR0aE9uQ2xpY2sgLSBvZmZTZXRXaWR0aDtcbiAgICAgICAgICBjb25zdCBzbmFwTWFyZ2luID0gMzU7XG4gICAgICAgICAgY29uc3Qgc25hcEluc2lkZSA9IG5ld01lbnVXaWR0aCA8IHRoaXMubWluTWVudVdpZHRoIC0gc25hcE1hcmdpbjtcbiAgICAgICAgICBjb25zdCBzbmFwT3V0c2lkZSA9ICFtZW51T3BlbiAmJiBvZmZTZXRXaWR0aCA8IC1zbmFwTWFyZ2luO1xuXG4gICAgICAgICAgaWYgKG1lbnVPcGVuICYmIG5ld01lbnVXaWR0aCA8PSB0aGlzLm1heE1lbnVXaWR0aCAmJiBuZXdNZW51V2lkdGggPj0gdGhpcy5taW5NZW51V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TWVudVdpZHRoKG5ld01lbnVXaWR0aCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzbmFwSW5zaWRlIHx8IHNuYXBPdXRzaWRlKSB7XG4gICAgICAgICAgICB0aGlzLnNuYXBNZW51KHNuYXBJbnNpZGUgPyB0aGlzLm1lbnVXaWR0aE9uQ2xpY2sgOiB0aGlzLmRlZmF1bHRNZW51V2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc3RvcFJlc2l6aW5nKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vdXNlWFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubW91c2VVcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZW50ZXJCb3JkZXIoKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZUlzT25SZXNpemVCb3JkZXIkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBsZWF2ZUJvcmRlcigpOiB2b2lkIHtcbiAgICB0aGlzLm1vdXNlSXNPblJlc2l6ZUJvcmRlciQubmV4dChmYWxzZSk7XG4gIH1cblxuICByZXNpemVCb3JkZXJDbGljayhlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tZW51V2lkdGgkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG1lbnVXaWR0aCA9PiB7XG4gICAgICB0aGlzLm1lbnVXaWR0aE9uQ2xpY2sgPSBtZW51V2lkdGg7XG4gICAgICB0aGlzLnhPbkNsaWNrID0gZS5wYWdlWDtcbiAgICAgIHRoaXMuYm9keVN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XG4gICAgICB0aGlzLmJvZHlTdHlsZS5jdXJzb3IgPSAnY29sLXJlc2l6ZSc7XG4gICAgICB0aGlzLmlzUmVzaXppbmckLm5leHQodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNuYXBNZW51KHNuYXBUbzogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wUmVzaXppbmcoKTtcbiAgICB0aGlzLnNldE1lbnVXaWR0aChzbmFwVG8pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50b2dnbGVCdXR0b25SZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUmVzaXppbmcoKTogdm9pZCB7XG4gICAgdGhpcy5ib2R5U3R5bGUuY3Vyc29yID0gJ2F1dG8nO1xuICAgIHRoaXMuYm9keVN0eWxlLnVzZXJTZWxlY3QgPSAnYXV0byc7XG4gICAgdGhpcy5pc1Jlc2l6aW5nJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TWVudVdpZHRoKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVXaWR0aCQubmV4dCh3aWR0aCk7XG4gICAgdGhpcy5tZW51V2lkdGhDaGFuZ2VkLmVtaXQod2lkdGgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { NgModule } from '@angular/core';
17
+ import { CommonModule } from '@angular/common';
18
+ import { LeftSidebarComponent } from './left-sidebar.component';
19
+ import { PageTitleModule } from '../page-title/page-title.module';
20
+ import { MenuModule } from '../menu/menu.module';
21
+ export class LeftSidebarModule {
22
+ }
23
+ LeftSidebarModule.decorators = [
24
+ { type: NgModule, args: [{
25
+ declarations: [LeftSidebarComponent],
26
+ imports: [
27
+ CommonModule,
28
+ MenuModule,
29
+ PageTitleModule
30
+ ],
31
+ exports: [LeftSidebarComponent]
32
+ },] }
33
+ ];
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1zaWRlYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2xlZnQtc2lkZWJhci9sZWZ0LXNpZGViYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVdqRCxNQUFNLE9BQU8saUJBQWlCOzs7WUFUN0IsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNwQyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixVQUFVO29CQUNWLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMZWZ0U2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vbGVmdC1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdlVGl0bGVNb2R1bGUgfSBmcm9tICcuLi9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUubW9kdWxlJztcbmltcG9ydCB7IE1lbnVNb2R1bGUgfSBmcm9tICcuLi9tZW51L21lbnUubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTGVmdFNpZGViYXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1lbnVNb2R1bGUsXG4gICAgUGFnZVRpdGxlTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtMZWZ0U2lkZWJhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTGVmdFNpZGViYXJNb2R1bGUgeyB9XG4iXX0=