@valtimo/components 4.15.3-next-main.14 → 4.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/valtimo-components.umd.js +408 -302
- package/bundles/valtimo-components.umd.js.map +1 -1
- package/bundles/valtimo-components.umd.min.js +2 -2
- package/bundles/valtimo-components.umd.min.js.map +1 -1
- package/esm2015/lib/components/alert/alert.component.js +140 -0
- package/esm2015/lib/{topbar/topbar.module.js → components/alert/alert.module.js} +7 -11
- package/esm2015/lib/components/alert/alert.service.js +81 -0
- package/esm2015/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.js +160 -0
- package/esm2015/lib/{alert/alert.module.js → components/bpmn-js-diagram/bpmn-js-diagram.module.js} +6 -6
- package/esm2015/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.js +93 -0
- package/esm2015/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.js +30 -0
- package/esm2015/lib/components/camunda/form/camunda-form.components.js +37 -0
- package/esm2015/lib/components/camunda/form/camunda-form.module.js +30 -0
- package/esm2015/lib/components/camunda/form/custom/camunda-custom-form.component.js +42 -0
- package/esm2015/lib/components/camunda/form/custom/camunda-custom-form.module.js +28 -0
- package/esm2015/lib/components/camunda/form/generated/camunda-generated-form.component.js +69 -0
- package/esm2015/lib/components/camunda/form/generated/camunda-generated-form.module.js +58 -0
- package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/boolean/camunda-boolean-formfield.component.js +3 -4
- package/esm2015/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +64 -0
- package/esm2015/lib/components/camunda/form/generated/formfield/camunda-formfield.service.js +66 -0
- package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.js +5 -3
- package/esm2015/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +66 -0
- package/esm2015/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +30 -0
- package/esm2015/lib/{menu/submenu-item-text.component.js → components/camunda/form/generated/formfield/formfield.model.js} +1 -18
- package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/long/camunda-long-formfield.component.js +3 -4
- package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/string/camunda-string-formfield.component.js +3 -4
- package/esm2015/lib/{camunda → components/camunda}/form/generated/formfield/textarea/camunda-textarea-formfield.component.js +3 -4
- package/esm2015/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +35 -0
- package/esm2015/lib/components/camunda/form/generated/formfield/validation/date.validators.js +60 -0
- package/esm2015/lib/{form-io/form-io-builder.component.js → components/card/card.component.js} +15 -18
- package/esm2015/lib/components/card/card.module.js +28 -0
- package/esm2015/lib/{camunda/form/generated/formfield/formfield.model.js → components/components.module.js} +7 -1
- package/esm2015/lib/{data-list → components/data-list}/data-list.component.js +2 -3
- package/esm2015/lib/components/data-list/data-list.module.js +28 -0
- package/esm2015/lib/components/dropzone/dropzone.component.js +143 -0
- package/esm2015/lib/components/dropzone/dropzone.module.js +32 -0
- package/esm2015/lib/components/field-auto-focus/field-auto-focus.directive.js +35 -0
- package/esm2015/lib/components/field-auto-focus/field-auto-focus.module.js +28 -0
- package/esm2015/lib/{view-content/type-converters/enumTypeConverter.js → components/file-size/file-size.module.js} +12 -8
- package/esm2015/lib/components/file-size/file-size.pipe.js +38 -0
- package/esm2015/lib/components/filter-sidebar/filter-sidebar.component.js +46 -0
- package/esm2015/lib/components/filter-sidebar/filter-sidebar.module.js +28 -0
- package/esm2015/lib/components/form-io/form-io-builder.component.js +38 -0
- package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.js +90 -0
- package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader.component.js +74 -0
- package/esm2015/lib/components/form-io/form-io-uploader/form-io-uploader.formio.js +26 -0
- package/esm2015/lib/components/form-io/form-io.component.js +163 -0
- package/esm2015/lib/components/form-io/form-io.module.js +56 -0
- package/esm2015/lib/components/form-io/formio-config.js +22 -0
- package/esm2015/lib/components/form-io/services/form-io-dom.service.js +23 -0
- package/esm2015/lib/components/form-io/services/form-io-state.service.js +24 -0
- package/esm2015/lib/components/left-sidebar/left-sidebar.component.js +114 -0
- package/esm2015/lib/components/left-sidebar/left-sidebar.module.js +30 -0
- package/esm2015/lib/components/list/ListFilterPipe.directive.js +31 -0
- package/esm2015/lib/components/list/list.component.js +179 -0
- package/esm2015/lib/components/list/list.module.js +33 -0
- package/esm2015/lib/components/menu/menu-item-text.component.js +38 -0
- package/esm2015/lib/components/menu/menu-routing.module.js +27 -0
- package/esm2015/lib/components/menu/menu.component.js +65 -0
- package/esm2015/lib/components/menu/menu.init.js +34 -0
- package/esm2015/lib/components/menu/menu.module.js +34 -0
- package/esm2015/lib/components/menu/menu.service.js +126 -0
- package/esm2015/lib/components/menu/submenu-item-text.component.js +33 -0
- package/esm2015/lib/{modal → components/modal}/modal.component.js +1 -1
- package/esm2015/lib/components/modal/modal.module.js +28 -0
- package/esm2015/lib/{page-header → components/page-header}/page-header.component.js +1 -1
- package/esm2015/lib/components/page-header/page-header.module.js +30 -0
- package/esm2015/lib/components/page-title/page-title.component.js +76 -0
- package/esm2015/lib/components/page-title/page-title.module.js +29 -0
- package/esm2015/lib/components/progress-bar/progress-bar.component.js +26 -0
- package/esm2015/lib/{bpmn-js-diagram/bpmn-js-diagram.module.js → components/progress-bar/progress-bar.module.js} +7 -9
- package/esm2015/lib/components/right-sidebar/right-sidebar.component.js +133 -0
- package/esm2015/lib/components/right-sidebar/right-sidebar.module.js +49 -0
- package/esm2015/lib/components/searchable-dropdown/searchable-dropdown.component.js +187 -0
- package/esm2015/lib/components/searchable-dropdown/searchable-dropdown.module.js +29 -0
- package/esm2015/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.js +52 -0
- package/esm2015/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.js +30 -0
- package/esm2015/lib/{spinner → components/spinner}/spinner.component.js +2 -2
- package/esm2015/lib/components/spinner/spinner.module.js +30 -0
- package/esm2015/lib/components/timeline/timeline.component.js +29 -0
- package/esm2015/lib/{progress-bar/progress-bar.module.js → components/timeline/timeline.module.js} +8 -9
- package/esm2015/lib/{topbar → components/topbar}/topbar.component.js +2 -3
- package/esm2015/lib/components/topbar/topbar.module.js +29 -0
- package/esm2015/lib/components/uploader/uploader-drag-drop.directive.js +49 -0
- package/esm2015/lib/components/uploader/uploader.component.js +68 -0
- package/esm2015/lib/components/uploader/uploader.module.js +30 -0
- package/esm2015/lib/components/version/version.service.js +38 -0
- package/esm2015/lib/components/view-content/type-converters/booleanTypeConverter.js +29 -0
- package/esm2015/lib/components/view-content/type-converters/dateTypeConverter.js +30 -0
- package/esm2015/lib/components/view-content/type-converters/enumTypeConverter.js +24 -0
- package/esm2015/lib/components/view-content/type-converters/relatedFilesTypeConverter.js +24 -0
- package/esm2015/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +27 -0
- package/esm2015/lib/components/view-content/type-converters/stringTypeConverter.js +24 -0
- package/esm2015/lib/components/view-content/type-converters/type-converters.model.js +37 -0
- package/esm2015/lib/{view-content → components/view-content}/view-content.service.js +3 -3
- package/esm2015/lib/components/webcam/webcam.component.js +102 -0
- package/esm2015/lib/components/webcam/webcam.module.js +29 -0
- package/esm2015/lib/components/widget/widget.component.js +80 -0
- package/esm2015/lib/{file-size/file-size.module.js → components/widget/widget.module.js} +7 -9
- package/esm2015/lib/models/alert.model.js +30 -0
- package/esm2015/lib/models/form-io.model.js +30 -0
- package/esm2015/lib/models/index.js +24 -0
- package/esm2015/lib/models/pagination.model.js +1 -0
- package/esm2015/lib/models/searchable-dropdown.model.js +1 -0
- package/esm2015/lib/models/timeline.model.js +44 -0
- package/esm2015/lib/models/version.model.js +16 -0
- package/esm2015/public_api.js +67 -66
- package/esm2015/valtimo-components.js +23 -23
- package/fesm2015/valtimo-components.js +352 -303
- package/fesm2015/valtimo-components.js.map +1 -1
- package/lib/{alert → components/alert}/alert.component.d.ts +1 -1
- package/lib/{alert → components/alert}/alert.module.d.ts +0 -0
- package/lib/{alert → components/alert}/alert.service.d.ts +1 -1
- package/lib/{bpmn-js-diagram → components/bpmn-js-diagram}/bpmn-js-diagram.component.d.ts +0 -0
- package/lib/{bpmn-js-diagram → components/bpmn-js-diagram}/bpmn-js-diagram.module.d.ts +0 -0
- package/lib/{breadcrumb-navigation → components/breadcrumb-navigation}/breadcrumb-navigation.component.d.ts +0 -0
- package/lib/{breadcrumb-navigation → components/breadcrumb-navigation}/breadcrumb-navigation.module.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/camunda-form.components.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/camunda-form.module.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/custom/camunda-custom-form.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/custom/camunda-custom-form.module.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/camunda-generated-form.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/camunda-generated-form.module.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/camunda-formfield-generator.directive.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/camunda-formfield.service.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/date/camunda-date-formfield.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/formfield.model.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/long/camunda-long-formfield.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/string/camunda-string-formfield.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts +0 -0
- package/lib/{camunda → components/camunda}/form/generated/formfield/validation/date.validators.d.ts +0 -0
- package/lib/{card → components/card}/card.component.d.ts +0 -0
- package/lib/{card → components/card}/card.module.d.ts +0 -0
- package/lib/{components.module.d.ts → components/components.module.d.ts} +0 -0
- package/lib/{data-list → components/data-list}/data-list.component.d.ts +0 -0
- package/lib/{data-list → components/data-list}/data-list.module.d.ts +0 -0
- package/lib/{dropzone → components/dropzone}/dropzone.component.d.ts +0 -0
- package/lib/{dropzone → components/dropzone}/dropzone.module.d.ts +0 -0
- package/lib/{field-auto-focus → components/field-auto-focus}/field-auto-focus.directive.d.ts +0 -0
- package/lib/{field-auto-focus → components/field-auto-focus}/field-auto-focus.module.d.ts +0 -0
- package/lib/{file-size → components/file-size}/file-size.module.d.ts +0 -0
- package/lib/{file-size → components/file-size}/file-size.pipe.d.ts +0 -0
- package/lib/{filter-sidebar → components/filter-sidebar}/filter-sidebar.component.d.ts +0 -0
- package/lib/{filter-sidebar → components/filter-sidebar}/filter-sidebar.module.d.ts +0 -0
- package/lib/{form-io → components/form-io}/form-io-builder.component.d.ts +0 -0
- package/lib/{form-io → components/form-io}/form-io-uploader/form-io-uploader-edit-form.d.ts +0 -0
- package/lib/{form-io → components/form-io}/form-io-uploader/form-io-uploader.component.d.ts +1 -1
- package/lib/{form-io → components/form-io}/form-io-uploader/form-io-uploader.formio.d.ts +0 -0
- package/lib/{form-io → components/form-io}/form-io.component.d.ts +8 -5
- package/lib/{form-io → components/form-io}/form-io.module.d.ts +0 -0
- package/lib/{form-io → components/form-io}/formio-config.d.ts +0 -0
- package/lib/{form-io → components/form-io}/services/form-io-dom.service.d.ts +0 -0
- package/lib/{form-io → components/form-io}/services/form-io-state.service.d.ts +0 -0
- package/lib/{left-sidebar → components/left-sidebar}/left-sidebar.component.d.ts +0 -0
- package/lib/{left-sidebar → components/left-sidebar}/left-sidebar.module.d.ts +0 -0
- package/lib/{list → components/list}/ListFilterPipe.directive.d.ts +0 -0
- package/lib/{list → components/list}/list.component.d.ts +1 -1
- package/lib/{list → components/list}/list.module.d.ts +0 -0
- package/lib/{menu → components/menu}/menu-item-text.component.d.ts +1 -1
- package/lib/{menu → components/menu}/menu-routing.module.d.ts +0 -0
- package/lib/{menu → components/menu}/menu.component.d.ts +1 -1
- package/lib/{menu → components/menu}/menu.init.d.ts +0 -0
- package/lib/{menu → components/menu}/menu.module.d.ts +0 -0
- package/lib/{menu → components/menu}/menu.service.d.ts +1 -1
- package/lib/{menu → components/menu}/submenu-item-text.component.d.ts +1 -1
- package/lib/{modal → components/modal}/modal.component.d.ts +0 -0
- package/lib/{modal → components/modal}/modal.module.d.ts +0 -0
- package/lib/{page-header → components/page-header}/page-header.component.d.ts +0 -0
- package/lib/{page-header → components/page-header}/page-header.module.d.ts +0 -0
- package/lib/{page-title → components/page-title}/page-title.component.d.ts +0 -0
- package/lib/{page-title → components/page-title}/page-title.module.d.ts +0 -0
- package/lib/{progress-bar → components/progress-bar}/progress-bar.component.d.ts +0 -0
- package/lib/{progress-bar → components/progress-bar}/progress-bar.module.d.ts +0 -0
- package/lib/{right-sidebar → components/right-sidebar}/right-sidebar.component.d.ts +2 -1
- package/lib/{right-sidebar → components/right-sidebar}/right-sidebar.module.d.ts +0 -0
- package/lib/{searchable-dropdown → components/searchable-dropdown}/searchable-dropdown.component.d.ts +1 -1
- package/lib/{searchable-dropdown → components/searchable-dropdown}/searchable-dropdown.module.d.ts +0 -0
- package/lib/{searchable-dropdown-select → components/searchable-dropdown-select}/searchable-dropdown-select.component.d.ts +1 -1
- package/lib/{searchable-dropdown-select → components/searchable-dropdown-select}/searchable-dropdown-select.module.d.ts +0 -0
- package/lib/{spinner → components/spinner}/spinner.component.d.ts +0 -0
- package/lib/{spinner → components/spinner}/spinner.module.d.ts +0 -0
- package/lib/{timeline → components/timeline}/timeline.component.d.ts +1 -1
- package/lib/{timeline → components/timeline}/timeline.module.d.ts +0 -0
- package/lib/{topbar → components/topbar}/topbar.component.d.ts +0 -0
- package/lib/{topbar → components/topbar}/topbar.module.d.ts +0 -0
- package/lib/{uploader → components/uploader}/uploader-drag-drop.directive.d.ts +0 -0
- package/lib/{uploader → components/uploader}/uploader.component.d.ts +1 -2
- package/lib/{uploader → components/uploader}/uploader.module.d.ts +0 -0
- package/lib/{version → components/version}/version.service.d.ts +1 -1
- package/lib/{view-content → components/view-content}/type-converters/booleanTypeConverter.d.ts +0 -0
- package/lib/{view-content → components/view-content}/type-converters/dateTypeConverter.d.ts +0 -0
- package/lib/{view-content → components/view-content}/type-converters/enumTypeConverter.d.ts +0 -0
- package/lib/{view-content → components/view-content}/type-converters/relatedFilesTypeConverter.d.ts +0 -0
- package/lib/{view-content → components/view-content}/type-converters/stringReplaceUnderscoreTypeConverter.d.ts +0 -0
- package/lib/{view-content → components/view-content}/type-converters/stringTypeConverter.d.ts +0 -0
- package/lib/{view-content → components/view-content}/type-converters/type-converters.model.d.ts +0 -0
- package/lib/{view-content → components/view-content}/view-content.service.d.ts +0 -0
- package/lib/{webcam → components/webcam}/webcam.component.d.ts +0 -0
- package/lib/{webcam → components/webcam}/webcam.module.d.ts +0 -0
- package/lib/{widget → components/widget}/widget.component.d.ts +0 -0
- package/lib/{widget → components/widget}/widget.module.d.ts +0 -0
- package/lib/models/alert.model.d.ts +21 -0
- package/lib/models/form-io.model.d.ts +27 -0
- package/lib/models/index.d.ts +6 -0
- package/lib/models/pagination.model.d.ts +7 -0
- package/lib/models/searchable-dropdown.model.d.ts +5 -0
- package/lib/models/timeline.model.d.ts +23 -0
- package/lib/models/version.model.d.ts +4 -0
- package/package.json +1 -1
- package/public_api.d.ts +66 -65
- package/valtimo-components.d.ts +22 -22
- package/valtimo-components.metadata.json +1 -1
- package/esm2015/lib/alert/alert.component.js +0 -142
- package/esm2015/lib/alert/alert.service.js +0 -81
- package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.component.js +0 -160
- package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.component.js +0 -93
- package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.module.js +0 -34
- package/esm2015/lib/camunda/form/camunda-form.components.js +0 -37
- package/esm2015/lib/camunda/form/camunda-form.module.js +0 -38
- package/esm2015/lib/camunda/form/custom/camunda-custom-form.component.js +0 -42
- package/esm2015/lib/camunda/form/custom/camunda-custom-form.module.js +0 -34
- package/esm2015/lib/camunda/form/generated/camunda-generated-form.component.js +0 -69
- package/esm2015/lib/camunda/form/generated/camunda-generated-form.module.js +0 -63
- package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +0 -64
- package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield.service.js +0 -67
- package/esm2015/lib/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +0 -66
- package/esm2015/lib/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +0 -31
- package/esm2015/lib/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +0 -36
- package/esm2015/lib/camunda/form/generated/formfield/validation/date.validators.js +0 -60
- package/esm2015/lib/card/card.component.js +0 -37
- package/esm2015/lib/card/card.module.js +0 -30
- package/esm2015/lib/components.module.js +0 -22
- package/esm2015/lib/data-list/data-list.module.js +0 -30
- package/esm2015/lib/dropzone/dropzone.component.js +0 -143
- package/esm2015/lib/dropzone/dropzone.module.js +0 -32
- package/esm2015/lib/field-auto-focus/field-auto-focus.directive.js +0 -35
- package/esm2015/lib/field-auto-focus/field-auto-focus.module.js +0 -32
- package/esm2015/lib/file-size/file-size.pipe.js +0 -45
- package/esm2015/lib/filter-sidebar/filter-sidebar.component.js +0 -46
- package/esm2015/lib/filter-sidebar/filter-sidebar.module.js +0 -30
- package/esm2015/lib/form-io/form-io-uploader/form-io-uploader-edit-form.js +0 -90
- package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.component.js +0 -72
- package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.formio.js +0 -26
- package/esm2015/lib/form-io/form-io.component.js +0 -158
- package/esm2015/lib/form-io/form-io.module.js +0 -56
- package/esm2015/lib/form-io/formio-config.js +0 -22
- package/esm2015/lib/form-io/services/form-io-dom.service.js +0 -23
- package/esm2015/lib/form-io/services/form-io-state.service.js +0 -24
- package/esm2015/lib/left-sidebar/left-sidebar.component.js +0 -114
- package/esm2015/lib/left-sidebar/left-sidebar.module.js +0 -34
- package/esm2015/lib/list/ListFilterPipe.directive.js +0 -35
- package/esm2015/lib/list/list.component.js +0 -177
- package/esm2015/lib/list/list.module.js +0 -33
- package/esm2015/lib/menu/menu-item-text.component.js +0 -36
- package/esm2015/lib/menu/menu-routing.module.js +0 -29
- package/esm2015/lib/menu/menu.component.js +0 -65
- package/esm2015/lib/menu/menu.init.js +0 -34
- package/esm2015/lib/menu/menu.module.js +0 -39
- package/esm2015/lib/menu/menu.service.js +0 -127
- package/esm2015/lib/modal/modal.module.js +0 -28
- package/esm2015/lib/page-header/page-header.module.js +0 -34
- package/esm2015/lib/page-title/page-title.component.js +0 -76
- package/esm2015/lib/page-title/page-title.module.js +0 -32
- package/esm2015/lib/progress-bar/progress-bar.component.js +0 -26
- package/esm2015/lib/right-sidebar/right-sidebar.component.js +0 -131
- package/esm2015/lib/right-sidebar/right-sidebar.module.js +0 -49
- package/esm2015/lib/searchable-dropdown/searchable-dropdown.component.js +0 -185
- package/esm2015/lib/searchable-dropdown/searchable-dropdown.module.js +0 -29
- package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.component.js +0 -52
- package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.module.js +0 -30
- package/esm2015/lib/spinner/spinner.module.js +0 -36
- package/esm2015/lib/timeline/timeline.component.js +0 -29
- package/esm2015/lib/timeline/timeline.module.js +0 -32
- package/esm2015/lib/uploader/uploader-drag-drop.directive.js +0 -49
- package/esm2015/lib/uploader/uploader.component.js +0 -70
- package/esm2015/lib/uploader/uploader.module.js +0 -33
- package/esm2015/lib/version/version.service.js +0 -38
- package/esm2015/lib/view-content/type-converters/booleanTypeConverter.js +0 -29
- package/esm2015/lib/view-content/type-converters/dateTypeConverter.js +0 -30
- package/esm2015/lib/view-content/type-converters/relatedFilesTypeConverter.js +0 -24
- package/esm2015/lib/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +0 -27
- package/esm2015/lib/view-content/type-converters/stringTypeConverter.js +0 -24
- package/esm2015/lib/view-content/type-converters/type-converters.model.js +0 -37
- package/esm2015/lib/webcam/webcam.component.js +0 -103
- package/esm2015/lib/webcam/webcam.module.js +0 -32
- package/esm2015/lib/widget/widget.component.js +0 -80
- package/esm2015/lib/widget/widget.module.js +0 -30
|
@@ -0,0 +1,74 @@
|
|
|
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
|
|
27
|
+
.getResource(resourceFile.data.resourceId)
|
|
28
|
+
.subscribe((resource) => {
|
|
29
|
+
this.downloadService.downloadFile(resource.url, resource.resource.name);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
fileSelected(file) {
|
|
33
|
+
this.domService.toggleSubmitButton(true);
|
|
34
|
+
this.uploading$.next(true);
|
|
35
|
+
this.stateService.documentDefinitionName$.pipe(take(1)).subscribe(name => {
|
|
36
|
+
this.uploadProviderService.uploadFile(file, name).subscribe(result => {
|
|
37
|
+
this.domService.toggleSubmitButton(false);
|
|
38
|
+
this.uploading$.next(false);
|
|
39
|
+
this._value.push(result);
|
|
40
|
+
this.valueChange.emit(this._value);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
deleteFile(resourceId) {
|
|
45
|
+
this.domService.toggleSubmitButton(true);
|
|
46
|
+
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; });
|
|
47
|
+
this.valueChange.emit(this._value);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
FormIoUploaderComponent.decorators = [
|
|
51
|
+
{ type: Component, args: [{
|
|
52
|
+
selector: 'valtimo-formio-uploader',
|
|
53
|
+
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",
|
|
54
|
+
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}"]
|
|
55
|
+
},] }
|
|
56
|
+
];
|
|
57
|
+
FormIoUploaderComponent.ctorParameters = () => [
|
|
58
|
+
{ type: UploadProviderService },
|
|
59
|
+
{ type: FormIoStateService },
|
|
60
|
+
{ type: FormIoDomService },
|
|
61
|
+
{ type: DownloadService }
|
|
62
|
+
];
|
|
63
|
+
FormIoUploaderComponent.propDecorators = {
|
|
64
|
+
disabled: [{ type: Input }],
|
|
65
|
+
title: [{ type: Input }],
|
|
66
|
+
hideTitle: [{ type: Input }],
|
|
67
|
+
subtitle: [{ type: Input }],
|
|
68
|
+
maxFileSize: [{ type: Input }],
|
|
69
|
+
hideMaxFileSize: [{ type: Input }],
|
|
70
|
+
camera: [{ type: Input }],
|
|
71
|
+
valueChange: [{ type: Output }],
|
|
72
|
+
value: [{ type: Input }]
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL3RtcC9qZW5raW5zLTRjM2JiNzcwL3dvcmtzcGFjZS9WYWx0aW1vXy1fQW5ndWxhcl9MaWJyYXJpZXNfbWFpbi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS1pby9mb3JtLWlvLXVwbG9hZGVyL2Zvcm0taW8tdXBsb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBT3pFLE1BQU0sT0FBTyx1QkFBdUI7SUFZbEMsWUFDbUIscUJBQTRDLEVBQzVDLFlBQWdDLEVBQ2hDLFVBQTRCLEVBQzVCLGVBQWdDO1FBSGhDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVJ6QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRXZELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVMxRCxXQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUY5QixDQUFDO0lBSUosSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUEwQjtRQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLFlBQTBCO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUI7YUFDdkIsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVU7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFrQjtRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsV0FDdEQsT0FBQSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLE9BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksMENBQUUsVUFBVSxNQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLEVBQUEsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7WUFoRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLHc0QkFBZ0Q7O2FBRWpEOzs7WUFOd0IscUJBQXFCO1lBSHRDLGtCQUFrQjtZQUVsQixnQkFBZ0I7WUFDaEIsZUFBZTs7O3VCQVFwQixLQUFLO29CQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSztxQkFDTCxLQUFLOzBCQUNMLE1BQU07b0JBaUJOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybWlvQ3VzdG9tQ29tcG9uZW50fSBmcm9tICdhbmd1bGFyLWZvcm1pbyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Jlc291cmNlRHRvLCBSZXNvdXJjZUZpbGV9IGZyb20gJ0B2YWx0aW1vL3Jlc291cmNlJztcbmltcG9ydCB7Rm9ybUlvU3RhdGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLWlvLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Zvcm1Jb0RvbVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm0taW8tZG9tLnNlcnZpY2UnO1xuaW1wb3J0IHtEb3dubG9hZFNlcnZpY2UsIFVwbG9hZFByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcmVzb3VyY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm1pby11cGxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWlvLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1pby11cGxvYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSW9VcGxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1pb0N1c3RvbUNvbXBvbmVudDxBcnJheTxSZXNvdXJjZUZpbGU+PiB7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBoaWRlVGl0bGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heEZpbGVTaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIGhpZGVNYXhGaWxlU2l6ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FtZXJhOiBib29sZWFuO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PFJlc291cmNlRmlsZT4+KCk7XG5cbiAgcmVhZG9ubHkgdXBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkUHJvdmlkZXJTZXJ2aWNlOiBVcGxvYWRQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IEZvcm1Jb1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvbVNlcnZpY2U6IEZvcm1Jb0RvbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3dubG9hZFNlcnZpY2U6IERvd25sb2FkU2VydmljZVxuICApIHt9XG5cbiAgX3ZhbHVlOiBBcnJheTxSZXNvdXJjZUZpbGU+ID0gW107XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBBcnJheTxSZXNvdXJjZUZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBBcnJheTxSZXNvdXJjZUZpbGU+KSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGRvd25sb2FkRmlsZShyZXNvdXJjZUZpbGU6IFJlc291cmNlRmlsZSkge1xuICAgIHRoaXMudXBsb2FkUHJvdmlkZXJTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UocmVzb3VyY2VGaWxlLmRhdGEucmVzb3VyY2VJZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc291cmNlOiBSZXNvdXJjZUR0bykgPT4ge1xuICAgICAgICB0aGlzLmRvd25sb2FkU2VydmljZS5kb3dubG9hZEZpbGUocmVzb3VyY2UudXJsLCByZXNvdXJjZS5yZXNvdXJjZS5uYW1lKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZmlsZVNlbGVjdGVkKGZpbGU6IEZpbGUpIHtcbiAgICB0aGlzLmRvbVNlcnZpY2UudG9nZ2xlU3VibWl0QnV0dG9uKHRydWUpO1xuICAgIHRoaXMudXBsb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG5hbWUgPT4ge1xuICAgICAgdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2UudXBsb2FkRmlsZShmaWxlLCBuYW1lKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5kb21TZXJ2aWNlLnRvZ2dsZVN1Ym1pdEJ1dHRvbihmYWxzZSk7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5fdmFsdWUucHVzaChyZXN1bHQpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGVGaWxlKHJlc291cmNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZG9tU2VydmljZS50b2dnbGVTdWJtaXRCdXR0b24odHJ1ZSk7XG4gICAgdGhpcy5fdmFsdWUgPSB0aGlzLl92YWx1ZS5maWx0ZXIoKGZpbGU6IFJlc291cmNlRmlsZSkgPT5cbiAgICAgIGZpbGU/LmRhdGEgPyBmaWxlPy5kYXRhPy5yZXNvdXJjZUlkICE9PSByZXNvdXJjZUlkIDogdHJ1ZVxuICAgICk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby11cGxvYWRlci5mb3JtaW8uanMiLCJzb3VyY2VSb290IjoiL3RtcC9qZW5raW5zLTRjM2JiNzcwL3dvcmtzcGFjZS9WYWx0aW1vXy1fQW5ndWxhcl9MaWJyYXJpZXNfbWFpbi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS1pby9mb3JtLWlvLXVwbG9hZGVyL2Zvcm0taW8tdXBsb2FkZXIuZm9ybWlvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCwyQkFBMkIsRUFFM0Isc0NBQXNDLEdBQ3ZDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFcEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0FBRWpELE1BQU0saUJBQWlCLEdBQThCO0lBQ25ELElBQUksRUFBRSxrQkFBa0I7SUFDeEIsUUFBUSxFQUFFLDBCQUEwQjtJQUNwQyxLQUFLLEVBQUUscUJBQXFCO0lBQzVCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCw0RkFBNEY7SUFDNUYsVUFBVSxFQUFFLEVBQUU7SUFDZCxRQUFRLEVBQUUsc0JBQXNCO0NBQ2pDLENBQUM7QUFFRixNQUFNLFVBQVUsNkJBQTZCLENBQUMsUUFBa0I7SUFDOUQsTUFBTSx1QkFBdUIsR0FBRywyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRS9FLGlFQUFpRTtJQUNqRSxNQUFNLGlCQUFrQixTQUFRLHVCQUF1QjtRQUNyRCxRQUFRLENBQUMsS0FBSztZQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUNGO0lBQ0Qsc0NBQXNDLENBQ3BDLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFFBQVEsQ0FDVCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgY3JlYXRlQ3VzdG9tRm9ybWlvQ29tcG9uZW50LFxuICBGb3JtaW9DdXN0b21Db21wb25lbnRJbmZvLFxuICByZWdpc3RlckN1c3RvbUZvcm1pb0NvbXBvbmVudFdpdGhDbGFzcyxcbn0gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuaW1wb3J0IHtGb3JtSW9VcGxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge2Zvcm1Jb1VwbG9hZGVyRWRpdEZvcm19IGZyb20gJy4vZm9ybS1pby11cGxvYWRlci1lZGl0LWZvcm0nO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tVXBsb2FkZXJUeXBlID0gJ3ZhbHRpbW8tZmlsZSc7XG5cbmNvbnN0IENPTVBPTkVOVF9PUFRJT05TOiBGb3JtaW9DdXN0b21Db21wb25lbnRJbmZvID0ge1xuICB0eXBlOiBjdXN0b21VcGxvYWRlclR5cGUsXG4gIHNlbGVjdG9yOiAndmFsdGltby1mb3JtLWlvLXVwbG9hZGVyJyxcbiAgdGl0bGU6ICdWYWx0aW1vIEZpbGUgVXBsb2FkJyxcbiAgZ3JvdXA6ICdiYXNpYycsXG4gIGljb246ICd1cGxvYWQnLFxuICAvLyBzZXQgZW1wdHkgdmFsdWUgdG8gZm9yY2UgZm9ybWlvIHRvIGFjY2VwdCBhcnJheXMgYXMgdmFsaWQgaW5wdXQgdmFsdWUgZm9yIHRoaXMgZmllbGQgdHlwZVxuICBlbXB0eVZhbHVlOiBbXSxcbiAgZWRpdEZvcm06IGZvcm1Jb1VwbG9hZGVyRWRpdEZvcm0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJGb3JtaW9VcGxvYWRDb21wb25lbnQoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIGNvbnN0IG9yaWdpbmFsVXBsb2FkQ29tcG9uZW50ID0gY3JlYXRlQ3VzdG9tRm9ybWlvQ29tcG9uZW50KENPTVBPTkVOVF9PUFRJT05TKTtcblxuICAvLyBvdmVycmlkZSBzZXRWYWx1ZSBmdW5jdGlvbiB0byBhbGxvdyBmb3Igc2V0dGluZyBhbiBhcnJheSB2YWx1ZVxuICBjbGFzcyBVcGxvYWRlckNvbXBvbmVudCBleHRlbmRzIG9yaWdpbmFsVXBsb2FkQ29tcG9uZW50IHtcbiAgICBzZXRWYWx1ZSh2YWx1ZSk6IGJvb2xlYW4ge1xuICAgICAgdGhpcy5fY3VzdG9tQW5ndWxhckVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZWdpc3RlckN1c3RvbUZvcm1pb0NvbXBvbmVudFdpdGhDbGFzcyhcbiAgICBDT01QT05FTlRfT1BUSU9OUyxcbiAgICBGb3JtSW9VcGxvYWRlckNvbXBvbmVudCxcbiAgICBVcGxvYWRlckNvbXBvbmVudCxcbiAgICBpbmplY3RvclxuICApO1xufVxuIl19
|
|
@@ -0,0 +1,163 @@
|
|
|
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 { BehaviorSubject, 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
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
26
|
+
export class FormioComponent {
|
|
27
|
+
constructor(userProviderService, logger, stateService, route, translateService) {
|
|
28
|
+
this.userProviderService = userProviderService;
|
|
29
|
+
this.logger = logger;
|
|
30
|
+
this.stateService = stateService;
|
|
31
|
+
this.route = route;
|
|
32
|
+
this.translateService = translateService;
|
|
33
|
+
this.submission = {};
|
|
34
|
+
this.submit = new EventEmitter();
|
|
35
|
+
this.change = new EventEmitter();
|
|
36
|
+
this.refreshForm = new EventEmitter();
|
|
37
|
+
this.errors = [];
|
|
38
|
+
this.currentLanguage$ = new BehaviorSubject(this.translateService.currentLang);
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
const documentDefinitionName = this.route.snapshot.paramMap.get('documentDefinitionName');
|
|
42
|
+
const formDefinition = this.form;
|
|
43
|
+
this.formDefinition = formDefinition;
|
|
44
|
+
this.errors = [];
|
|
45
|
+
if (this.formHasLegacyUpload(formDefinition)) {
|
|
46
|
+
this.setInitialToken();
|
|
47
|
+
}
|
|
48
|
+
if (documentDefinitionName) {
|
|
49
|
+
this.stateService.setDocumentDefinitionName(documentDefinitionName);
|
|
50
|
+
}
|
|
51
|
+
this.subscribeFormRefresh();
|
|
52
|
+
this.openLanguageSubscription();
|
|
53
|
+
}
|
|
54
|
+
ngOnChanges(changes) {
|
|
55
|
+
const currentForm = changes.form.currentValue;
|
|
56
|
+
this.formDefinition = currentForm;
|
|
57
|
+
this.reloadForm();
|
|
58
|
+
if (this.formHasLegacyUpload(currentForm)) {
|
|
59
|
+
this.setInitialToken();
|
|
60
|
+
}
|
|
61
|
+
if (changes.formDefinitionRefresh$) {
|
|
62
|
+
this.unsubscribeFormRefresh();
|
|
63
|
+
this.subscribeFormRefresh();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
ngOnDestroy() {
|
|
67
|
+
var _a, _b;
|
|
68
|
+
this.unsubscribeFormRefresh();
|
|
69
|
+
(_a = this.tokenRefreshTimerSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
70
|
+
(_b = this.languageSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
71
|
+
}
|
|
72
|
+
reloadForm() {
|
|
73
|
+
this.refreshForm.emit({
|
|
74
|
+
form: this.formDefinition,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
showErrors(errors) {
|
|
78
|
+
this.errors = errors;
|
|
79
|
+
}
|
|
80
|
+
onSubmit(submission) {
|
|
81
|
+
this.errors = [];
|
|
82
|
+
this.submit.emit(submission);
|
|
83
|
+
}
|
|
84
|
+
formReady(form) {
|
|
85
|
+
this.reloadForm();
|
|
86
|
+
this.stateService.currentForm = form;
|
|
87
|
+
}
|
|
88
|
+
onChange(object) {
|
|
89
|
+
this.change.emit(object);
|
|
90
|
+
}
|
|
91
|
+
formHasLegacyUpload(formDefinition) {
|
|
92
|
+
const stringifiedFormDefinition = JSON.stringify(formDefinition);
|
|
93
|
+
const legacyUploadString = '"type":"file"';
|
|
94
|
+
return stringifiedFormDefinition.includes(legacyUploadString);
|
|
95
|
+
}
|
|
96
|
+
setInitialToken() {
|
|
97
|
+
this.userProviderService.getToken().then((token) => {
|
|
98
|
+
this.setToken(token);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
setToken(token) {
|
|
102
|
+
Formio.setToken(token);
|
|
103
|
+
this.setTimerForTokenRefresh(token);
|
|
104
|
+
this.logger.debug('New token set for form.io.');
|
|
105
|
+
}
|
|
106
|
+
setTimerForTokenRefresh(token) {
|
|
107
|
+
const tokenExp = jwt_decode(token).exp * 1000;
|
|
108
|
+
const expiryTime = tokenExp - Date.now() - 1000;
|
|
109
|
+
this.tokenRefreshTimerSubscription = timer(expiryTime).subscribe(() => {
|
|
110
|
+
this.refreshToken();
|
|
111
|
+
});
|
|
112
|
+
this.logger.debug(`Timer for form.io token refresh set for: ${expiryTime}ms.`);
|
|
113
|
+
}
|
|
114
|
+
refreshToken() {
|
|
115
|
+
from(this.userProviderService.updateToken(-1))
|
|
116
|
+
.pipe(switchMap(() => this.userProviderService.getToken()), take(1))
|
|
117
|
+
.subscribe(token => {
|
|
118
|
+
this.setToken(token);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
subscribeFormRefresh() {
|
|
122
|
+
if (this.formRefresh$) {
|
|
123
|
+
this.formRefreshSubscription = this.formRefresh$.subscribe(refreshValue => {
|
|
124
|
+
if (refreshValue) {
|
|
125
|
+
this.refreshForm.emit(refreshValue);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
unsubscribeFormRefresh() {
|
|
131
|
+
if (this.formRefreshSubscription) {
|
|
132
|
+
this.formRefreshSubscription.unsubscribe();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
openLanguageSubscription() {
|
|
136
|
+
this.languageSubscription = this.translateService.stream('key').subscribe(() => {
|
|
137
|
+
this.currentLanguage$.next(this.translateService.currentLang);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
FormioComponent.decorators = [
|
|
142
|
+
{ type: Component, args: [{
|
|
143
|
+
selector: 'valtimo-form-io',
|
|
144
|
+
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",
|
|
145
|
+
styles: [""]
|
|
146
|
+
},] }
|
|
147
|
+
];
|
|
148
|
+
FormioComponent.ctorParameters = () => [
|
|
149
|
+
{ type: UserProviderService },
|
|
150
|
+
{ type: NGXLogger },
|
|
151
|
+
{ type: FormIoStateService },
|
|
152
|
+
{ type: ActivatedRoute },
|
|
153
|
+
{ type: TranslateService }
|
|
154
|
+
];
|
|
155
|
+
FormioComponent.propDecorators = {
|
|
156
|
+
form: [{ type: Input }],
|
|
157
|
+
options: [{ type: Input }],
|
|
158
|
+
submission: [{ type: Input }],
|
|
159
|
+
formRefresh$: [{ type: Input }],
|
|
160
|
+
submit: [{ type: Output }],
|
|
161
|
+
change: [{ type: Output }]
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL3RtcC9qZW5raW5zLTRjM2JiNzcwL3dvcmtzcGFjZS9WYWx0aW1vXy1fQW5ndWxhcl9MaWJyYXJpZXNfbWFpbi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS1pby9mb3JtLWlvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFDLE1BQU0sRUFBdUQsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RixPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQU9yRCxNQUFNLE9BQU8sZUFBZTtJQWlCMUIsWUFDVSxtQkFBd0MsRUFDeEMsTUFBaUIsRUFDUixZQUFnQyxFQUNoQyxLQUFxQixFQUNyQixnQkFBa0M7UUFKM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ1Is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SztxQkFDTCxNQUFNO3FCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1pb1N1Ym1pc3Npb24sIFZhbHRpbW9Gb3JtaW9PcHRpb25zfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge0Zvcm1pbywgRm9ybWlvQ29tcG9uZW50IGFzIEZvcm1Jb1NvdXJjZUNvbXBvbmVudCwgRm9ybWlvRm9ybX0gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuaW1wb3J0IHtGb3JtaW9SZWZyZXNoVmFsdWV9IGZyb20gJ2FuZ3VsYXItZm9ybWlvL2Zvcm1pby5jb21tb24nO1xuaW1wb3J0IGp3dF9kZWNvZGUgZnJvbSAnand0LWRlY29kZSc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZnJvbSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGb3JtSW9TdGF0ZVNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvZm9ybS1pby1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0taW8nLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0taW8uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZm9ybTogYW55O1xuICBASW5wdXQoKSBvcHRpb25zOiBWYWx0aW1vRm9ybWlvT3B0aW9ucztcbiAgQElucHV0KCkgc3VibWlzc2lvbj86IG9iamVjdCB8IHt9ID0ge307XG4gIEBJbnB1dCgpIGZvcm1SZWZyZXNoJCE6IFN1YmplY3Q8Rm9ybWlvUmVmcmVzaFZhbHVlPjtcbiAgQE91dHB1dCgpIHN1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICByZWZyZXNoRm9ybTogRXZlbnRFbWl0dGVyPEZvcm1pb1JlZnJlc2hWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGZvcm1EZWZpbml0aW9uOiBGb3JtaW9Gb3JtO1xuICBwdWJsaWMgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgdG9rZW5SZWZyZXNoVGltZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBmb3JtUmVmcmVzaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRMYW5ndWFnZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcbiAgcHJpdmF0ZSBsYW5ndWFnZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJQcm92aWRlclNlcnZpY2U6IFVzZXJQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogRm9ybUlvU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdkb2N1bWVudERlZmluaXRpb25OYW1lJyk7XG4gICAgY29uc3QgZm9ybURlZmluaXRpb24gPSB0aGlzLmZvcm07XG5cbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gZm9ybURlZmluaXRpb247XG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcblxuICAgIGlmICh0aGlzLmZvcm1IYXNMZWdhY3lVcGxvYWQoZm9ybURlZmluaXRpb24pKSB7XG4gICAgICB0aGlzLnNldEluaXRpYWxUb2tlbigpO1xuICAgIH1cblxuICAgIGlmIChkb2N1bWVudERlZmluaXRpb25OYW1lKSB7XG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXREb2N1bWVudERlZmluaXRpb25OYW1lKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuICAgIH1cblxuICAgIHRoaXMuc3Vic2NyaWJlRm9ybVJlZnJlc2goKTtcbiAgICB0aGlzLm9wZW5MYW5ndWFnZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRGb3JtID0gY2hhbmdlcy5mb3JtLmN1cnJlbnRWYWx1ZTtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gY3VycmVudEZvcm07XG4gICAgdGhpcy5yZWxvYWRGb3JtKCk7XG5cbiAgICBpZiAodGhpcy5mb3JtSGFzTGVnYWN5VXBsb2FkKGN1cnJlbnRGb3JtKSkge1xuICAgICAgdGhpcy5zZXRJbml0aWFsVG9rZW4oKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5mb3JtRGVmaW5pdGlvblJlZnJlc2gkKSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlRm9ybVJlZnJlc2goKTtcbiAgICAgIHRoaXMuc3Vic2NyaWJlRm9ybVJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRm9ybVJlZnJlc2goKTtcblxuICAgIHRoaXMudG9rZW5SZWZyZXNoVGltZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHJlbG9hZEZvcm0oKSB7XG4gICAgdGhpcy5yZWZyZXNoRm9ybS5lbWl0KHtcbiAgICAgIGZvcm06IHRoaXMuZm9ybURlZmluaXRpb24sXG4gICAgfSk7XG4gIH1cblxuICBzaG93RXJyb3JzKGVycm9yczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmVycm9ycyA9IGVycm9ycztcbiAgfVxuXG4gIG9uU3VibWl0KHN1Ym1pc3Npb246IEZvcm1pb1N1Ym1pc3Npb24pIHtcbiAgICB0aGlzLmVycm9ycyA9IFtdO1xuICAgIHRoaXMuc3VibWl0LmVtaXQoc3VibWlzc2lvbik7XG4gIH1cblxuICBmb3JtUmVhZHkoZm9ybTogRm9ybUlvU291cmNlQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWRGb3JtKCk7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuY3VycmVudEZvcm0gPSBmb3JtO1xuICB9XG5cbiAgb25DaGFuZ2Uob2JqZWN0OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KG9iamVjdCk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1IYXNMZWdhY3lVcGxvYWQoZm9ybURlZmluaXRpb246IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0cmluZ2lmaWVkRm9ybURlZmluaXRpb24gPSBKU09OLnN0cmluZ2lmeShmb3JtRGVmaW5pdGlvbik7XG4gICAgY29uc3QgbGVnYWN5VXBsb2FkU3RyaW5nID0gJ1widHlwZVwiOlwiZmlsZVwiJztcblxuICAgIHJldHVybiBzdHJpbmdpZmllZEZvcm1EZWZpbml0aW9uLmluY2x1ZGVzKGxlZ2FjeVVwbG9hZFN0cmluZyk7XG4gIH1cblxuICBwcml2YXRlIHNldEluaXRpYWxUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UuZ2V0VG9rZW4oKS50aGVuKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnNldFRva2VuKHRva2VuKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIEZvcm1pby5zZXRUb2tlbih0b2tlbik7XG4gICAgdGhpcy5zZXRUaW1lckZvclRva2VuUmVmcmVzaCh0b2tlbik7XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTmV3IHRva2VuIHNldCBmb3IgZm9ybS5pby4nKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGltZXJGb3JUb2tlblJlZnJlc2godG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRva2VuRXhwID0gKGp3dF9kZWNvZGUodG9rZW4pIGFzIGFueSkuZXhwICogMTAwMDtcbiAgICBjb25zdCBleHBpcnlUaW1lID0gdG9rZW5FeHAgLSBEYXRlLm5vdygpIC0gMTAwMDtcbiAgICB0aGlzLnRva2VuUmVmcmVzaFRpbWVyU3Vic2NyaXB0aW9uID0gdGltZXIoZXhwaXJ5VGltZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgVGltZXIgZm9yIGZvcm0uaW8gdG9rZW4gcmVmcmVzaCBzZXQgZm9yOiAke2V4cGlyeVRpbWV9bXMuYCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hUb2tlbigpOiB2b2lkIHtcbiAgICBmcm9tKHRoaXMudXNlclByb3ZpZGVyU2VydmljZS51cGRhdGVUb2tlbigtMSkpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudXNlclByb3ZpZGVyU2VydmljZS5nZXRUb2tlbigpKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0b2tlbiA9PiB7XG4gICAgICAgIHRoaXMuc2V0VG9rZW4odG9rZW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZUZvcm1SZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1SZWZyZXNoJCkge1xuICAgICAgdGhpcy5mb3JtUmVmcmVzaFN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybVJlZnJlc2gkLnN1YnNjcmliZShyZWZyZXNoVmFsdWUgPT4ge1xuICAgICAgICBpZiAocmVmcmVzaFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoRm9ybS5lbWl0KHJlZnJlc2hWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtUmVmcmVzaFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtUmVmcmVzaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3Blbkxhbmd1YWdlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UkLm5leHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL3RtcC9qZW5raW5zLTRjM2JiNzcwL3dvcmtzcGFjZS9WYWx0aW1vXy1fQW5ndWxhcl9MaWJyYXJpZXNfbWFpbi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS1pby9mb3JtLWlvLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztXQWtCSixTQUFTO0FBR2xELE1BQU0sT0FBTyxZQUFZOzs7WUFuQnhCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQztnQkFDaEYsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO2dCQUMzRSxTQUFTLEVBQUU7b0JBQ1Qsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLElBQVcsRUFBQztpQkFDaEQ7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1pb0NvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1pb0J1aWxkZXJDb21wb25lbnR9IGZyb20gJy4vZm9ybS1pby1idWlsZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1pb0FwcENvbmZpZywgRm9ybWlvTW9kdWxlfSBmcm9tICdhbmd1bGFyLWZvcm1pbyc7XG5pbXBvcnQge0FwcENvbmZpZ30gZnJvbSAnLi9mb3JtaW8tY29uZmlnJztcbmltcG9ydCB7Rm9ybUlvVXBsb2FkZXJDb21wb25lbnR9IGZyb20gJy4vZm9ybS1pby11cGxvYWRlci9mb3JtLWlvLXVwbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1Jb1N0YXRlU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWlvLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wem9uZU1vZHVsZX0gZnJvbSAnLi4vZHJvcHpvbmUvZHJvcHpvbmUubW9kdWxlJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RG9jdW1lbnRNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7Rm9ybUlvRG9tU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWlvLWRvbS5zZXJ2aWNlJztcbmltcG9ydCB7RmlsZVNpemVNb2R1bGV9IGZyb20gJy4uL2ZpbGUtc2l6ZS9maWxlLXNpemUubW9kdWxlJztcbmltcG9ydCB7UmVzb3VyY2VNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3Jlc291cmNlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1pb01vZHVsZSxcbiAgICBEcm9wem9uZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRG9jdW1lbnRNb2R1bGUsXG4gICAgRmlsZVNpemVNb2R1bGUsXG4gICAgUmVzb3VyY2VNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtGb3JtaW9Db21wb25lbnQsIEZvcm1pb0J1aWxkZXJDb21wb25lbnQsIEZvcm1Jb1VwbG9hZGVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0Zvcm1pb0NvbXBvbmVudCwgRm9ybWlvQnVpbGRlckNvbXBvbmVudCwgRm9ybUlvVXBsb2FkZXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtSW9TdGF0ZVNlcnZpY2UsXG4gICAgRm9ybUlvRG9tU2VydmljZSxcbiAgICB7cHJvdmlkZTogRm9ybWlvQXBwQ29uZmlnLCB1c2VWYWx1ZTogQXBwQ29uZmlnfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlvTW9kdWxlIHt9XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtNGMzYmI3NzAvd29ya3NwYWNlL1ZhbHRpbW9fLV9Bbmd1bGFyX0xpYnJhcmllc19tYWluL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mb3JtLWlvL2Zvcm1pby1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsTUFBTSxFQUFFLHVCQUF1QjtJQUMvQixNQUFNLEVBQUUsdUJBQXVCO0lBQy9CLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxLQUFLO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgY29uc3QgQXBwQ29uZmlnID0ge1xuICBhcHBVcmw6ICdodHRwOi8vbG9jYWxob3N0OjQyMDAnLFxuICBhcGlVcmw6ICdodHRwOi8vbG9jYWxob3N0OjQyMDAnLFxuICBpY29uczogJ2ZvbnRhd2Vzb21lJyxcbiAgZm9ybU9ubHk6IGZhbHNlLFxufTtcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby1kb20uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtNGMzYmI3NzAvd29ya3NwYWNlL1ZhbHRpbW9fLV9Bbmd1bGFyX0xpYnJhcmllc19tYWluL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mb3JtLWlvL3NlcnZpY2VzL2Zvcm0taW8tZG9tLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEMsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUE2QixZQUFnQztRQUFoQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7SUFBRyxDQUFDO0lBRWpFLGtCQUFrQixDQUFDLFFBQWlCO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhO2lCQUM1QyxzQkFBc0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDcEQsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFxQixDQUFDO1lBRWhFLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBWkYsVUFBVTs7O1lBSEgsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUlvU3RhdGVTZXJ2aWNlfSBmcm9tICcuL2Zvcm0taW8tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1Jb0RvbVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogRm9ybUlvU3RhdGVTZXJ2aWNlKSB7fVxuXG4gIHRvZ2dsZVN1Ym1pdEJ1dHRvbihkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmN1cnJlbnRGb3JtJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmb3JtID0+IHtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IGZvcm0uZm9ybWlvRWxlbWVudC5uYXRpdmVFbGVtZW50XG4gICAgICAgIC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdmb3JtaW8tY29tcG9uZW50LXN1Ym1pdCcpWzBdXG4gICAgICAgIC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdidG4tcHJpbWFyeScpWzBdIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii90bXAvamVua2lucy00YzNiYjc3MC93b3Jrc3BhY2UvVmFsdGltb18tX0FuZ3VsYXJfTGlicmFyaWVzX21haW4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0taW8vc2VydmljZXMvZm9ybS1pby1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUlqRCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRVUsNkJBQXdCLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFFbEUsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsU0FBUyxDQUFDLENBQUM7SUFpQjFFLENBQUM7SUFmQyxJQUFXLHVCQUF1QjtRQUNoQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU0seUJBQXlCLENBQUMsc0JBQThCO1FBQzdELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsSUFBcUI7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7O1lBcEJGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGb3JtaW9Db21wb25lbnR9IGZyb20gJ2FuZ3VsYXItZm9ybWlvJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1Jb1N0YXRlU2VydmljZSB7XG4gIHByaXZhdGUgX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEZvcm0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtaW9Db21wb25lbnQ+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIGdldCBkb2N1bWVudERlZmluaXRpb25OYW1lJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREb2N1bWVudERlZmluaXRpb25OYW1lKGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUkLm5leHQoZG9jdW1lbnREZWZpbml0aW9uTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRGb3JtJCgpOiBPYnNlcnZhYmxlPEZvcm1pb0NvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50Rm9ybSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGN1cnJlbnRGb3JtKGZvcm06IEZvcm1pb0NvbXBvbmVudCkge1xuICAgIHRoaXMuX2N1cnJlbnRGb3JtJC5uZXh0KGZvcm0pO1xuICB9XG59XG4iXX0=
|
|
@@ -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);\"\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",
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtNGMzYmI3NzAvd29ya3NwYWNlL1ZhbHRpbW9fLV9Bbmd1bGFyX0xpYnJhcmllc19tYWluL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sZWZ0LXNpZGViYXIvbGVmdC1zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFPdkQsTUFBTSxPQUFPLG9CQUFvQjtJQTZCL0IsWUFBb0IsZ0JBQWtDLEVBQW1CLFVBQXNCO1FBQTNFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBbUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXpCckYscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QscUJBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3RFLG9CQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRXZFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxT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MDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWxlZnQtc2lkZWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWZ0LXNpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sZWZ0LXNpZGViYXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMZWZ0U2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgndG9nZ2xlQnV0dG9uJykgdG9nZ2xlQnV0dG9uUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIG1lbnVJc09wZW46IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBtZW51V2lkdGhDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICByZWFkb25seSBtZW51VG9vbHRpcFRleHQkID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgnaW50ZXJmYWNlLm1haW5NZW51Jyk7XG4gIHJlYWRvbmx5IHRvZ2dsZU1lbnVUZXh0JCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2ludGVyZmFjZS50b2dnbGVNZW51Jyk7XG5cbiAgcmVhZG9ubHkgbW91c2VJc09uUmVzaXplQm9yZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtZW51V2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlzUmVzaXppbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSBib2R5U3R5bGU6IGFueTtcblxuICBwcml2YXRlIHhPbkNsaWNrOiBudW1iZXI7XG4gIHByaXZhdGUgbWVudVdpZHRoT25DbGljazogbnVtYmVyO1xuXG4gIHByaXZhdGUgbW91c2VYU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbW91c2VVcFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE1lbnVXaWR0aCA9IDIzMDtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXhNZW51V2lkdGggPSAzMzA7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWluTWVudVdpZHRoID0gMTIwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbW91c2VYJCA9IGZyb21FdmVudChkb2N1bWVudC5ib2R5LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICBtYXAoKGU6IE1vdXNlRXZlbnQpID0+IGUucGFnZVgpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmJvZHlTdHlsZSA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmJvZHkuc3R5bGU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldE1lbnVXaWR0aCh0aGlzLmRlZmF1bHRNZW51V2lkdGgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubW91c2VYU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbdGhpcy5tb3VzZVgkLCB0aGlzLmlzUmVzaXppbmckXSlcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzKSlcbiAgICAgIC5zdWJzY3JpYmUoKFt4LCBpc1Jlc2l6aW5nXSkgPT4ge1xuICAgICAgICBjb25zdCBtZW51T3BlbiA9IHRoaXMubWVudUlzT3BlbjtcblxuICAgICAgICBpZiAoaXNSZXNpemluZykge1xuICAgICAgICAgIGNvbnN0IG9mZlNldFdpZHRoID0gdGhpcy54T25DbGljayAtIHg7XG4gICAgICAgICAgY29uc3QgbmV3TWVudVdpZHRoID0gdGhpcy5tZW51V2lkdGhPbkNsaWNrIC0gb2ZmU2V0V2lkdGg7XG4gICAgICAgICAgY29uc3Qgc25hcE1hcmdpbiA9IDM1O1xuICAgICAgICAgIGNvbnN0IHNuYXBJbnNpZGUgPSBuZXdNZW51V2lkdGggPCB0aGlzLm1pbk1lbnVXaWR0aCAtIHNuYXBNYXJnaW47XG4gICAgICAgICAgY29uc3Qgc25hcE91dHNpZGUgPSAhbWVudU9wZW4gJiYgb2ZmU2V0V2lkdGggPCAtc25hcE1hcmdpbjtcblxuICAgICAgICAgIGlmIChtZW51T3BlbiAmJiBuZXdNZW51V2lkdGggPD0gdGhpcy5tYXhNZW51V2lkdGggJiYgbmV3TWVudVdpZHRoID49IHRoaXMubWluTWVudVdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnNldE1lbnVXaWR0aChuZXdNZW51V2lkdGgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc25hcEluc2lkZSB8fCBzbmFwT3V0c2lkZSkge1xuICAgICAgICAgICAgdGhpcy5zbmFwTWVudShzbmFwSW5zaWRlID8gdGhpcy5tZW51V2lkdGhPbkNsaWNrIDogdGhpcy5kZWZhdWx0TWVudVdpZHRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnN0b3BSZXNpemluZygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZVhTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGVudGVyQm9yZGVyKCk6IHZvaWQge1xuICAgIHRoaXMubW91c2VJc09uUmVzaXplQm9yZGVyJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbGVhdmVCb3JkZXIoKTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZUlzT25SZXNpemVCb3JkZXIkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcmVzaXplQm9yZGVyQ2xpY2soZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubWVudVdpZHRoJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShtZW51V2lkdGggPT4ge1xuICAgICAgdGhpcy5tZW51V2lkdGhPbkNsaWNrID0gbWVudVdpZHRoO1xuICAgICAgdGhpcy54T25DbGljayA9IGUucGFnZVg7XG4gICAgICB0aGlzLmJvZHlTdHlsZS51c2VyU2VsZWN0ID0gJ25vbmUnO1xuICAgICAgdGhpcy5ib2R5U3R5bGUuY3Vyc29yID0gJ2NvbC1yZXNpemUnO1xuICAgICAgdGhpcy5pc1Jlc2l6aW5nJC5uZXh0KHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzbmFwTWVudShzbmFwVG86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc3RvcFJlc2l6aW5nKCk7XG4gICAgdGhpcy5zZXRNZW51V2lkdGgoc25hcFRvKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudG9nZ2xlQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFJlc2l6aW5nKCk6IHZvaWQge1xuICAgIHRoaXMuYm9keVN0eWxlLmN1cnNvciA9ICdhdXRvJztcbiAgICB0aGlzLmJvZHlTdHlsZS51c2VyU2VsZWN0ID0gJ2F1dG8nO1xuICAgIHRoaXMuaXNSZXNpemluZyQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNldE1lbnVXaWR0aCh3aWR0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZW51V2lkdGgkLm5leHQod2lkdGgpO1xuICAgIHRoaXMubWVudVdpZHRoQ2hhbmdlZC5lbWl0KHdpZHRoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
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: [CommonModule, MenuModule, PageTitleModule],
|
|
27
|
+
exports: [LeftSidebarComponent],
|
|
28
|
+
},] }
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1zaWRlYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtNGMzYmI3NzAvd29ya3NwYWNlL1ZhbHRpbW9fLV9Bbmd1bGFyX0xpYnJhcmllc19tYWluL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sZWZ0LXNpZGViYXIvbGVmdC1zaWRlYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFPL0MsTUFBTSxPQUFPLGlCQUFpQjs7O1lBTDdCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUM7Z0JBQ3BELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TGVmdFNpZGViYXJDb21wb25lbnR9IGZyb20gJy4vbGVmdC1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1BhZ2VUaXRsZU1vZHVsZX0gZnJvbSAnLi4vcGFnZS10aXRsZS9wYWdlLXRpdGxlLm1vZHVsZSc7XG5pbXBvcnQge01lbnVNb2R1bGV9IGZyb20gJy4uL21lbnUvbWVudS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMZWZ0U2lkZWJhckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1lbnVNb2R1bGUsIFBhZ2VUaXRsZU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtMZWZ0U2lkZWJhckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExlZnRTaWRlYmFyTW9kdWxlIHt9XG4iXX0=
|