@eqproject/eqp-dynamic-module 2.8.8 → 3.0.1
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/{esm2020 → esm2022}/eqproject-eqp-dynamic-module.mjs +4 -4
- package/esm2022/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +531 -0
- package/esm2022/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +1245 -0
- package/esm2022/lib/components/private/add-form-field/add-form-field.component.mjs +1264 -0
- package/esm2022/lib/components/private/add-formula-field/add-formula-field.component.mjs +200 -0
- package/esm2022/lib/components/private/dbgetter/dbgetter.component.mjs +233 -0
- package/esm2022/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +280 -0
- package/esm2022/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +143 -0
- package/esm2022/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +75 -0
- package/esm2022/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +106 -0
- package/esm2022/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +107 -0
- package/esm2022/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +265 -0
- package/esm2022/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.mjs +261 -0
- package/esm2022/lib/components/private/field-templates/label-field-template/label-field-template.component.mjs +82 -0
- package/esm2022/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +176 -0
- package/esm2022/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +129 -0
- package/esm2022/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +103 -0
- package/esm2022/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +78 -0
- package/esm2022/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +837 -0
- package/esm2022/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +408 -0
- package/esm2022/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +651 -0
- package/esm2022/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +82 -0
- package/esm2022/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +59 -0
- package/esm2022/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +131 -0
- package/esm2022/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +89 -0
- package/esm2022/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +460 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +58 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +110 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +108 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +58 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.mjs +135 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +58 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +141 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +126 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +111 -0
- package/esm2022/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +111 -0
- package/esm2022/lib/components/private/graphs/graph/graph.component.mjs +186 -0
- package/esm2022/lib/components/private/graphs/graphs.component.mjs +175 -0
- package/esm2022/lib/components/private/spinner/spinner.component.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/private/tmw-image-drawer/i18n.mjs +62 -62
- package/esm2022/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.mjs +413 -0
- package/esm2022/lib/components/private/tmw-image-marker/tmw-image-marker.component.mjs +348 -0
- package/esm2022/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.mjs +81 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-creator.component.mjs +199 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.mjs +91 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.mjs +88 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +61 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.mjs +69 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.mjs +107 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +92 -0
- package/esm2022/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +92 -0
- package/esm2022/lib/directives/dynamic-loader/dynamic-loader.directive.mjs +63 -0
- package/esm2022/lib/directives/speech-to-text/speech-to-text.directive.mjs +192 -0
- package/esm2022/lib/eqp-dynamic-module.module.mjs +253 -0
- package/{esm2020 → esm2022}/lib/interfaces/iBaseFieldComponent.interface.mjs +1 -1
- package/{esm2020 → esm2022}/lib/interfaces/iRootObject.interface.mjs +1 -1
- package/esm2022/lib/models/baseField.model.mjs +133 -0
- package/esm2022/lib/models/baseObj.model.mjs +10 -0
- package/{esm2020 → esm2022}/lib/models/context.model.mjs +10 -8
- package/esm2022/lib/models/dynAttachment.mjs +52 -0
- package/esm2022/lib/models/dynamicModuleCompileConfig.model.mjs +45 -0
- package/esm2022/lib/models/dynamicModuleConfig.model.mjs +13 -0
- package/esm2022/lib/models/dynamicModuleConfiguratorConfig.model.mjs +11 -0
- package/esm2022/lib/models/dynamicModuleConfiguratorSpecificConfig.model.mjs +16 -0
- package/{esm2020 → esm2022}/lib/models/dynamicModuleFilterResultViewModeEnum.model.mjs +6 -6
- package/esm2022/lib/models/dynamicModuleGeneralConfig.model.mjs +36 -0
- package/esm2022/lib/models/dynamicModuleListConfig.model.mjs +48 -0
- package/esm2022/lib/models/dynamicModuleListFormRecordActionsDefault.mjs +35 -0
- package/{esm2020 → esm2022}/lib/models/dynamicModuleRepairConfig.model.mjs +10 -10
- package/{esm2020 → esm2022}/lib/models/dynamicModuleViewModeEnum.mjs +11 -11
- package/esm2022/lib/models/endPointConfiguration.model.mjs +211 -0
- package/{esm2020 → esm2022}/lib/models/entity.model.mjs +10 -7
- package/esm2022/lib/models/fields/attachmentField.model.mjs +28 -0
- package/esm2022/lib/models/fields/booleanField.model.mjs +15 -0
- package/esm2022/lib/models/fields/dateField.model.mjs +15 -0
- package/esm2022/lib/models/fields/imageField.model.mjs +14 -0
- package/esm2022/lib/models/fields/imageSelectorField.model.mjs +10 -0
- package/esm2022/lib/models/fields/imageWithMarkersField.model.mjs +7 -0
- package/{esm2020 → esm2022}/lib/models/fields/labelField.model.mjs +5 -4
- package/esm2022/lib/models/fields/listValueField.model.mjs +24 -0
- package/esm2022/lib/models/fields/lookupField.model.mjs +11 -0
- package/esm2022/lib/models/fields/numericField.model.mjs +13 -0
- package/esm2022/lib/models/fields/textField.model.mjs +18 -0
- package/esm2022/lib/models/fields/textareaField.model.mjs +9 -0
- package/esm2022/lib/models/form.model.mjs +63 -0
- package/esm2022/lib/models/getter.model.mjs +6 -0
- package/esm2022/lib/models/graph.model.mjs +19 -0
- package/{esm2020 → esm2022}/lib/models/logicOperator.model.mjs +55 -55
- package/esm2022/lib/models/record.model.mjs +39 -0
- package/esm2022/lib/models/statistic.model.mjs +12 -0
- package/esm2022/lib/models/trigger.model.mjs +63 -0
- package/esm2022/lib/modules/formula.model.mjs +266 -0
- package/{esm2020 → esm2022}/lib/modules/material.module.mjs +231 -231
- package/{esm2020 → esm2022}/lib/services/custom-form-validators.service.mjs +18 -18
- package/esm2022/lib/services/db-date.service.mjs +178 -0
- package/esm2022/lib/services/eqp-dynamic-module-dialog.service.mjs +114 -0
- package/esm2022/lib/services/global.service.mjs +43 -0
- package/esm2022/lib/services/spinner.service.mjs +41 -0
- package/esm2022/lib/services/utilityHelper.services.mjs +601 -0
- package/{esm2020 → esm2022}/public-api.mjs +56 -56
- package/fesm2022/eqproject-eqp-dynamic-module.mjs +13507 -0
- package/fesm2022/eqproject-eqp-dynamic-module.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +162 -162
- package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +308 -308
- package/lib/components/private/add-form-field/add-form-field.component.d.ts +263 -263
- package/lib/components/private/add-formula-field/add-formula-field.component.d.ts +45 -45
- package/lib/components/private/dbgetter/dbgetter.component.d.ts +51 -51
- package/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.d.ts +84 -84
- package/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.d.ts +57 -57
- package/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.d.ts +27 -27
- package/lib/components/private/field-templates/date-field-template/date-field-template.component.d.ts +36 -36
- package/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.d.ts +33 -33
- package/lib/components/private/field-templates/image-field-template/image-field-template.component.d.ts +80 -80
- package/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.d.ts +78 -78
- package/lib/components/private/field-templates/label-field-template/label-field-template.component.d.ts +33 -33
- package/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.d.ts +59 -59
- package/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.d.ts +40 -40
- package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +35 -35
- package/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.d.ts +31 -31
- package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +104 -104
- package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts +83 -83
- package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +151 -151
- package/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.d.ts +39 -39
- package/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.d.ts +20 -20
- package/lib/components/private/form-records/view-form-record/view-form-record.component.d.ts +36 -36
- package/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.d.ts +42 -42
- package/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.d.ts +109 -109
- package/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.d.ts +21 -21
- package/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.d.ts +37 -37
- package/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.d.ts +37 -37
- package/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.d.ts +21 -21
- package/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.d.ts +47 -47
- package/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.d.ts +21 -21
- package/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.d.ts +47 -47
- package/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.d.ts +40 -40
- package/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.d.ts +38 -38
- package/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.d.ts +38 -38
- package/lib/components/private/graphs/graph/graph.component.d.ts +25 -25
- package/lib/components/private/graphs/graphs.component.d.ts +47 -47
- package/lib/components/private/spinner/spinner.component.d.ts +12 -12
- package/lib/components/private/tmw-image-drawer/i18n.d.ts +27 -27
- package/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.d.ts +70 -70
- package/lib/components/private/tmw-image-marker/tmw-image-marker.component.d.ts +62 -62
- package/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.d.ts +42 -42
- package/lib/components/private/trigger-creator/trigger-creator.component.d.ts +42 -42
- package/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.d.ts +34 -34
- package/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.d.ts +34 -34
- package/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.d.ts +24 -24
- package/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.d.ts +34 -34
- package/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.d.ts +37 -37
- package/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.d.ts +36 -36
- package/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.d.ts +36 -36
- package/lib/directives/dynamic-loader/dynamic-loader.directive.d.ts +26 -26
- package/lib/directives/speech-to-text/speech-to-text.directive.d.ts +31 -31
- package/lib/eqp-dynamic-module.module.d.ts +85 -85
- package/lib/interfaces/iBaseFieldComponent.interface.d.ts +8 -8
- package/lib/interfaces/iRootObject.interface.d.ts +11 -11
- package/lib/models/baseField.model.d.ts +126 -126
- package/lib/models/baseObj.model.d.ts +9 -9
- package/lib/models/context.model.d.ts +9 -9
- package/lib/models/dynAttachment.d.ts +49 -49
- package/lib/models/dynamicModuleCompileConfig.model.d.ts +35 -35
- package/lib/models/dynamicModuleConfig.model.d.ts +11 -11
- package/lib/models/dynamicModuleConfiguratorConfig.model.d.ts +7 -7
- package/lib/models/dynamicModuleConfiguratorSpecificConfig.model.d.ts +11 -11
- package/lib/models/dynamicModuleFilterResultViewModeEnum.model.d.ts +5 -5
- package/lib/models/dynamicModuleGeneralConfig.model.d.ts +29 -29
- package/lib/models/dynamicModuleListConfig.model.d.ts +39 -39
- package/lib/models/dynamicModuleListFormRecordActionsDefault.d.ts +9 -9
- package/lib/models/dynamicModuleRepairConfig.model.d.ts +4 -4
- package/lib/models/dynamicModuleViewModeEnum.d.ts +10 -10
- package/lib/models/endPointConfiguration.model.d.ts +46 -46
- package/lib/models/entity.model.d.ts +11 -11
- package/lib/models/fields/attachmentField.model.d.ts +17 -17
- package/lib/models/fields/booleanField.model.d.ts +11 -11
- package/lib/models/fields/dateField.model.d.ts +13 -13
- package/lib/models/fields/imageField.model.d.ts +13 -13
- package/lib/models/fields/imageSelectorField.model.d.ts +12 -12
- package/lib/models/fields/imageWithMarkersField.model.d.ts +7 -7
- package/lib/models/fields/labelField.model.d.ts +4 -4
- package/lib/models/fields/listValueField.model.d.ts +24 -24
- package/lib/models/fields/lookupField.model.d.ts +10 -10
- package/lib/models/fields/numericField.model.d.ts +12 -12
- package/lib/models/fields/textField.model.d.ts +16 -16
- package/lib/models/fields/textareaField.model.d.ts +8 -8
- package/lib/models/form.model.d.ts +61 -61
- package/lib/models/getter.model.d.ts +5 -5
- package/lib/models/graph.model.d.ts +18 -18
- package/lib/models/logicOperator.model.d.ts +48 -48
- package/lib/models/record.model.d.ts +41 -41
- package/lib/models/statistic.model.d.ts +13 -13
- package/lib/models/trigger.model.d.ts +51 -51
- package/lib/modules/formula.model.d.ts +32 -32
- package/lib/modules/material.module.d.ts +37 -37
- package/lib/services/custom-form-validators.service.d.ts +5 -5
- package/lib/services/db-date.service.d.ts +24 -24
- package/lib/services/eqp-dynamic-module-dialog.service.d.ts +44 -44
- package/lib/services/global.service.d.ts +16 -16
- package/lib/services/spinner.service.d.ts +18 -18
- package/lib/services/utilityHelper.services.d.ts +101 -101
- package/package.json +19 -24
- package/public-api.d.ts +53 -53
- package/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +0 -516
- package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +0 -1196
- package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +0 -1202
- package/esm2020/lib/components/private/add-formula-field/add-formula-field.component.mjs +0 -196
- package/esm2020/lib/components/private/dbgetter/dbgetter.component.mjs +0 -226
- package/esm2020/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +0 -263
- package/esm2020/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +0 -138
- package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +0 -71
- package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +0 -104
- package/esm2020/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +0 -100
- package/esm2020/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +0 -256
- package/esm2020/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.mjs +0 -252
- package/esm2020/lib/components/private/field-templates/label-field-template/label-field-template.component.mjs +0 -74
- package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +0 -172
- package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +0 -124
- package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +0 -95
- package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +0 -71
- package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +0 -828
- package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +0 -400
- package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +0 -628
- package/esm2020/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +0 -75
- package/esm2020/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +0 -54
- package/esm2020/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +0 -125
- package/esm2020/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +0 -76
- package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +0 -453
- package/esm2020/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +0 -57
- package/esm2020/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +0 -104
- package/esm2020/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +0 -105
- package/esm2020/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +0 -57
- package/esm2020/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.mjs +0 -128
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +0 -57
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +0 -135
- package/esm2020/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +0 -120
- package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +0 -102
- package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +0 -102
- package/esm2020/lib/components/private/graphs/graph/graph.component.mjs +0 -180
- package/esm2020/lib/components/private/graphs/graphs.component.mjs +0 -164
- package/esm2020/lib/components/private/spinner/spinner.component.mjs +0 -19
- package/esm2020/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.mjs +0 -403
- package/esm2020/lib/components/private/tmw-image-marker/tmw-image-marker.component.mjs +0 -336
- package/esm2020/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.mjs +0 -69
- package/esm2020/lib/components/private/trigger-creator/trigger-creator.component.mjs +0 -191
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.mjs +0 -86
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.mjs +0 -86
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +0 -60
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.mjs +0 -66
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.mjs +0 -102
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +0 -84
- package/esm2020/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +0 -84
- package/esm2020/lib/directives/dynamic-loader/dynamic-loader.directive.mjs +0 -59
- package/esm2020/lib/directives/speech-to-text/speech-to-text.directive.mjs +0 -186
- package/esm2020/lib/eqp-dynamic-module.module.mjs +0 -253
- package/esm2020/lib/models/baseField.model.mjs +0 -101
- package/esm2020/lib/models/baseObj.model.mjs +0 -9
- package/esm2020/lib/models/dynAttachment.mjs +0 -21
- package/esm2020/lib/models/dynamicModuleCompileConfig.model.mjs +0 -13
- package/esm2020/lib/models/dynamicModuleConfig.model.mjs +0 -9
- package/esm2020/lib/models/dynamicModuleConfiguratorConfig.model.mjs +0 -9
- package/esm2020/lib/models/dynamicModuleConfiguratorSpecificConfig.model.mjs +0 -15
- package/esm2020/lib/models/dynamicModuleGeneralConfig.model.mjs +0 -36
- package/esm2020/lib/models/dynamicModuleListConfig.model.mjs +0 -30
- package/esm2020/lib/models/dynamicModuleListFormRecordActionsDefault.mjs +0 -11
- package/esm2020/lib/models/endPointConfiguration.model.mjs +0 -205
- package/esm2020/lib/models/fields/attachmentField.model.mjs +0 -22
- package/esm2020/lib/models/fields/booleanField.model.mjs +0 -12
- package/esm2020/lib/models/fields/dateField.model.mjs +0 -15
- package/esm2020/lib/models/fields/imageField.model.mjs +0 -15
- package/esm2020/lib/models/fields/imageSelectorField.model.mjs +0 -8
- package/esm2020/lib/models/fields/imageWithMarkersField.model.mjs +0 -8
- package/esm2020/lib/models/fields/listValueField.model.mjs +0 -11
- package/esm2020/lib/models/fields/lookupField.model.mjs +0 -5
- package/esm2020/lib/models/fields/numericField.model.mjs +0 -5
- package/esm2020/lib/models/fields/textField.model.mjs +0 -14
- package/esm2020/lib/models/fields/textareaField.model.mjs +0 -4
- package/esm2020/lib/models/form.model.mjs +0 -24
- package/esm2020/lib/models/getter.model.mjs +0 -3
- package/esm2020/lib/models/graph.model.mjs +0 -15
- package/esm2020/lib/models/record.model.mjs +0 -10
- package/esm2020/lib/models/statistic.model.mjs +0 -8
- package/esm2020/lib/models/trigger.model.mjs +0 -41
- package/esm2020/lib/modules/formula.model.mjs +0 -265
- package/esm2020/lib/services/db-date.service.mjs +0 -178
- package/esm2020/lib/services/eqp-dynamic-module-dialog.service.mjs +0 -114
- package/esm2020/lib/services/global.service.mjs +0 -41
- package/esm2020/lib/services/spinner.service.mjs +0 -43
- package/esm2020/lib/services/utilityHelper.services.mjs +0 -598
- package/fesm2015/eqproject-eqp-dynamic-module.mjs +0 -12782
- package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +0 -1
- package/fesm2020/eqproject-eqp-dynamic-module.mjs +0 -12751
- package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +0 -1
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class dbDateService {
|
|
4
|
+
//#region datetime
|
|
5
|
+
/**
|
|
6
|
+
* Parse date to visualize as a string
|
|
7
|
+
*/
|
|
8
|
+
parseDate(date) {
|
|
9
|
+
let newYear = date.getFullYear();
|
|
10
|
+
let newMonth = date.getMonth() + 1;
|
|
11
|
+
let newMonthString;
|
|
12
|
+
if (newMonth < 10) {
|
|
13
|
+
newMonthString = "0" + newMonth.toString();
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
newMonthString = newMonth.toString();
|
|
17
|
+
}
|
|
18
|
+
let newDay = date.getDate();
|
|
19
|
+
let newDayString;
|
|
20
|
+
if (newDay < 10) {
|
|
21
|
+
newDayString = "0" + newDay.toString();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
newDayString = newDay.toString();
|
|
25
|
+
}
|
|
26
|
+
let newHour = date.getHours();
|
|
27
|
+
let newHourString;
|
|
28
|
+
if (newHour < 10) {
|
|
29
|
+
newHourString = "0" + newHour.toString();
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
newHourString = newHour.toString();
|
|
33
|
+
}
|
|
34
|
+
let newMinute = date.getMinutes();
|
|
35
|
+
let newMinuteString;
|
|
36
|
+
if (newMinute < 10) {
|
|
37
|
+
newMinuteString = "0" + newMinute.toString();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
newMinuteString = newMinute.toString();
|
|
41
|
+
}
|
|
42
|
+
let dateString = newDayString + "/" + newMonthString + "/" + newYear.toString() + " " + newHourString + ":" + newMinuteString;
|
|
43
|
+
return dateString;
|
|
44
|
+
}
|
|
45
|
+
parseTime(date) {
|
|
46
|
+
let newHour = date.getHours();
|
|
47
|
+
let newHourString;
|
|
48
|
+
if (newHour < 10) {
|
|
49
|
+
newHourString = "0" + newHour.toString();
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
newHourString = newHour.toString();
|
|
53
|
+
}
|
|
54
|
+
let newMinute = date.getMinutes();
|
|
55
|
+
let newMinuteString;
|
|
56
|
+
if (newMinute < 10) {
|
|
57
|
+
newMinuteString = "0" + newMinute.toString();
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
newMinuteString = newMinute.toString();
|
|
61
|
+
}
|
|
62
|
+
let timeString = newHourString + ":" + newMinuteString;
|
|
63
|
+
return timeString;
|
|
64
|
+
}
|
|
65
|
+
addZeroesOnData(numero) {
|
|
66
|
+
let numerostring = "";
|
|
67
|
+
if (numero < 10) {
|
|
68
|
+
numerostring = "0" + numero.toString();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
numerostring = numero.toString();
|
|
72
|
+
}
|
|
73
|
+
return numerostring;
|
|
74
|
+
}
|
|
75
|
+
parseDatefromDB(dirtyDateMeasurement) {
|
|
76
|
+
if (this.isDateFromServer(dirtyDateMeasurement)) {
|
|
77
|
+
let dirtyDate = dirtyDateMeasurement.toString().split("T");
|
|
78
|
+
let dirtyHour = dirtyDate[1].split(".");
|
|
79
|
+
let yearMonthDay = dirtyDate[0].split("-");
|
|
80
|
+
let hourMinuteSecond = dirtyHour[0].split(":");
|
|
81
|
+
let date = new Date(parseInt(yearMonthDay[0]), parseInt(yearMonthDay[1]) - 1, parseInt(yearMonthDay[2]), parseInt(hourMinuteSecond[0]), parseInt(hourMinuteSecond[1]));
|
|
82
|
+
let gmtString = date.toString().split(" ")[5].split("T")[1];
|
|
83
|
+
let hour = "";
|
|
84
|
+
let minute = "";
|
|
85
|
+
for (let j = 0; j < gmtString.length; j++) {
|
|
86
|
+
if (j == 0) {
|
|
87
|
+
hour += gmtString[j];
|
|
88
|
+
minute += gmtString[j];
|
|
89
|
+
}
|
|
90
|
+
if (j > 0 && j < 3) {
|
|
91
|
+
hour += gmtString[j];
|
|
92
|
+
}
|
|
93
|
+
if (j > 2) {
|
|
94
|
+
minute += gmtString[j];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
let hourInt = parseInt(hour);
|
|
98
|
+
let minuteInt = parseInt(minute);
|
|
99
|
+
let newDate = new Date(parseInt(yearMonthDay[0]), parseInt(yearMonthDay[1]) - 1, parseInt(yearMonthDay[2]), parseInt(hourMinuteSecond[0]) + hourInt, parseInt(hourMinuteSecond[1]) + minuteInt);
|
|
100
|
+
return newDate;
|
|
101
|
+
}
|
|
102
|
+
else if (this.isDateInstance(dirtyDateMeasurement)) {
|
|
103
|
+
return dirtyDateMeasurement;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
throw new Error("Not Conversion Date in parseDatefromDB");
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
isDateFromServer(date) {
|
|
110
|
+
const isoDateFormat = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,7})?(Z)?$/;
|
|
111
|
+
return typeof date === 'string' && isoDateFormat.test(date);
|
|
112
|
+
}
|
|
113
|
+
isDateInstance(date) {
|
|
114
|
+
return date instanceof Date;
|
|
115
|
+
}
|
|
116
|
+
parseDatefromDBMilliseconds(dirtyDateMeasurement) {
|
|
117
|
+
let dirtyDate = dirtyDateMeasurement.toString().split("T");
|
|
118
|
+
let dirtyHour = dirtyDate[1].split(".");
|
|
119
|
+
let yearMonthDay = dirtyDate[0].split("-");
|
|
120
|
+
let hourMinuteSecond = dirtyHour[0].split(":");
|
|
121
|
+
let date = new Date(parseInt(yearMonthDay[0]), parseInt(yearMonthDay[1]) - 1, parseInt(yearMonthDay[2]), parseInt(hourMinuteSecond[0]), parseInt(hourMinuteSecond[1]));
|
|
122
|
+
let gmtString = date.toString().split(" ")[5].split("T")[1];
|
|
123
|
+
let hour = "";
|
|
124
|
+
let minute = "";
|
|
125
|
+
for (let j = 0; j < gmtString.length; j++) {
|
|
126
|
+
if (j == 0) {
|
|
127
|
+
hour += gmtString[j];
|
|
128
|
+
minute += gmtString[j];
|
|
129
|
+
}
|
|
130
|
+
if (j > 0 && j < 3) {
|
|
131
|
+
hour += gmtString[j];
|
|
132
|
+
}
|
|
133
|
+
if (j > 2) {
|
|
134
|
+
minute += gmtString[j];
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
let hourInt = parseInt(hour);
|
|
138
|
+
let minuteInt = parseInt(minute);
|
|
139
|
+
let newDate = new Date(parseInt(yearMonthDay[0]), parseInt(yearMonthDay[1]) - 1, parseInt(yearMonthDay[2]), parseInt(hourMinuteSecond[0]) + hourInt, parseInt(hourMinuteSecond[1]) + minuteInt, parseInt(hourMinuteSecond[2]), parseInt(dirtyHour[1]));
|
|
140
|
+
return newDate;
|
|
141
|
+
}
|
|
142
|
+
prepareHourforDB(dirtyHour) {
|
|
143
|
+
let hourMinutes = dirtyHour.toString().split(":");
|
|
144
|
+
let date = new Date();
|
|
145
|
+
date.setHours(parseInt(hourMinutes[0]));
|
|
146
|
+
date.setMinutes(parseInt(hourMinutes[1]));
|
|
147
|
+
date.setSeconds(0);
|
|
148
|
+
date.setMilliseconds(0);
|
|
149
|
+
return date;
|
|
150
|
+
}
|
|
151
|
+
parseForHour(allMinutes) {
|
|
152
|
+
let dirtyHours = allMinutes / 60;
|
|
153
|
+
let hours = Math.floor(dirtyHours);
|
|
154
|
+
let dirtyMinutes = dirtyHours - hours;
|
|
155
|
+
let minutes = this.roundDecimals(dirtyMinutes * 0.6, 2);
|
|
156
|
+
let finalHours = hours + minutes;
|
|
157
|
+
return finalHours;
|
|
158
|
+
}
|
|
159
|
+
//#endregion datetime
|
|
160
|
+
/**
|
|
161
|
+
* Rounds a number to the our preferred number of decimal places.
|
|
162
|
+
* @param number the number we want to round
|
|
163
|
+
* @param decimals how many decimal places we want the rounded number to have
|
|
164
|
+
* @returns the rounded number
|
|
165
|
+
*/
|
|
166
|
+
roundDecimals(number, decimals) {
|
|
167
|
+
return Number(number.toFixed(decimals));
|
|
168
|
+
}
|
|
169
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: dbDateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
170
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: dbDateService, providedIn: "root" });
|
|
171
|
+
}
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: dbDateService, decorators: [{
|
|
173
|
+
type: Injectable,
|
|
174
|
+
args: [{
|
|
175
|
+
providedIn: "root",
|
|
176
|
+
}]
|
|
177
|
+
}] });
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGItZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvZGItZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBRXRCLGtCQUFrQjtJQUNsQjs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFVO1FBQ2hCLElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksY0FBc0IsQ0FBQztRQUMzQixJQUFJLFFBQVEsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNoQixjQUFjLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNKLGNBQWMsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksTUFBTSxHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFlBQW9CLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDZCxZQUFZLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNKLFlBQVksR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxJQUFJLGFBQXFCLENBQUM7UUFDMUIsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDZixhQUFh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QUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxJQUFJLFlBQVksR0FBRyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLFVBQVUsR0FBRyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLE9BQU8sVUFBVSxDQUFBO0lBQ3JCLENBQUM7SUFDRCxxQkFBcUI7SUFHckI7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUMsTUFBYyxFQUFFLFFBQWdCO1FBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO3dHQTVLUSxhQUFhOzRHQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG4gIH0pXHJcbmV4cG9ydCBjbGFzcyBkYkRhdGVTZXJ2aWNlIHtcclxuXHJcbiAgICAvLyNyZWdpb24gZGF0ZXRpbWVcclxuICAgIC8qKlxyXG4gICAgICogUGFyc2UgZGF0ZSB0byB2aXN1YWxpemUgYXMgYSBzdHJpbmdcclxuICAgICAqL1xyXG4gICAgcGFyc2VEYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBuZXdZZWFyOiBudW1iZXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgICAgbGV0IG5ld01vbnRoOiBudW1iZXIgPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICAgIGxldCBuZXdNb250aFN0cmluZzogc3RyaW5nO1xyXG4gICAgICAgIGlmIChuZXdNb250aCA8IDEwKSB7XHJcbiAgICAgICAgICAgIG5ld01vbnRoU3RyaW5nID0gXCIwXCIgKyBuZXdNb250aC50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG5ld01vbnRoU3RyaW5nID0gbmV3TW9udGgudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG5ld0RheTogbnVtYmVyID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICAgICAgbGV0IG5ld0RheVN0cmluZzogc3RyaW5nO1xyXG4gICAgICAgIGlmIChuZXdEYXkgPCAxMCkge1xyXG4gICAgICAgICAgICBuZXdEYXlTdHJpbmcgPSBcIjBcIiArIG5ld0RheS50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG5ld0RheVN0cmluZyA9IG5ld0RheS50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbmV3SG91cjogbnVtYmVyID0gZGF0ZS5nZXRIb3VycygpO1xyXG4gICAgICAgIGxldCBuZXdIb3VyU3RyaW5nOiBzdHJpbmc7XHJcbiAgICAgICAgaWYgKG5ld0hvdXIgPCAxMCkge1xyXG4gICAgICAgICAgICBuZXdIb3VyU3RyaW5nID0gXCIwXCIgKyBuZXdIb3VyLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbmV3SG91clN0cmluZyA9IG5ld0hvdXIudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG5ld01pbnV0ZTogbnVtYmVyID0gZGF0ZS5nZXRNaW51dGVzKCk7XHJcbiAgICAgICAgbGV0IG5ld01pbnV0ZVN0cmluZzogc3RyaW5nO1xyXG4gICAgICAgIGlmIChuZXdNaW51dGUgPCAxMCkge1xyXG4gICAgICAgICAgICBuZXdNaW51dGVTdHJpbmcgPSBcIjBcIiArIG5ld01pbnV0ZS50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG5ld01pbnV0ZVN0cmluZyA9IG5ld01pbnV0ZS50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZGF0ZVN0cmluZyA9IG5ld0RheVN0cmluZyArIFwiL1wiICsgbmV3TW9udGhTdHJpbmcgKyBcIi9cIiArIG5ld1llYXIudG9TdHJpbmcoKSArIFwiIFwiICsgbmV3SG91clN0cmluZyArIFwiOlwiICsgbmV3TWludXRlU3RyaW5nO1xyXG4gICAgICAgIHJldHVybiBkYXRlU3RyaW5nXHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2VUaW1lKGRhdGU6IERhdGUpOiBzdHJpbmcgeyAvLyBwYXJzZSBkYXRlIHRvIGdldCBvbmx5IHRoZSB0aW1lXHJcbiAgICAgICAgbGV0IG5ld0hvdXI6IG51bWJlciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgICAgICBsZXQgbmV3SG91clN0cmluZzogc3RyaW5nO1xyXG4gICAgICAgIGlmIChuZXdIb3VyIDwgMTApIHtcclxuICAgICAgICAgICAgbmV3SG91clN0cmluZyA9IFwiMFwiICsgbmV3SG91ci50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG5ld0hvdXJTdHJpbmcgPSBuZXdIb3VyLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBuZXdNaW51dGU6IG51bWJlciA9IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgICAgIGxldCBuZXdNaW51dGVTdHJpbmc6IHN0cmluZztcclxuICAgICAgICBpZiAobmV3TWludXRlIDwgMTApIHtcclxuICAgICAgICAgICAgbmV3TWludXRlU3RyaW5nID0gXCIwXCIgKyBuZXdNaW51dGUudG9TdHJpbmcoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdNaW51dGVTdHJpbmcgPSBuZXdNaW51dGUudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRpbWVTdHJpbmcgPSBuZXdIb3VyU3RyaW5nICsgXCI6XCIgKyBuZXdNaW51dGVTdHJpbmc7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVTdHJpbmdcclxuICAgIH1cclxuXHJcbiAgICBhZGRaZXJvZXNPbkRhdGEobnVtZXJvOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBudW1lcm9zdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgIGlmIChudW1lcm8gPCAxMCkge1xyXG4gICAgICAgICAgICBudW1lcm9zdHJpbmcgPSBcIjBcIiArIG51bWVyby50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG51bWVyb3N0cmluZyA9IG51bWVyby50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVtZXJvc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIHBhcnNlRGF0ZWZyb21EQihkaXJ0eURhdGVNZWFzdXJlbWVudCk6IERhdGUge1xyXG4gICAgICAgIGlmICh0aGlzLmlzRGF0ZUZyb21TZXJ2ZXIoZGlydHlEYXRlTWVhc3VyZW1lbnQpKSB7XHJcbiAgICAgICAgICAgIGxldCBkaXJ0eURhdGU6IHN0cmluZ1tdID0gZGlydHlEYXRlTWVhc3VyZW1lbnQudG9TdHJpbmcoKS5zcGxpdChcIlRcIik7XHJcbiAgICAgICAgICAgIGxldCBkaXJ0eUhvdXI6IHN0cmluZ1tdID0gZGlydHlEYXRlWzFdLnNwbGl0KFwiLlwiKTtcclxuICAgICAgICAgICAgbGV0IHllYXJNb250aERheTogc3RyaW5nW10gPSBkaXJ0eURhdGVbMF0uc3BsaXQoXCItXCIpO1xyXG4gICAgICAgICAgICBsZXQgaG91ck1pbnV0ZVNlY29uZDogc3RyaW5nW10gPSBkaXJ0eUhvdXJbMF0uc3BsaXQoXCI6XCIpO1xyXG4gICAgICAgICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHBhcnNlSW50KHllYXJNb250aERheVswXSksIHBhcnNlSW50KHllYXJNb250aERheVsxXSkgLSAxLCBwYXJzZUludCh5ZWFyTW9udGhEYXlbMl0pLCBwYXJzZUludChob3VyTWludXRlU2Vjb25kWzBdKSwgcGFyc2VJbnQoaG91ck1pbnV0ZVNlY29uZFsxXSkpO1xyXG4gICAgICAgICAgICBsZXQgZ210U3RyaW5nID0gZGF0ZS50b1N0cmluZygpLnNwbGl0KFwiIFwiKVs1XS5zcGxpdChcIlRcIilbMV07XHJcbiAgICAgICAgICAgIGxldCBob3VyOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgICAgICBsZXQgbWludXRlOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGdtdFN0cmluZy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGogPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhvdXIgKz0gZ210U3RyaW5nW2pdO1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbnV0ZSArPSBnbXRTdHJpbmdbal07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoaiA+IDAgJiYgaiA8IDMpIHtcclxuICAgICAgICAgICAgICAgICAgICBob3VyICs9IGdtdFN0cmluZ1tqXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChqID4gMikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbnV0ZSArPSBnbXRTdHJpbmdbal07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGhvdXJJbnQgPSBwYXJzZUludChob3VyKTtcclxuICAgICAgICAgICAgbGV0IG1pbnV0ZUludCA9IHBhcnNlSW50KG1pbnV0ZSk7XHJcbiAgICAgICAgICAgIGxldCBuZXdEYXRlOiBEYXRlID0gbmV3IERhdGUocGFyc2VJbnQoeWVhck1vbnRoRGF5WzBdKSwgcGFyc2VJbnQoeWVhck1vbnRoRGF5WzFdKSAtIDEsIHBhcnNlSW50KHllYXJNb250aERheVsyXSksIHBhcnNlSW50KGhvdXJNaW51dGVTZWNvbmRbMF0pICsgaG91ckludCwgcGFyc2VJbnQoaG91ck1pbnV0ZVNlY29uZFsxXSkgKyBtaW51dGVJbnQpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3RGF0ZVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLmlzRGF0ZUluc3RhbmNlKGRpcnR5RGF0ZU1lYXN1cmVtZW50KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGlydHlEYXRlTWVhc3VyZW1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgQ29udmVyc2lvbiBEYXRlIGluIHBhcnNlRGF0ZWZyb21EQlwiKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgaXNEYXRlRnJvbVNlcnZlcihkYXRlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBpc29EYXRlRm9ybWF0ID0gL15cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfShcXC5cXGR7MSw3fSk/KFopPyQvO1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycgJiYgaXNvRGF0ZUZvcm1hdC50ZXN0KGRhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRGF0ZUluc3RhbmNlKGRhdGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcGFyc2VEYXRlZnJvbURCTWlsbGlzZWNvbmRzKGRpcnR5RGF0ZU1lYXN1cmVtZW50KTogRGF0ZSB7IC8vZ2V0IGEgZGF0ZSBHTVQgaW4gYW5ndWxhciBmb3JtYXQgZnJvbSBEQiAobWlsbGlzZWNvbmQgcHJlY2lzaW9uKVxyXG4gICAgICAgIGxldCBkaXJ0eURhdGU6IHN0cmluZ1tdID0gZGlydHlEYXRlTWVhc3VyZW1lbnQudG9TdHJpbmcoKS5zcGxpdChcIlRcIik7XHJcbiAgICAgICAgbGV0IGRpcnR5SG91cjogc3RyaW5nW10gPSBkaXJ0eURhdGVbMV0uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgIGxldCB5ZWFyTW9udGhEYXk6IHN0cmluZ1tdID0gZGlydHlEYXRlWzBdLnNwbGl0KFwiLVwiKTtcclxuICAgICAgICBsZXQgaG91ck1pbnV0ZVNlY29uZDogc3RyaW5nW10gPSBkaXJ0eUhvdXJbMF0uc3BsaXQoXCI6XCIpO1xyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUocGFyc2VJbnQoeWVhck1vbnRoRGF5WzBdKSwgcGFyc2VJbnQoeWVhck1vbnRoRGF5WzFdKSAtIDEsIHBhcnNlSW50KHllYXJNb250aERheVsyXSksIHBhcnNlSW50KGhvdXJNaW51dGVTZWNvbmRbMF0pLCBwYXJzZUludChob3VyTWludXRlU2Vjb25kWzFdKSk7XHJcbiAgICAgICAgbGV0IGdtdFN0cmluZyA9IGRhdGUudG9TdHJpbmcoKS5zcGxpdChcIiBcIilbNV0uc3BsaXQoXCJUXCIpWzFdO1xyXG4gICAgICAgIGxldCBob3VyOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgIGxldCBtaW51dGU6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBnbXRTdHJpbmcubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgaWYgKGogPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgaG91ciArPSBnbXRTdHJpbmdbal07XHJcbiAgICAgICAgICAgICAgICBtaW51dGUgKz0gZ210U3RyaW5nW2pdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChqID4gMCAmJiBqIDwgMykge1xyXG4gICAgICAgICAgICAgICAgaG91ciArPSBnbXRTdHJpbmdbal07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGogPiAyKSB7XHJcbiAgICAgICAgICAgICAgICBtaW51dGUgKz0gZ210U3RyaW5nW2pdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBob3VySW50ID0gcGFyc2VJbnQoaG91cik7XHJcbiAgICAgICAgbGV0IG1pbnV0ZUludCA9IHBhcnNlSW50KG1pbnV0ZSk7XHJcbiAgICAgICAgbGV0IG5ld0RhdGU6IERhdGUgPSBuZXcgRGF0ZShwYXJzZUludCh5ZWFyTW9udGhEYXlbMF0pLCBwYXJzZUludCh5ZWFyTW9udGhEYXlbMV0pIC0gMSwgcGFyc2VJbnQoeWVhck1vbnRoRGF5WzJdKSwgcGFyc2VJbnQoaG91ck1pbnV0ZVNlY29uZFswXSkgKyBob3VySW50LCBwYXJzZUludChob3VyTWludXRlU2Vjb25kWzFdKSArIG1pbnV0ZUludCwgcGFyc2VJbnQoaG91ck1pbnV0ZVNlY29uZFsyXSksIHBhcnNlSW50KGRpcnR5SG91clsxXSkpO1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3RGF0ZVxyXG4gICAgfVxyXG5cclxuICAgIHByZXBhcmVIb3VyZm9yREIoZGlydHlIb3VyOiBEYXRlKTogRGF0ZSB7XHJcbiAgICAgICAgbGV0IGhvdXJNaW51dGVzID0gZGlydHlIb3VyLnRvU3RyaW5nKCkuc3BsaXQoXCI6XCIpXHJcbiAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGRhdGUuc2V0SG91cnMocGFyc2VJbnQoaG91ck1pbnV0ZXNbMF0pKVxyXG4gICAgICAgIGRhdGUuc2V0TWludXRlcyhwYXJzZUludChob3VyTWludXRlc1sxXSkpXHJcbiAgICAgICAgZGF0ZS5zZXRTZWNvbmRzKDApXHJcbiAgICAgICAgZGF0ZS5zZXRNaWxsaXNlY29uZHMoMClcclxuICAgICAgICByZXR1cm4gZGF0ZVxyXG4gICAgfVxyXG5cclxuICAgIHBhcnNlRm9ySG91cihhbGxNaW51dGVzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBkaXJ0eUhvdXJzID0gYWxsTWludXRlcyAvIDYwO1xyXG4gICAgICAgIGxldCBob3VycyA9IE1hdGguZmxvb3IoZGlydHlIb3Vycyk7XHJcbiAgICAgICAgbGV0IGRpcnR5TWludXRlcyA9IGRpcnR5SG91cnMgLSBob3VycztcclxuICAgICAgICBsZXQgbWludXRlcyA9IHRoaXMucm91bmREZWNpbWFscyhkaXJ0eU1pbnV0ZXMgKiAwLjYsIDIpO1xyXG4gICAgICAgIGxldCBmaW5hbEhvdXJzID0gaG91cnMgKyBtaW51dGVzO1xyXG4gICAgICAgIHJldHVybiBmaW5hbEhvdXJzXHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb24gZGF0ZXRpbWVcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSb3VuZHMgYSBudW1iZXIgdG8gdGhlIG91ciBwcmVmZXJyZWQgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzLlxyXG4gICAgICogQHBhcmFtIG51bWJlciB0aGUgbnVtYmVyIHdlIHdhbnQgdG8gcm91bmRcclxuICAgICAqIEBwYXJhbSBkZWNpbWFscyBob3cgbWFueSBkZWNpbWFsIHBsYWNlcyB3ZSB3YW50IHRoZSByb3VuZGVkIG51bWJlciB0byBoYXZlXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgcm91bmRlZCBudW1iZXJcclxuICAgICAqL1xyXG4gICAgcm91bmREZWNpbWFscyhudW1iZXI6IG51bWJlciwgZGVjaW1hbHM6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE51bWJlcihudW1iZXIudG9GaXhlZChkZWNpbWFscykpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import Swal from 'sweetalert2';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class EqpDynamicModuleDialogService {
|
|
5
|
+
constructor() { }
|
|
6
|
+
/**
|
|
7
|
+
* Mostra uno sweet alert di tipo SUCCESS con il messaggio passato come parametro.
|
|
8
|
+
* @param message Messaggio da mostrare nello sweetalert
|
|
9
|
+
* @param title Titolo dello sweetalert (di default mostra 'Operazione completata')
|
|
10
|
+
*/
|
|
11
|
+
static Success(message, title = null) {
|
|
12
|
+
let currentTitle = title != null ? title : 'Operazione completata con successo.';
|
|
13
|
+
Swal.fire(currentTitle, message, 'success');
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Mostra uno sweet alert di tipo ERROR con il messaggio passato come parametro.
|
|
17
|
+
* @param message Messaggio d'errore da mostrare nello sweetalert
|
|
18
|
+
* @param title Titolo dello sweetalert (di default mostra 'Errore')
|
|
19
|
+
*/
|
|
20
|
+
static Error(message, title = null) {
|
|
21
|
+
let currentTitle = title != null ? title : 'Errore';
|
|
22
|
+
if (Array.isArray(message)) {
|
|
23
|
+
currentTitle = title != null ? title : 'Errore';
|
|
24
|
+
let htmlErrors = message.join("<br>");
|
|
25
|
+
Swal.fire({
|
|
26
|
+
title: currentTitle,
|
|
27
|
+
html: htmlErrors,
|
|
28
|
+
icon: 'error'
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
Swal.fire(currentTitle, message, 'error');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Mostra uno sweetalert di tipo CONFIRM con il messaggio passato come parametro.
|
|
37
|
+
* Alla pressione del tasto CONFERMA viene invocata la funzione confirmCallback.
|
|
38
|
+
* Se viene passata anche la funzione cancellCallback viene invocata quando viene premuto il tasto ANNULLA
|
|
39
|
+
* @param message Messaggio da mostrare nello sweetalert (può contenere una lista di messaggi)
|
|
40
|
+
* @param confirmCallback Funzione di callback da invocare quando viene premuto il tasto CONFERMA
|
|
41
|
+
* @param isWarning Se TRUE allora utilizza l'icona di WARNING all'interno dello sweetalert
|
|
42
|
+
* @param title Titolo dello sweetalert (di default mostra 'Sei sicuro di voler procedere?')
|
|
43
|
+
* @param customWidth Larghezza da impostare per lo sweetalert (default: 32rem)
|
|
44
|
+
* @param cancelCallback Funzione di callback da invocare alla pressione del tasto ANNULLA (opzionale)
|
|
45
|
+
* @param confirmButtonText Testo da mostrare nel pulsante di conferma (default: Conferma)
|
|
46
|
+
* @param cancelButtonText Testo da mostrare nel pulsante di annulla (default: Chiudi)
|
|
47
|
+
*/
|
|
48
|
+
static Confirm(message, confirmCallback, isWarning = false, title = null, customWidth = null, cancelCallback = null, confirmButtonText = null, cancelButtonText = null, haveDenyButton = false, denyButtonText = null, denyCallback = null, allowOutsideClick = false) {
|
|
49
|
+
let currentTitle = title != null ? title : 'Sei sicuro di voler procedere?';
|
|
50
|
+
if (Array.isArray(message)) {
|
|
51
|
+
message = message.join("<br>");
|
|
52
|
+
}
|
|
53
|
+
Swal.fire({
|
|
54
|
+
title: currentTitle,
|
|
55
|
+
html: message,
|
|
56
|
+
width: customWidth ? customWidth : '32rem',
|
|
57
|
+
icon: !isWarning ? 'question' : 'warning',
|
|
58
|
+
confirmButtonText: confirmButtonText ? confirmButtonText : 'Conferma',
|
|
59
|
+
showCancelButton: true,
|
|
60
|
+
denyButtonText: denyButtonText ? denyButtonText : 'No',
|
|
61
|
+
showDenyButton: haveDenyButton,
|
|
62
|
+
cancelButtonText: cancelButtonText ? cancelButtonText : 'Chiudi',
|
|
63
|
+
allowOutsideClick: allowOutsideClick,
|
|
64
|
+
allowEscapeKey: false
|
|
65
|
+
}).then((result) => {
|
|
66
|
+
if (result.value && confirmCallback) {
|
|
67
|
+
confirmCallback();
|
|
68
|
+
}
|
|
69
|
+
else if (result.isDenied) {
|
|
70
|
+
denyCallback();
|
|
71
|
+
}
|
|
72
|
+
else if (cancelCallback) {
|
|
73
|
+
cancelCallback();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Mostra uno sweetalert di tipo INFO con il messaggio passato come parametro
|
|
79
|
+
* @param message Messaggio da mostrare nello sweetalert
|
|
80
|
+
* @param title Titolo dello sweetalert (di default mostra 'Info')
|
|
81
|
+
*/
|
|
82
|
+
static Info(message, title = null, isToast = null) {
|
|
83
|
+
let currentTitle = title != null ? title : "Informazione:";
|
|
84
|
+
Swal.fire(currentTitle, message, 'info');
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Mostra uno sweetalert di tipo WARNING con il messaggio passato come parametro
|
|
88
|
+
* @param message Messaggio da mostrare nello sweetalert
|
|
89
|
+
* @param title Titolo dello sweetalert (di default mostra 'Attenzione!')
|
|
90
|
+
*/
|
|
91
|
+
static Warning(message, title = null, isToast = null) {
|
|
92
|
+
let currentTitle = title != null ? title : "Attenzione!";
|
|
93
|
+
if (Array.isArray(message)) {
|
|
94
|
+
let htmlWarnings = message.join("<br>");
|
|
95
|
+
Swal.fire({
|
|
96
|
+
title: currentTitle,
|
|
97
|
+
html: htmlWarnings,
|
|
98
|
+
icon: 'warning'
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
Swal.fire(currentTitle, message, 'warning');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EqpDynamicModuleDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
106
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EqpDynamicModuleDialogService, providedIn: 'root' });
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EqpDynamicModuleDialogService, decorators: [{
|
|
109
|
+
type: Injectable,
|
|
110
|
+
args: [{
|
|
111
|
+
providedIn: 'root'
|
|
112
|
+
}]
|
|
113
|
+
}], ctorParameters: () => [] });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sNkJBQTZCO0lBRXRDLGdCQUFnQixDQUFDO0lBRWpCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxRQUFnQixJQUFJO1FBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUM7UUFDakYsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUEwQixFQUFFLFFBQWdCLElBQUk7UUFDekQsSUFBSSxZQUFZLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekIsWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ2hELElBQUksVUFBVSxHQUFXLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDTixLQUFLLEVB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QixJQUFJLFlBQVksR0FBVyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ04sS0FBSyxFQUFFLFlBQVk7Z0JBQ25CLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0wsQ0FBQzt3R0E3R1EsNkJBQTZCOzRHQUE3Qiw2QkFBNkIsY0FGMUIsTUFBTTs7NEZBRVQsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIE1vc3RyYSB1bm8gc3dlZXQgYWxlcnQgZGkgdGlwbyBTVUNDRVNTIGNvbiBpbCBtZXNzYWdnaW8gcGFzc2F0byBjb21lIHBhcmFtZXRyby5cclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2dpbyBkYSBtb3N0cmFyZSBuZWxsbyBzd2VldGFsZXJ0XHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgVGl0b2xvIGRlbGxvIHN3ZWV0YWxlcnQgKGRpIGRlZmF1bHQgbW9zdHJhICdPcGVyYXppb25lIGNvbXBsZXRhdGEnKVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgU3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRUaXRsZSA9IHRpdGxlICE9IG51bGwgPyB0aXRsZSA6ICdPcGVyYXppb25lIGNvbXBsZXRhdGEgY29uIHN1Y2Nlc3NvLic7XHJcbiAgICAgICAgU3dhbC5maXJlKGN1cnJlbnRUaXRsZSwgbWVzc2FnZSwgJ3N1Y2Nlc3MnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vc3RyYSB1bm8gc3dlZXQgYWxlcnQgZGkgdGlwbyBFUlJPUiBjb24gaWwgbWVzc2FnZ2lvIHBhc3NhdG8gY29tZSBwYXJhbWV0cm8uXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZCdlcnJvcmUgZGEgbW9zdHJhcmUgbmVsbG8gc3dlZXRhbGVydFxyXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdG9sbyBkZWxsbyBzd2VldGFsZXJ0IChkaSBkZWZhdWx0IG1vc3RyYSAnRXJyb3JlJylcclxuICAgICAqL1xyXG4gICAgc3RhdGljIEVycm9yKG1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdLCB0aXRsZTogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiAnRXJyb3JlJztcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSkge1xyXG4gICAgICAgICAgICBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiAnRXJyb3JlJztcclxuICAgICAgICAgICAgbGV0IGh0bWxFcnJvcnM6IHN0cmluZyA9IG1lc3NhZ2Uuam9pbihcIjxicj5cIik7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogY3VycmVudFRpdGxlLFxyXG4gICAgICAgICAgICAgICAgaHRtbDogaHRtbEVycm9ycyxcclxuICAgICAgICAgICAgICAgIGljb246ICdlcnJvcidcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBTd2FsLmZpcmUoY3VycmVudFRpdGxlLCBtZXNzYWdlLCAnZXJyb3InKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBNb3N0cmEgdW5vIHN3ZWV0YWxlcnQgZGkgdGlwbyBDT05GSVJNIGNvbiBpbCBtZXNzYWdnaW8gcGFzc2F0byBjb21lIHBhcmFtZXRyby5cclxuICAgKiBBbGxhIHByZXNzaW9uZSBkZWwgdGFzdG8gQ09ORkVSTUEgdmllbmUgaW52b2NhdGEgbGEgZnVuemlvbmUgY29uZmlybUNhbGxiYWNrLlxyXG4gICAqIFNlIHZpZW5lIHBhc3NhdGEgYW5jaGUgbGEgZnVuemlvbmUgY2FuY2VsbENhbGxiYWNrIHZpZW5lIGludm9jYXRhIHF1YW5kbyB2aWVuZSBwcmVtdXRvIGlsIHRhc3RvIEFOTlVMTEFcclxuICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsbG8gc3dlZXRhbGVydCAocHXDsiBjb250ZW5lcmUgdW5hIGxpc3RhIGRpIG1lc3NhZ2dpKVxyXG4gICAqIEBwYXJhbSBjb25maXJtQ2FsbGJhY2sgRnVuemlvbmUgZGkgY2FsbGJhY2sgZGEgaW52b2NhcmUgcXVhbmRvIHZpZW5lIHByZW11dG8gaWwgdGFzdG8gQ09ORkVSTUFcclxuICAgKiBAcGFyYW0gaXNXYXJuaW5nIFNlIFRSVUUgYWxsb3JhIHV0aWxpenphIGwnaWNvbmEgZGkgV0FSTklORyBhbGwnaW50ZXJubyBkZWxsbyBzd2VldGFsZXJ0XHJcbiAgICogQHBhcmFtIHRpdGxlIFRpdG9sbyBkZWxsbyBzd2VldGFsZXJ0IChkaSBkZWZhdWx0IG1vc3RyYSAnU2VpIHNpY3VybyBkaSB2b2xlciBwcm9jZWRlcmU/JylcclxuICAgKiBAcGFyYW0gY3VzdG9tV2lkdGggTGFyZ2hlenphIGRhIGltcG9zdGFyZSBwZXIgbG8gc3dlZXRhbGVydCAoZGVmYXVsdDogMzJyZW0pXHJcbiAgICogQHBhcmFtIGNhbmNlbENhbGxiYWNrIEZ1bnppb25lIGRpIGNhbGxiYWNrIGRhIGludm9jYXJlIGFsbGEgcHJlc3Npb25lIGRlbCB0YXN0byBBTk5VTExBIChvcHppb25hbGUpXHJcbiAgICogQHBhcmFtIGNvbmZpcm1CdXR0b25UZXh0IFRlc3RvIGRhIG1vc3RyYXJlIG5lbCBwdWxzYW50ZSBkaSBjb25mZXJtYSAoZGVmYXVsdDogQ29uZmVybWEpXHJcbiAgICogQHBhcmFtIGNhbmNlbEJ1dHRvblRleHQgVGVzdG8gZGEgbW9zdHJhcmUgbmVsIHB1bHNhbnRlIGRpIGFubnVsbGEgKGRlZmF1bHQ6IENoaXVkaSlcclxuICAgKi9cclxuICBcclxuICAgIHN0YXRpYyBDb25maXJtKG1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdLCBjb25maXJtQ2FsbGJhY2s6IGFueSwgaXNXYXJuaW5nOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICAgICAgdGl0bGU6IHN0cmluZyA9IG51bGwsIGN1c3RvbVdpZHRoOiBzdHJpbmcgPSBudWxsLCBjYW5jZWxDYWxsYmFjazogYW55ID0gbnVsbCwgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZyA9IG51bGwsIGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZyA9IG51bGwsIGhhdmVEZW55QnV0dG9uOiBib29sZWFuID0gZmFsc2UsIGRlbnlCdXR0b25UZXh0OiBzdHJpbmcgPSBudWxsLCBkZW55Q2FsbGJhY2s6IGFueSA9IG51bGwsIGFsbG93T3V0c2lkZUNsaWNrID0gZmFsc2UpIHtcclxuXHJcbiAgICAgICAgbGV0IGN1cnJlbnRUaXRsZSA9IHRpdGxlICE9IG51bGwgPyB0aXRsZSA6ICdTZWkgc2ljdXJvIGRpIHZvbGVyIHByb2NlZGVyZT8nO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2UpKSB7XHJcbiAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2Uuam9pbihcIjxicj5cIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIHRpdGxlOiBjdXJyZW50VGl0bGUsXHJcbiAgICAgICAgaHRtbDogbWVzc2FnZSxcclxuICAgICAgICB3aWR0aDogY3VzdG9tV2lkdGggPyBjdXN0b21XaWR0aCA6ICczMnJlbScsXHJcbiAgICAgICAgaWNvbjogIWlzV2FybmluZyA/ICdxdWVzdGlvbicgOiAnd2FybmluZycsXHJcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0ID8gY29uZmlybUJ1dHRvblRleHQgOiAnQ29uZmVybWEnLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgZGVueUJ1dHRvblRleHQ6IGRlbnlCdXR0b25UZXh0ID8gZGVueUJ1dHRvblRleHQgOiAnTm8nLFxyXG4gICAgICAgIHNob3dEZW55QnV0dG9uOiBoYXZlRGVueUJ1dHRvbixcclxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBjYW5jZWxCdXR0b25UZXh0ID8gY2FuY2VsQnV0dG9uVGV4dCA6ICdDaGl1ZGknLFxyXG4gICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiBhbGxvd091dHNpZGVDbGljayxcclxuICAgICAgICBhbGxvd0VzY2FwZUtleTogZmFsc2VcclxuICAgICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlICYmIGNvbmZpcm1DYWxsYmFjaykge1xyXG4gICAgICAgICAgICBjb25maXJtQ2FsbGJhY2soKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5pc0RlbmllZCkge1xyXG4gICAgICAgICAgICBkZW55Q2FsbGJhY2soKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGNhbmNlbENhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIGNhbmNlbENhbGxiYWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9zdHJhIHVubyBzd2VldGFsZXJ0IGRpIHRpcG8gSU5GTyBjb24gaWwgbWVzc2FnZ2lvIHBhc3NhdG8gY29tZSBwYXJhbWV0cm9cclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2dpbyBkYSBtb3N0cmFyZSBuZWxsbyBzd2VldGFsZXJ0XHJcbiAgICAgKiBAcGFyYW0gdGl0bGUgVGl0b2xvIGRlbGxvIHN3ZWV0YWxlcnQgKGRpIGRlZmF1bHQgbW9zdHJhICdJbmZvJylcclxuICAgICAqL1xyXG4gICAgc3RhdGljIEluZm8obWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nID0gbnVsbCwgaXNUb2FzdDogYm9vbGVhbiA9IG51bGwpIHtcclxuICAgICAgICBsZXQgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogXCJJbmZvcm1hemlvbmU6XCI7XHJcbiAgICAgICAgU3dhbC5maXJlKGN1cnJlbnRUaXRsZSwgbWVzc2FnZSwgJ2luZm8nKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vc3RyYSB1bm8gc3dlZXRhbGVydCBkaSB0aXBvIFdBUk5JTkcgY29uIGlsIG1lc3NhZ2dpbyBwYXNzYXRvIGNvbWUgcGFyYW1ldHJvXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsbG8gc3dlZXRhbGVydFxyXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdG9sbyBkZWxsbyBzd2VldGFsZXJ0IChkaSBkZWZhdWx0IG1vc3RyYSAnQXR0ZW56aW9uZSEnKVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgV2FybmluZyhtZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSwgdGl0bGU6IHN0cmluZyA9IG51bGwsIGlzVG9hc3Q6IGJvb2xlYW4gPSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRUaXRsZSA9IHRpdGxlICE9IG51bGwgPyB0aXRsZSA6IFwiQXR0ZW56aW9uZSFcIjtcclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVzc2FnZSkpIHtcclxuICAgICAgICAgICAgbGV0IGh0bWxXYXJuaW5nczogc3RyaW5nID0gbWVzc2FnZS5qb2luKFwiPGJyPlwiKTtcclxuICAgICAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBjdXJyZW50VGl0bGUsXHJcbiAgICAgICAgICAgICAgICBodG1sOiBodG1sV2FybmluZ3MsXHJcbiAgICAgICAgICAgICAgICBpY29uOiAnd2FybmluZydcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgU3dhbC5maXJlKGN1cnJlbnRUaXRsZSwgbWVzc2FnZSwgJ3dhcm5pbmcnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common/http";
|
|
4
|
+
export class GlobalService {
|
|
5
|
+
http;
|
|
6
|
+
static debugMode = false;
|
|
7
|
+
//#region variabili microfono
|
|
8
|
+
static isSpeechToTextStarted = false;
|
|
9
|
+
static speechDirective;
|
|
10
|
+
//#endregion variabili microfono
|
|
11
|
+
constructor(http) {
|
|
12
|
+
this.http = http;
|
|
13
|
+
}
|
|
14
|
+
static debugLog(message, element) {
|
|
15
|
+
if (this.debugMode) {
|
|
16
|
+
console.log(message, element);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//key1|value1 ; key2 | value2
|
|
20
|
+
static stringToValuePairs(valueString) {
|
|
21
|
+
const valuePairs = {};
|
|
22
|
+
const keyvals = valueString.split(";");
|
|
23
|
+
keyvals.forEach((x) => {
|
|
24
|
+
const parts = x.split("|");
|
|
25
|
+
if (parts.length == 1) {
|
|
26
|
+
valuePairs[parts[0].trim()] = parts[0].trim();
|
|
27
|
+
}
|
|
28
|
+
else if (parts.length > 1) {
|
|
29
|
+
valuePairs[parts[0].trim()] = parts[1].trim();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return valuePairs;
|
|
33
|
+
}
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalService, providedIn: 'root' });
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{
|
|
40
|
+
providedIn: 'root'
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9zZXJ2aWNlcy9nbG9iYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGFBQWE7SUFTSjtJQVBiLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWhDLDZCQUE2QjtJQUM3QixNQUFNLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFBO0lBQ3BDLE1BQU0sQ0FBQyxlQUFlLENBQXdCO0lBQzlDLGdDQUFnQztJQUVoQyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQWUsRUFBRSxPQUFhO1FBQzVDLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLE1BQU0sQ0FBRSxrQkFBa0IsQ0FBQyxXQUFtQjtRQUM1QyxNQUFNLFVBQVUsR0FBOEIsRUFBRSxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBRyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBQyxDQUFDO2dCQUNwQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hELENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQyxDQUFDO2dCQUMzQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7d0dBL0JVLGFBQWE7NEdBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3BlZWNoVG9UZXh0RGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2xpYi9kaXJlY3RpdmVzL3NwZWVjaC10by10ZXh0L3NwZWVjaC10by10ZXh0LmRpcmVjdGl2ZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZGVidWdNb2RlID0gZmFsc2U7XHJcbiAgXHJcbiAgLy8jcmVnaW9uIHZhcmlhYmlsaSBtaWNyb2Zvbm9cclxuICBzdGF0aWMgaXNTcGVlY2hUb1RleHRTdGFydGVkID0gZmFsc2VcclxuICBzdGF0aWMgc3BlZWNoRGlyZWN0aXZlIDogU3BlZWNoVG9UZXh0RGlyZWN0aXZlXHJcbiAgLy8jZW5kcmVnaW9uIHZhcmlhYmlsaSBtaWNyb2Zvbm9cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGVidWdMb2cobWVzc2FnZTogc3RyaW5nLCBlbGVtZW50PzogYW55KXtcclxuICAgIGlmKHRoaXMuZGVidWdNb2RlKXtcclxuICAgICAgY29uc29sZS5sb2cobWVzc2FnZSwgZWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL2tleTF8dmFsdWUxIDsga2V5MiB8IHZhbHVlMlxyXG4gIHN0YXRpYyAgc3RyaW5nVG9WYWx1ZVBhaXJzKHZhbHVlU3RyaW5nOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcclxuICAgIGNvbnN0IHZhbHVlUGFpcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAgIGNvbnN0IGtleXZhbHMgPSB2YWx1ZVN0cmluZy5zcGxpdChcIjtcIik7XHJcbiAgICBrZXl2YWxzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgY29uc3QgcGFydHMgPSB4LnNwbGl0KFwifFwiKTtcclxuICAgICAgaWYocGFydHMubGVuZ3RoID09IDEpe1xyXG4gICAgICAgIHZhbHVlUGFpcnNbcGFydHNbMF0udHJpbSgpXSA9IHBhcnRzWzBdLnRyaW0oKTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJ0cy5sZW5ndGggPiAxKXtcclxuICAgICAgICB2YWx1ZVBhaXJzW3BhcnRzWzBdLnRyaW0oKV0gPSBwYXJ0c1sxXS50cmltKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gdmFsdWVQYWlycztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SpinnerService {
|
|
5
|
+
isLoading = new Subject();
|
|
6
|
+
requestsCount = 0;
|
|
7
|
+
/**
|
|
8
|
+
* Mostra lo spinner
|
|
9
|
+
*/
|
|
10
|
+
show() {
|
|
11
|
+
setTimeout(() => {
|
|
12
|
+
this.isLoading.next(true);
|
|
13
|
+
}, 100);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Nasconde lo spinner
|
|
17
|
+
*/
|
|
18
|
+
hide() {
|
|
19
|
+
setTimeout(() => {
|
|
20
|
+
this.isLoading.next(false);
|
|
21
|
+
}, 100);
|
|
22
|
+
}
|
|
23
|
+
addRequestCounter() {
|
|
24
|
+
this.requestsCount++;
|
|
25
|
+
this.show();
|
|
26
|
+
}
|
|
27
|
+
removeRequestCounter() {
|
|
28
|
+
this.requestsCount--;
|
|
29
|
+
if (this.requestsCount == 0)
|
|
30
|
+
this.hide();
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpinnerService, providedIn: 'root' });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpinnerService, decorators: [{
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{
|
|
38
|
+
providedIn: 'root'
|
|
39
|
+
}]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvc3Bpbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0IsTUFBTSxPQUFPLGNBQWM7SUFDdkIsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFM0IsYUFBYSxHQUFXLENBQUMsQ0FBQztJQUVsQzs7T0FFRztJQUNILElBQUk7UUFDQSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNBLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzt3R0FoQ1EsY0FBYzs0R0FBZCxjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGlubmVyU2VydmljZSB7XHJcbiAgICBpc0xvYWRpbmcgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgcmVxdWVzdHNDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vc3RyYSBsbyBzcGlubmVyXHJcbiAgICAgKi9cclxuICAgIHNob3coKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE5hc2NvbmRlIGxvIHNwaW5uZXJcclxuICAgICAqL1xyXG4gICAgaGlkZSgpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcubmV4dChmYWxzZSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRSZXF1ZXN0Q291bnRlcigpIHtcclxuICAgICAgICB0aGlzLnJlcXVlc3RzQ291bnQrKztcclxuICAgICAgICB0aGlzLnNob3coKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVSZXF1ZXN0Q291bnRlcigpIHtcclxuICAgICAgICB0aGlzLnJlcXVlc3RzQ291bnQtLTtcclxuICAgICAgICBpZiAodGhpcy5yZXF1ZXN0c0NvdW50ID09IDApXHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG59Il19
|