@eqproject/eqp-dynamic-module 2.8.7 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +1263 -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 +13506 -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 +20 -25
  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 -179
  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 -12770
  291. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +0 -1
  292. package/fesm2020/eqproject-eqp-dynamic-module.mjs +0 -12739
  293. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +0 -1
@@ -1,178 +0,0 @@
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
- }
170
- dbDateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: dbDateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
171
- dbDateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: dbDateService, providedIn: "root" });
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: dbDateService, decorators: [{
173
- type: Injectable,
174
- args: [{
175
- providedIn: "root",
176
- }]
177
- }] });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGItZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvZGItZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBRXRCLGtCQUFrQjtJQUNsQjs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFVO1FBQ2hCLElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsR0FBVyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksY0FBc0IsQ0FBQztRQUMzQixJQUFJLFFBQVEsR0FBRyxFQUFFLEVBQUU7WUFDZixjQUFjLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0gsY0FBYyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN4QztRQUNELElBQUksTUFBTSxHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFlBQW9CLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsRUFBRSxFQUFFO1lBQ2IsWUFBWSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDMUM7YUFBTTtZQUNILFlBQVksR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDcEM7UUFDRCxJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsSUFBSSxhQUFxQixDQUFDO1FBQzFCLElBQUksT0FBTyxHQUFHLEVBQUUsRUFBRTtZQUNkLGFBQWEsR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzVD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Ozs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLE1BQWMsRUFBRSxRQUFnQjtRQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7MkdBNUtRLGFBQWE7K0dBQWIsYUFBYSxjQUZWLE1BQU07NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxuICB9KVxyXG5leHBvcnQgY2xhc3MgZGJEYXRlU2VydmljZSB7XHJcblxyXG4gICAgLy8jcmVnaW9uIGRhdGV0aW1lXHJcbiAgICAvKipcclxuICAgICAqIFBhcnNlIGRhdGUgdG8gdmlzdWFsaXplIGFzIGEgc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIHBhcnNlRGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgbmV3WWVhcjogbnVtYmVyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICAgIGxldCBuZXdNb250aDogbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgICAgICBsZXQgbmV3TW9udGhTdHJpbmc6IHN0cmluZztcclxuICAgICAgICBpZiAobmV3TW9udGggPCAxMCkge1xyXG4gICAgICAgICAgICBuZXdNb250aFN0cmluZyA9IFwiMFwiICsgbmV3TW9udGgudG9TdHJpbmcoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdNb250aFN0cmluZyA9IG5ld01vbnRoLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBuZXdEYXk6IG51bWJlciA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG4gICAgICAgIGxldCBuZXdEYXlTdHJpbmc6IHN0cmluZztcclxuICAgICAgICBpZiAobmV3RGF5IDwgMTApIHtcclxuICAgICAgICAgICAgbmV3RGF5U3RyaW5nID0gXCIwXCIgKyBuZXdEYXkudG9TdHJpbmcoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdEYXlTdHJpbmcgPSBuZXdEYXkudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG5ld0hvdXI6IG51bWJlciA9IGRhdGUuZ2V0SG91cnMoKTtcclxuICAgICAgICBsZXQgbmV3SG91clN0cmluZzogc3RyaW5nO1xyXG4gICAgICAgIGlmIChuZXdIb3VyIDwgMTApIHtcclxuICAgICAgICAgICAgbmV3SG91clN0cmluZyA9IFwiMFwiICsgbmV3SG91ci50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG5ld0hvdXJTdHJpbmcgPSBuZXdIb3VyLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBuZXdNaW51dGU6IG51bWJlciA9IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgICAgIGxldCBuZXdNaW51dGVTdHJpbmc6IHN0cmluZztcclxuICAgICAgICBpZiAobmV3TWludXRlIDwgMTApIHtcclxuICAgICAgICAgICAgbmV3TWludXRlU3RyaW5nID0gXCIwXCIgKyBuZXdNaW51dGUudG9TdHJpbmcoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdNaW51dGVTdHJpbmcgPSBuZXdNaW51dGUudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRhdGVTdHJpbmcgPSBuZXdEYXlTdHJpbmcgKyBcIi9cIiArIG5ld01vbnRoU3RyaW5nICsgXCIvXCIgKyBuZXdZZWFyLnRvU3RyaW5nKCkgKyBcIiBcIiArIG5ld0hvdXJTdHJpbmcgKyBcIjpcIiArIG5ld01pbnV0ZVN0cmluZztcclxuICAgICAgICByZXR1cm4gZGF0ZVN0cmluZ1xyXG4gICAgfVxyXG5cclxuICAgIHBhcnNlVGltZShkYXRlOiBEYXRlKTogc3RyaW5nIHsgLy8gcGFyc2UgZGF0ZSB0byBnZXQgb25seSB0aGUgdGltZVxyXG4gICAgICAgIGxldCBuZXdIb3VyOiBudW1iZXIgPSBkYXRlLmdldEhvdXJzKCk7XHJcbiAgICAgICAgbGV0IG5ld0hvdXJTdHJpbmc6IHN0cmluZztcclxuICAgICAgICBpZiAobmV3SG91ciA8IDEwKSB7XHJcbiAgICAgICAgICAgIG5ld0hvdXJTdHJpbmcgPSBcIjBcIiArIG5ld0hvdXIudG9TdHJpbmcoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdIb3VyU3RyaW5nID0gbmV3SG91ci50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbmV3TWludXRlOiBudW1iZXIgPSBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICAgICAgICBsZXQgbmV3TWludXRlU3RyaW5nOiBzdHJpbmc7XHJcbiAgICAgICAgaWYgKG5ld01pbnV0ZSA8IDEwKSB7XHJcbiAgICAgICAgICAgIG5ld01pbnV0ZVN0cmluZyA9IFwiMFwiICsgbmV3TWludXRlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbmV3TWludXRlU3RyaW5nID0gbmV3TWludXRlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0aW1lU3RyaW5nID0gbmV3SG91clN0cmluZyArIFwiOlwiICsgbmV3TWludXRlU3RyaW5nO1xyXG4gICAgICAgIHJldHVybiB0aW1lU3RyaW5nXHJcbiAgICB9XHJcblxyXG4gICAgYWRkWmVyb2VzT25EYXRhKG51bWVybzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgbnVtZXJvc3RyaW5nID0gXCJcIjtcclxuICAgICAgICBpZiAobnVtZXJvIDwgMTApIHtcclxuICAgICAgICAgICAgbnVtZXJvc3RyaW5nID0gXCIwXCIgKyBudW1lcm8udG9TdHJpbmcoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBudW1lcm9zdHJpbmcgPSBudW1lcm8udG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bWVyb3N0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZURhdGVmcm9tREIoZGlydHlEYXRlTWVhc3VyZW1lbnQpOiBEYXRlIHtcclxuICAgICAgICBpZiAodGhpcy5pc0RhdGVGcm9tU2VydmVyKGRpcnR5RGF0ZU1lYXN1cmVtZW50KSkge1xyXG4gICAgICAgICAgICBsZXQgZGlydHlEYXRlOiBzdHJpbmdbXSA9IGRpcnR5RGF0ZU1lYXN1cmVtZW50LnRvU3RyaW5nKCkuc3BsaXQoXCJUXCIpO1xyXG4gICAgICAgICAgICBsZXQgZGlydHlIb3VyOiBzdHJpbmdbXSA9IGRpcnR5RGF0ZVsxXS5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICAgIGxldCB5ZWFyTW9udGhEYXk6IHN0cmluZ1tdID0gZGlydHlEYXRlWzBdLnNwbGl0KFwiLVwiKTtcclxuICAgICAgICAgICAgbGV0IGhvdXJNaW51dGVTZWNvbmQ6IHN0cmluZ1tdID0gZGlydHlIb3VyWzBdLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZShwYXJzZUludCh5ZWFyTW9udGhEYXlbMF0pLCBwYXJzZUludCh5ZWFyTW9udGhEYXlbMV0pIC0gMSwgcGFyc2VJbnQoeWVhck1vbnRoRGF5WzJdKSwgcGFyc2VJbnQoaG91ck1pbnV0ZVNlY29uZFswXSksIHBhcnNlSW50KGhvdXJNaW51dGVTZWNvbmRbMV0pKTtcclxuICAgICAgICAgICAgbGV0IGdtdFN0cmluZyA9IGRhdGUudG9TdHJpbmcoKS5zcGxpdChcIiBcIilbNV0uc3BsaXQoXCJUXCIpWzFdO1xyXG4gICAgICAgICAgICBsZXQgaG91cjogc3RyaW5nID0gXCJcIjtcclxuICAgICAgICAgICAgbGV0IG1pbnV0ZTogc3RyaW5nID0gXCJcIjtcclxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBnbXRTdHJpbmcubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgICAgIGlmIChqID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBob3VyICs9IGdtdFN0cmluZ1tqXTtcclxuICAgICAgICAgICAgICAgICAgICBtaW51dGUgKz0gZ210U3RyaW5nW2pdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGogPiAwICYmIGogPCAzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaG91ciArPSBnbXRTdHJpbmdbal07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoaiA+IDIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW51dGUgKz0gZ210U3RyaW5nW2pdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBob3VySW50ID0gcGFyc2VJbnQoaG91cik7XHJcbiAgICAgICAgICAgIGxldCBtaW51dGVJbnQgPSBwYXJzZUludChtaW51dGUpO1xyXG4gICAgICAgICAgICBsZXQgbmV3RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHBhcnNlSW50KHllYXJNb250aERheVswXSksIHBhcnNlSW50KHllYXJNb250aERheVsxXSkgLSAxLCBwYXJzZUludCh5ZWFyTW9udGhEYXlbMl0pLCBwYXJzZUludChob3VyTWludXRlU2Vjb25kWzBdKSArIGhvdXJJbnQsIHBhcnNlSW50KGhvdXJNaW51dGVTZWNvbmRbMV0pICsgbWludXRlSW50KTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ld0RhdGVcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5pc0RhdGVJbnN0YW5jZShkaXJ0eURhdGVNZWFzdXJlbWVudCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRpcnR5RGF0ZU1lYXN1cmVtZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IENvbnZlcnNpb24gRGF0ZSBpbiBwYXJzZURhdGVmcm9tREJcIilcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlzRGF0ZUZyb21TZXJ2ZXIoZGF0ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgaXNvRGF0ZUZvcm1hdCA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0oXFwuXFxkezEsN30pPyhaKT8kLztcclxuICAgICAgICByZXR1cm4gdHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnICYmIGlzb0RhdGVGb3JtYXQudGVzdChkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBpc0RhdGVJbnN0YW5jZShkYXRlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHBhcnNlRGF0ZWZyb21EQk1pbGxpc2Vjb25kcyhkaXJ0eURhdGVNZWFzdXJlbWVudCk6IERhdGUgeyAvL2dldCBhIGRhdGUgR01UIGluIGFuZ3VsYXIgZm9ybWF0IGZyb20gREIgKG1pbGxpc2Vjb25kIHByZWNpc2lvbilcclxuICAgICAgICBsZXQgZGlydHlEYXRlOiBzdHJpbmdbXSA9IGRpcnR5RGF0ZU1lYXN1cmVtZW50LnRvU3RyaW5nKCkuc3BsaXQoXCJUXCIpO1xyXG4gICAgICAgIGxldCBkaXJ0eUhvdXI6IHN0cmluZ1tdID0gZGlydHlEYXRlWzFdLnNwbGl0KFwiLlwiKTtcclxuICAgICAgICBsZXQgeWVhck1vbnRoRGF5OiBzdHJpbmdbXSA9IGRpcnR5RGF0ZVswXS5zcGxpdChcIi1cIik7XHJcbiAgICAgICAgbGV0IGhvdXJNaW51dGVTZWNvbmQ6IHN0cmluZ1tdID0gZGlydHlIb3VyWzBdLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHBhcnNlSW50KHllYXJNb250aERheVswXSksIHBhcnNlSW50KHllYXJNb250aERheVsxXSkgLSAxLCBwYXJzZUludCh5ZWFyTW9udGhEYXlbMl0pLCBwYXJzZUludChob3VyTWludXRlU2Vjb25kWzBdKSwgcGFyc2VJbnQoaG91ck1pbnV0ZVNlY29uZFsxXSkpO1xyXG4gICAgICAgIGxldCBnbXRTdHJpbmcgPSBkYXRlLnRvU3RyaW5nKCkuc3BsaXQoXCIgXCIpWzVdLnNwbGl0KFwiVFwiKVsxXTtcclxuICAgICAgICBsZXQgaG91cjogc3RyaW5nID0gXCJcIjtcclxuICAgICAgICBsZXQgbWludXRlOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZ210U3RyaW5nLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIGlmIChqID09IDApIHtcclxuICAgICAgICAgICAgICAgIGhvdXIgKz0gZ210U3RyaW5nW2pdO1xyXG4gICAgICAgICAgICAgICAgbWludXRlICs9IGdtdFN0cmluZ1tqXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaiA+IDAgJiYgaiA8IDMpIHtcclxuICAgICAgICAgICAgICAgIGhvdXIgKz0gZ210U3RyaW5nW2pdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChqID4gMikge1xyXG4gICAgICAgICAgICAgICAgbWludXRlICs9IGdtdFN0cmluZ1tqXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgaG91ckludCA9IHBhcnNlSW50KGhvdXIpO1xyXG4gICAgICAgIGxldCBtaW51dGVJbnQgPSBwYXJzZUludChtaW51dGUpO1xyXG4gICAgICAgIGxldCBuZXdEYXRlOiBEYXRlID0gbmV3IERhdGUocGFyc2VJbnQoeWVhck1vbnRoRGF5WzBdKSwgcGFyc2VJbnQoeWVhck1vbnRoRGF5WzFdKSAtIDEsIHBhcnNlSW50KHllYXJNb250aERheVsyXSksIHBhcnNlSW50KGhvdXJNaW51dGVTZWNvbmRbMF0pICsgaG91ckludCwgcGFyc2VJbnQoaG91ck1pbnV0ZVNlY29uZFsxXSkgKyBtaW51dGVJbnQsIHBhcnNlSW50KGhvdXJNaW51dGVTZWNvbmRbMl0pLCBwYXJzZUludChkaXJ0eUhvdXJbMV0pKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ld0RhdGVcclxuICAgIH1cclxuXHJcbiAgICBwcmVwYXJlSG91cmZvckRCKGRpcnR5SG91cjogRGF0ZSk6IERhdGUge1xyXG4gICAgICAgIGxldCBob3VyTWludXRlcyA9IGRpcnR5SG91ci50b1N0cmluZygpLnNwbGl0KFwiOlwiKVxyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBkYXRlLnNldEhvdXJzKHBhcnNlSW50KGhvdXJNaW51dGVzWzBdKSlcclxuICAgICAgICBkYXRlLnNldE1pbnV0ZXMocGFyc2VJbnQoaG91ck1pbnV0ZXNbMV0pKVxyXG4gICAgICAgIGRhdGUuc2V0U2Vjb25kcygwKVxyXG4gICAgICAgIGRhdGUuc2V0TWlsbGlzZWNvbmRzKDApXHJcbiAgICAgICAgcmV0dXJuIGRhdGVcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZUZvckhvdXIoYWxsTWludXRlczogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBsZXQgZGlydHlIb3VycyA9IGFsbE1pbnV0ZXMgLyA2MDtcclxuICAgICAgICBsZXQgaG91cnMgPSBNYXRoLmZsb29yKGRpcnR5SG91cnMpO1xyXG4gICAgICAgIGxldCBkaXJ0eU1pbnV0ZXMgPSBkaXJ0eUhvdXJzIC0gaG91cnM7XHJcbiAgICAgICAgbGV0IG1pbnV0ZXMgPSB0aGlzLnJvdW5kRGVjaW1hbHMoZGlydHlNaW51dGVzICogMC42LCAyKTtcclxuICAgICAgICBsZXQgZmluYWxIb3VycyA9IGhvdXJzICsgbWludXRlcztcclxuICAgICAgICByZXR1cm4gZmluYWxIb3Vyc1xyXG4gICAgfVxyXG4gICAgLy8jZW5kcmVnaW9uIGRhdGV0aW1lXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUm91bmRzIGEgbnVtYmVyIHRvIHRoZSBvdXIgcHJlZmVycmVkIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcy5cclxuICAgICAqIEBwYXJhbSBudW1iZXIgdGhlIG51bWJlciB3ZSB3YW50IHRvIHJvdW5kXHJcbiAgICAgKiBAcGFyYW0gZGVjaW1hbHMgaG93IG1hbnkgZGVjaW1hbCBwbGFjZXMgd2Ugd2FudCB0aGUgcm91bmRlZCBudW1iZXIgdG8gaGF2ZVxyXG4gICAgICogQHJldHVybnMgdGhlIHJvdW5kZWQgbnVtYmVyXHJcbiAgICAgKi9cclxuICAgIHJvdW5kRGVjaW1hbHMobnVtYmVyOiBudW1iZXIsIGRlY2ltYWxzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBOdW1iZXIobnVtYmVyLnRvRml4ZWQoZGVjaW1hbHMpKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,114 +0,0 @@
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
- }
106
- EqpDynamicModuleDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EqpDynamicModuleDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
107
- EqpDynamicModuleDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EqpDynamicModuleDialogService, providedIn: 'root' });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EqpDynamicModuleDialogService, decorators: [{
109
- type: Injectable,
110
- args: [{
111
- providedIn: 'root'
112
- }]
113
- }], ctorParameters: function () { return []; } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sNkJBQTZCO0lBRXRDLGdCQUFnQixDQUFDO0lBRWpCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxRQUFnQixJQUFJO1FBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUM7UUFDakYsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUEwQixFQUFFLFFBQWdCLElBQUk7UUFDekQsSUFBSSxZQUFZLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hCLFlBQVksR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNoRCxJQUFJLFVBQVUsR0FBVyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ04sS0FBSyxFQUFFLFlB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QUMsSUFBSSxDQUFDO2dCQUNOLEtBQUssRUFBRSxZQUFZO2dCQUNuQixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLFNBQVM7YUFDbEIsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7OzJIQTdHUSw2QkFBNkI7K0hBQTdCLDZCQUE2QixjQUYxQixNQUFNOzRGQUVULDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcXBEeW5hbWljTW9kdWxlRGlhbG9nU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgdW5vIHN3ZWV0IGFsZXJ0IGRpIHRpcG8gU1VDQ0VTUyBjb24gaWwgbWVzc2FnZ2lvIHBhc3NhdG8gY29tZSBwYXJhbWV0cm8uXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsbG8gc3dlZXRhbGVydFxyXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdG9sbyBkZWxsbyBzd2VldGFsZXJ0IChkaSBkZWZhdWx0IG1vc3RyYSAnT3BlcmF6aW9uZSBjb21wbGV0YXRhJylcclxuICAgICAqL1xyXG4gICAgc3RhdGljIFN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiAnT3BlcmF6aW9uZSBjb21wbGV0YXRhIGNvbiBzdWNjZXNzby4nO1xyXG4gICAgICAgIFN3YWwuZmlyZShjdXJyZW50VGl0bGUsIG1lc3NhZ2UsICdzdWNjZXNzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgdW5vIHN3ZWV0IGFsZXJ0IGRpIHRpcG8gRVJST1IgY29uIGlsIG1lc3NhZ2dpbyBwYXNzYXRvIGNvbWUgcGFyYW1ldHJvLlxyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGQnZXJyb3JlIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnRcclxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ0Vycm9yZScpXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBFcnJvcihtZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSwgdGl0bGU6IHN0cmluZyA9IG51bGwpIHtcclxuICAgICAgICBsZXQgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogJ0Vycm9yZSc7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVzc2FnZSkpIHtcclxuICAgICAgICAgICAgY3VycmVudFRpdGxlID0gdGl0bGUgIT0gbnVsbCA/IHRpdGxlIDogJ0Vycm9yZSc7XHJcbiAgICAgICAgICAgIGxldCBodG1sRXJyb3JzOiBzdHJpbmcgPSBtZXNzYWdlLmpvaW4oXCI8YnI+XCIpO1xyXG4gICAgICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGN1cnJlbnRUaXRsZSxcclxuICAgICAgICAgICAgICAgIGh0bWw6IGh0bWxFcnJvcnMsXHJcbiAgICAgICAgICAgICAgICBpY29uOiAnZXJyb3InXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgU3dhbC5maXJlKGN1cnJlbnRUaXRsZSwgbWVzc2FnZSwgJ2Vycm9yJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogTW9zdHJhIHVubyBzd2VldGFsZXJ0IGRpIHRpcG8gQ09ORklSTSBjb24gaWwgbWVzc2FnZ2lvIHBhc3NhdG8gY29tZSBwYXJhbWV0cm8uXHJcbiAgICogQWxsYSBwcmVzc2lvbmUgZGVsIHRhc3RvIENPTkZFUk1BIHZpZW5lIGludm9jYXRhIGxhIGZ1bnppb25lIGNvbmZpcm1DYWxsYmFjay5cclxuICAgKiBTZSB2aWVuZSBwYXNzYXRhIGFuY2hlIGxhIGZ1bnppb25lIGNhbmNlbGxDYWxsYmFjayB2aWVuZSBpbnZvY2F0YSBxdWFuZG8gdmllbmUgcHJlbXV0byBpbCB0YXN0byBBTk5VTExBXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnQgKHB1w7IgY29udGVuZXJlIHVuYSBsaXN0YSBkaSBtZXNzYWdnaSlcclxuICAgKiBAcGFyYW0gY29uZmlybUNhbGxiYWNrIEZ1bnppb25lIGRpIGNhbGxiYWNrIGRhIGludm9jYXJlIHF1YW5kbyB2aWVuZSBwcmVtdXRvIGlsIHRhc3RvIENPTkZFUk1BXHJcbiAgICogQHBhcmFtIGlzV2FybmluZyBTZSBUUlVFIGFsbG9yYSB1dGlsaXp6YSBsJ2ljb25hIGRpIFdBUk5JTkcgYWxsJ2ludGVybm8gZGVsbG8gc3dlZXRhbGVydFxyXG4gICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ1NlaSBzaWN1cm8gZGkgdm9sZXIgcHJvY2VkZXJlPycpXHJcbiAgICogQHBhcmFtIGN1c3RvbVdpZHRoIExhcmdoZXp6YSBkYSBpbXBvc3RhcmUgcGVyIGxvIHN3ZWV0YWxlcnQgKGRlZmF1bHQ6IDMycmVtKVxyXG4gICAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBGdW56aW9uZSBkaSBjYWxsYmFjayBkYSBpbnZvY2FyZSBhbGxhIHByZXNzaW9uZSBkZWwgdGFzdG8gQU5OVUxMQSAob3B6aW9uYWxlKVxyXG4gICAqIEBwYXJhbSBjb25maXJtQnV0dG9uVGV4dCBUZXN0byBkYSBtb3N0cmFyZSBuZWwgcHVsc2FudGUgZGkgY29uZmVybWEgKGRlZmF1bHQ6IENvbmZlcm1hKVxyXG4gICAqIEBwYXJhbSBjYW5jZWxCdXR0b25UZXh0IFRlc3RvIGRhIG1vc3RyYXJlIG5lbCBwdWxzYW50ZSBkaSBhbm51bGxhIChkZWZhdWx0OiBDaGl1ZGkpXHJcbiAgICovXHJcbiAgXHJcbiAgICBzdGF0aWMgQ29uZmlybShtZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSwgY29uZmlybUNhbGxiYWNrOiBhbnksIGlzV2FybmluZzogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSBudWxsLCBjdXN0b21XaWR0aDogc3RyaW5nID0gbnVsbCwgY2FuY2VsQ2FsbGJhY2s6IGFueSA9IG51bGwsIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSBudWxsLCBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgPSBudWxsLCBoYXZlRGVueUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlLCBkZW55QnV0dG9uVGV4dDogc3RyaW5nID0gbnVsbCwgZGVueUNhbGxiYWNrOiBhbnkgPSBudWxsLCBhbGxvd091dHNpZGVDbGljayA9IGZhbHNlKSB7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiAnU2VpIHNpY3VybyBkaSB2b2xlciBwcm9jZWRlcmU/JztcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSkge1xyXG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLmpvaW4oXCI8YnI+XCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogY3VycmVudFRpdGxlLFxyXG4gICAgICAgIGh0bWw6IG1lc3NhZ2UsXHJcbiAgICAgICAgd2lkdGg6IGN1c3RvbVdpZHRoID8gY3VzdG9tV2lkdGggOiAnMzJyZW0nLFxyXG4gICAgICAgIGljb246ICFpc1dhcm5pbmcgPyAncXVlc3Rpb24nIDogJ3dhcm5pbmcnLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maXJtQnV0dG9uVGV4dCA/IGNvbmZpcm1CdXR0b25UZXh0IDogJ0NvbmZlcm1hJyxcclxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIGRlbnlCdXR0b25UZXh0OiBkZW55QnV0dG9uVGV4dCA/IGRlbnlCdXR0b25UZXh0IDogJ05vJyxcclxuICAgICAgICBzaG93RGVueUJ1dHRvbjogaGF2ZURlbnlCdXR0b24sXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCA/IGNhbmNlbEJ1dHRvblRleHQgOiAnQ2hpdWRpJyxcclxuICAgICAgICBhbGxvd091dHNpZGVDbGljazogYWxsb3dPdXRzaWRlQ2xpY2ssXHJcbiAgICAgICAgYWxsb3dFc2NhcGVLZXk6IGZhbHNlXHJcbiAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSAmJiBjb25maXJtQ2FsbGJhY2spIHtcclxuICAgICAgICAgICAgY29uZmlybUNhbGxiYWNrKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuaXNEZW5pZWQpIHtcclxuICAgICAgICAgICAgZGVueUNhbGxiYWNrKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChjYW5jZWxDYWxsYmFjaykge1xyXG4gICAgICAgICAgICBjYW5jZWxDYWxsYmFjaygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vc3RyYSB1bm8gc3dlZXRhbGVydCBkaSB0aXBvIElORk8gY29uIGlsIG1lc3NhZ2dpbyBwYXNzYXRvIGNvbWUgcGFyYW1ldHJvXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdnaW8gZGEgbW9zdHJhcmUgbmVsbG8gc3dlZXRhbGVydFxyXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdG9sbyBkZWxsbyBzd2VldGFsZXJ0IChkaSBkZWZhdWx0IG1vc3RyYSAnSW5mbycpXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBJbmZvKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZyA9IG51bGwsIGlzVG9hc3Q6IGJvb2xlYW4gPSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRUaXRsZSA9IHRpdGxlICE9IG51bGwgPyB0aXRsZSA6IFwiSW5mb3JtYXppb25lOlwiO1xyXG4gICAgICAgIFN3YWwuZmlyZShjdXJyZW50VGl0bGUsIG1lc3NhZ2UsICdpbmZvJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgdW5vIHN3ZWV0YWxlcnQgZGkgdGlwbyBXQVJOSU5HIGNvbiBpbCBtZXNzYWdnaW8gcGFzc2F0byBjb21lIHBhcmFtZXRyb1xyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIG1vc3RyYXJlIG5lbGxvIHN3ZWV0YWxlcnRcclxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRvbG8gZGVsbG8gc3dlZXRhbGVydCAoZGkgZGVmYXVsdCBtb3N0cmEgJ0F0dGVuemlvbmUhJylcclxuICAgICAqL1xyXG4gICAgc3RhdGljIFdhcm5pbmcobWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10sIHRpdGxlOiBzdHJpbmcgPSBudWxsLCBpc1RvYXN0OiBib29sZWFuID0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSB0aXRsZSAhPSBudWxsID8gdGl0bGUgOiBcIkF0dGVuemlvbmUhXCI7XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2UpKSB7XHJcbiAgICAgICAgICAgIGxldCBodG1sV2FybmluZ3M6IHN0cmluZyA9IG1lc3NhZ2Uuam9pbihcIjxicj5cIik7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogY3VycmVudFRpdGxlLFxyXG4gICAgICAgICAgICAgICAgaHRtbDogaHRtbFdhcm5pbmdzLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZShjdXJyZW50VGl0bGUsIG1lc3NhZ2UsICd3YXJuaW5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,41 +0,0 @@
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
- //#endregion variabili microfono
6
- constructor(http) {
7
- this.http = http;
8
- }
9
- static debugLog(message, element) {
10
- if (this.debugMode) {
11
- console.log(message, element);
12
- }
13
- }
14
- //key1|value1 ; key2 | value2
15
- static stringToValuePairs(valueString) {
16
- const valuePairs = {};
17
- const keyvals = valueString.split(";");
18
- keyvals.forEach((x) => {
19
- const parts = x.split("|");
20
- if (parts.length == 1) {
21
- valuePairs[parts[0].trim()] = parts[0].trim();
22
- }
23
- else if (parts.length > 1) {
24
- valuePairs[parts[0].trim()] = parts[1].trim();
25
- }
26
- });
27
- return valuePairs;
28
- }
29
- }
30
- GlobalService.debugMode = false;
31
- //#region variabili microfono
32
- GlobalService.isSpeechToTextStarted = false;
33
- GlobalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GlobalService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
34
- GlobalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GlobalService, providedIn: 'root' });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GlobalService, decorators: [{
36
- type: Injectable,
37
- args: [{
38
- providedIn: 'root'
39
- }]
40
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9zZXJ2aWNlcy9nbG9iYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGFBQWE7SUFPeEIsZ0NBQWdDO0lBRWhDLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBZSxFQUFFLE9BQWE7UUFDNUMsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFDO1lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixNQUFNLENBQUUsa0JBQWtCLENBQUMsV0FBbUI7UUFDNUMsTUFBTSxVQUFVLEdBQThCLEVBQUUsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUM7Z0JBQ25CLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDL0M7aUJBQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztnQkFDMUIsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUMvQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7QUE3QmEsdUJBQVMsR0FBRyxLQUFLLENBQUM7QUFFaEMsNkJBQTZCO0FBQ3RCLG1DQUFxQixHQUFHLEtBQUssQ0FBQTsyR0FMekIsYUFBYTsrR0FBYixhQUFhLGNBRlosTUFBTTs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNwZWVjaFRvVGV4dERpcmVjdGl2ZSB9IGZyb20gXCIuLi8uLi9saWIvZGlyZWN0aXZlcy9zcGVlY2gtdG8tdGV4dC9zcGVlY2gtdG8tdGV4dC5kaXJlY3RpdmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbFNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGRlYnVnTW9kZSA9IGZhbHNlO1xyXG4gIFxyXG4gIC8vI3JlZ2lvbiB2YXJpYWJpbGkgbWljcm9mb25vXHJcbiAgc3RhdGljIGlzU3BlZWNoVG9UZXh0U3RhcnRlZCA9IGZhbHNlXHJcbiAgc3RhdGljIHNwZWVjaERpcmVjdGl2ZSA6IFNwZWVjaFRvVGV4dERpcmVjdGl2ZVxyXG4gIC8vI2VuZHJlZ2lvbiB2YXJpYWJpbGkgbWljcm9mb25vXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlYnVnTG9nKG1lc3NhZ2U6IHN0cmluZywgZWxlbWVudD86IGFueSl7XHJcbiAgICBpZih0aGlzLmRlYnVnTW9kZSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9rZXkxfHZhbHVlMSA7IGtleTIgfCB2YWx1ZTJcclxuICBzdGF0aWMgIHN0cmluZ1RvVmFsdWVQYWlycyh2YWx1ZVN0cmluZzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XHJcbiAgICBjb25zdCB2YWx1ZVBhaXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgICBjb25zdCBrZXl2YWxzID0gdmFsdWVTdHJpbmcuc3BsaXQoXCI7XCIpO1xyXG4gICAga2V5dmFscy5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhcnRzID0geC5zcGxpdChcInxcIik7XHJcbiAgICAgIGlmKHBhcnRzLmxlbmd0aCA9PSAxKXtcclxuICAgICAgICB2YWx1ZVBhaXJzW3BhcnRzWzBdLnRyaW0oKV0gPSBwYXJ0c1swXS50cmltKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFydHMubGVuZ3RoID4gMSl7XHJcbiAgICAgICAgdmFsdWVQYWlyc1twYXJ0c1swXS50cmltKCldID0gcGFydHNbMV0udHJpbSgpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHZhbHVlUGFpcnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,43 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class SpinnerService {
5
- constructor() {
6
- this.isLoading = new Subject();
7
- this.requestsCount = 0;
8
- }
9
- /**
10
- * Mostra lo spinner
11
- */
12
- show() {
13
- setTimeout(() => {
14
- this.isLoading.next(true);
15
- }, 100);
16
- }
17
- /**
18
- * Nasconde lo spinner
19
- */
20
- hide() {
21
- setTimeout(() => {
22
- this.isLoading.next(false);
23
- }, 100);
24
- }
25
- addRequestCounter() {
26
- this.requestsCount++;
27
- this.show();
28
- }
29
- removeRequestCounter() {
30
- this.requestsCount--;
31
- if (this.requestsCount == 0)
32
- this.hide();
33
- }
34
- }
35
- SpinnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
36
- SpinnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpinnerService, providedIn: 'root' });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpinnerService, decorators: [{
38
- type: Injectable,
39
- args: [{
40
- providedIn: 'root'
41
- }]
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvc2VydmljZXMvc3Bpbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0IsTUFBTSxPQUFPLGNBQWM7SUFIM0I7UUFJSSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUUzQixrQkFBYSxHQUFXLENBQUMsQ0FBQztLQThCckM7SUE1Qkc7O09BRUc7SUFDSCxJQUFJO1FBQ0EsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDQSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7OzRHQWhDUSxjQUFjO2dIQUFkLGNBQWMsY0FGWCxNQUFNOzRGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Bpbm5lclNlcnZpY2Uge1xyXG4gICAgaXNMb2FkaW5nID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIHJlcXVlc3RzQ291bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3N0cmEgbG8gc3Bpbm5lclxyXG4gICAgICovXHJcbiAgICBzaG93KCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZy5uZXh0KHRydWUpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBOYXNjb25kZSBsbyBzcGlubmVyXHJcbiAgICAgKi9cclxuICAgIGhpZGUoKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkUmVxdWVzdENvdW50ZXIoKSB7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0c0NvdW50Kys7XHJcbiAgICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlUmVxdWVzdENvdW50ZXIoKSB7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0c0NvdW50LS07XHJcbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdHNDb3VudCA9PSAwKVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxufSJdfQ==