@eqproject/eqp-dynamic-module 2.8.8 → 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 -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
@@ -1,66 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { BooleanLogicOperatorType, Condition } from '../../../../../models/trigger.model';
3
- import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
4
- import { ListPresentationEnum } from '../../../../../models/fields/listValueField.model';
5
- import { LogicOperatorListValue } from '../../../../../models/logicOperator.model';
6
- import { GlobalService } from '../../../../../services/global.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@eqproject/eqp-select";
10
- export class ListValueTriggerTemplateComponent {
11
- constructor() {
12
- this.recordChange = new EventEmitter();
13
- this.triggerChange = new EventEmitter();
14
- this.logicOperatorListValue = LogicOperatorListValue;
15
- this.selectedLogicOperatorListValue = LogicOperatorListValue['CONTIENE ALMENO UNO'];
16
- this.booleanLogicOperatorType = BooleanLogicOperatorType;
17
- this.selectedBooleanLogicOperator = BooleanLogicOperatorType.AND;
18
- this.ListPresentationEnum = ListPresentationEnum;
19
- this.arrayData = [];
20
- }
21
- ngOnInit() {
22
- this.field = this.condition.Field;
23
- this.initStyles();
24
- this.setArrayData();
25
- }
26
- initStyles() {
27
- //Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
28
- if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
29
- this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
30
- if (this.field.LabelstyleCSS != null || this.field.LabelstyleCSS != undefined)
31
- this.LabelstyleObj = UtilityHelperService.initStyles(this.field.LabelstyleCSS);
32
- }
33
- /**
34
- * Metodo per emettere l'evento che il valore del record è cambiato.
35
- */
36
- onTriggerChange() {
37
- let output = new Condition();
38
- output = {
39
- key: this.field.Name,
40
- value: this.condition.record[this.field.Name],
41
- logicoperator: this.selectedLogicOperatorListValue,
42
- fieldType: this.field.FieldType,
43
- booleanlogicoperator: this.selectedBooleanLogicOperator
44
- };
45
- this.triggerChange.emit(output);
46
- }
47
- setArrayData() {
48
- this.field.ValuePairs = GlobalService.stringToValuePairs(this.field.ValueString);
49
- Object.keys(this.field.ValuePairs).forEach((k) => {
50
- this.arrayData.push({ Key: k, Value: this.field.ValuePairs[k], Selected: false });
51
- });
52
- }
53
- }
54
- ListValueTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListValueTriggerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- ListValueTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ListValueTriggerTemplateComponent, selector: "list-value-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorListValue\" [(ngModelInput)]=\"selectedLogicOperatorListValue\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n\r\n <eqp-select [ngStyle]=\"FieldstyleObj\" *ngIf=\"field.PresentationMode == ListPresentationEnum['Combo box']\" [arrayData]=\"arrayData\"\r\n [arrayKeyProperty]=\"'Value'\" [showCancelButton]=\"!field.Required\" [arrayValueProperty]=\"'Key'\"\r\n [includeFullObject]=\"false\" [isRequired]=\"true\"\r\n [(ngModelInput)]=\"condition.record[field.Name]\" [isMultiSelect]=\"field.IsMultiChoiche\">\r\n </eqp-select>\r\n\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }] });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListValueTriggerTemplateComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'list-value-trigger-template', template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorListValue\" [(ngModelInput)]=\"selectedLogicOperatorListValue\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n\r\n <eqp-select [ngStyle]=\"FieldstyleObj\" *ngIf=\"field.PresentationMode == ListPresentationEnum['Combo box']\" [arrayData]=\"arrayData\"\r\n [arrayKeyProperty]=\"'Value'\" [showCancelButton]=\"!field.Required\" [arrayValueProperty]=\"'Key'\"\r\n [includeFullObject]=\"false\" [isRequired]=\"true\"\r\n [(ngModelInput)]=\"condition.record[field.Name]\" [isMultiSelect]=\"field.IsMultiChoiche\">\r\n </eqp-select>\r\n\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
59
- }], propDecorators: { condition: [{
60
- type: Input
61
- }], recordChange: [{
62
- type: Output
63
- }], triggerChange: [{
64
- type: Output
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12YWx1ZS10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90cmlnZ2VyLWNyZWF0b3IvdHJpZ2dlci10ZW1wbGF0ZXMvbGlzdC12YWx1ZS10cmlnZ2VyLXRlbXBsYXRlL2xpc3QtdmFsdWUtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL2xpc3QtdmFsdWUtdHJpZ2dlci10ZW1wbGF0ZS9saXN0LXZhbHVlLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFvQixNQUFNLHFDQUFxQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxtREFBbUQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFPdkUsTUFBTSxPQUFPLGlDQUFpQztJQUw5QztRQVVjLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEUsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVyRSwyQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUNoRCxtQ0FBOEIsR0FBMkIsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUt2Ryw2QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztRQUNwRCxpQ0FBNEIsR0FBNkIsd0JBQXdCLENBQUMsR0FBRyxDQUFDO1FBRXRGLHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBRTVDLGNBQVMsR0FBdUUsRUFBRSxDQUFDO0tBMkN0RjtJQXpDRyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQXVCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLGtGQUFrRjtRQUNwRixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxTQUFTO1lBQzFFLElBQUksQ0FBQyxhQUFhLEdBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEYsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksU0FBUztZQUMxRSxJQUFJLENBQUMsYUFBYSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRDs7TUFFRTtJQUVGLGVBQWU7UUFFYixJQUFJLE1BQU0sR0FBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sR0FBRztZQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7WUFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdDLGFBQWEsRUFBRSxJQUFJLENBQUMsOEJBQThCO1lBQ2xELFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDL0Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLDRCQUE0QjtTQUN4RCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFakYsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsrSEEzRFEsaUNBQWlDO21IQUFqQyxpQ0FBaUMsa0xDYjlDLHFnQ0FnQk07NEZESE8saUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLDZCQUE2Qjs4QkFPNUIsU0FBUztzQkFBakIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlLCBDb25kaXRpb24sIFRyaWdnZXJDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvdHJpZ2dlci5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IExpc3RQcmVzZW50YXRpb25FbnVtLCBMaXN0VmFsdWVGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvbGlzdFZhbHVlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yTGlzdFZhbHVlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvbG9naWNPcGVyYXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IEdsb2JhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9nbG9iYWwuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpc3QtdmFsdWUtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtdmFsdWUtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC12YWx1ZS10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RWYWx1ZVRyaWdnZXJUZW1wbGF0ZUNvbXBvbmVudCB7XHJcblxyXG4gICAgLy92YXJpYWJpbGkgZXN0ZXJuZSBwZXIgbCdpbnB1dCBkZWkgY2FtcGlcclxuICAgIEBJbnB1dCgpIGNvbmRpdGlvbjogVHJpZ2dlckNvbmRpdGlvbjtcclxuXHJcbiAgICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG4gICAgQE91dHB1dCgpIHRyaWdnZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgbG9naWNPcGVyYXRvckxpc3RWYWx1ZSA9IExvZ2ljT3BlcmF0b3JMaXN0VmFsdWU7XHJcbiAgICBzZWxlY3RlZExvZ2ljT3BlcmF0b3JMaXN0VmFsdWU6IExvZ2ljT3BlcmF0b3JMaXN0VmFsdWUgPSBMb2dpY09wZXJhdG9yTGlzdFZhbHVlWydDT05USUVORSBBTE1FTk8gVU5PJ107XHJcbiAgICBcclxuICAgIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICAgIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbiAgICBib29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGU7XHJcbiAgICBzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yOiBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUuQU5EOyAgICBcclxuICAgIGZpZWxkOiBMaXN0VmFsdWVGaWVsZDtcclxuICAgIExpc3RQcmVzZW50YXRpb25FbnVtID0gTGlzdFByZXNlbnRhdGlvbkVudW07XHJcblxyXG4gICAgYXJyYXlEYXRhOiB7IEtleTogc3RyaW5nLCBWYWx1ZTogYW55LCBTZWxlY3RlZD86IGJvb2xlYW4sIEltZ1VybD86IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5maWVsZCA9IHRoaXMuY29uZGl0aW9uLkZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkO1xyXG4gICAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICAgICAgdGhpcy5zZXRBcnJheURhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0U3R5bGVzKCkge1xyXG4gICAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgICAgaWYodGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICAgKi9cclxuICBcclxuICAgIG9uVHJpZ2dlckNoYW5nZSgpIHtcclxuXHJcbiAgICAgIGxldCBvdXRwdXQ6Q29uZGl0aW9uID0gbmV3IENvbmRpdGlvbigpO1xyXG4gICAgICBvdXRwdXQgPSB7XHJcbiAgICAgICAga2V5OiB0aGlzLmZpZWxkLk5hbWUsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdLFxyXG4gICAgICAgIGxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yTGlzdFZhbHVlLFxyXG4gICAgICAgIGZpZWxkVHlwZTogdGhpcy5maWVsZC5GaWVsZFR5cGUsXHJcbiAgICAgICAgYm9vbGVhbmxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy50cmlnZ2VyQ2hhbmdlLmVtaXQob3V0cHV0KTtcclxuICAgIH0gICAgXHJcblxyXG4gICAgcHJpdmF0ZSBzZXRBcnJheURhdGEoKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuVmFsdWVQYWlycyA9IEdsb2JhbFNlcnZpY2Uuc3RyaW5nVG9WYWx1ZVBhaXJzKHRoaXMuZmllbGQuVmFsdWVTdHJpbmcpO1xyXG5cclxuICAgICAgT2JqZWN0LmtleXModGhpcy5maWVsZC5WYWx1ZVBhaXJzKS5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnJheURhdGEucHVzaCh7S2V5OiBrLCBWYWx1ZTogdGhpcy5maWVsZC5WYWx1ZVBhaXJzW2tdLCBTZWxlY3RlZDogZmFsc2V9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiBcclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwibG9naWNPcGVyYXRvckxpc3RWYWx1ZVwiIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZExvZ2ljT3BlcmF0b3JMaXN0VmFsdWVcIiAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCI+PC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdmFsdWVDb2xcIj5cclxuXHJcbiAgICAgICAgICAgIDxlcXAtc2VsZWN0IFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIiAqbmdJZj1cImZpZWxkLlByZXNlbnRhdGlvbk1vZGUgPT0gTGlzdFByZXNlbnRhdGlvbkVudW1bJ0NvbWJvIGJveCddXCIgW2FycmF5RGF0YV09XCJhcnJheURhdGFcIlxyXG4gICAgICAgICAgICBbYXJyYXlLZXlQcm9wZXJ0eV09XCInVmFsdWUnXCIgW3Nob3dDYW5jZWxCdXR0b25dPVwiIWZpZWxkLlJlcXVpcmVkXCIgW2FycmF5VmFsdWVQcm9wZXJ0eV09XCInS2V5J1wiXHJcbiAgICAgICAgICAgIFtpbmNsdWRlRnVsbE9iamVjdF09XCJmYWxzZVwiIFtpc1JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lXVwiIFtpc011bHRpU2VsZWN0XT1cImZpZWxkLklzTXVsdGlDaG9pY2hlXCI+XHJcbiAgICAgICAgICAgIDwvZXFwLXNlbGVjdD5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtlbnVtRGF0YV09XCJib29sZWFuTG9naWNPcGVyYXRvclR5cGVcIiBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclwiIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj4gICAgICAgICBcclxuPC9kaXY+Il19
@@ -1,102 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { EqpNumericInputMode } from '@eqproject/eqp-numeric';
4
- import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
5
- import { LogicOperatorNumeric } from '../../../../../models/logicOperator.model';
6
- import { BooleanLogicOperatorType, Condition } from '../../../../../models/trigger.model';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/input";
9
- import * as i2 from "@angular/material/form-field";
10
- import * as i3 from "@angular/forms";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "@eqproject/eqp-select";
13
- import * as i6 from "@eqproject/eqp-numeric";
14
- export class NumericTriggerTemplateComponent {
15
- constructor() {
16
- this.triggerChange = new EventEmitter();
17
- this.validatorsArray = [];
18
- this.eqpNumericOptions = {};
19
- this.logicOperatorNumeric = LogicOperatorNumeric;
20
- this.selectedLogicOperator = LogicOperatorNumeric['='];
21
- this.activeCondition = false;
22
- this.booleanLogicOperatorType = BooleanLogicOperatorType;
23
- this.selectedBooleanLogicOperator = BooleanLogicOperatorType.AND;
24
- }
25
- ngOnInit() {
26
- this.field = this.condition.Field;
27
- this.selectedBooleanLogicOperator = this.condition.booleanlogicoperator;
28
- this.selectedLogicOperator = this.condition.logicoperator;
29
- this.configureEqpNumericOptions();
30
- this.configureControllers();
31
- this.initStyles();
32
- }
33
- //Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
34
- initStyles() {
35
- if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
36
- this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
37
- if (this.field.LabelstyleCSS != null || this.field.LabelstyleCSS != undefined)
38
- this.LabelstyleObj = UtilityHelperService.initStyles(this.field.LabelstyleCSS);
39
- }
40
- /**
41
- * Metodo per emettere l'evento che il valore del record è cambiato.
42
- */
43
- onTriggerChange() {
44
- let output = new Condition();
45
- output = {
46
- key: this.field.Name,
47
- value: this.condition.record[this.field.Name],
48
- logicoperator: this.selectedLogicOperator,
49
- fieldType: this.field.FieldType,
50
- booleanlogicoperator: this.selectedBooleanLogicOperator
51
- };
52
- this.triggerChange.emit(output);
53
- }
54
- /**
55
- * Metodo per configurare eqp-numeric
56
- */
57
- configureEqpNumericOptions() {
58
- this.eqpNumericOptions.suffix = this.field.MeasureUnit ? " " + this.field.MeasureUnit + " " : "";
59
- this.eqpNumericOptions.prefix = this.field.CurrencySymbol ? this.field.CurrencySymbol + " " : "";
60
- this.eqpNumericOptions.inputMode = this.field.CurrencySymbol ? EqpNumericInputMode.FINANCIAL : EqpNumericInputMode.NATURAL;
61
- this.eqpNumericOptions.allowNegative = true;
62
- if (this.field.DecimalSeparator != null && this.field.DecimalSeparator != undefined)
63
- this.eqpNumericOptions.decimal = this.field.DecimalSeparator;
64
- else
65
- this.eqpNumericOptions.decimal = ".";
66
- if (this.field.ThousandsSeparator != null && this.field.ThousandsSeparator != undefined)
67
- this.eqpNumericOptions.thousands = this.field.ThousandsSeparator;
68
- if (this.field.IsInteger == false) {
69
- if (this.field.DecimalPrecision != null && this.field.DecimalPrecision != undefined) {
70
- this.eqpNumericOptions.precision = this.field.DecimalPrecision;
71
- }
72
- else {
73
- this.eqpNumericOptions.precision = 2;
74
- }
75
- }
76
- else {
77
- this.eqpNumericOptions.precision = 0;
78
- }
79
- }
80
- /**
81
- * Metodo di aggiunta dei validator dell'input
82
- */
83
- configureControllers() {
84
- this.validatorsArray = [];
85
- if (this.field.MinValue != null && this.field.MinValue != undefined)
86
- this.validatorsArray.push(Validators.min(this.field.MinValue));
87
- if (this.field.MaxValue != null && this.field.MaxValue != undefined)
88
- this.validatorsArray.push(Validators.max(this.field.MaxValue));
89
- this.field.FormFormGroup.get([this.field.Name]).setValidators(this.validatorsArray);
90
- }
91
- }
92
- NumericTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericTriggerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
93
- NumericTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NumericTriggerTemplateComponent, selector: "numeric-trigger-template", inputs: { condition: "condition" }, outputs: { triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onTriggerChange()\" />\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "directive", type: i6.EqpNumericDirective, selector: "[eqpNumericMask]", inputs: ["options"] }] });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericTriggerTemplateComponent, decorators: [{
95
- type: Component,
96
- args: [{ selector: 'numeric-trigger-template', template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModelInput)]=\"selectedLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"this.condition.record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onTriggerChange()\" />\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"booleanLogicOperatorType\" [(ngModelInput)]=\"selectedBooleanLogicOperator\" (ngModelInputChange)=\"onTriggerChange()\"></eqp-select>\r\n </div> \r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
97
- }], ctorParameters: function () { return []; }, propDecorators: { condition: [{
98
- type: Input
99
- }], triggerChange: [{
100
- type: Output
101
- }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90cmlnZ2VyLWNyZWF0b3IvdHJpZ2dlci10ZW1wbGF0ZXMvbnVtZXJpYy10cmlnZ2VyLXRlbXBsYXRlL251bWVyaWMtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL251bWVyaWMtdHJpZ2dlci10ZW1wbGF0ZS9udW1lcmljLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXRGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBb0Isd0JBQXdCLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBTzVHLE1BQU0sT0FBTywrQkFBK0I7SUFtQjVDO1FBaEJZLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckUsb0JBQWUsR0FBVSxFQUFFLENBQUM7UUFDNUIsc0JBQWlCLEdBQStCLEVBQUUsQ0FBQztRQUNuRCx5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUM1QywwQkFBcUIsR0FBeUIsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEUsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakMsNkJBQXdCLEdBQUcsd0JBQXdCLENBQUM7UUFDcEQsaUNBQTRCLEdBQTZCLHdCQUF3QixDQUFDLEdBQUcsQ0FBQztJQVN4RixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFxQixDQUFDO1FBQ2xELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQXFDLENBQUM7UUFFbEYsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFQyxrRkFBa0Y7SUFDbEYsVUFBVTtRQUNSLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLFNBQVM7WUFDNUUsSUFBSSxDQUFDLGFBQWEsR0FBRSxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RSxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxTQUFTO1lBQzVFLElBQUksQ0FBQyxhQUFhLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOztNQUVFO0lBQ0YsZUFBZTtRQUViLElBQUksTUFBTSxHQUFhLElBQUksU0FBUyxFQUFFLENBQUM7UUFDdkMsTUFBTSxHQUFHO1lBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDN0MsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUMvQixvQkFBb0IsRUFBRSxJQUFJLENBQUMsNEJBQTRCO1NBQ3hELENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O01BRUU7SUFDTSwwQkFBMEI7UUFFaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1FBQzNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUMsSUFBSSxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTO1lBQ25GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQzs7WUFFN0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBQyxHQUFHLENBQUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLFNBQVM7WUFDdkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDO1FBQ2pFLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUcsS0FBSyxFQUFDO1lBQzlCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO2FBQUU7aUJBQ25KO2dCQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2FBQUU7U0FDL0M7YUFBSTtZQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVEOztNQUVFO0lBQ00sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVM7WUFDbkUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksU0FBUztZQUNuRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RixDQUFDOzs2SEExRlksK0JBQStCO2lIQUEvQiwrQkFBK0IsaUpDYjVDLDBnQ0FlTTs0RkRGTywrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQU0zQixTQUFTO3NCQUFqQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVxcE51bWVyaWNJbnB1dE1vZGUsIE51bWVyaWNNYXNrQ29uZmlnIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtbnVtZXJpYyc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE51bWVyaWNGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvbnVtZXJpY0ZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgTG9naWNPcGVyYXRvck51bWVyaWMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvbG9naWNPcGVyYXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFRyaWdnZXJDb25kaXRpb24sIEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSwgQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3RyaWdnZXIubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdudW1lcmljLXRyaWdnZXItdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1lcmljLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL251bWVyaWMtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1lcmljVHJpZ2dlclRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uO1xyXG4gIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHZhbGlkYXRvcnNBcnJheTogYW55W10gPSBbXTtcclxuICBlcXBOdW1lcmljT3B0aW9uczogUGFydGlhbDxOdW1lcmljTWFza0NvbmZpZz4gPSB7fTtcclxuICBsb2dpY09wZXJhdG9yTnVtZXJpYyA9IExvZ2ljT3BlcmF0b3JOdW1lcmljO1xyXG4gIHNlbGVjdGVkTG9naWNPcGVyYXRvcjogTG9naWNPcGVyYXRvck51bWVyaWMgPSBMb2dpY09wZXJhdG9yTnVtZXJpY1snPSddO1xyXG4gIGFjdGl2ZUNvbmRpdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBib29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGU7XHJcbiAgc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvcjogQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlID0gQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlLkFORDtcclxuXHJcbiAgZmllbGQ6IE51bWVyaWNGaWVsZDtcclxuXHJcbiAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgRmllbGRzdHlsZU9iajogYW55O1xyXG4gIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbmNvbnN0cnVjdG9yKCkge1xyXG59XHJcblxyXG5uZ09uSW5pdCgpOiB2b2lkIHtcclxuICB0aGlzLmZpZWxkID0gdGhpcy5jb25kaXRpb24uRmllbGQgYXMgTnVtZXJpY0ZpZWxkO1xyXG4gIHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvciA9IHRoaXMuY29uZGl0aW9uLmJvb2xlYW5sb2dpY29wZXJhdG9yO1xyXG4gIHRoaXMuc2VsZWN0ZWRMb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24ubG9naWNvcGVyYXRvciBhcyBMb2dpY09wZXJhdG9yTnVtZXJpYztcclxuXHJcbiAgdGhpcy5jb25maWd1cmVFcXBOdW1lcmljT3B0aW9ucygpO1xyXG4gIHRoaXMuY29uZmlndXJlQ29udHJvbGxlcnMoKTtcclxuICB0aGlzLmluaXRTdHlsZXMoKTtcclxufVxyXG5cclxuICAvL0Z1bnppb25lIHBlciBwYXJzYXJlIGlsIGNhbXBvIHN0eWxlY3NzIGRlbGwnb2dnZXR0byBmaWVsZCBlZCBhcHBsaWNhcmxvIGFsbCdodG1sXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgIGlmKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4qL1xyXG5vblRyaWdnZXJDaGFuZ2UoKSB7XHJcblxyXG4gIGxldCBvdXRwdXQ6Q29uZGl0aW9uID0gbmV3IENvbmRpdGlvbigpO1xyXG4gIG91dHB1dCA9IHtcclxuICAgIGtleTogdGhpcy5maWVsZC5OYW1lLFxyXG4gICAgdmFsdWU6IHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdLFxyXG4gICAgbG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IsXHJcbiAgICBmaWVsZFR5cGU6IHRoaXMuZmllbGQuRmllbGRUeXBlLFxyXG4gICAgYm9vbGVhbmxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclxyXG4gIH07XHJcblxyXG4gIHRoaXMudHJpZ2dlckNoYW5nZS5lbWl0KG91dHB1dCk7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgY29uZmlndXJhcmUgZXFwLW51bWVyaWNcclxuKi9cclxucHJpdmF0ZSBjb25maWd1cmVFcXBOdW1lcmljT3B0aW9ucygpIHtcclxuXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5zdWZmaXggPSB0aGlzLmZpZWxkLk1lYXN1cmVVbml0ID8gXCIgIFwiK3RoaXMuZmllbGQuTWVhc3VyZVVuaXQrXCIgIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWZpeCA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sK1wiIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmlucHV0TW9kZSA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyBFcXBOdW1lcmljSW5wdXRNb2RlLkZJTkFOQ0lBTCA6IEVxcE51bWVyaWNJbnB1dE1vZGUuTkFUVVJBTDtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmFsbG93TmVnYXRpdmU9dHJ1ZTtcclxuICBpZiAodGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IG51bGwgJiYgdGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IHVuZGVmaW5lZClcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmRlY2ltYWwgPSB0aGlzLmZpZWxkLkRlY2ltYWxTZXBhcmF0b3I7XHJcbiAgZWxzZVxyXG4gIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMuZGVjaW1hbD1cIi5cIjtcclxuICBpZiAodGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvciAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy50aG91c2FuZHMgPSB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvcjtcclxuICBpZih0aGlzLmZpZWxkLklzSW50ZWdlcj09IGZhbHNlKXtcclxuICAgIGlmICh0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gbnVsbCAmJiB0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gdW5kZWZpbmVkKSB7IHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uID0gdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uOyB9XHJcbiAgICBlbHNlIHsgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24gPSAyOyB9XHJcbiAgfWVsc2V7XHJcbiAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuKiBNZXRvZG8gZGkgYWdnaXVudGEgZGVpIHZhbGlkYXRvciBkZWxsJ2lucHV0XHJcbiovXHJcbnByaXZhdGUgY29uZmlndXJlQ29udHJvbGxlcnMoKSB7XHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkgPSBbXTtcclxuICBpZiAodGhpcy5maWVsZC5NaW5WYWx1ZSAhPSBudWxsICYmIHRoaXMuZmllbGQuTWluVmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5maWVsZC5NaW5WYWx1ZSkpO1xyXG4gIGlmICh0aGlzLmZpZWxkLk1heFZhbHVlICE9IG51bGwgJiYgdGhpcy5maWVsZC5NYXhWYWx1ZSAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLmZpZWxkLk1heFZhbHVlKSk7XHJcbiAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmdldChbdGhpcy5maWVsZC5OYW1lXSkuc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnNBcnJheSk7XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIG9wZXJhdG9yQ29sXCI+XHJcbiAgICAgICAgPGVxcC1zZWxlY3QgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JOdW1lcmljXCIgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiB2YWx1ZUNvbFwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbCAgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPiB7e2ZpZWxkLkRlc2NyaXB0aW9ufX0gPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIiBtYXRJbnB1dCBlcXBOdW1lcmljTWFzayBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwidGhpcy5jb25kaXRpb24ucmVjb3JkW2ZpZWxkLk5hbWVdXCIgW29wdGlvbnNdPVwiZXFwTnVtZXJpY09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdGVwXT1cImZpZWxkLklzSW50ZWdlciA/IDEgOiBudWxsXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIiAvPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtlbnVtRGF0YV09XCJib29sZWFuTG9naWNPcGVyYXRvclR5cGVcIiBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclwiIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj4gICAgICAgICBcclxuPC9kaXY+Il19
@@ -1,84 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { TextMaskEnum } from '../../../../../models/fields/textField.model';
3
- import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
4
- import { interval } from 'rxjs';
5
- import { LogicOperatorText } from '../../../../../models/logicOperator.model';
6
- import { BooleanLogicOperatorType, Condition } from '../../../../../models/trigger.model';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/input";
9
- import * as i2 from "@angular/material/form-field";
10
- import * as i3 from "@angular/material/icon";
11
- import * as i4 from "@angular/forms";
12
- import * as i5 from "@angular/common";
13
- import * as i6 from "@eqproject/eqp-select";
14
- import * as i7 from "../../../../../directives/speech-to-text/speech-to-text.directive";
15
- export class TextTriggerTemplateComponent {
16
- constructor() {
17
- this.recordChange = new EventEmitter();
18
- this.triggerChange = new EventEmitter();
19
- //Variabili per l'input vocale
20
- this.isStillRecoginze = false;
21
- this.source = interval(200);
22
- this.STT = true;
23
- this.InputMaskEnum = TextMaskEnum;
24
- this.logicOperatorText = LogicOperatorText;
25
- this.selectedLogicOperator = LogicOperatorText['='];
26
- this.activeCondition = false;
27
- this.booleanLogicOperatorType = BooleanLogicOperatorType;
28
- this.selectedBooleanLogicOperator = BooleanLogicOperatorType.AND;
29
- }
30
- ngOnInit() {
31
- this.field = this.condition.Field;
32
- this.selectedBooleanLogicOperator = this.condition.booleanlogicoperator;
33
- this.selectedLogicOperator = this.condition.logicoperator;
34
- this.initStyles();
35
- }
36
- initStyles() {
37
- //Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
38
- if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
39
- this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
40
- if (this.field.LabelstyleCSS != null || this.field.LabelstyleCSS != undefined)
41
- this.LabelstyleObj = UtilityHelperService.initStyles(this.field.LabelstyleCSS);
42
- }
43
- getInputType() {
44
- switch (this.field.TextMask) {
45
- case TextMaskEnum.Email:
46
- return 'email';
47
- case TextMaskEnum.Password:
48
- return 'password';
49
- case TextMaskEnum.Telefono:
50
- return 'tel';
51
- case TextMaskEnum.Url:
52
- return 'url';
53
- default:
54
- return 'text';
55
- }
56
- }
57
- /**
58
- * Metodo per emettere l'evento che il valore del record è cambiato.
59
- */
60
- onTriggerChange() {
61
- let output = new Condition();
62
- output = {
63
- key: this.field.Name,
64
- value: this.condition.record[this.field.Name],
65
- logicoperator: this.selectedLogicOperator,
66
- fieldType: this.field.FieldType,
67
- booleanlogicoperator: this.selectedBooleanLogicOperator
68
- };
69
- this.triggerChange.emit(output);
70
- }
71
- }
72
- TextTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextTriggerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
- TextTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextTriggerTemplateComponent, selector: "text-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n />\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n >keyboard_voice</mat-icon\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"] }] });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextTriggerTemplateComponent, decorators: [{
75
- type: Component,
76
- args: [{ selector: 'text-trigger-template', template: "<div class=\"row\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n />\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n >keyboard_voice</mat-icon\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
77
- }], ctorParameters: function () { return []; }, propDecorators: { condition: [{
78
- type: Input
79
- }], recordChange: [{
80
- type: Output
81
- }], triggerChange: [{
82
- type: Output
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS90cmlnZ2VyLWNyZWF0b3IvdHJpZ2dlci10ZW1wbGF0ZXMvdGV4dC10cmlnZ2VyLXRlbXBsYXRlL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS90ZXh0LXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7O0FBTzVHLE1BQU0sT0FBTyw0QkFBNEI7SUE2QnZDO1FBeEJZLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEUsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV2RSw4QkFBOEI7UUFDOUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFJdkIsUUFBRyxHQUFVLElBQUksQ0FBQztRQUtsQixrQkFBYSxHQUFHLFlBQVksQ0FBQztRQUU3QixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN0QywwQkFBcUIsR0FBc0IsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakMsNkJBQXdCLEdBQUcsd0JBQXdCLENBQUM7UUFDcEQsaUNBQTRCLEdBQTZCLHdCQUF3QixDQUFDLEdBQUcsQ0FBQztJQUl0RixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFrQixDQUFDO1FBQy9DLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWtDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxVQUFVO1FBQ04sa0ZBQWtGO1FBQ3BGLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLFNBQVM7WUFDMUUsSUFBSSxDQUFDLGFBQWEsR0FBRSxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxTQUFTO1lBQzFFLElBQUksQ0FBQyxhQUFhLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVBLFlBQVk7UUFDVixRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzNCLEtBQUssWUFBWSxDQUFDLEtBQUs7Z0JBQ3JCLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssWUFBWSxDQUFDLFFBQVE7Z0JBQ3hCLE9BQU8sVUFBVSxDQUFDO1lBQ3BCLEtBQUssWUFBWSxDQUFDLFFBQVE7Z0JBQ3hCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxZQUFZLENBQUMsR0FBRztnQkFDbkIsT0FBTyxLQUFLLENBQUE7WUFDZDtnQkFDRSxPQUFPLE1BQU0sQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRDs7TUFFRTtJQUVGLGVBQWU7UUFFYixJQUFJLE1BQU0sR0FBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sR0FBRztZQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7WUFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdDLGFBQWEsRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDL0Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLDRCQUE0QjtTQUN4RCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MEhBOUVVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLDRLQ2J6Qyx5eENBd0NBOzRGRDNCYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsdUJBQXVCOzBFQU90QixTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yVGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlLCBDb25kaXRpb24sIFRyaWdnZXJDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvdHJpZ2dlci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RleHQtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC10cmlnZ2VyLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvL1ZhcmlhYmlsaSBwZXIgbCdpbnB1dCB2b2NhbGVcclxuICBpc1N0aWxsUmVjb2dpbnplID0gZmFsc2U7XHJcbiAgc291cmNlID0gaW50ZXJ2YWwoMjAwKTtcclxuICBuZXd0ZXh0OiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIFNUVDpib29sZWFuID10cnVlO1xyXG4gIC8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG4gIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICBMYWJlbHN0eWxlT2JqOiBhbnk7XHJcblxyXG4gIElucHV0TWFza0VudW0gPSBUZXh0TWFza0VudW07XHJcblxyXG4gIGxvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgc2VsZWN0ZWRMb2dpY09wZXJhdG9yOiBMb2dpY09wZXJhdG9yVGV4dCA9IExvZ2ljT3BlcmF0b3JUZXh0Wyc9J107XHJcbiAgYWN0aXZlQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZTtcclxuICBzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yOiBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUgPSBCb29sZWFuTG9naWNPcGVyYXRvclR5cGUuQU5EO1xyXG4gIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpZWxkID0gdGhpcy5jb25kaXRpb24uRmllbGQgYXMgVGV4dEZpZWxkO1xyXG4gICAgdGhpcy5zZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24uYm9vbGVhbmxvZ2ljb3BlcmF0b3I7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciA9IHRoaXMuY29uZGl0aW9uLmxvZ2ljb3BlcmF0b3IgYXMgTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuRmllbGRzdHlsZU9iaj0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MpO1xyXG4gICAgaWYodGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5MYWJlbHN0eWxlT2JqID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MpO1xyXG4gfVxyXG5cclxuICBnZXRJbnB1dFR5cGUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuVGV4dE1hc2spIHtcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uRW1haWw6XHJcbiAgICAgICAgcmV0dXJuICdlbWFpbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlBhc3N3b3JkOlxyXG4gICAgICAgIHJldHVybiAncGFzc3dvcmQnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5UZWxlZm9ubzpcclxuICAgICAgICByZXR1cm4gJ3RlbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlVybDpcclxuICAgICAgICByZXR1cm4gJ3VybCdcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuICAqL1xyXG4gXHJcbiAgb25UcmlnZ2VyQ2hhbmdlKCkge1xyXG5cclxuICAgIGxldCBvdXRwdXQ6Q29uZGl0aW9uID0gbmV3IENvbmRpdGlvbigpO1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMuY29uZGl0aW9uLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgZmllbGRUeXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZSxcclxuICAgICAgYm9vbGVhbmxvZ2ljb3BlcmF0b3I6IHRoaXMuc2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnRyaWdnZXJDaGFuZ2UuZW1pdChvdXRwdXQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgPGVxcC1zZWxlY3RcclxuICAgICAgW2VudW1EYXRhXT1cImxvZ2ljT3BlcmF0b3JUZXh0XCJcclxuICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiXHJcbiAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgPjwvZXFwLXNlbGVjdD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdmFsdWVDb2xcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+XHJcbiAgICAgICAge3sgZmllbGQuRGVzY3JpcHRpb24gfX1cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW3R5cGVdPVwiZ2V0SW5wdXRUeXBlKClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lXVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bWF0LWljb25cclxuICAgICAgICBbaGlkZGVuXT1cIiFmaWVsZC5NaWNyb3Bob25lXCJcclxuICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICBTcGVlY2hUb1RleHRcclxuICAgICAgICBbKGJpbmRlZFRleHQpXT1cInRoaXMuY29uZGl0aW9uLnJlY29yZFtmaWVsZC5OYW1lXVwiXHJcbiAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxyXG4gICAgICAgID5rZXlib2FyZF92b2ljZTwvbWF0LWljb25cclxuICAgICAgPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgIDxlcXAtc2VsZWN0XHJcbiAgICAgIFtlbnVtRGF0YV09XCJib29sZWFuTG9naWNPcGVyYXRvclR5cGVcIlxyXG4gICAgICBbKG5nTW9kZWxJbnB1dCldPVwic2VsZWN0ZWRCb29sZWFuTG9naWNPcGVyYXRvclwiXHJcbiAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25UcmlnZ2VyQ2hhbmdlKClcIlxyXG4gICAgPjwvZXFwLXNlbGVjdD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { TextMaskEnum } from '../../../../../models/fields/textField.model';
3
- import { UtilityHelperService } from '../../../../../services/utilityHelper.services';
4
- import { interval } from 'rxjs';
5
- import { LogicOperatorText } from '../../../../../models/logicOperator.model';
6
- import { Condition, BooleanLogicOperatorType } from '../../../../../models/trigger.model';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/input";
9
- import * as i2 from "@angular/material/form-field";
10
- import * as i3 from "@angular/material/icon";
11
- import * as i4 from "@angular/forms";
12
- import * as i5 from "@angular/common";
13
- import * as i6 from "@eqproject/eqp-select";
14
- import * as i7 from "../../../../../directives/speech-to-text/speech-to-text.directive";
15
- export class TextareaTriggerTemplateComponent {
16
- constructor() {
17
- this.recordChange = new EventEmitter();
18
- this.triggerChange = new EventEmitter();
19
- //Variabili per l'input vocale
20
- this.isStillRecoginze = false;
21
- this.source = interval(200);
22
- this.STT = true;
23
- this.InputMaskEnum = TextMaskEnum;
24
- this.logicOperatorText = LogicOperatorText;
25
- this.selectedLogicOperator = LogicOperatorText['='];
26
- this.activeCondition = false;
27
- this.booleanLogicOperatorType = BooleanLogicOperatorType;
28
- this.selectedBooleanLogicOperator = BooleanLogicOperatorType.AND;
29
- }
30
- ngOnInit() {
31
- this.field = this.condition.Field;
32
- this.selectedBooleanLogicOperator = this.condition.booleanlogicoperator;
33
- this.selectedLogicOperator = this.condition.logicoperator;
34
- this.initStyles();
35
- }
36
- initStyles() {
37
- //Funzione per parsare il campo stylecss dell'oggetto field ed applicarlo all'html
38
- if (this.field.FieldstyleCSS != null || this.field.FieldstyleCSS != undefined)
39
- this.FieldstyleObj = UtilityHelperService.initStyles(this.field.FieldstyleCSS);
40
- if (this.field.LabelstyleCSS != null || this.field.LabelstyleCSS != undefined)
41
- this.LabelstyleObj = UtilityHelperService.initStyles(this.field.LabelstyleCSS);
42
- }
43
- getInputType() {
44
- switch (this.field.TextMask) {
45
- case TextMaskEnum.Email:
46
- return 'email';
47
- case TextMaskEnum.Password:
48
- return 'password';
49
- case TextMaskEnum.Telefono:
50
- return 'tel';
51
- case TextMaskEnum.Url:
52
- return 'url';
53
- default:
54
- return 'text';
55
- }
56
- }
57
- /**
58
- * Metodo per emettere l'evento che il valore del record è cambiato.
59
- */
60
- onTriggerChange() {
61
- let output = new Condition();
62
- output = {
63
- key: this.field.Name,
64
- value: this.condition.record[this.field.Name],
65
- logicoperator: this.selectedLogicOperator,
66
- fieldType: this.field.FieldType,
67
- booleanlogicoperator: this.selectedBooleanLogicOperator
68
- };
69
- this.triggerChange.emit(output);
70
- }
71
- }
72
- TextareaTriggerTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaTriggerTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
- TextareaTriggerTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaTriggerTemplateComponent, selector: "textarea-trigger-template", inputs: { condition: "condition" }, outputs: { recordChange: "recordChange", triggerChange: "triggerChange" }, ngImport: i0, template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n ></textarea>\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n >keyboard_voice</mat-icon\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "directive", type: i7.SpeechToTextDirective, selector: "[SpeechToText]", inputs: ["bindedText"], outputs: ["bindedTextChange"] }] });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaTriggerTemplateComponent, decorators: [{
75
- type: Component,
76
- args: [{ selector: 'textarea-trigger-template', template: "<div class=\"row textareaFilterTemplate\">\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"logicOperatorText\"\r\n [(ngModelInput)]=\"selectedLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n <div class=\"col-md-6 valueCol\">\r\n <mat-form-field>\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [readonly]=\"false\"\r\n [required]=\"false\"\r\n [(ngModel)]=\"this.condition.record[field.Name]\"\r\n (ngModelChange)=\"onTriggerChange()\"\r\n ></textarea>\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n matSuffix\r\n SpeechToText\r\n [(bindedText)]=\"this.condition.record[field.Name]\"\r\n style=\"cursor: pointer\"\r\n >keyboard_voice</mat-icon\r\n >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select\r\n [enumData]=\"booleanLogicOperatorType\"\r\n [(ngModelInput)]=\"selectedBooleanLogicOperator\"\r\n (ngModelInputChange)=\"onTriggerChange()\"\r\n ></eqp-select>\r\n </div>\r\n</div>\r\n", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}.keyboard_speaking{color:red}::ng-deep .textareaFilterTemplate .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important;min-height:80px!important}::ng-deep .textareaFilterTemplate .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}::ng-deep eqp-select .mat-form-field-appearance-fill.ng-touched label.mdc-floating-label.mat-mdc-floating-label{background-color:transparent!important}\n"] }]
77
- }], ctorParameters: function () { return []; }, propDecorators: { condition: [{
78
- type: Input
79
- }], recordChange: [{
80
- type: Output
81
- }], triggerChange: [{
82
- type: Output
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJpZ2dlci1jcmVhdG9yL3RyaWdnZXItdGVtcGxhdGVzL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUvdGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQW9CLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7QUFPNUcsTUFBTSxPQUFPLGdDQUFnQztJQStCM0M7UUExQlksaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRSxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBSXZFLDhCQUE4QjtRQUM5QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUl2QixRQUFHLEdBQVUsSUFBSSxDQUFDO1FBTWxCLGtCQUFhLEdBQUcsWUFBWSxDQUFDO1FBRTdCLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQ3RDLDBCQUFxQixHQUFzQixpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRSxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQyw2QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztRQUNwRCxpQ0FBNEIsR0FBNkIsd0JBQXdCLENBQUMsR0FBRyxDQUFDO0lBR3RGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQWtCLENBQUM7UUFDL0MsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7UUFDeEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBa0MsQ0FBQztRQUMvRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELFVBQVU7UUFDTixrRkFBa0Y7UUFDcEYsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksU0FBUztZQUMxRSxJQUFJLENBQUMsYUFBYSxHQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hGLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLFNBQVM7WUFDMUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUEsWUFBWTtRQUNWLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDM0IsS0FBSyxZQUFZLENBQUMsS0FBSztnQkFDckIsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxZQUFZLENBQUMsUUFBUTtnQkFDeEIsT0FBTyxVQUFVLENBQUM7WUFDcEIsS0FBSyxZQUFZLENBQUMsUUFBUTtnQkFDeEIsT0FBTyxLQUFLLENBQUM7WUFDZixLQUFLLFlBQVksQ0FBQyxHQUFHO2dCQUNuQixPQUFPLEtBQUssQ0FBQTtZQUNkO2dCQUNFLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVIOztNQUVFO0lBQ0YsZUFBZTtRQUViLElBQUksTUFBTSxHQUFhLElBQUksU0FBUyxFQUFFLENBQUM7UUFDdkMsTUFBTSxHQUFHO1lBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDN0MsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUMvQixvQkFBb0IsRUFBRSxJQUFJLENBQUMsNEJBQTRCO1NBQ3hELENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs4SEE5RVksZ0NBQWdDO2tIQUFoQyxnQ0FBZ0MsZ0xDYjdDLDZ6Q0F3Q0E7NEZEM0JhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwyQkFBMkI7MEVBTzFCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRNYXNrRW51bSwgVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljT3BlcmF0b3JUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2xvZ2ljT3BlcmF0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmlnZ2VyQ29uZGl0aW9uLCBDb25kaXRpb24sIEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy90cmlnZ2VyLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGV4dGFyZWEtdHJpZ2dlci10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLXRyaWdnZXItdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFUcmlnZ2VyVGVtcGxhdGVDb21wb25lbnQge1xyXG5cclxuICAgIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgICBASW5wdXQoKSBjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb247XHJcblxyXG4gICAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmlnZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGZpZWxkOiBUZXh0RmllbGQ7XHJcblxyXG4gIC8vVmFyaWFiaWxpIHBlciBsJ2lucHV0IHZvY2FsZVxyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgU1RUOmJvb2xlYW4gPXRydWU7XHJcbiAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgRmllbGRzdHlsZU9iajogYW55O1xyXG4gIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbiAgXHJcbiAgSW5wdXRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuXHJcbiAgbG9naWNPcGVyYXRvclRleHQgPSBMb2dpY09wZXJhdG9yVGV4dDtcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JUZXh0ID0gTG9naWNPcGVyYXRvclRleHRbJz0nXTtcclxuICBhY3RpdmVDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgYm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlID0gQm9vbGVhbkxvZ2ljT3BlcmF0b3JUeXBlO1xyXG4gIHNlbGVjdGVkQm9vbGVhbkxvZ2ljT3BlcmF0b3I6IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZSA9IEJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZS5BTkQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpZWxkID0gdGhpcy5jb25kaXRpb24uRmllbGQgYXMgVGV4dEZpZWxkO1xyXG4gICAgdGhpcy5zZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yID0gdGhpcy5jb25kaXRpb24uYm9vbGVhbmxvZ2ljb3BlcmF0b3I7XHJcbiAgICB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvciA9IHRoaXMuY29uZGl0aW9uLmxvZ2ljb3BlcmF0b3IgYXMgTG9naWNPcGVyYXRvclRleHQ7XHJcbiAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICB9XHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgICAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgICBpZih0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbiB9XHJcblxyXG4gIGdldElucHV0VHlwZSgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5maWVsZC5UZXh0TWFzaykge1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5FbWFpbDpcclxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uUGFzc3dvcmQ6XHJcbiAgICAgICAgcmV0dXJuICdwYXNzd29yZCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlRlbGVmb25vOlxyXG4gICAgICAgIHJldHVybiAndGVsJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVXJsOlxyXG4gICAgICAgIHJldHVybiAndXJsJ1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAndGV4dCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuLyoqXHJcbiogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiovXHJcbm9uVHJpZ2dlckNoYW5nZSgpIHtcclxuXHJcbiAgbGV0IG91dHB1dDpDb25kaXRpb24gPSBuZXcgQ29uZGl0aW9uKCk7XHJcbiAgb3V0cHV0ID0ge1xyXG4gICAga2V5OiB0aGlzLmZpZWxkLk5hbWUsXHJcbiAgICB2YWx1ZTogdGhpcy5jb25kaXRpb24ucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sXHJcbiAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgIGZpZWxkVHlwZTogdGhpcy5maWVsZC5GaWVsZFR5cGUsXHJcbiAgICBib29sZWFubG9naWNvcGVyYXRvcjogdGhpcy5zZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yXHJcbiAgfTtcclxuXHJcbiAgdGhpcy50cmlnZ2VyQ2hhbmdlLmVtaXQob3V0cHV0KTtcclxufVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IHRleHRhcmVhRmlsdGVyVGVtcGxhdGVcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgIDxlcXAtc2VsZWN0XHJcbiAgICAgIFtlbnVtRGF0YV09XCJsb2dpY09wZXJhdG9yVGV4dFwiXHJcbiAgICAgIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZExvZ2ljT3BlcmF0b3JcIlxyXG4gICAgICAobmdNb2RlbElucHV0Q2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCJcclxuICAgID48L2VxcC1zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHZhbHVlQ29sXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPlxyXG4gICAgICAgIHt7IGZpZWxkLkRlc2NyaXB0aW9uIH19XHJcbiAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICA8dGV4dGFyZWFcclxuICAgICAgICBbbmdTdHlsZV09XCJGaWVsZHN0eWxlT2JqXCJcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIFt0eXBlXT1cImdldElucHV0VHlwZSgpXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0aGlzLmNvbmRpdGlvbi5yZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVHJpZ2dlckNoYW5nZSgpXCJcclxuICAgICAgPjwvdGV4dGFyZWE+XHJcbiAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgIFtoaWRkZW5dPVwiIWZpZWxkLk1pY3JvcGhvbmVcIlxyXG4gICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgIFNwZWVjaFRvVGV4dFxyXG4gICAgICAgIFsoYmluZGVkVGV4dCldPVwidGhpcy5jb25kaXRpb24ucmVjb3JkW2ZpZWxkLk5hbWVdXCJcclxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgICAgPmtleWJvYXJkX3ZvaWNlPC9tYXQtaWNvblxyXG4gICAgICA+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgPGVxcC1zZWxlY3RcclxuICAgICAgW2VudW1EYXRhXT1cImJvb2xlYW5Mb2dpY09wZXJhdG9yVHlwZVwiXHJcbiAgICAgIFsobmdNb2RlbElucHV0KV09XCJzZWxlY3RlZEJvb2xlYW5Mb2dpY09wZXJhdG9yXCJcclxuICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvblRyaWdnZXJDaGFuZ2UoKVwiXHJcbiAgICA+PC9lcXAtc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,59 +0,0 @@
1
- import { Directive, Input, EventEmitter, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DynamicLoaderDirective {
4
- // In input verrà passato il selettore del componente da ricreare
5
- set data(data) {
6
- this.load(data.component, data.inputParams);
7
- }
8
- constructor(resolver, viewContainerRef) {
9
- this.resolver = resolver;
10
- this.viewContainerRef = viewContainerRef;
11
- this.out = new EventEmitter();
12
- }
13
- load(component, inputParams = null) {
14
- if (!component) {
15
- throw new Error('Failed to load dynamic component');
16
- }
17
- this.viewContainerRef.clear();
18
- let componentInstance = component;
19
- const componentFactory = this.resolver.resolveComponentFactory(componentInstance);
20
- const componentRef = this.viewContainerRef.createComponent(componentFactory);
21
- //Se sono stati passati dei parameters di input allora li memorizza nel componente caricato dinamicamente.
22
- //E' ovvio che il nome dei parameters di input passati al DynamicLoader deve coincidere con il nome del parametro di input passato al componente caricato dinamicamente
23
- if (inputParams != null) {
24
- let inputProperties = Object.keys(inputParams);
25
- inputProperties.forEach(p => {
26
- componentRef.instance[p] = inputParams[p];
27
- });
28
- }
29
- componentRef.instance.out.subscribe(val => { this.out.emit(val); });
30
- }
31
- /**
32
- * Restrituisce un componente passandogli come parametro la chiave
33
- * @param key
34
- */
35
- getComponent(key) {
36
- let component = key;
37
- return component;
38
- }
39
- }
40
- DynamicLoaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicLoaderDirective, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
41
- DynamicLoaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DynamicLoaderDirective, selector: "[appDynamicLoader]", inputs: { data: "data" }, outputs: { out: "out" }, ngImport: i0 });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicLoaderDirective, decorators: [{
43
- type: Directive,
44
- args: [{
45
- selector: '[appDynamicLoader]'
46
- }]
47
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }]; }, propDecorators: { data: [{
48
- type: Input
49
- }], out: [{
50
- type: Output
51
- }] } });
52
- export class DynamicLoaderDirectiveData {
53
- }
54
- export class eventOut {
55
- constructor() {
56
- this.Behaviours = new Array();
57
- }
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sb2FkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvZGlyZWN0aXZlcy9keW5hbWljLWxvYWRlci9keW5hbWljLWxvYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRELFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpJLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsaUVBQWlFO0lBQ2pFLElBQWEsSUFBSSxDQUFDLElBQWdDO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUlELFlBQW9CLFFBQWtDLEVBQVUsZ0JBQWtDO1FBQTlFLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUZ4RixRQUFHLEdBQTJCLElBQUksWUFBWSxFQUFZLENBQUM7SUFFaUMsQ0FBQztJQUV2RyxJQUFJLENBQUMsU0FBYyxFQUFFLGNBQW1CLElBQUk7UUFFMUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNyRDtRQUVGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztRQUNsQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFNLGdCQUFnQixDQUFDLENBQUM7UUFFakYsMEdBQTBHO1FBQzFHLHVLQUF1SztRQUN2SyxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUU7WUFDdkIsSUFBSSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMxQixZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0RSxDQUFDO0lBRUQ7OztJQUdBO0lBQ0EsWUFBWSxDQUFDLEdBQVE7UUFDbkIsSUFBSSxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O29IQTFDVSxzQkFBc0I7d0dBQXRCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COzhJQUtjLElBQUk7c0JBQWhCLEtBQUs7Z0JBSUksR0FBRztzQkFBWixNQUFNOztBQXNDVCxNQUFNLE9BQU8sMEJBQTBCO0NBR3RDO0FBRUQsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFFRSxlQUFVLEdBQWtCLElBQUksS0FBSyxFQUFVLENBQUM7SUFFbEQsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thcHBEeW5hbWljTG9hZGVyXSdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTG9hZGVyRGlyZWN0aXZlIHtcclxuXHJcbiAgLy8gSW4gaW5wdXQgdmVycsOgIHBhc3NhdG8gaWwgc2VsZXR0b3JlIGRlbCBjb21wb25lbnRlIGRhIHJpY3JlYXJlXHJcbiAgQElucHV0KCkgc2V0IGRhdGEoZGF0YTogRHluYW1pY0xvYWRlckRpcmVjdGl2ZURhdGEpIHtcclxuICAgIHRoaXMubG9hZChkYXRhLmNvbXBvbmVudCwgZGF0YS5pbnB1dFBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb3V0OiBFdmVudEVtaXR0ZXI8ZXZlbnRPdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxldmVudE91dD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHsgfVxyXG5cclxuICBsb2FkKGNvbXBvbmVudDogYW55LCBpbnB1dFBhcmFtczogYW55ID0gbnVsbCk6IGFueSB7XHJcblxyXG4gICAgaWYgKCFjb21wb25lbnQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gbG9hZCBkeW5hbWljIGNvbXBvbmVudCcpO1xyXG4gICAgfVxyXG5cclxuICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgIGxldCBjb21wb25lbnRJbnN0YW5jZSA9IGNvbXBvbmVudDtcclxuICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50SW5zdGFuY2UpO1xyXG4gICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PGFueT4oY29tcG9uZW50RmFjdG9yeSk7XHJcblxyXG4gICAgLy9TZSBzb25vIHN0YXRpIHBhc3NhdGkgZGVpIHBhcmFtZXRlcnMgZGkgaW5wdXQgYWxsb3JhIGxpIG1lbW9yaXp6YSBuZWwgY29tcG9uZW50ZSBjYXJpY2F0byBkaW5hbWljYW1lbnRlLlxyXG4gICAgLy9FJyBvdnZpbyBjaGUgaWwgbm9tZSBkZWkgcGFyYW1ldGVycyBkaSBpbnB1dCBwYXNzYXRpIGFsIER5bmFtaWNMb2FkZXIgZGV2ZSBjb2luY2lkZXJlIGNvbiBpbCBub21lIGRlbCBwYXJhbWV0cm8gZGkgaW5wdXQgcGFzc2F0byBhbCBjb21wb25lbnRlIGNhcmljYXRvIGRpbmFtaWNhbWVudGVcclxuICAgIGlmIChpbnB1dFBhcmFtcyAhPSBudWxsKSB7XHJcbiAgICAgIGxldCBpbnB1dFByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhpbnB1dFBhcmFtcyk7XHJcbiAgICAgIGlucHV0UHJvcGVydGllcy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtwXSA9IGlucHV0UGFyYW1zW3BdO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uub3V0LnN1YnNjcmliZSh2YWwgPT4geyB0aGlzLm91dC5lbWl0KHZhbCk7IH0pO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4qIFJlc3RyaXR1aXNjZSB1biBjb21wb25lbnRlIHBhc3NhbmRvZ2xpIGNvbWUgcGFyYW1ldHJvIGxhIGNoaWF2ZVxyXG4qIEBwYXJhbSBrZXlcclxuKi9cclxuICBnZXRDb21wb25lbnQoa2V5OiBhbnkpIHtcclxuICAgIGxldCBjb21wb25lbnQgPSBrZXk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIER5bmFtaWNMb2FkZXJEaXJlY3RpdmVEYXRhIHtcclxuICBjb21wb25lbnQ6IGFueTtcclxuICBpbnB1dFBhcmFtczogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgZXZlbnRPdXQge1xyXG4gIEV2ZW50TmFtZTogc3RyaW5nO1xyXG4gIEJlaGF2aW91cnM6IEFycmF5PHN0cmluZz4gPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG4gIFBhcmFtczogYW55O1xyXG59Il19