@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.
Files changed (293) hide show
  1. package/{esm2020 → esm2022}/eqproject-eqp-dynamic-module.mjs +4 -4
  2. package/esm2022/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +531 -0
  3. package/esm2022/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +1245 -0
  4. package/esm2022/lib/components/private/add-form-field/add-form-field.component.mjs +1264 -0
  5. package/esm2022/lib/components/private/add-formula-field/add-formula-field.component.mjs +200 -0
  6. package/esm2022/lib/components/private/dbgetter/dbgetter.component.mjs +233 -0
  7. package/esm2022/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +280 -0
  8. package/esm2022/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +143 -0
  9. package/esm2022/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +75 -0
  10. package/esm2022/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +106 -0
  11. package/esm2022/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +107 -0
  12. package/esm2022/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +265 -0
  13. package/esm2022/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.mjs +261 -0
  14. package/esm2022/lib/components/private/field-templates/label-field-template/label-field-template.component.mjs +82 -0
  15. package/esm2022/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +176 -0
  16. package/esm2022/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +129 -0
  17. package/esm2022/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +103 -0
  18. package/esm2022/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +78 -0
  19. package/esm2022/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +837 -0
  20. package/esm2022/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +408 -0
  21. package/esm2022/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +651 -0
  22. package/esm2022/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +82 -0
  23. package/esm2022/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +59 -0
  24. package/esm2022/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +131 -0
  25. package/esm2022/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +89 -0
  26. package/esm2022/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +460 -0
  27. package/esm2022/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +58 -0
  28. package/esm2022/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +110 -0
  29. package/esm2022/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +108 -0
  30. package/esm2022/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +58 -0
  31. package/esm2022/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.mjs +135 -0
  32. package/esm2022/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +58 -0
  33. package/esm2022/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +141 -0
  34. package/esm2022/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +126 -0
  35. package/esm2022/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +111 -0
  36. package/esm2022/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +111 -0
  37. package/esm2022/lib/components/private/graphs/graph/graph.component.mjs +186 -0
  38. package/esm2022/lib/components/private/graphs/graphs.component.mjs +175 -0
  39. package/esm2022/lib/components/private/spinner/spinner.component.mjs +21 -0
  40. package/{esm2020 → esm2022}/lib/components/private/tmw-image-drawer/i18n.mjs +62 -62
  41. package/esm2022/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.mjs +413 -0
  42. package/esm2022/lib/components/private/tmw-image-marker/tmw-image-marker.component.mjs +348 -0
  43. package/esm2022/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.mjs +81 -0
  44. package/esm2022/lib/components/private/trigger-creator/trigger-creator.component.mjs +199 -0
  45. package/esm2022/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.mjs +91 -0
  46. package/esm2022/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.mjs +88 -0
  47. package/esm2022/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +61 -0
  48. package/esm2022/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.mjs +69 -0
  49. package/esm2022/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.mjs +107 -0
  50. package/esm2022/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +92 -0
  51. package/esm2022/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +92 -0
  52. package/esm2022/lib/directives/dynamic-loader/dynamic-loader.directive.mjs +63 -0
  53. package/esm2022/lib/directives/speech-to-text/speech-to-text.directive.mjs +192 -0
  54. package/esm2022/lib/eqp-dynamic-module.module.mjs +253 -0
  55. package/{esm2020 → esm2022}/lib/interfaces/iBaseFieldComponent.interface.mjs +1 -1
  56. package/{esm2020 → esm2022}/lib/interfaces/iRootObject.interface.mjs +1 -1
  57. package/esm2022/lib/models/baseField.model.mjs +133 -0
  58. package/esm2022/lib/models/baseObj.model.mjs +10 -0
  59. package/{esm2020 → esm2022}/lib/models/context.model.mjs +10 -8
  60. package/esm2022/lib/models/dynAttachment.mjs +52 -0
  61. package/esm2022/lib/models/dynamicModuleCompileConfig.model.mjs +45 -0
  62. package/esm2022/lib/models/dynamicModuleConfig.model.mjs +13 -0
  63. package/esm2022/lib/models/dynamicModuleConfiguratorConfig.model.mjs +11 -0
  64. package/esm2022/lib/models/dynamicModuleConfiguratorSpecificConfig.model.mjs +16 -0
  65. package/{esm2020 → esm2022}/lib/models/dynamicModuleFilterResultViewModeEnum.model.mjs +6 -6
  66. package/esm2022/lib/models/dynamicModuleGeneralConfig.model.mjs +36 -0
  67. package/esm2022/lib/models/dynamicModuleListConfig.model.mjs +48 -0
  68. package/esm2022/lib/models/dynamicModuleListFormRecordActionsDefault.mjs +35 -0
  69. package/{esm2020 → esm2022}/lib/models/dynamicModuleRepairConfig.model.mjs +10 -10
  70. package/{esm2020 → esm2022}/lib/models/dynamicModuleViewModeEnum.mjs +11 -11
  71. package/esm2022/lib/models/endPointConfiguration.model.mjs +211 -0
  72. package/{esm2020 → esm2022}/lib/models/entity.model.mjs +10 -7
  73. package/esm2022/lib/models/fields/attachmentField.model.mjs +28 -0
  74. package/esm2022/lib/models/fields/booleanField.model.mjs +15 -0
  75. package/esm2022/lib/models/fields/dateField.model.mjs +15 -0
  76. package/esm2022/lib/models/fields/imageField.model.mjs +14 -0
  77. package/esm2022/lib/models/fields/imageSelectorField.model.mjs +10 -0
  78. package/esm2022/lib/models/fields/imageWithMarkersField.model.mjs +7 -0
  79. package/{esm2020 → esm2022}/lib/models/fields/labelField.model.mjs +5 -4
  80. package/esm2022/lib/models/fields/listValueField.model.mjs +24 -0
  81. package/esm2022/lib/models/fields/lookupField.model.mjs +11 -0
  82. package/esm2022/lib/models/fields/numericField.model.mjs +13 -0
  83. package/esm2022/lib/models/fields/textField.model.mjs +18 -0
  84. package/esm2022/lib/models/fields/textareaField.model.mjs +9 -0
  85. package/esm2022/lib/models/form.model.mjs +63 -0
  86. package/esm2022/lib/models/getter.model.mjs +6 -0
  87. package/esm2022/lib/models/graph.model.mjs +19 -0
  88. package/{esm2020 → esm2022}/lib/models/logicOperator.model.mjs +55 -55
  89. package/esm2022/lib/models/record.model.mjs +39 -0
  90. package/esm2022/lib/models/statistic.model.mjs +12 -0
  91. package/esm2022/lib/models/trigger.model.mjs +63 -0
  92. package/esm2022/lib/modules/formula.model.mjs +266 -0
  93. package/{esm2020 → esm2022}/lib/modules/material.module.mjs +231 -231
  94. package/{esm2020 → esm2022}/lib/services/custom-form-validators.service.mjs +18 -18
  95. package/esm2022/lib/services/db-date.service.mjs +178 -0
  96. package/esm2022/lib/services/eqp-dynamic-module-dialog.service.mjs +114 -0
  97. package/esm2022/lib/services/global.service.mjs +43 -0
  98. package/esm2022/lib/services/spinner.service.mjs +41 -0
  99. package/esm2022/lib/services/utilityHelper.services.mjs +601 -0
  100. package/{esm2020 → esm2022}/public-api.mjs +56 -56
  101. package/fesm2022/eqproject-eqp-dynamic-module.mjs +13507 -0
  102. package/fesm2022/eqproject-eqp-dynamic-module.mjs.map +1 -0
  103. package/index.d.ts +5 -5
  104. package/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.d.ts +162 -162
  105. package/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.d.ts +308 -308
  106. package/lib/components/private/add-form-field/add-form-field.component.d.ts +263 -263
  107. package/lib/components/private/add-formula-field/add-formula-field.component.d.ts +45 -45
  108. package/lib/components/private/dbgetter/dbgetter.component.d.ts +51 -51
  109. package/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.d.ts +84 -84
  110. package/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.d.ts +57 -57
  111. package/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.d.ts +27 -27
  112. package/lib/components/private/field-templates/date-field-template/date-field-template.component.d.ts +36 -36
  113. package/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.d.ts +33 -33
  114. package/lib/components/private/field-templates/image-field-template/image-field-template.component.d.ts +80 -80
  115. package/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.d.ts +78 -78
  116. package/lib/components/private/field-templates/label-field-template/label-field-template.component.d.ts +33 -33
  117. package/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.d.ts +59 -59
  118. package/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.d.ts +40 -40
  119. package/lib/components/private/field-templates/text-field-template/text-field-template.component.d.ts +35 -35
  120. package/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.d.ts +31 -31
  121. package/lib/components/private/form-records/add-form-record/add-form-record.component.d.ts +104 -104
  122. package/lib/components/private/form-records/list-form-record/list-form-record.component.d.ts +83 -83
  123. package/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.d.ts +151 -151
  124. package/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.d.ts +39 -39
  125. package/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.d.ts +20 -20
  126. package/lib/components/private/form-records/view-form-record/view-form-record.component.d.ts +36 -36
  127. package/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.d.ts +42 -42
  128. package/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.d.ts +109 -109
  129. package/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.d.ts +21 -21
  130. package/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.d.ts +37 -37
  131. package/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.d.ts +37 -37
  132. package/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.d.ts +21 -21
  133. package/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.d.ts +47 -47
  134. package/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.d.ts +21 -21
  135. package/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.d.ts +47 -47
  136. package/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.d.ts +40 -40
  137. package/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.d.ts +38 -38
  138. package/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.d.ts +38 -38
  139. package/lib/components/private/graphs/graph/graph.component.d.ts +25 -25
  140. package/lib/components/private/graphs/graphs.component.d.ts +47 -47
  141. package/lib/components/private/spinner/spinner.component.d.ts +12 -12
  142. package/lib/components/private/tmw-image-drawer/i18n.d.ts +27 -27
  143. package/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.d.ts +70 -70
  144. package/lib/components/private/tmw-image-marker/tmw-image-marker.component.d.ts +62 -62
  145. package/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.d.ts +42 -42
  146. package/lib/components/private/trigger-creator/trigger-creator.component.d.ts +42 -42
  147. package/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.d.ts +34 -34
  148. package/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.d.ts +34 -34
  149. package/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.d.ts +24 -24
  150. package/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.d.ts +34 -34
  151. package/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.d.ts +37 -37
  152. package/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.d.ts +36 -36
  153. package/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.d.ts +36 -36
  154. package/lib/directives/dynamic-loader/dynamic-loader.directive.d.ts +26 -26
  155. package/lib/directives/speech-to-text/speech-to-text.directive.d.ts +31 -31
  156. package/lib/eqp-dynamic-module.module.d.ts +85 -85
  157. package/lib/interfaces/iBaseFieldComponent.interface.d.ts +8 -8
  158. package/lib/interfaces/iRootObject.interface.d.ts +11 -11
  159. package/lib/models/baseField.model.d.ts +126 -126
  160. package/lib/models/baseObj.model.d.ts +9 -9
  161. package/lib/models/context.model.d.ts +9 -9
  162. package/lib/models/dynAttachment.d.ts +49 -49
  163. package/lib/models/dynamicModuleCompileConfig.model.d.ts +35 -35
  164. package/lib/models/dynamicModuleConfig.model.d.ts +11 -11
  165. package/lib/models/dynamicModuleConfiguratorConfig.model.d.ts +7 -7
  166. package/lib/models/dynamicModuleConfiguratorSpecificConfig.model.d.ts +11 -11
  167. package/lib/models/dynamicModuleFilterResultViewModeEnum.model.d.ts +5 -5
  168. package/lib/models/dynamicModuleGeneralConfig.model.d.ts +29 -29
  169. package/lib/models/dynamicModuleListConfig.model.d.ts +39 -39
  170. package/lib/models/dynamicModuleListFormRecordActionsDefault.d.ts +9 -9
  171. package/lib/models/dynamicModuleRepairConfig.model.d.ts +4 -4
  172. package/lib/models/dynamicModuleViewModeEnum.d.ts +10 -10
  173. package/lib/models/endPointConfiguration.model.d.ts +46 -46
  174. package/lib/models/entity.model.d.ts +11 -11
  175. package/lib/models/fields/attachmentField.model.d.ts +17 -17
  176. package/lib/models/fields/booleanField.model.d.ts +11 -11
  177. package/lib/models/fields/dateField.model.d.ts +13 -13
  178. package/lib/models/fields/imageField.model.d.ts +13 -13
  179. package/lib/models/fields/imageSelectorField.model.d.ts +12 -12
  180. package/lib/models/fields/imageWithMarkersField.model.d.ts +7 -7
  181. package/lib/models/fields/labelField.model.d.ts +4 -4
  182. package/lib/models/fields/listValueField.model.d.ts +24 -24
  183. package/lib/models/fields/lookupField.model.d.ts +10 -10
  184. package/lib/models/fields/numericField.model.d.ts +12 -12
  185. package/lib/models/fields/textField.model.d.ts +16 -16
  186. package/lib/models/fields/textareaField.model.d.ts +8 -8
  187. package/lib/models/form.model.d.ts +61 -61
  188. package/lib/models/getter.model.d.ts +5 -5
  189. package/lib/models/graph.model.d.ts +18 -18
  190. package/lib/models/logicOperator.model.d.ts +48 -48
  191. package/lib/models/record.model.d.ts +41 -41
  192. package/lib/models/statistic.model.d.ts +13 -13
  193. package/lib/models/trigger.model.d.ts +51 -51
  194. package/lib/modules/formula.model.d.ts +32 -32
  195. package/lib/modules/material.module.d.ts +37 -37
  196. package/lib/services/custom-form-validators.service.d.ts +5 -5
  197. package/lib/services/db-date.service.d.ts +24 -24
  198. package/lib/services/eqp-dynamic-module-dialog.service.d.ts +44 -44
  199. package/lib/services/global.service.d.ts +16 -16
  200. package/lib/services/spinner.service.d.ts +18 -18
  201. package/lib/services/utilityHelper.services.d.ts +101 -101
  202. package/package.json +19 -24
  203. package/public-api.d.ts +53 -53
  204. package/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +0 -516
  205. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +0 -1196
  206. package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +0 -1202
  207. package/esm2020/lib/components/private/add-formula-field/add-formula-field.component.mjs +0 -196
  208. package/esm2020/lib/components/private/dbgetter/dbgetter.component.mjs +0 -226
  209. package/esm2020/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +0 -263
  210. package/esm2020/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +0 -138
  211. package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +0 -71
  212. package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +0 -104
  213. package/esm2020/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +0 -100
  214. package/esm2020/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +0 -256
  215. package/esm2020/lib/components/private/field-templates/image-with-markers-field-template/image-with-markers-field-template.component.mjs +0 -252
  216. package/esm2020/lib/components/private/field-templates/label-field-template/label-field-template.component.mjs +0 -74
  217. package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +0 -172
  218. package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +0 -124
  219. package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +0 -95
  220. package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +0 -71
  221. package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +0 -828
  222. package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +0 -400
  223. package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +0 -628
  224. package/esm2020/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +0 -75
  225. package/esm2020/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +0 -54
  226. package/esm2020/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +0 -125
  227. package/esm2020/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +0 -76
  228. package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +0 -453
  229. package/esm2020/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +0 -57
  230. package/esm2020/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +0 -104
  231. package/esm2020/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +0 -105
  232. package/esm2020/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +0 -57
  233. package/esm2020/lib/components/private/form-statistics/filter-templates/image-selector-filter-template/image-selector-filter-template.component.mjs +0 -128
  234. package/esm2020/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +0 -57
  235. package/esm2020/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +0 -135
  236. package/esm2020/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +0 -120
  237. package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +0 -102
  238. package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +0 -102
  239. package/esm2020/lib/components/private/graphs/graph/graph.component.mjs +0 -180
  240. package/esm2020/lib/components/private/graphs/graphs.component.mjs +0 -164
  241. package/esm2020/lib/components/private/spinner/spinner.component.mjs +0 -19
  242. package/esm2020/lib/components/private/tmw-image-drawer/tmw-image-drawer.component.mjs +0 -403
  243. package/esm2020/lib/components/private/tmw-image-marker/tmw-image-marker.component.mjs +0 -336
  244. package/esm2020/lib/components/private/trigger-creator/dynamic-module-trigger-fix/dynamic-module-trigger-fix.component.mjs +0 -69
  245. package/esm2020/lib/components/private/trigger-creator/trigger-creator.component.mjs +0 -191
  246. package/esm2020/lib/components/private/trigger-creator/trigger-templates/boolean-trigger-template/boolean-trigger-template.component.mjs +0 -86
  247. package/esm2020/lib/components/private/trigger-creator/trigger-templates/date-trigger-template/date-trigger-template.component.mjs +0 -86
  248. package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-form-record-trigger-template/list-form-record-trigger-template.component.mjs +0 -60
  249. package/esm2020/lib/components/private/trigger-creator/trigger-templates/list-value-trigger-template/list-value-trigger-template.component.mjs +0 -66
  250. package/esm2020/lib/components/private/trigger-creator/trigger-templates/numeric-trigger-template/numeric-trigger-template.component.mjs +0 -102
  251. package/esm2020/lib/components/private/trigger-creator/trigger-templates/text-trigger-template/text-trigger-template.component.mjs +0 -84
  252. package/esm2020/lib/components/private/trigger-creator/trigger-templates/textarea-trigger-template/textarea-trigger-template.component.mjs +0 -84
  253. package/esm2020/lib/directives/dynamic-loader/dynamic-loader.directive.mjs +0 -59
  254. package/esm2020/lib/directives/speech-to-text/speech-to-text.directive.mjs +0 -186
  255. package/esm2020/lib/eqp-dynamic-module.module.mjs +0 -253
  256. package/esm2020/lib/models/baseField.model.mjs +0 -101
  257. package/esm2020/lib/models/baseObj.model.mjs +0 -9
  258. package/esm2020/lib/models/dynAttachment.mjs +0 -21
  259. package/esm2020/lib/models/dynamicModuleCompileConfig.model.mjs +0 -13
  260. package/esm2020/lib/models/dynamicModuleConfig.model.mjs +0 -9
  261. package/esm2020/lib/models/dynamicModuleConfiguratorConfig.model.mjs +0 -9
  262. package/esm2020/lib/models/dynamicModuleConfiguratorSpecificConfig.model.mjs +0 -15
  263. package/esm2020/lib/models/dynamicModuleGeneralConfig.model.mjs +0 -36
  264. package/esm2020/lib/models/dynamicModuleListConfig.model.mjs +0 -30
  265. package/esm2020/lib/models/dynamicModuleListFormRecordActionsDefault.mjs +0 -11
  266. package/esm2020/lib/models/endPointConfiguration.model.mjs +0 -205
  267. package/esm2020/lib/models/fields/attachmentField.model.mjs +0 -22
  268. package/esm2020/lib/models/fields/booleanField.model.mjs +0 -12
  269. package/esm2020/lib/models/fields/dateField.model.mjs +0 -15
  270. package/esm2020/lib/models/fields/imageField.model.mjs +0 -15
  271. package/esm2020/lib/models/fields/imageSelectorField.model.mjs +0 -8
  272. package/esm2020/lib/models/fields/imageWithMarkersField.model.mjs +0 -8
  273. package/esm2020/lib/models/fields/listValueField.model.mjs +0 -11
  274. package/esm2020/lib/models/fields/lookupField.model.mjs +0 -5
  275. package/esm2020/lib/models/fields/numericField.model.mjs +0 -5
  276. package/esm2020/lib/models/fields/textField.model.mjs +0 -14
  277. package/esm2020/lib/models/fields/textareaField.model.mjs +0 -4
  278. package/esm2020/lib/models/form.model.mjs +0 -24
  279. package/esm2020/lib/models/getter.model.mjs +0 -3
  280. package/esm2020/lib/models/graph.model.mjs +0 -15
  281. package/esm2020/lib/models/record.model.mjs +0 -10
  282. package/esm2020/lib/models/statistic.model.mjs +0 -8
  283. package/esm2020/lib/models/trigger.model.mjs +0 -41
  284. package/esm2020/lib/modules/formula.model.mjs +0 -265
  285. package/esm2020/lib/services/db-date.service.mjs +0 -178
  286. package/esm2020/lib/services/eqp-dynamic-module-dialog.service.mjs +0 -114
  287. package/esm2020/lib/services/global.service.mjs +0 -41
  288. package/esm2020/lib/services/spinner.service.mjs +0 -43
  289. package/esm2020/lib/services/utilityHelper.services.mjs +0 -598
  290. package/fesm2015/eqproject-eqp-dynamic-module.mjs +0 -12782
  291. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +0 -1
  292. package/fesm2020/eqproject-eqp-dynamic-module.mjs +0 -12751
  293. 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