new-front-common-library 16.1.32-ROY-5 → 16.1.32

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 (403) hide show
  1. package/README.md +28 -28
  2. package/assets/css/_dark-theme.scss +243 -243
  3. package/assets/css/_flex.scss +55 -55
  4. package/assets/css/_global.scss +417 -417
  5. package/assets/css/_light-theme.scss +221 -221
  6. package/assets/css/_mat-palettes.scss +98 -98
  7. package/assets/css/_themes.scss +56 -56
  8. package/assets/css/_themes_v18.scss +55 -55
  9. package/assets/css/material/_mdc-dark-theme.scss +265 -265
  10. package/assets/css/material/_mdc-light-theme.scss +264 -264
  11. package/assets/css/material/_mdc.scss +408 -408
  12. package/assets/css/old-themes/_dark-theme.scss +639 -639
  13. package/assets/css/old-themes/_global.scss +689 -689
  14. package/assets/css/old-themes/_light-theme.scss +646 -646
  15. package/assets/css/old-themes/_themes-deprecated.scss +65 -65
  16. package/assets/i18n/front-common/de.json +30 -30
  17. package/assets/i18n/front-common/en.json +30 -30
  18. package/assets/i18n/front-common/fr.json +30 -30
  19. package/esm2022/lib/util/array.service.mjs +19 -19
  20. package/esm2022/lib/util/component/header/header.component.mjs +221 -230
  21. package/esm2022/lib/util/component/header/menu/menu.component.mjs +96 -96
  22. package/esm2022/lib/util/component/header/menu/menu.const.mjs +551 -544
  23. package/esm2022/lib/util/component/header/menu/menu.model.mjs +2 -2
  24. package/esm2022/lib/util/component/overlay/overlay.component.mjs +40 -40
  25. package/esm2022/lib/util/component/overlay/overlay.service.mjs +24 -24
  26. package/esm2022/lib/util/component/popup/popup-login/popup-login.component.mjs +90 -90
  27. package/esm2022/lib/util/component/sub-header/sub-header.component.mjs +44 -44
  28. package/esm2022/lib/util/config.mjs +8 -8
  29. package/esm2022/lib/util/date/PeriodModel.mjs +8 -8
  30. package/esm2022/lib/util/date/date-format-constants.mjs +12 -12
  31. package/esm2022/lib/util/date/date.util.mjs +218 -218
  32. package/esm2022/lib/util/decorators/theme.decorator.mjs +22 -22
  33. package/esm2022/lib/util/decorators/user.decorator.mjs +25 -25
  34. package/esm2022/lib/util/directives/my-number-formatter-directive.mjs +34 -34
  35. package/esm2022/lib/util/directives/show-if-truncated.directive.mjs +25 -25
  36. package/esm2022/lib/util/enums/family.enum.mjs +6 -6
  37. package/esm2022/lib/util/enums/rapid-search-item-type.enum.mjs +12 -15
  38. package/esm2022/lib/util/enums/status-color.enum.mjs +11 -11
  39. package/esm2022/lib/util/event/header/header-events.service.mjs +21 -21
  40. package/esm2022/lib/util/event/storage/local-storage-events.service.mjs +17 -17
  41. package/esm2022/lib/util/event/storage/session-storage-events.service.mjs +18 -18
  42. package/esm2022/lib/util/http/http-params.builder.mjs +27 -27
  43. package/esm2022/lib/util/i18n/de.mjs +159 -158
  44. package/esm2022/lib/util/i18n/en.mjs +159 -162
  45. package/esm2022/lib/util/i18n/fr.mjs +159 -162
  46. package/esm2022/lib/util/i18n/multi-translate-http-loader.mjs +21 -21
  47. package/esm2022/lib/util/interfaces/permissions.interface.mjs +2 -2
  48. package/esm2022/lib/util/models/any-line.model.mjs +37 -37
  49. package/esm2022/lib/util/models/audio-content.model.mjs +27 -27
  50. package/esm2022/lib/util/models/authPermission.model.mjs +16 -16
  51. package/esm2022/lib/util/models/authUser.model.mjs +21 -21
  52. package/esm2022/lib/util/models/basic.model.mjs +14 -14
  53. package/esm2022/lib/util/models/box-set-item.model.mjs +19 -19
  54. package/esm2022/lib/util/models/commercial/deal-rapid-search-model.mjs +3 -3
  55. package/esm2022/lib/util/models/commercial/invoice-rapid-search-model.mjs +9 -9
  56. package/esm2022/lib/util/models/commercial/work-record-rapid-search-model.mjs +13 -13
  57. package/esm2022/lib/util/models/disc-program.model.mjs +26 -26
  58. package/esm2022/lib/util/models/disc.model.mjs +22 -22
  59. package/esm2022/lib/util/models/eventType.model.mjs +7 -7
  60. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-file.model.mjs +22 -22
  61. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.mjs +3 -3
  62. package/esm2022/lib/util/models/family.model.mjs +7 -7
  63. package/esm2022/lib/util/models/index.mjs +101 -101
  64. package/esm2022/lib/util/models/lang-line.model.mjs +27 -27
  65. package/esm2022/lib/util/models/legal/contract-rapid-search-model.mjs +3 -3
  66. package/esm2022/lib/util/models/legal/contract-work.model.mjs +23 -23
  67. package/esm2022/lib/util/models/legal/contract-work2.model.mjs +21 -21
  68. package/esm2022/lib/util/models/legal/type-status-rapid-search.model.mjs +3 -3
  69. package/esm2022/lib/util/models/media-line.model.mjs +18 -18
  70. package/esm2022/lib/util/models/menu-language.model.mjs +15 -15
  71. package/esm2022/lib/util/models/permission.model.mjs +20 -20
  72. package/esm2022/lib/util/models/product-box-set.model.mjs +16 -16
  73. package/esm2022/lib/util/models/product-disc-detail.model.mjs +22 -22
  74. package/esm2022/lib/util/models/product-disc.model.mjs +27 -27
  75. package/esm2022/lib/util/models/product-division.model.mjs +29 -29
  76. package/esm2022/lib/util/models/product-type.model.mjs +22 -22
  77. package/esm2022/lib/util/models/product.model.mjs +62 -62
  78. package/esm2022/lib/util/models/program.model.mjs +28 -28
  79. package/esm2022/lib/util/models/purchase-order/purchase-order.model.mjs +53 -53
  80. package/esm2022/lib/util/models/referential/WorkVersionArticleDto.mjs +17 -17
  81. package/esm2022/lib/util/models/referential/adress-type.model.mjs +14 -14
  82. package/esm2022/lib/util/models/referential/adress.model.mjs +28 -28
  83. package/esm2022/lib/util/models/referential/attached-file.model.mjs +17 -17
  84. package/esm2022/lib/util/models/referential/bank-account.model.mjs +24 -24
  85. package/esm2022/lib/util/models/referential/bank-accounts.model.mjs +31 -31
  86. package/esm2022/lib/util/models/referential/basic-hierarchy.model.mjs +8 -8
  87. package/esm2022/lib/util/models/referential/broadcast-list-item.model.mjs +13 -13
  88. package/esm2022/lib/util/models/referential/color.model.mjs +16 -16
  89. package/esm2022/lib/util/models/referential/company.model.mjs +16 -16
  90. package/esm2022/lib/util/models/referential/content-type.model.mjs +17 -17
  91. package/esm2022/lib/util/models/referential/content.model.mjs +22 -22
  92. package/esm2022/lib/util/models/referential/cost-center-criteria-values.model.mjs +14 -14
  93. package/esm2022/lib/util/models/referential/cost-center-criteria.model.mjs +13 -13
  94. package/esm2022/lib/util/models/referential/cost-center.model.mjs +28 -28
  95. package/esm2022/lib/util/models/referential/coutry.model.mjs +16 -16
  96. package/esm2022/lib/util/models/referential/currency.model.mjs +20 -20
  97. package/esm2022/lib/util/models/referential/editorial-content.model.mjs +18 -18
  98. package/esm2022/lib/util/models/referential/fixing.model.mjs +16 -16
  99. package/esm2022/lib/util/models/referential/flat-media.model.mjs +18 -18
  100. package/esm2022/lib/util/models/referential/format-image.model.mjs +16 -16
  101. package/esm2022/lib/util/models/referential/format-type.model.mjs +16 -16
  102. package/esm2022/lib/util/models/referential/format.model.mjs +17 -17
  103. package/esm2022/lib/util/models/referential/fsk-index.model.mjs +20 -20
  104. package/esm2022/lib/util/models/referential/fsk.model.mjs +22 -22
  105. package/esm2022/lib/util/models/referential/function.model.mjs +23 -23
  106. package/esm2022/lib/util/models/referential/genre.model.mjs +17 -17
  107. package/esm2022/lib/util/models/referential/invoice-product-type.model.mjs +22 -22
  108. package/esm2022/lib/util/models/referential/keywords.model.mjs +13 -13
  109. package/esm2022/lib/util/models/referential/language.model.mjs +18 -18
  110. package/esm2022/lib/util/models/referential/media-filter.model.mjs +3 -3
  111. package/esm2022/lib/util/models/referential/media.model.mjs +20 -20
  112. package/esm2022/lib/util/models/referential/module.model.mjs +20 -20
  113. package/esm2022/lib/util/models/referential/parameter.model.mjs +2 -2
  114. package/esm2022/lib/util/models/referential/participant.model.mjs +20 -20
  115. package/esm2022/lib/util/models/referential/person.model.mjs +23 -23
  116. package/esm2022/lib/util/models/referential/project-status.model.mjs +16 -16
  117. package/esm2022/lib/util/models/referential/quota.model.mjs +17 -17
  118. package/esm2022/lib/util/models/referential/referential-entity-state.model.mjs +16 -16
  119. package/esm2022/lib/util/models/referential/referential-value.model.mjs +16 -16
  120. package/esm2022/lib/util/models/referential/referentiel.model.mjs +26 -26
  121. package/esm2022/lib/util/models/referential/restriction.model.mjs +20 -20
  122. package/esm2022/lib/util/models/referential/sap-order.model.mjs +20 -20
  123. package/esm2022/lib/util/models/referential/service-error.model.mjs +15 -15
  124. package/esm2022/lib/util/models/referential/sound.model.mjs +16 -16
  125. package/esm2022/lib/util/models/referential/territories-languages.model.mjs +16 -16
  126. package/esm2022/lib/util/models/referential/territory-filter.model.mjs +3 -3
  127. package/esm2022/lib/util/models/referential/territory.model.mjs +17 -17
  128. package/esm2022/lib/util/models/referential/theme.model.mjs +17 -17
  129. package/esm2022/lib/util/models/referential/third-party-address-rapid-search.model.mjs +3 -3
  130. package/esm2022/lib/util/models/referential/third-party-creation-request.model.mjs +44 -44
  131. package/esm2022/lib/util/models/referential/third-party-module.model.mjs +20 -20
  132. package/esm2022/lib/util/models/referential/third-party-rapid-search.model.mjs +3 -3
  133. package/esm2022/lib/util/models/referential/third-party.model.mjs +83 -83
  134. package/esm2022/lib/util/models/referential/translated-value-model.mjs +16 -16
  135. package/esm2022/lib/util/models/referential/tva.model.mjs +16 -16
  136. package/esm2022/lib/util/models/referential/type-export.model.mjs +16 -16
  137. package/esm2022/lib/util/models/referential/type-tva-company-territory.model.mjs +32 -32
  138. package/esm2022/lib/util/models/referential/type-tva.model.mjs +25 -25
  139. package/esm2022/lib/util/models/referential/user-form.model.mjs +2 -2
  140. package/esm2022/lib/util/models/referential/work-addons-model.mjs +16 -16
  141. package/esm2022/lib/util/models/referential/work-appartenance.model.mjs +17 -17
  142. package/esm2022/lib/util/models/referential/work-genre.model.mjs +16 -16
  143. package/esm2022/lib/util/models/referential/work-language.model.mjs +16 -16
  144. package/esm2022/lib/util/models/referential/work-milo.model.mjs +61 -61
  145. package/esm2022/lib/util/models/referential/work-participant.model.mjs +21 -21
  146. package/esm2022/lib/util/models/referential/work-restrictions-model.mjs +13 -13
  147. package/esm2022/lib/util/models/referential/work-theme.model.mjs +16 -16
  148. package/esm2022/lib/util/models/referential/work-title.model.mjs +20 -20
  149. package/esm2022/lib/util/models/referential/work-version-origin.model.mjs +16 -16
  150. package/esm2022/lib/util/models/referential/work-version-rapid-search.model.mjs +3 -3
  151. package/esm2022/lib/util/models/referential/work-versions-used.model.mjs +19 -19
  152. package/esm2022/lib/util/models/referential/work-versions.model.mjs +27 -27
  153. package/esm2022/lib/util/models/referential/work-year-production.model.mjs +13 -13
  154. package/esm2022/lib/util/models/referential/work.model.mjs +22 -22
  155. package/esm2022/lib/util/models/referential/zone.model.mjs +14 -14
  156. package/esm2022/lib/util/models/referentiel.model.mjs +26 -26
  157. package/esm2022/lib/util/models/search-response.model.mjs +10 -10
  158. package/esm2022/lib/util/models/section.model.mjs +8 -8
  159. package/esm2022/lib/util/models/select/options.model.mjs +8 -8
  160. package/esm2022/lib/util/models/select/select.model.mjs +7 -7
  161. package/esm2022/lib/util/models/subsidiary.model.mjs +8 -8
  162. package/esm2022/lib/util/models/subtitle-content.model.mjs +28 -28
  163. package/esm2022/lib/util/models/user-video.model.mjs +22 -22
  164. package/esm2022/lib/util/models/user.model.mjs +35 -35
  165. package/esm2022/lib/util/models/video/product-rapid-search.model.mjs +3 -3
  166. package/esm2022/lib/util/models/video/support-rapid-search.model.mjs +3 -3
  167. package/esm2022/lib/util/models/video-content.model.mjs +18 -18
  168. package/esm2022/lib/util/number.validator.mjs +129 -129
  169. package/esm2022/lib/util/paginator/custom-paginator-configuration.mjs +59 -59
  170. package/esm2022/lib/util/permissions/permissions.service.mjs +49 -49
  171. package/esm2022/lib/util/pipes/capitalizefirst.pipe.mjs +41 -41
  172. package/esm2022/lib/util/pipes/comma-separated-number.pipe.mjs +15 -15
  173. package/esm2022/lib/util/pipes/common-translate.pipe.mjs +38 -38
  174. package/esm2022/lib/util/pipes/display-html.pipe.mjs +20 -20
  175. package/esm2022/lib/util/pipes/display-null.pipe.mjs +24 -24
  176. package/esm2022/lib/util/pipes/format-currency.pipe.mjs +31 -31
  177. package/esm2022/lib/util/pipes/format-duration.pipe.mjs +23 -23
  178. package/esm2022/lib/util/pipes/format-number-input.pipe.mjs +22 -22
  179. package/esm2022/lib/util/pipes/local-date.pipe.mjs +27 -27
  180. package/esm2022/lib/util/pipes/my-number.pipe.mjs +44 -44
  181. package/esm2022/lib/util/pipes/third-party-address-search.pipe.mjs +15 -15
  182. package/esm2022/lib/util/pipes/third-party-address.pipe.mjs +16 -16
  183. package/esm2022/lib/util/pipes/trim-string.pipe.mjs +25 -25
  184. package/esm2022/lib/util/regex/regex.service.mjs +94 -94
  185. package/esm2022/lib/util/services/api/commercial-api.service.mjs +28 -28
  186. package/esm2022/lib/util/services/api/common-api.service.mjs +98 -98
  187. package/esm2022/lib/util/services/api/legal-api.service.mjs +32 -32
  188. package/esm2022/lib/util/services/api/video-api.service.mjs +45 -45
  189. package/esm2022/lib/util/services/auth/auth.service.mjs +18 -18
  190. package/esm2022/lib/util/services/elasticsearch/elasticsearch.service.mjs +158 -180
  191. package/esm2022/lib/util/services/elasticsearch/subsidiaries.service.mjs +48 -48
  192. package/esm2022/lib/util/services/form-action/form-actions-events.service.mjs +25 -25
  193. package/esm2022/lib/util/services/guard/auth.guard.mjs +32 -32
  194. package/esm2022/lib/util/services/guard/login.guard.mjs +23 -23
  195. package/esm2022/lib/util/services/history/history.service.mjs +39 -39
  196. package/esm2022/lib/util/services/interceptor/auth.interceptor.mjs +53 -53
  197. package/esm2022/lib/util/services/jwt-security/aes.service.mjs +34 -34
  198. package/esm2022/lib/util/services/jwt-security/interceptorhttp.service.mjs +18 -18
  199. package/esm2022/lib/util/services/jwt-security/jwt.helpher.mjs +34 -34
  200. package/esm2022/lib/util/services/storage/local-storage.service.mjs +36 -36
  201. package/esm2022/lib/util/services/storage/session-storage.service.mjs +38 -38
  202. package/esm2022/lib/util/services/translate-language/lang.service.mjs +31 -31
  203. package/esm2022/lib/util/services/user/user-subsidiary.service.mjs +22 -22
  204. package/esm2022/lib/util/sort.mjs +22 -22
  205. package/esm2022/lib/util/theme/theme-event.service.mjs +17 -17
  206. package/esm2022/lib/util/toaster/toaster-events.service.mjs +32 -32
  207. package/esm2022/lib/util/util.module.mjs +281 -281
  208. package/esm2022/new-front-common-library.mjs +4 -4
  209. package/esm2022/public-api.mjs +59 -59
  210. package/fesm2022/new-front-common-library.mjs +5524 -5556
  211. package/fesm2022/new-front-common-library.mjs.map +1 -1
  212. package/index.d.ts +5 -5
  213. package/lib/util/array.service.d.ts +7 -7
  214. package/lib/util/component/header/header.component.d.ts +74 -74
  215. package/lib/util/component/header/menu/menu.component.d.ts +27 -27
  216. package/lib/util/component/header/menu/menu.const.d.ts +2 -2
  217. package/lib/util/component/header/menu/menu.model.d.ts +23 -23
  218. package/lib/util/component/overlay/overlay.component.d.ts +17 -17
  219. package/lib/util/component/overlay/overlay.service.d.ts +13 -13
  220. package/lib/util/component/popup/popup-login/popup-login.component.d.ts +35 -35
  221. package/lib/util/component/sub-header/sub-header.component.d.ts +13 -13
  222. package/lib/util/config.d.ts +8 -8
  223. package/lib/util/date/PeriodModel.d.ts +6 -6
  224. package/lib/util/date/date-format-constants.d.ts +25 -25
  225. package/lib/util/date/date.util.d.ts +16 -16
  226. package/lib/util/decorators/theme.decorator.d.ts +1 -1
  227. package/lib/util/decorators/user.decorator.d.ts +1 -1
  228. package/lib/util/directives/my-number-formatter-directive.d.ts +15 -15
  229. package/lib/util/directives/show-if-truncated.directive.d.ts +11 -11
  230. package/lib/util/enums/family.enum.d.ts +4 -4
  231. package/lib/util/enums/rapid-search-item-type.enum.d.ts +10 -13
  232. package/lib/util/enums/status-color.enum.d.ts +9 -9
  233. package/lib/util/event/header/header-events.service.d.ts +11 -11
  234. package/lib/util/event/storage/local-storage-events.service.d.ts +9 -9
  235. package/lib/util/event/storage/session-storage-events.service.d.ts +10 -10
  236. package/lib/util/http/http-params.builder.d.ts +9 -9
  237. package/lib/util/i18n/de.d.ts +142 -141
  238. package/lib/util/i18n/en.d.ts +142 -145
  239. package/lib/util/i18n/fr.d.ts +142 -145
  240. package/lib/util/i18n/multi-translate-http-loader.d.ts +14 -14
  241. package/lib/util/interfaces/permissions.interface.d.ts +3 -3
  242. package/lib/util/models/any-line.model.d.ts +24 -24
  243. package/lib/util/models/audio-content.model.d.ts +27 -27
  244. package/lib/util/models/authPermission.model.d.ts +7 -7
  245. package/lib/util/models/authUser.model.d.ts +16 -16
  246. package/lib/util/models/basic.model.d.ts +11 -11
  247. package/lib/util/models/box-set-item.model.d.ts +12 -12
  248. package/lib/util/models/commercial/deal-rapid-search-model.d.ts +10 -10
  249. package/lib/util/models/commercial/invoice-rapid-search-model.d.ts +18 -18
  250. package/lib/util/models/commercial/work-record-rapid-search-model.d.ts +21 -21
  251. package/lib/util/models/disc-program.model.d.ts +9 -9
  252. package/lib/util/models/disc.model.d.ts +15 -15
  253. package/lib/util/models/eventType.model.d.ts +5 -5
  254. package/lib/util/models/expenditure-commitment/purchase-order-file.model.d.ts +8 -8
  255. package/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.d.ts +10 -10
  256. package/lib/util/models/family.model.d.ts +5 -5
  257. package/lib/util/models/index.d.ts +100 -100
  258. package/lib/util/models/lang-line.model.d.ts +18 -18
  259. package/lib/util/models/legal/contract-rapid-search-model.d.ts +10 -10
  260. package/lib/util/models/legal/contract-work.model.d.ts +27 -27
  261. package/lib/util/models/legal/contract-work2.model.d.ts +23 -23
  262. package/lib/util/models/legal/type-status-rapid-search.model.d.ts +5 -5
  263. package/lib/util/models/media-line.model.d.ts +9 -9
  264. package/lib/util/models/menu-language.model.d.ts +6 -6
  265. package/lib/util/models/permission.model.d.ts +12 -12
  266. package/lib/util/models/product-box-set.model.d.ts +8 -8
  267. package/lib/util/models/product-disc-detail.model.d.ts +14 -14
  268. package/lib/util/models/product-disc.model.d.ts +11 -11
  269. package/lib/util/models/product-division.model.d.ts +15 -15
  270. package/lib/util/models/product-type.model.d.ts +7 -7
  271. package/lib/util/models/product.model.d.ts +52 -52
  272. package/lib/util/models/program.model.d.ts +21 -21
  273. package/lib/util/models/purchase-order/purchase-order.model.d.ts +40 -40
  274. package/lib/util/models/referential/WorkVersionArticleDto.d.ts +10 -10
  275. package/lib/util/models/referential/adress-type.model.d.ts +5 -5
  276. package/lib/util/models/referential/adress.model.d.ts +20 -20
  277. package/lib/util/models/referential/attached-file.model.d.ts +11 -11
  278. package/lib/util/models/referential/bank-account.model.d.ts +15 -15
  279. package/lib/util/models/referential/bank-accounts.model.d.ts +17 -17
  280. package/lib/util/models/referential/basic-hierarchy.model.d.ts +6 -6
  281. package/lib/util/models/referential/broadcast-list-item.model.d.ts +8 -8
  282. package/lib/util/models/referential/color.model.d.ts +6 -6
  283. package/lib/util/models/referential/company.model.d.ts +7 -7
  284. package/lib/util/models/referential/content-type.model.d.ts +12 -12
  285. package/lib/util/models/referential/content.model.d.ts +7 -7
  286. package/lib/util/models/referential/cost-center-criteria-values.model.d.ts +7 -7
  287. package/lib/util/models/referential/cost-center-criteria.model.d.ts +12 -12
  288. package/lib/util/models/referential/cost-center.model.d.ts +18 -18
  289. package/lib/util/models/referential/coutry.model.d.ts +7 -7
  290. package/lib/util/models/referential/currency.model.d.ts +11 -11
  291. package/lib/util/models/referential/editorial-content.model.d.ts +25 -25
  292. package/lib/util/models/referential/fixing.model.d.ts +10 -10
  293. package/lib/util/models/referential/flat-media.model.d.ts +9 -9
  294. package/lib/util/models/referential/format-image.model.d.ts +7 -7
  295. package/lib/util/models/referential/format-type.model.d.ts +6 -6
  296. package/lib/util/models/referential/format.model.d.ts +7 -7
  297. package/lib/util/models/referential/fsk-index.model.d.ts +22 -22
  298. package/lib/util/models/referential/fsk.model.d.ts +37 -37
  299. package/lib/util/models/referential/function.model.d.ts +8 -8
  300. package/lib/util/models/referential/genre.model.d.ts +7 -7
  301. package/lib/util/models/referential/invoice-product-type.model.d.ts +7 -7
  302. package/lib/util/models/referential/keywords.model.d.ts +6 -6
  303. package/lib/util/models/referential/language.model.d.ts +11 -11
  304. package/lib/util/models/referential/media-filter.model.d.ts +10 -10
  305. package/lib/util/models/referential/media.model.d.ts +11 -11
  306. package/lib/util/models/referential/module.model.d.ts +11 -11
  307. package/lib/util/models/referential/parameter.model.d.ts +6 -6
  308. package/lib/util/models/referential/participant.model.d.ts +11 -11
  309. package/lib/util/models/referential/person.model.d.ts +13 -13
  310. package/lib/util/models/referential/project-status.model.d.ts +6 -6
  311. package/lib/util/models/referential/quota.model.d.ts +7 -7
  312. package/lib/util/models/referential/referential-entity-state.model.d.ts +11 -11
  313. package/lib/util/models/referential/referential-value.model.d.ts +11 -11
  314. package/lib/util/models/referential/referentiel.model.d.ts +12 -12
  315. package/lib/util/models/referential/restriction.model.d.ts +9 -9
  316. package/lib/util/models/referential/sap-order.model.d.ts +27 -27
  317. package/lib/util/models/referential/service-error.model.d.ts +13 -13
  318. package/lib/util/models/referential/sound.model.d.ts +6 -6
  319. package/lib/util/models/referential/territories-languages.model.d.ts +8 -8
  320. package/lib/util/models/referential/territory-filter.model.d.ts +6 -6
  321. package/lib/util/models/referential/territory.model.d.ts +12 -12
  322. package/lib/util/models/referential/theme.model.d.ts +7 -7
  323. package/lib/util/models/referential/third-party-address-rapid-search.model.d.ts +8 -8
  324. package/lib/util/models/referential/third-party-creation-request.model.d.ts +48 -48
  325. package/lib/util/models/referential/third-party-module.model.d.ts +11 -11
  326. package/lib/util/models/referential/third-party-rapid-search.model.d.ts +8 -8
  327. package/lib/util/models/referential/third-party.model.d.ts +45 -45
  328. package/lib/util/models/referential/translated-value-model.d.ts +10 -10
  329. package/lib/util/models/referential/tva.model.d.ts +7 -7
  330. package/lib/util/models/referential/type-export.model.d.ts +7 -7
  331. package/lib/util/models/referential/type-tva-company-territory.model.d.ts +18 -18
  332. package/lib/util/models/referential/type-tva.model.d.ts +10 -10
  333. package/lib/util/models/referential/user-form.model.d.ts +5 -5
  334. package/lib/util/models/referential/work-addons-model.d.ts +25 -25
  335. package/lib/util/models/referential/work-appartenance.model.d.ts +7 -7
  336. package/lib/util/models/referential/work-genre.model.d.ts +11 -11
  337. package/lib/util/models/referential/work-language.model.d.ts +11 -11
  338. package/lib/util/models/referential/work-milo.model.d.ts +46 -46
  339. package/lib/util/models/referential/work-participant.model.d.ts +10 -10
  340. package/lib/util/models/referential/work-restrictions-model.d.ts +18 -18
  341. package/lib/util/models/referential/work-theme.model.d.ts +11 -11
  342. package/lib/util/models/referential/work-title.model.d.ts +10 -10
  343. package/lib/util/models/referential/work-version-origin.model.d.ts +10 -10
  344. package/lib/util/models/referential/work-version-rapid-search.model.d.ts +9 -9
  345. package/lib/util/models/referential/work-versions-used.model.d.ts +12 -12
  346. package/lib/util/models/referential/work-versions.model.d.ts +29 -29
  347. package/lib/util/models/referential/work-year-production.model.d.ts +6 -6
  348. package/lib/util/models/referential/work.model.d.ts +74 -74
  349. package/lib/util/models/referential/zone.model.d.ts +6 -6
  350. package/lib/util/models/referentiel.model.d.ts +12 -12
  351. package/lib/util/models/search-response.model.d.ts +7 -7
  352. package/lib/util/models/section.model.d.ts +7 -7
  353. package/lib/util/models/select/options.model.d.ts +6 -6
  354. package/lib/util/models/select/select.model.d.ts +5 -5
  355. package/lib/util/models/subsidiary.model.d.ts +7 -7
  356. package/lib/util/models/subtitle-content.model.d.ts +26 -26
  357. package/lib/util/models/user-video.model.d.ts +10 -10
  358. package/lib/util/models/user.model.d.ts +27 -27
  359. package/lib/util/models/video/product-rapid-search.model.d.ts +8 -8
  360. package/lib/util/models/video/support-rapid-search.model.d.ts +6 -6
  361. package/lib/util/models/video-content.model.d.ts +24 -24
  362. package/lib/util/number.validator.d.ts +14 -14
  363. package/lib/util/paginator/custom-paginator-configuration.d.ts +16 -16
  364. package/lib/util/permissions/permissions.service.d.ts +15 -15
  365. package/lib/util/pipes/capitalizefirst.pipe.d.ts +8 -8
  366. package/lib/util/pipes/comma-separated-number.pipe.d.ts +7 -7
  367. package/lib/util/pipes/common-translate.pipe.d.ts +12 -12
  368. package/lib/util/pipes/display-html.pipe.d.ts +10 -10
  369. package/lib/util/pipes/display-null.pipe.d.ts +8 -8
  370. package/lib/util/pipes/format-currency.pipe.d.ts +10 -10
  371. package/lib/util/pipes/format-duration.pipe.d.ts +7 -7
  372. package/lib/util/pipes/format-number-input.pipe.d.ts +7 -7
  373. package/lib/util/pipes/local-date.pipe.d.ts +9 -9
  374. package/lib/util/pipes/my-number.pipe.d.ts +11 -11
  375. package/lib/util/pipes/third-party-address-search.pipe.d.ts +8 -8
  376. package/lib/util/pipes/third-party-address.pipe.d.ts +8 -8
  377. package/lib/util/pipes/trim-string.pipe.d.ts +7 -7
  378. package/lib/util/regex/regex.service.d.ts +12 -12
  379. package/lib/util/services/api/commercial-api.service.d.ts +12 -12
  380. package/lib/util/services/api/common-api.service.d.ts +27 -27
  381. package/lib/util/services/api/legal-api.service.d.ts +15 -15
  382. package/lib/util/services/api/video-api.service.d.ts +17 -17
  383. package/lib/util/services/auth/auth.service.d.ts +9 -9
  384. package/lib/util/services/elasticsearch/elasticsearch.service.d.ts +34 -35
  385. package/lib/util/services/elasticsearch/subsidiaries.service.d.ts +12 -12
  386. package/lib/util/services/form-action/form-actions-events.service.d.ts +14 -14
  387. package/lib/util/services/guard/auth.guard.d.ts +2 -2
  388. package/lib/util/services/guard/login.guard.d.ts +1 -1
  389. package/lib/util/services/history/history.service.d.ts +10 -10
  390. package/lib/util/services/interceptor/auth.interceptor.d.ts +16 -16
  391. package/lib/util/services/jwt-security/aes.service.d.ts +12 -12
  392. package/lib/util/services/jwt-security/interceptorhttp.service.d.ts +8 -8
  393. package/lib/util/services/jwt-security/jwt.helpher.d.ts +4 -4
  394. package/lib/util/services/storage/local-storage.service.d.ts +13 -13
  395. package/lib/util/services/storage/session-storage.service.d.ts +13 -13
  396. package/lib/util/services/translate-language/lang.service.d.ts +14 -14
  397. package/lib/util/services/user/user-subsidiary.service.d.ts +9 -9
  398. package/lib/util/sort.d.ts +4 -4
  399. package/lib/util/theme/theme-event.service.d.ts +9 -9
  400. package/lib/util/toaster/toaster-events.service.d.ts +15 -15
  401. package/lib/util/util.module.d.ts +49 -49
  402. package/package.json +1 -1
  403. package/public-api.d.ts +56 -56
@@ -1,180 +1,158 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { from } from 'rxjs';
3
- import { Client as ClientJs } from 'elasticsearch-browser';
4
- import { WEB_CONFIG } from '../../config';
5
- import { WorkRecordRapidSearchModel } from "../../models/commercial/work-record-rapid-search-model";
6
- import { InvoiceRapidSearchModel } from "../../models/commercial/invoice-rapid-search-model";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./subsidiaries.service";
9
- export class ElasticsearchService {
10
- constructor(config, subsidiariesMappingService) {
11
- this.config = config;
12
- this.subsidiariesMappingService = subsidiariesMappingService;
13
- this.PROFILE_SEARCH_CONFIG = {
14
- 'COMMERCIAL': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
15
- 'ACCOUNTANT': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
16
- 'ADMINISTRATIVE_CONTROLLER': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
17
- 'VIDEO_CONSULT': ['unity-product*'],
18
- 'BDC': ['unity-purchase-order*'],
19
- 'LEGAL': ['unity-contract*'],
20
- 'ROYALTY': ['unity-royalty-contract', 'unity-royalty-count', 'unity-royalty-invoice'],
21
- };
22
- }
23
- getElasticsearchClient() {
24
- if (!this.client) {
25
- this.client = new ClientJs({
26
- host: this.config.elasticsearch_url
27
- });
28
- }
29
- return this.client;
30
- }
31
- getSearchResponse(text, user) {
32
- const allIndexes = new Set();
33
- allIndexes.add('unity-work-version*');
34
- allIndexes.add('unity-third-party*');
35
- for (const permission of user.permissions) {
36
- const indexes = this.PROFILE_SEARCH_CONFIG[permission.code];
37
- indexes?.forEach(idx => allIndexes.add(idx));
38
- }
39
- const body = [];
40
- for (const index of allIndexes) {
41
- body.push({ index });
42
- switch (index) {
43
- case 'unity-work-version*':
44
- body.push({
45
- query: {
46
- dis_max: {
47
- queries: [{ wildcard: { miloCode: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }, { wildcard: { title: { value: text + '*' } } }, { wildcard: { title: { value: text } } }],
48
- tie_breaker: 0.5
49
- }
50
- },
51
- sort: [{ _score: { order: 'desc' } }, { title: { order: "asc" } }],
52
- size: 50
53
- });
54
- break;
55
- case 'unity-product*':
56
- body.push({
57
- query: { dis_max: { queries: [{ wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }] } },
58
- sort: { releaseDate: { order: 'desc' } },
59
- size: 50
60
- });
61
- break;
62
- case 'unity-purchase-order*':
63
- body.push({
64
- query: { dis_max: { queries: [{ wildcard: { poNumber: { value: '*' + text + '*' } } }, { wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { basketNumber: { value: '*' + text + '*' } } }] } },
65
- size: 50
66
- });
67
- break;
68
- case 'unity-deal*':
69
- body.push({
70
- query: { dis_max: { queries: [{ wildcard: { dealNumber: { value: '*' + text + '*' } } }] } },
71
- sort: [{ _score: { order: 'desc' } }, { 'dealNumber.keyword': { order: 'asc' } }],
72
- size: 50
73
- });
74
- break;
75
- case 'unity-work-record*':
76
- body.push({
77
- query: { dis_max: { queries: [{ wildcard: { workRecordId: { value: '*' + text + '*' } } }] } },
78
- sort: [{ 'workRecordId.keyword': { order: 'asc' } }],
79
- size: 50
80
- });
81
- break;
82
- case 'unity-invoice*':
83
- body.push({
84
- query: { dis_max: { queries: [{ wildcard: { number: { value: '*' + text + '*' } } }] } },
85
- sort: [{ 'number.keyword': { order: 'asc' } }],
86
- size: 50
87
- });
88
- break;
89
- case 'unity-third-party*':
90
- body.push({
91
- query: {
92
- dis_max: {
93
- queries: [{ wildcard: { companyOrPersonName: { value: '*' + text + '*' } } }, { wildcard: { companyOrPersonName: { value: text + '*' } } }, { wildcard: { companyOrPersonName: { value: text } } }],
94
- tie_breaker: 0.5
95
- }
96
- },
97
- sort: [{ _score: { order: 'desc' } }, { companyOrPersonName: { order: 'asc' } }],
98
- size: 50
99
- });
100
- break;
101
- case 'unity-contract*':
102
- body.push({
103
- query: { bool: this.composeContractQuery(text, user.subsidiaries) },
104
- sort: [{ 'lisaId.keyword': { order: 'asc' } }],
105
- size: 50
106
- });
107
- break;
108
- case 'unity-royalty-contract':
109
- body.push({
110
- query: { dis_max: { queries: [{ wildcard: { contractNumber: { value: '*' + text + '*' } } }] } },
111
- sort: [{ 'contractNumber.keyword': { order: 'asc' } }],
112
- size: 50
113
- });
114
- break;
115
- case 'unity-royalty-count':
116
- body.push({
117
- query: { dis_max: { queries: [{ wildcard: { countNumber: { value: '*' + text + '*' } } }] } },
118
- sort: [{ 'countNumber.keyword': { order: 'asc' } }],
119
- size: 50
120
- });
121
- break;
122
- case 'unity-royalty-invoice':
123
- body.push({
124
- query: { dis_max: { queries: [{ wildcard: { invoiceNumber: { value: '*' + text + '*' } } }] } },
125
- sort: [{ 'invoiceNumber.keyword': { order: 'asc' } }],
126
- size: 50
127
- });
128
- break;
129
- }
130
- }
131
- return from(this.getElasticsearchClient().msearch({ body }));
132
- }
133
- getDocuments(searchResponse) {
134
- let results = [];
135
- if (searchResponse && searchResponse.responses) {
136
- for (const r of searchResponse.responses) {
137
- if (r.error || !r.hits) {
138
- continue;
139
- }
140
- const item = r.hits.hits && r.hits.hits.length > 0 ? r.hits.hits.map(v => this.mapDocument(v)) : [];
141
- results = results.concat(item);
142
- }
143
- }
144
- return results;
145
- }
146
- mapDocument(doc) {
147
- switch (doc._source.docType) {
148
- case 'INVOICE':
149
- return Object.assign(new InvoiceRapidSearchModel(), doc._source);
150
- case 'WORK_RECORD':
151
- return Object.assign(new WorkRecordRapidSearchModel(), doc._source);
152
- default:
153
- return doc._source;
154
- }
155
- }
156
- composeContractQuery(text, subsidiadies) {
157
- const societes = this.subsidiariesMappingService.getSocieteAppartenance(subsidiadies);
158
- const must = [
159
- { wildcard: { lisaId: { value: '*' + text + '*' } } }
160
- ];
161
- const should = [];
162
- should.push({ bool: { must_not: { exists: { field: 'societeAppartenance' } } } });
163
- if (societes && societes.length > 0) {
164
- should.push({ terms: { societeAppartenance: societes } });
165
- }
166
- const boolQuery = { must };
167
- boolQuery.should = should;
168
- boolQuery.minimum_should_match = 1;
169
- return boolQuery;
170
- }
171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, deps: [{ token: WEB_CONFIG }, { token: i1.SubsidiariesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
172
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService }); }
173
- }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, decorators: [{
175
- type: Injectable
176
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
177
- type: Inject,
178
- args: [WEB_CONFIG]
179
- }] }, { type: i1.SubsidiariesService }]; } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsSUFBSSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLElBQUksUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUloRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVsRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7O0FBTTNGLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBd0MsTUFBYyxFQUNsQywwQkFBK0M7UUFEM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQXFCO1FBSW5FLDBCQUFxQixHQUFHO1lBQ3RCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQztZQUNyRSxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDckUsMkJBQTJCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDcEYsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDNUIsU0FBUyxF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QUMsRUFBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBQyxFQUFDLENBQUMsQ0FBQztTQUN2RDtRQUNELE1BQU0sU0FBUyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDMUIsU0FBUyxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDOytHQTVLVSxvQkFBb0Isa0JBRVgsVUFBVTttSEFGbkIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFHSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb20sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDbGllbnQgYXMgQ2xpZW50SnN9IGZyb20gJ2VsYXN0aWNzZWFyY2gtYnJvd3Nlcic7XG5pbXBvcnQge0NsaWVudCwgTVNlYXJjaFJlc3BvbnNlfSBmcm9tICdlbGFzdGljc2VhcmNoJztcbmltcG9ydCB7UHVyY2hhc2VPcmRlclJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXhwZW5kaXR1cmUtY29tbWl0bWVudC9wdXJjaGFzZS1vcmRlci1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7UHJvZHVjdFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvdmlkZW8vcHJvZHVjdC1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7Q29uZmlnLCBXRUJfQ09ORklHfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHtXb3JrVmVyc2lvblJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvcmVmZXJlbnRpYWwvd29yay12ZXJzaW9uLXJhcGlkLXNlYXJjaC5tb2RlbFwiO1xuaW1wb3J0IHtEZWFsUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvZGVhbC1yYXBpZC1zZWFyY2gtbW9kZWwnO1xuaW1wb3J0IHtUaGlyZFBhcnR5UmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC90aGlyZC1wYXJ0eS1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7V29ya1JlY29yZFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tbWVyY2lhbC93b3JrLXJlY29yZC1yYXBpZC1zZWFyY2gtbW9kZWxcIjtcbmltcG9ydCB7Q29udHJhY3RSYXBpZFNlYXJjaE1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2xlZ2FsL2NvbnRyYWN0LXJhcGlkLXNlYXJjaC1tb2RlbFwiO1xuaW1wb3J0IHtJbnZvaWNlUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21tZXJjaWFsL2ludm9pY2UtcmFwaWQtc2VhcmNoLW1vZGVsXCI7XG5pbXBvcnQge0F1dGhVc2VyTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7U3Vic2lkaWFyaWVzU2VydmljZX0gZnJvbSBcIi4vc3Vic2lkaWFyaWVzLnNlcnZpY2VcIjtcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxhc3RpY3NlYXJjaFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdWJzaWRpYXJpZXNNYXBwaW5nU2VydmljZTogU3Vic2lkaWFyaWVzU2VydmljZSkge1xuICB9XG5cbiAgcHJpdmF0ZSBjbGllbnQ6IENsaWVudDtcbiAgUFJPRklMRV9TRUFSQ0hfQ09ORklHID0ge1xuICAgICdDT01NRVJDSUFMJzogWyd1bml0eS1pbnZvaWNlKicsICd1bml0eS1kZWFsKicsICd1bml0eS13b3JrLXJlY29yZConXSxcbiAgICAnQUNDT1VOVEFOVCc6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXG4gICAgJ0FETUlOSVNUUkFUSVZFX0NPTlRST0xMRVInOiBbJ3VuaXR5LWludm9pY2UqJywgJ3VuaXR5LWRlYWwqJywgJ3VuaXR5LXdvcmstcmVjb3JkKiddLFxuICAgICdWSURFT19DT05TVUxUJzogWyd1bml0eS1wcm9kdWN0KiddLFxuICAgICdCREMnOiBbJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKiddLFxuICAgICdMRUdBTCc6IFsndW5pdHktY29udHJhY3QqJ10sXG4gICAgJ1JPWUFMVFknOiBbJ3VuaXR5LXJveWFsdHktY29udHJhY3QnLCAndW5pdHktcm95YWx0eS1jb3VudCcsICd1bml0eS1yb3lhbHR5LWludm9pY2UnXSxcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxhc3RpY3NlYXJjaENsaWVudCgpOiBDbGllbnQge1xuICAgIGlmICghdGhpcy5jbGllbnQpIHtcbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IENsaWVudEpzKHtcbiAgICAgICAgaG9zdDogdGhpcy5jb25maWcuZWxhc3RpY3NlYXJjaF91cmxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VhcmNoUmVzcG9uc2UodGV4dDogc3RyaW5nLCB1c2VyOiBBdXRoVXNlck1vZGVsKTogT2JzZXJ2YWJsZTxNU2VhcmNoUmVzcG9uc2U8YW55Pj4ge1xuICAgIGNvbnN0IGFsbEluZGV4ZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgYWxsSW5kZXhlcy5hZGQoJ3VuaXR5LXdvcmstdmVyc2lvbionKVxuICAgIGFsbEluZGV4ZXMuYWRkKCd1bml0eS10aGlyZC1wYXJ0eSonKVxuXG4gICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHVzZXIucGVybWlzc2lvbnMpIHtcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSB0aGlzLlBST0ZJTEVfU0VBUkNIX0NPTkZJR1twZXJtaXNzaW9uLmNvZGVdO1xuICAgICAgaW5kZXhlcz8uZm9yRWFjaChpZHggPT4gYWxsSW5kZXhlcy5hZGQoaWR4KSk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keTogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGFsbEluZGV4ZXMpIHtcbiAgICAgIGJvZHkucHVzaCh7aW5kZXh9KTtcbiAgICAgIHN3aXRjaCAoaW5kZXgpIHtcbiAgICAgICAgY2FzZSAndW5pdHktd29yay12ZXJzaW9uKicgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICBkaXNfbWF4OiB7XG4gICAgICAgICAgICAgICAgcXVlcmllczogW3t3aWxkY2FyZDoge21pbG9Db2RlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6IHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6IHRleHR9fX1dLFxuICAgICAgICAgICAgICAgIHRpZV9icmVha2VyOiAwLjVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNvcnQ6IFt7X3Njb3JlOiB7b3JkZXI6ICdkZXNjJ319LCB7dGl0bGU6IHtvcmRlcjogXCJhc2NcIn19XSxcbiAgICAgICAgICAgIHNpemU6IDUwXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3VuaXR5LXByb2R1Y3QqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtlYW46IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IHtyZWxlYXNlRGF0ZToge29yZGVyOiAnZGVzYyd9fSxcbiAgICAgICAgICAgIHNpemU6IDUwXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKicgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7cG9OdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7ZWFuOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2Jhc2tldE51bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktZGVhbConIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge2RlYWxOdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7X3Njb3JlOiB7b3JkZXI6ICdkZXNjJ319LCB7J2RlYWxOdW1iZXIua2V5d29yZCc6IHtvcmRlcjogJ2FzYyd9fV0sXG4gICAgICAgICAgICBzaXplOiA1MFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd1bml0eS13b3JrLXJlY29yZConIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge3dvcmtSZWNvcmRJZDoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc29ydDogW3snd29ya1JlY29yZElkLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktaW52b2ljZSonIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge251bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc29ydDogW3snbnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktdGhpcmQtcGFydHkqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgIGRpc19tYXg6IHtcbiAgICAgICAgICAgICAgICBxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y29tcGFueU9yUGVyc29uTmFtZToge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19LCB7d2lsZGNhcmQ6IHtjb21wYW55T3JQZXJzb25OYW1lOiB7dmFsdWU6IHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2NvbXBhbnlPclBlcnNvbk5hbWU6IHt2YWx1ZTogdGV4dH19fV0sXG4gICAgICAgICAgICAgICAgdGllX2JyZWFrZXI6IDAuNVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc29ydDogW3tfc2NvcmU6IHtvcmRlcjogJ2Rlc2MnfX0sIHtjb21wYW55T3JQZXJzb25OYW1lOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktY29udHJhY3QqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7Ym9vbDogdGhpcy5jb21wb3NlQ29udHJhY3RRdWVyeSh0ZXh0LCB1c2VyLnN1YnNpZGlhcmllcyl9LFxuICAgICAgICAgICAgc29ydDogW3snbGlzYUlkLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1jb250cmFjdCcgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y29udHJhY3ROdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7J2NvbnRyYWN0TnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1jb3VudCcgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y291bnROdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7J2NvdW50TnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1pbnZvaWNlJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtpbnZvaWNlTnVtYmVyOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1dfX0sXG4gICAgICAgICAgICBzb3J0OiBbeydpbnZvaWNlTnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZyb20odGhpcy5nZXRFbGFzdGljc2VhcmNoQ2xpZW50KCkubXNlYXJjaCh7Ym9keX0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREb2N1bWVudHMoc2VhcmNoUmVzcG9uc2U6IGFueSk6IChQdXJjaGFzZU9yZGVyUmFwaWRTZWFyY2hNb2RlbCB8IFByb2R1Y3RSYXBpZFNlYXJjaE1vZGVsIHxcbiAgICBXb3JrVmVyc2lvblJhcGlkU2VhcmNoTW9kZWwgfCBEZWFsUmFwaWRTZWFyY2hNb2RlbCB8IFdvcmtSZWNvcmRSYXBpZFNlYXJjaE1vZGVsIHwgVGhpcmRQYXJ0eVJhcGlkU2VhcmNoTW9kZWwgfCBDb250cmFjdFJhcGlkU2VhcmNoTW9kZWwpW10ge1xuICAgIGxldCByZXN1bHRzID0gW107XG4gICAgaWYgKHNlYXJjaFJlc3BvbnNlICYmIHNlYXJjaFJlc3BvbnNlLnJlc3BvbnNlcykge1xuICAgICAgZm9yIChjb25zdCByIG9mIHNlYXJjaFJlc3BvbnNlLnJlc3BvbnNlcykge1xuICAgICAgICBpZiAoci5lcnJvciB8fCAhci5oaXRzKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtID0gci5oaXRzLmhpdHMgJiYgci5oaXRzLmhpdHMubGVuZ3RoID4gMCA/IHIuaGl0cy5oaXRzLm1hcCh2ID0+IHRoaXMubWFwRG9jdW1lbnQodikpIDogW107XG4gICAgICAgIHJlc3VsdHMgPSByZXN1bHRzLmNvbmNhdChpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICBtYXBEb2N1bWVudChkb2M6IGFueSk6IGFueSB7XG4gICAgc3dpdGNoIChkb2MuX3NvdXJjZS5kb2NUeXBlKSB7XG4gICAgICBjYXNlICdJTlZPSUNFJzpcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IEludm9pY2VSYXBpZFNlYXJjaE1vZGVsKCksIGRvYy5fc291cmNlKTtcbiAgICAgIGNhc2UgJ1dPUktfUkVDT1JEJzpcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFdvcmtSZWNvcmRSYXBpZFNlYXJjaE1vZGVsKCksIGRvYy5fc291cmNlKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBkb2MuX3NvdXJjZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXBvc2VDb250cmFjdFF1ZXJ5KHRleHQ6IHN0cmluZywgc3Vic2lkaWFkaWVzKSB7XG4gICAgY29uc3Qgc29jaWV0ZXMgPSB0aGlzLnN1YnNpZGlhcmllc01hcHBpbmdTZXJ2aWNlLmdldFNvY2lldGVBcHBhcnRlbmFuY2Uoc3Vic2lkaWFkaWVzKTtcbiAgICBjb25zdCBtdXN0OiBhbnlbXSA9IFtcbiAgICAgIHt3aWxkY2FyZDoge2xpc2FJZDoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XG4gICAgXTtcbiAgICBjb25zdCBzaG91bGQ6IGFueVtdID0gW107XG4gICAgc2hvdWxkLnB1c2goe2Jvb2w6IHttdXN0X25vdDoge2V4aXN0czoge2ZpZWxkOiAnc29jaWV0ZUFwcGFydGVuYW5jZSd9fX19KTtcbiAgICBpZiAoc29jaWV0ZXMgJiYgc29jaWV0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgc2hvdWxkLnB1c2goe3Rlcm1zOiB7c29jaWV0ZUFwcGFydGVuYW5jZTogc29jaWV0ZXN9fSk7XG4gICAgfVxuICAgIGNvbnN0IGJvb2xRdWVyeTogYW55ID0ge211c3R9O1xuICAgIGJvb2xRdWVyeS5zaG91bGQgPSBzaG91bGQ7XG4gICAgYm9vbFF1ZXJ5Lm1pbmltdW1fc2hvdWxkX21hdGNoID0gMTtcbiAgICByZXR1cm4gYm9vbFF1ZXJ5XG4gIH1cblxufVxuIl19
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { from } from 'rxjs';
3
+ import { Client as ClientJs } from 'elasticsearch-browser';
4
+ import { WEB_CONFIG } from '../../config';
5
+ import { WorkRecordRapidSearchModel } from "../../models/commercial/work-record-rapid-search-model";
6
+ import { InvoiceRapidSearchModel } from "../../models/commercial/invoice-rapid-search-model";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./subsidiaries.service";
9
+ export class ElasticsearchService {
10
+ constructor(config, subsidiariesMappingService) {
11
+ this.config = config;
12
+ this.subsidiariesMappingService = subsidiariesMappingService;
13
+ this.PROFILE_SEARCH_CONFIG = {
14
+ 'COMMERCIAL': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
15
+ 'ACCOUNTANT': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
16
+ 'ADMINISTRATIVE_CONTROLLER': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
17
+ 'VIDEO_CONSULT': ['unity-product*'],
18
+ 'BDC': ['unity-purchase-order*'],
19
+ 'LEGAL': ['unity-contract*']
20
+ };
21
+ }
22
+ getElasticsearchClient() {
23
+ if (!this.client) {
24
+ this.client = new ClientJs({
25
+ host: this.config.elasticsearch_url
26
+ });
27
+ }
28
+ return this.client;
29
+ }
30
+ getSearchResponse(text, user) {
31
+ const allIndexes = new Set();
32
+ allIndexes.add('unity-work-version*');
33
+ allIndexes.add('unity-third-party*');
34
+ for (const permission of user.permissions) {
35
+ const indexes = this.PROFILE_SEARCH_CONFIG[permission.code];
36
+ indexes?.forEach(idx => allIndexes.add(idx));
37
+ }
38
+ const body = [];
39
+ for (const index of allIndexes) {
40
+ body.push({ index });
41
+ switch (index) {
42
+ case 'unity-work-version*':
43
+ body.push({
44
+ query: {
45
+ dis_max: {
46
+ queries: [{ wildcard: { miloCode: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }, { wildcard: { title: { value: text + '*' } } }, { wildcard: { title: { value: text } } }],
47
+ tie_breaker: 0.5
48
+ }
49
+ },
50
+ sort: [{ _score: { order: 'desc' } }, { title: { order: "asc" } }],
51
+ size: 50
52
+ });
53
+ break;
54
+ case 'unity-product*':
55
+ body.push({
56
+ query: { dis_max: { queries: [{ wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }] } },
57
+ sort: { releaseDate: { order: 'desc' } },
58
+ size: 50
59
+ });
60
+ break;
61
+ case 'unity-purchase-order*':
62
+ body.push({
63
+ query: { dis_max: { queries: [{ wildcard: { poNumber: { value: '*' + text + '*' } } }, { wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { basketNumber: { value: '*' + text + '*' } } }] } },
64
+ size: 50
65
+ });
66
+ break;
67
+ case 'unity-deal*':
68
+ body.push({
69
+ query: { dis_max: { queries: [{ wildcard: { dealNumber: { value: '*' + text + '*' } } }] } },
70
+ sort: [{ _score: { order: 'desc' } }, { 'dealNumber.keyword': { order: 'asc' } }],
71
+ size: 50
72
+ });
73
+ break;
74
+ case 'unity-work-record*':
75
+ body.push({
76
+ query: { dis_max: { queries: [{ wildcard: { workRecordId: { value: '*' + text + '*' } } }] } },
77
+ sort: [{ 'workRecordId.keyword': { order: 'asc' } }],
78
+ size: 50
79
+ });
80
+ break;
81
+ case 'unity-invoice*':
82
+ body.push({
83
+ query: { dis_max: { queries: [{ wildcard: { number: { value: '*' + text + '*' } } }] } },
84
+ sort: [{ 'number.keyword': { order: 'asc' } }],
85
+ size: 50
86
+ });
87
+ break;
88
+ case 'unity-third-party*':
89
+ body.push({
90
+ query: {
91
+ dis_max: {
92
+ queries: [{ wildcard: { companyOrPersonName: { value: '*' + text + '*' } } }, { wildcard: { companyOrPersonName: { value: text + '*' } } }, { wildcard: { companyOrPersonName: { value: text } } }],
93
+ tie_breaker: 0.5
94
+ }
95
+ },
96
+ sort: [{ _score: { order: 'desc' } }, { companyOrPersonName: { order: 'asc' } }],
97
+ size: 50
98
+ });
99
+ break;
100
+ case 'unity-contract*':
101
+ body.push({
102
+ query: { bool: this.composeContractQuery(text, user.subsidiaries) },
103
+ sort: [{ 'lisaId.keyword': { order: 'asc' } }],
104
+ size: 50
105
+ });
106
+ break;
107
+ }
108
+ }
109
+ return from(this.getElasticsearchClient().msearch({ body }));
110
+ }
111
+ getDocuments(searchResponse) {
112
+ let results = [];
113
+ if (searchResponse && searchResponse.responses) {
114
+ for (const r of searchResponse.responses) {
115
+ if (r.error || !r.hits) {
116
+ continue;
117
+ }
118
+ const item = r.hits.hits && r.hits.hits.length > 0 ? r.hits.hits.map(v => this.mapDocument(v)) : [];
119
+ results = results.concat(item);
120
+ }
121
+ }
122
+ return results;
123
+ }
124
+ mapDocument(doc) {
125
+ switch (doc._source.docType) {
126
+ case 'INVOICE':
127
+ return Object.assign(new InvoiceRapidSearchModel(), doc._source);
128
+ case 'WORK_RECORD':
129
+ return Object.assign(new WorkRecordRapidSearchModel(), doc._source);
130
+ default:
131
+ return doc._source;
132
+ }
133
+ }
134
+ composeContractQuery(text, subsidiadies) {
135
+ const societes = this.subsidiariesMappingService.getSocieteAppartenance(subsidiadies);
136
+ const must = [
137
+ { wildcard: { lisaId: { value: '*' + text + '*' } } }
138
+ ];
139
+ const should = [];
140
+ should.push({ bool: { must_not: { exists: { field: 'societeAppartenance' } } } });
141
+ if (societes && societes.length > 0) {
142
+ should.push({ terms: { societeAppartenance: societes } });
143
+ }
144
+ const boolQuery = { must };
145
+ boolQuery.should = should;
146
+ boolQuery.minimum_should_match = 1;
147
+ return boolQuery;
148
+ }
149
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, deps: [{ token: WEB_CONFIG }, { token: i1.SubsidiariesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
150
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService }); }
151
+ }
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, decorators: [{
153
+ type: Injectable
154
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
155
+ type: Inject,
156
+ args: [WEB_CONFIG]
157
+ }] }, { type: i1.SubsidiariesService }]; } });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsSUFBSSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLElBQUksUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUloRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVsRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7O0FBTTNGLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBd0MsTUFBYyxFQUNsQywwQkFBK0M7UUFEM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQXFCO1FBSW5FLDBCQUFxQixHQUFHO1lBQ3RCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQztZQUNyRSxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDckUsMkJBQTJCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDcEYsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7U0FDN0IsQ0FBQTtJ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LG1CQUFtQixFQUFFLFFBQVEsRUFBQyxFQUFDLENBQUMsQ0FBQztTQUN2RDtRQUNELE1BQU0sU0FBUyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDMUIsU0FBUyxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDOytHQXRKVSxvQkFBb0Isa0JBRVgsVUFBVTttSEFGbkIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFHSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7ZnJvbSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q2xpZW50IGFzIENsaWVudEpzfSBmcm9tICdlbGFzdGljc2VhcmNoLWJyb3dzZXInO1xyXG5pbXBvcnQge0NsaWVudCwgTVNlYXJjaFJlc3BvbnNlfSBmcm9tICdlbGFzdGljc2VhcmNoJztcclxuaW1wb3J0IHtQdXJjaGFzZU9yZGVyUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHBlbmRpdHVyZS1jb21taXRtZW50L3B1cmNoYXNlLW9yZGVyLXJhcGlkLXNlYXJjaC5tb2RlbFwiO1xyXG5pbXBvcnQge1Byb2R1Y3RSYXBpZFNlYXJjaE1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3ZpZGVvL3Byb2R1Y3QtcmFwaWQtc2VhcmNoLm1vZGVsXCI7XHJcbmltcG9ydCB7Q29uZmlnLCBXRUJfQ09ORklHfSBmcm9tICcuLi8uLi9jb25maWcnO1xyXG5pbXBvcnQge1dvcmtWZXJzaW9uUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC93b3JrLXZlcnNpb24tcmFwaWQtc2VhcmNoLm1vZGVsXCI7XHJcbmltcG9ydCB7RGVhbFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9jb21tZXJjaWFsL2RlYWwtcmFwaWQtc2VhcmNoLW1vZGVsJztcclxuaW1wb3J0IHtUaGlyZFBhcnR5UmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC90aGlyZC1wYXJ0eS1yYXBpZC1zZWFyY2gubW9kZWxcIjtcclxuaW1wb3J0IHtXb3JrUmVjb3JkUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21tZXJjaWFsL3dvcmstcmVjb3JkLXJhcGlkLXNlYXJjaC1tb2RlbFwiO1xyXG5pbXBvcnQge0NvbnRyYWN0UmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9sZWdhbC9jb250cmFjdC1yYXBpZC1zZWFyY2gtbW9kZWxcIjtcclxuaW1wb3J0IHtJbnZvaWNlUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21tZXJjaWFsL2ludm9pY2UtcmFwaWQtc2VhcmNoLW1vZGVsXCI7XHJcbmltcG9ydCB7QXV0aFVzZXJNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xyXG5pbXBvcnQge1N1YnNpZGlhcmllc1NlcnZpY2V9IGZyb20gXCIuL3N1YnNpZGlhcmllcy5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRWxhc3RpY3NlYXJjaFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFdFQl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBDb25maWcsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdWJzaWRpYXJpZXNNYXBwaW5nU2VydmljZTogU3Vic2lkaWFyaWVzU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGllbnQ6IENsaWVudDtcclxuICBQUk9GSUxFX1NFQVJDSF9DT05GSUcgPSB7XHJcbiAgICAnQ09NTUVSQ0lBTCc6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXHJcbiAgICAnQUNDT1VOVEFOVCc6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXHJcbiAgICAnQURNSU5JU1RSQVRJVkVfQ09OVFJPTExFUic6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXHJcbiAgICAnVklERU9fQ09OU1VMVCc6IFsndW5pdHktcHJvZHVjdConXSxcclxuICAgICdCREMnOiBbJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKiddLFxyXG4gICAgJ0xFR0FMJzogWyd1bml0eS1jb250cmFjdConXVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbGFzdGljc2VhcmNoQ2xpZW50KCk6IENsaWVudCB7XHJcbiAgICBpZiAoIXRoaXMuY2xpZW50KSB7XHJcbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IENsaWVudEpzKHtcclxuICAgICAgICBob3N0OiB0aGlzLmNvbmZpZy5lbGFzdGljc2VhcmNoX3VybFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNsaWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWFyY2hSZXNwb25zZSh0ZXh0OiBzdHJpbmcsIHVzZXI6IEF1dGhVc2VyTW9kZWwpOiBPYnNlcnZhYmxlPE1TZWFyY2hSZXNwb25zZTxhbnk+PiB7XHJcbiAgICBjb25zdCBhbGxJbmRleGVzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gICAgYWxsSW5kZXhlcy5hZGQoJ3VuaXR5LXdvcmstdmVyc2lvbionKVxyXG4gICAgYWxsSW5kZXhlcy5hZGQoJ3VuaXR5LXRoaXJkLXBhcnR5KicpXHJcblxyXG4gICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHVzZXIucGVybWlzc2lvbnMpIHtcclxuICAgICAgY29uc3QgaW5kZXhlcyA9IHRoaXMuUFJPRklMRV9TRUFSQ0hfQ09ORklHW3Blcm1pc3Npb24uY29kZV07XHJcbiAgICAgIGluZGV4ZXM/LmZvckVhY2goaWR4ID0+IGFsbEluZGV4ZXMuYWRkKGlkeCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJvZHk6IGFueVtdID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGFsbEluZGV4ZXMpIHtcclxuICAgICAgYm9keS5wdXNoKHtpbmRleH0pO1xyXG4gICAgICBzd2l0Y2ggKGluZGV4KSB7XHJcbiAgICAgICAgY2FzZSAndW5pdHktd29yay12ZXJzaW9uKicgOlxyXG4gICAgICAgICAgYm9keS5wdXNoKHtcclxuICAgICAgICAgICAgcXVlcnk6IHtcclxuICAgICAgICAgICAgICBkaXNfbWF4OiB7XHJcbiAgICAgICAgICAgICAgICBxdWVyaWVzOiBbe3dpbGRjYXJkOiB7bWlsb0NvZGU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogdGV4dH19fV0sXHJcbiAgICAgICAgICAgICAgICB0aWVfYnJlYWtlcjogMC41XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzb3J0OiBbe19zY29yZToge29yZGVyOiAnZGVzYyd9fSwge3RpdGxlOiB7b3JkZXI6IFwiYXNjXCJ9fV0sXHJcbiAgICAgICAgICAgIHNpemU6IDUwXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3VuaXR5LXByb2R1Y3QqJyA6XHJcbiAgICAgICAgICBib2R5LnB1c2goe1xyXG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7ZWFuOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1dfX0sXHJcbiAgICAgICAgICAgIHNvcnQ6IHtyZWxlYXNlRGF0ZToge29yZGVyOiAnZGVzYyd9fSxcclxuICAgICAgICAgICAgc2l6ZTogNTBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndW5pdHktcHVyY2hhc2Utb3JkZXIqJyA6XHJcbiAgICAgICAgICBib2R5LnB1c2goe1xyXG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7cG9OdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7ZWFuOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2Jhc2tldE51bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxyXG4gICAgICAgICAgICBzaXplOiA1MFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd1bml0eS1kZWFsKicgOlxyXG4gICAgICAgICAgYm9keS5wdXNoKHtcclxuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge2RlYWxOdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcclxuICAgICAgICAgICAgc29ydDogW3tfc2NvcmU6IHtvcmRlcjogJ2Rlc2MnfX0sIHsnZGVhbE51bWJlci5rZXl3b3JkJzoge29yZGVyOiAnYXNjJ319XSxcclxuICAgICAgICAgICAgc2l6ZTogNTBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndW5pdHktd29yay1yZWNvcmQqJyA6XHJcbiAgICAgICAgICBib2R5LnB1c2goe1xyXG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7d29ya1JlY29yZElkOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1dfX0sXHJcbiAgICAgICAgICAgIHNvcnQ6IFt7J3dvcmtSZWNvcmRJZC5rZXl3b3JkJzoge29yZGVyOiAnYXNjJ319XSxcclxuICAgICAgICAgICAgc2l6ZTogNTBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndW5pdHktaW52b2ljZSonIDpcclxuICAgICAgICAgIGJvZHkucHVzaCh7XHJcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtudW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcclxuICAgICAgICAgICAgc29ydDogW3snbnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxyXG4gICAgICAgICAgICBzaXplOiA1MFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd1bml0eS10aGlyZC1wYXJ0eSonIDpcclxuICAgICAgICAgIGJvZHkucHVzaCh7XHJcbiAgICAgICAgICAgIHF1ZXJ5OiB7XHJcbiAgICAgICAgICAgICAgZGlzX21heDoge1xyXG4gICAgICAgICAgICAgICAgcXVlcmllczogW3t3aWxkY2FyZDoge2NvbXBhbnlPclBlcnNvbk5hbWU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7Y29tcGFueU9yUGVyc29uTmFtZToge3ZhbHVlOiB0ZXh0ICsgJyonfX19LCB7d2lsZGNhcmQ6IHtjb21wYW55T3JQZXJzb25OYW1lOiB7dmFsdWU6IHRleHR9fX1dLFxyXG4gICAgICAgICAgICAgICAgdGllX2JyZWFrZXI6IDAuNVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc29ydDogW3tfc2NvcmU6IHtvcmRlcjogJ2Rlc2MnfX0sIHtjb21wYW55T3JQZXJzb25OYW1lOiB7b3JkZXI6ICdhc2MnfX1dLFxyXG4gICAgICAgICAgICBzaXplOiA1MFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd1bml0eS1jb250cmFjdConIDpcclxuICAgICAgICAgIGJvZHkucHVzaCh7XHJcbiAgICAgICAgICAgIHF1ZXJ5OiB7Ym9vbDogdGhpcy5jb21wb3NlQ29udHJhY3RRdWVyeSh0ZXh0LCB1c2VyLnN1YnNpZGlhcmllcyl9LFxyXG4gICAgICAgICAgICBzb3J0OiBbeydsaXNhSWQua2V5d29yZCc6IHtvcmRlcjogJ2FzYyd9fV0sXHJcbiAgICAgICAgICAgIHNpemU6IDUwXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmdldEVsYXN0aWNzZWFyY2hDbGllbnQoKS5tc2VhcmNoKHtib2R5fSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERvY3VtZW50cyhzZWFyY2hSZXNwb25zZTogYW55KTogKFB1cmNoYXNlT3JkZXJSYXBpZFNlYXJjaE1vZGVsIHwgUHJvZHVjdFJhcGlkU2VhcmNoTW9kZWwgfFxyXG4gICAgV29ya1ZlcnNpb25SYXBpZFNlYXJjaE1vZGVsIHwgRGVhbFJhcGlkU2VhcmNoTW9kZWwgfCBXb3JrUmVjb3JkUmFwaWRTZWFyY2hNb2RlbCB8IFRoaXJkUGFydHlSYXBpZFNlYXJjaE1vZGVsIHwgQ29udHJhY3RSYXBpZFNlYXJjaE1vZGVsKVtdIHtcclxuICAgIGxldCByZXN1bHRzID0gW107XHJcbiAgICBpZiAoc2VhcmNoUmVzcG9uc2UgJiYgc2VhcmNoUmVzcG9uc2UucmVzcG9uc2VzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgciBvZiBzZWFyY2hSZXNwb25zZS5yZXNwb25zZXMpIHtcclxuICAgICAgICBpZiAoci5lcnJvciB8fCAhci5oaXRzKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSByLmhpdHMuaGl0cyAmJiByLmhpdHMuaGl0cy5sZW5ndGggPiAwID8gci5oaXRzLmhpdHMubWFwKHYgPT4gdGhpcy5tYXBEb2N1bWVudCh2KSkgOiBbXTtcclxuICAgICAgICByZXN1bHRzID0gcmVzdWx0cy5jb25jYXQoaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgbWFwRG9jdW1lbnQoZG9jOiBhbnkpOiBhbnkge1xyXG4gICAgc3dpdGNoIChkb2MuX3NvdXJjZS5kb2NUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ0lOVk9JQ0UnOlxyXG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBJbnZvaWNlUmFwaWRTZWFyY2hNb2RlbCgpLCBkb2MuX3NvdXJjZSk7XHJcbiAgICAgIGNhc2UgJ1dPUktfUkVDT1JEJzpcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgV29ya1JlY29yZFJhcGlkU2VhcmNoTW9kZWwoKSwgZG9jLl9zb3VyY2UpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBkb2MuX3NvdXJjZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29tcG9zZUNvbnRyYWN0UXVlcnkodGV4dDogc3RyaW5nLCBzdWJzaWRpYWRpZXMpIHtcclxuICAgIGNvbnN0IHNvY2lldGVzID0gdGhpcy5zdWJzaWRpYXJpZXNNYXBwaW5nU2VydmljZS5nZXRTb2NpZXRlQXBwYXJ0ZW5hbmNlKHN1YnNpZGlhZGllcyk7XHJcbiAgICBjb25zdCBtdXN0OiBhbnlbXSA9IFtcclxuICAgICAge3dpbGRjYXJkOiB7bGlzYUlkOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1cclxuICAgIF07XHJcbiAgICBjb25zdCBzaG91bGQ6IGFueVtdID0gW107XHJcbiAgICBzaG91bGQucHVzaCh7Ym9vbDoge211c3Rfbm90OiB7ZXhpc3RzOiB7ZmllbGQ6ICdzb2NpZXRlQXBwYXJ0ZW5hbmNlJ319fX0pO1xyXG4gICAgaWYgKHNvY2lldGVzICYmIHNvY2lldGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgc2hvdWxkLnB1c2goe3Rlcm1zOiB7c29jaWV0ZUFwcGFydGVuYW5jZTogc29jaWV0ZXN9fSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBib29sUXVlcnk6IGFueSA9IHttdXN0fTtcclxuICAgIGJvb2xRdWVyeS5zaG91bGQgPSBzaG91bGQ7XHJcbiAgICBib29sUXVlcnkubWluaW11bV9zaG91bGRfbWF0Y2ggPSAxO1xyXG4gICAgcmV0dXJuIGJvb2xRdWVyeVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,48 +1,48 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { LegalApiService } from "../api/legal-api.service";
3
- import * as i0 from "@angular/core";
4
- export class SubsidiariesService {
5
- constructor() {
6
- this.legalService = inject(LegalApiService);
7
- this.defaultMapping = {
8
- 1: [4991],
9
- 2: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
10
- 3: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
11
- 4: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
12
- 5: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
13
- 6: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
14
- 7: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990]
15
- };
16
- this.subsidiaryToSocieteMapLegal = {};
17
- this.loadTableSocieteAppartenance();
18
- }
19
- loadTableSocieteAppartenance() {
20
- this.legalService.getMappingSocietesSubsidiaries().subscribe({
21
- next: (map) => {
22
- this.subsidiaryToSocieteMapLegal = map;
23
- },
24
- error: () => {
25
- console.log('Default mapping for subsidiaryToSocieteMapLegal');
26
- this.subsidiaryToSocieteMapLegal = { ...this.defaultMapping };
27
- }
28
- });
29
- }
30
- getSocieteAppartenance(subsidiaries) {
31
- if (subsidiaries === null) {
32
- return null;
33
- }
34
- return subsidiaries
35
- .reduce((acc, sub) => {
36
- const societes = this.subsidiaryToSocieteMapLegal[sub.id] || [];
37
- return acc.concat(societes);
38
- }, [])
39
- .filter((v, i, arr) => arr.indexOf(v) === i);
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, providedIn: 'root' }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, decorators: [{
45
- type: Injectable,
46
- args: [{ providedIn: 'root' }]
47
- }], ctorParameters: function () { return []; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2lkaWFyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2VsYXN0aWNzZWFyY2gvc3Vic2lkaWFyaWVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUd6RCxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QjtRQWRpQixpQkFBWSxHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFakUsbUJBQWMsR0FBNkI7WUFDakQsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1QsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7U0FDckQsQ0FBQTtRQUVPLGdDQUEyQixHQUE2QixFQUFFLENBQUM7UUFHakUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELDRCQUE0QjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDLEdBQTZCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQywyQkFBMkIsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDO1lBQzlELENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsWUFBK0I7UUFDcEQsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLFlBQVk7YUFDaEIsTUFBTSxDQUFDLENBQUMsR0FBYSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQ0wsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0F6Q1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FEUCxNQUFNOzs0RkFDbEIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtTdWJzaWRpYXJ5TW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7TGVnYWxBcGlTZXJ2aWNlfSBmcm9tIFwiLi4vYXBpL2xlZ2FsLWFwaS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFN1YnNpZGlhcmllc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbEFwaVNlcnZpY2UgPSBpbmplY3QoTGVnYWxBcGlTZXJ2aWNlKTtcblxuICBwcml2YXRlIGRlZmF1bHRNYXBwaW5nOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXJbXT4gPSB7XG4gICAgMTogWzQ5OTFdLFxuICAgIDI6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF0sXG4gICAgMzogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcbiAgICA0OiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdLFxuICAgIDU6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF0sXG4gICAgNjogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcbiAgICA3OiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdXG4gIH1cblxuICBwcml2YXRlIHN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbDogUmVjb3JkPG51bWJlciwgbnVtYmVyW10+ID0ge307XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkVGFibGVTb2NpZXRlQXBwYXJ0ZW5hbmNlKCk7XG4gIH1cbiAgbG9hZFRhYmxlU29jaWV0ZUFwcGFydGVuYW5jZSgpIHtcbiAgICB0aGlzLmxlZ2FsU2VydmljZS5nZXRNYXBwaW5nU29jaWV0ZXNTdWJzaWRpYXJpZXMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKG1hcDogUmVjb3JkPG51bWJlciwgbnVtYmVyW10+KSA9PiB7XG4gICAgICAgIHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsID0gbWFwO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdEZWZhdWx0IG1hcHBpbmcgZm9yIHN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbCcpO1xuICAgICAgICB0aGlzLnN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbCA9IHsuLi50aGlzLmRlZmF1bHRNYXBwaW5nfTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0U29jaWV0ZUFwcGFydGVuYW5jZShzdWJzaWRpYXJpZXM6IFN1YnNpZGlhcnlNb2RlbFtdKSB7XG4gICAgaWYgKHN1YnNpZGlhcmllcyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBzdWJzaWRpYXJpZXNcbiAgICAgIC5yZWR1Y2UoKGFjYzogbnVtYmVyW10sIHN1YikgPT4ge1xuICAgICAgICBjb25zdCBzb2NpZXRlcyA9IHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsW3N1Yi5pZF0gfHwgW107XG4gICAgICAgIHJldHVybiBhY2MuY29uY2F0KHNvY2lldGVzKTtcbiAgICAgIH0sIFtdKVxuICAgICAgLmZpbHRlcigodiwgaSwgYXJyKSA9PiBhcnIuaW5kZXhPZih2KSA9PT0gaSk7XG4gIH1cbn1cbiJdfQ==
1
+ import { inject, Injectable } from "@angular/core";
2
+ import { LegalApiService } from "../api/legal-api.service";
3
+ import * as i0 from "@angular/core";
4
+ export class SubsidiariesService {
5
+ constructor() {
6
+ this.legalService = inject(LegalApiService);
7
+ this.defaultMapping = {
8
+ 1: [4991],
9
+ 2: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
10
+ 3: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
11
+ 4: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
12
+ 5: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
13
+ 6: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
14
+ 7: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990]
15
+ };
16
+ this.subsidiaryToSocieteMapLegal = {};
17
+ this.loadTableSocieteAppartenance();
18
+ }
19
+ loadTableSocieteAppartenance() {
20
+ this.legalService.getMappingSocietesSubsidiaries().subscribe({
21
+ next: (map) => {
22
+ this.subsidiaryToSocieteMapLegal = map;
23
+ },
24
+ error: () => {
25
+ console.log('Default mapping for subsidiaryToSocieteMapLegal');
26
+ this.subsidiaryToSocieteMapLegal = { ...this.defaultMapping };
27
+ }
28
+ });
29
+ }
30
+ getSocieteAppartenance(subsidiaries) {
31
+ if (subsidiaries === null) {
32
+ return null;
33
+ }
34
+ return subsidiaries
35
+ .reduce((acc, sub) => {
36
+ const societes = this.subsidiaryToSocieteMapLegal[sub.id] || [];
37
+ return acc.concat(societes);
38
+ }, [])
39
+ .filter((v, i, arr) => arr.indexOf(v) === i);
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, providedIn: 'root' }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, decorators: [{
45
+ type: Injectable,
46
+ args: [{ providedIn: 'root' }]
47
+ }], ctorParameters: function () { return []; } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2lkaWFyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2VsYXN0aWNzZWFyY2gvc3Vic2lkaWFyaWVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUd6RCxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QjtRQWRpQixpQkFBWSxHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFakUsbUJBQWMsR0FBNkI7WUFDakQsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1QsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7U0FDckQsQ0FBQTtRQUVPLGdDQUEyQixHQUE2QixFQUFFLENBQUM7UUFHakUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELDRCQUE0QjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDLEdBQTZCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQywyQkFBMkIsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDO1lBQzlELENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsWUFBK0I7UUFDcEQsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLFlBQVk7YUFDaEIsTUFBTSxDQUFDLENBQUMsR0FBYSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQ0wsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0F6Q1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FEUCxNQUFNOzs0RkFDbEIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YnNpZGlhcnlNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xyXG5pbXBvcnQge0xlZ2FsQXBpU2VydmljZX0gZnJvbSBcIi4uL2FwaS9sZWdhbC1hcGkuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBTdWJzaWRpYXJpZXNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBsZWdhbFNlcnZpY2U6IExlZ2FsQXBpU2VydmljZSA9IGluamVjdChMZWdhbEFwaVNlcnZpY2UpO1xyXG5cclxuICBwcml2YXRlIGRlZmF1bHRNYXBwaW5nOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXJbXT4gPSB7XHJcbiAgICAxOiBbNDk5MV0sXHJcbiAgICAyOiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdLFxyXG4gICAgMzogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcclxuICAgIDQ6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF0sXHJcbiAgICA1OiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdLFxyXG4gICAgNjogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcclxuICAgIDc6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXJbXT4gPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmxvYWRUYWJsZVNvY2lldGVBcHBhcnRlbmFuY2UoKTtcclxuICB9XHJcbiAgbG9hZFRhYmxlU29jaWV0ZUFwcGFydGVuYW5jZSgpIHtcclxuICAgIHRoaXMubGVnYWxTZXJ2aWNlLmdldE1hcHBpbmdTb2NpZXRlc1N1YnNpZGlhcmllcygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChtYXA6IFJlY29yZDxudW1iZXIsIG51bWJlcltdPikgPT4ge1xyXG4gICAgICAgIHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsID0gbWFwO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdEZWZhdWx0IG1hcHBpbmcgZm9yIHN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbCcpO1xyXG4gICAgICAgIHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsID0gey4uLnRoaXMuZGVmYXVsdE1hcHBpbmd9O1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0U29jaWV0ZUFwcGFydGVuYW5jZShzdWJzaWRpYXJpZXM6IFN1YnNpZGlhcnlNb2RlbFtdKSB7XHJcbiAgICBpZiAoc3Vic2lkaWFyaWVzID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1YnNpZGlhcmllc1xyXG4gICAgICAucmVkdWNlKChhY2M6IG51bWJlcltdLCBzdWIpID0+IHtcclxuICAgICAgICBjb25zdCBzb2NpZXRlcyA9IHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsW3N1Yi5pZF0gfHwgW107XHJcbiAgICAgICAgcmV0dXJuIGFjYy5jb25jYXQoc29jaWV0ZXMpO1xyXG4gICAgICB9LCBbXSlcclxuICAgICAgLmZpbHRlcigodiwgaSwgYXJyKSA9PiBhcnIuaW5kZXhPZih2KSA9PT0gaSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,25 +1,25 @@
1
- import { EventEmitter, Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FormActionsEventsService {
4
- constructor() {
5
- this.updateEvent = new EventEmitter(true);
6
- this.consultToEdit = new EventEmitter(true);
7
- this.EditToConsult = new EventEmitter(true);
8
- this.consultToDuplicate = new EventEmitter(true);
9
- }
10
- emitUpdateEvent() {
11
- this.updateEvent.emit();
12
- }
13
- emitEventIsUpdateTrue() {
14
- this.consultToEdit.emit(true);
15
- }
16
- emitConsultEvent() {
17
- this.EditToConsult.emit();
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, decorators: [{
23
- type: Injectable
24
- }], ctorParameters: function () { return []; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9mb3JtLWFjdGlvbi9mb3JtLWFjdGlvbnMtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pELE1BQU0sT0FBTyx3QkFBd0I7SUFPakM7UUFMTyxnQkFBVyxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNyRSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLENBQVUsSUFBSSxDQUFDLENBQUM7SUFHbkYsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQXBCUSx3QkFBd0I7bUhBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybUFjdGlvbnNFdmVudHNTZXJ2aWNlIHtcblxuICAgIHB1YmxpYyB1cGRhdGVFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgY29uc3VsdFRvRWRpdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgRWRpdFRvQ29uc3VsdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgY29uc3VsdFRvRHVwbGljYXRlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KHRydWUpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRVcGRhdGVFdmVudCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVFdmVudC5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRFdmVudElzVXBkYXRlVHJ1ZSgpIHtcbiAgICAgICAgdGhpcy5jb25zdWx0VG9FZGl0LmVtaXQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRDb25zdWx0RXZlbnQoKSB7XG4gICAgICAgIHRoaXMuRWRpdFRvQ29uc3VsdC5lbWl0KCk7XG4gICAgfVxufVxuIl19
1
+ import { EventEmitter, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormActionsEventsService {
4
+ constructor() {
5
+ this.updateEvent = new EventEmitter(true);
6
+ this.consultToEdit = new EventEmitter(true);
7
+ this.EditToConsult = new EventEmitter(true);
8
+ this.consultToDuplicate = new EventEmitter(true);
9
+ }
10
+ emitUpdateEvent() {
11
+ this.updateEvent.emit();
12
+ }
13
+ emitEventIsUpdateTrue() {
14
+ this.consultToEdit.emit(true);
15
+ }
16
+ emitConsultEvent() {
17
+ this.EditToConsult.emit();
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9mb3JtLWFjdGlvbi9mb3JtLWFjdGlvbnMtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pELE1BQU0sT0FBTyx3QkFBd0I7SUFPakM7UUFMTyxnQkFBVyxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNyRSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLENBQVUsSUFBSSxDQUFDLENBQUM7SUFHbkYsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQXBCUSx3QkFBd0I7bUhBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRm9ybUFjdGlvbnNFdmVudHNTZXJ2aWNlIHtcclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgICBwdWJsaWMgY29uc3VsdFRvRWRpdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcclxuICAgIHB1YmxpYyBFZGl0VG9Db25zdWx0OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KHRydWUpO1xyXG4gICAgcHVibGljIGNvbnN1bHRUb0R1cGxpY2F0ZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZW1pdFVwZGF0ZUV2ZW50KCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlRXZlbnQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBlbWl0RXZlbnRJc1VwZGF0ZVRydWUoKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdWx0VG9FZGl0LmVtaXQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVtaXRDb25zdWx0RXZlbnQoKSB7XHJcbiAgICAgICAgdGhpcy5FZGl0VG9Db25zdWx0LmVtaXQoKTtcclxuICAgIH1cclxufVxyXG4iXX0=