new-front-common-library 16.1.32-ROY-1 → 16.1.32-ROY-3

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 (603) hide show
  1. package/karma.conf.js +44 -0
  2. package/ng-package.json +10 -0
  3. package/package.json +2 -19
  4. package/src/lib/new-front-common-library.component.spec.ts +25 -0
  5. package/src/lib/new-front-common-library.component.ts +20 -0
  6. package/src/lib/new-front-common-library.module.ts +26 -0
  7. package/src/lib/new-front-common-library.service.spec.ts +16 -0
  8. package/src/lib/new-front-common-library.service.ts +10 -0
  9. package/src/lib/util/animations/actions.animation.ts +16 -0
  10. package/src/lib/util/animations/fade.animation.ts +16 -0
  11. package/src/lib/util/array.service.ts +14 -0
  12. package/src/lib/util/component/header/header.component.html +389 -0
  13. package/src/lib/util/component/header/header.component.scss +265 -0
  14. package/src/lib/util/component/header/header.component.ts +245 -0
  15. package/src/lib/util/component/header/menu/menu.component.html +52 -0
  16. package/src/lib/util/component/header/menu/menu.component.scss +127 -0
  17. package/src/lib/util/component/header/menu/menu.component.spec.ts +21 -0
  18. package/src/lib/util/component/header/menu/menu.component.ts +94 -0
  19. package/src/lib/util/component/header/menu/menu.const.ts +546 -0
  20. package/src/lib/util/component/header/menu/menu.model.ts +26 -0
  21. package/src/lib/util/component/overlay/overlay.component.css +20 -0
  22. package/src/lib/util/component/overlay/overlay.component.html +10 -0
  23. package/src/lib/util/component/overlay/overlay.component.ts +42 -0
  24. package/src/lib/util/component/overlay/overlay.service.ts +23 -0
  25. package/src/lib/util/component/popup/popup-login/popup-login.component.css +3 -0
  26. package/src/lib/util/component/popup/popup-login/popup-login.component.html +29 -0
  27. package/src/lib/util/component/popup/popup-login/popup-login.component.ts +96 -0
  28. package/src/lib/util/component/sub-header/sub-header.component.css +136 -0
  29. package/src/lib/util/component/sub-header/sub-header.component.html +20 -0
  30. package/src/lib/util/component/sub-header/sub-header.component.spec.ts +25 -0
  31. package/src/lib/util/component/sub-header/sub-header.component.ts +37 -0
  32. package/src/lib/util/config.ts +15 -0
  33. package/src/lib/util/date/PeriodModel.ts +7 -0
  34. package/src/lib/util/date/date-format-constants.ts +12 -0
  35. package/src/lib/util/date/date.util.ts +222 -0
  36. package/src/lib/util/decorators/theme.decorator.ts +24 -0
  37. package/src/lib/util/decorators/user.decorator.ts +30 -0
  38. package/src/lib/util/directives/my-number-formatter-directive.ts +32 -0
  39. package/src/lib/util/directives/show-if-truncated.directive.ts +19 -0
  40. package/src/lib/util/enums/family.enum.ts +4 -0
  41. package/src/lib/util/enums/rapid-search-item-type.enum.ts +11 -0
  42. package/src/lib/util/enums/status-color.enum.ts +9 -0
  43. package/src/lib/util/event/header/header-events.service.ts +20 -0
  44. package/src/lib/util/event/storage/local-storage-events.service.ts +15 -0
  45. package/src/lib/util/event/storage/session-storage-events.service.ts +15 -0
  46. package/src/lib/util/http/http-params.builder.ts +33 -0
  47. package/src/lib/util/i18n/de.ts +173 -0
  48. package/src/lib/util/i18n/en.ts +173 -0
  49. package/src/lib/util/i18n/fr.ts +174 -0
  50. package/src/lib/util/i18n/multi-translate-http-loader.ts +31 -0
  51. package/src/lib/util/models/any-line.model.ts +45 -0
  52. package/src/lib/util/models/audio-content.model.ts +40 -0
  53. package/src/lib/util/models/authPermission.model.ts +17 -0
  54. package/src/lib/util/models/authUser.model.ts +28 -0
  55. package/src/lib/util/models/basic-hierarchy.model.ts +8 -0
  56. package/src/lib/util/models/basic.model.ts +31 -0
  57. package/src/lib/util/models/box-set-item.model.ts +23 -0
  58. package/src/lib/util/models/commercial/deal-rapid-search-model.ts +10 -0
  59. package/src/lib/util/models/commercial/invoice-rapid-search-model.ts +25 -0
  60. package/src/lib/util/models/commercial/work-record-rapid-search-model.ts +28 -0
  61. package/src/lib/util/models/custom-typings.d.ts +166 -0
  62. package/src/lib/util/models/disc-program.model.ts +29 -0
  63. package/src/lib/util/models/disc.model.ts +26 -0
  64. package/src/lib/util/models/eventType.model.ts +7 -0
  65. package/src/lib/util/models/expenditure-commitment/purchase-order-file.model.ts +27 -0
  66. package/src/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.ts +10 -0
  67. package/src/lib/util/models/family.model.ts +6 -0
  68. package/{lib/util/models/index.d.ts → src/lib/util/models/index.ts} +1 -0
  69. package/src/lib/util/models/lang-line.model.ts +31 -0
  70. package/src/lib/util/models/legal/contract-rapid-search-model.ts +13 -0
  71. package/src/lib/util/models/legal/contract-work.model.ts +43 -0
  72. package/src/lib/util/models/legal/contract-work2.model.ts +39 -0
  73. package/src/lib/util/models/legal/type-status-rapid-search.model.ts +5 -0
  74. package/src/lib/util/models/media-line.model.ts +20 -0
  75. package/src/lib/util/models/menu-language.model.ts +16 -0
  76. package/src/lib/util/models/milo/territory.model.ts +19 -0
  77. package/src/lib/util/models/module.model.ts +9 -0
  78. package/src/lib/util/models/permission.model.ts +21 -0
  79. package/src/lib/util/models/product-box-set.model.ts +19 -0
  80. package/src/lib/util/models/product-disc-detail.model.ts +25 -0
  81. package/src/lib/util/models/product-disc.model.ts +31 -0
  82. package/src/lib/util/models/product-division.model.ts +35 -0
  83. package/src/lib/util/models/product-type.model.ts +26 -0
  84. package/src/lib/util/models/product.model.ts +73 -0
  85. package/src/lib/util/models/program.model.ts +34 -0
  86. package/src/lib/util/models/purchase-order/purchase-order.model.ts +61 -0
  87. package/src/lib/util/models/referential/WorkVersionArticleDto.ts +20 -0
  88. package/src/lib/util/models/referential/adress-type.model.ts +13 -0
  89. package/src/lib/util/models/referential/adress.model.ts +31 -0
  90. package/src/lib/util/models/referential/attached-file.model.ts +21 -0
  91. package/src/lib/util/models/referential/bank-account.model.ts +25 -0
  92. package/src/lib/util/models/referential/bank-accounts.model.ts +34 -0
  93. package/src/lib/util/models/referential/basic-hierarchy.model.ts +8 -0
  94. package/src/lib/util/models/referential/broadcast-list-item.model.ts +19 -0
  95. package/src/lib/util/models/referential/color.model.ts +16 -0
  96. package/src/lib/util/models/referential/company.model.ts +17 -0
  97. package/src/lib/util/models/referential/content-type.model.ts +22 -0
  98. package/src/lib/util/models/referential/content.model.ts +26 -0
  99. package/src/lib/util/models/referential/cost-center-criteria-values.model.ts +17 -0
  100. package/src/lib/util/models/referential/cost-center-criteria.model.ts +23 -0
  101. package/src/lib/util/models/referential/cost-center.model.ts +37 -0
  102. package/src/lib/util/models/referential/coutry.model.ts +17 -0
  103. package/src/lib/util/models/referential/currency.model.ts +22 -0
  104. package/src/lib/util/models/referential/editorial-content.model.ts +37 -0
  105. package/src/lib/util/models/referential/fixing.model.ts +21 -0
  106. package/src/lib/util/models/referential/flat-media.model.ts +19 -0
  107. package/src/lib/util/models/referential/format-image.model.ts +17 -0
  108. package/src/lib/util/models/referential/format-type.model.ts +16 -0
  109. package/src/lib/util/models/referential/format.model.ts +17 -0
  110. package/src/lib/util/models/referential/fsk-index.model.ts +36 -0
  111. package/src/lib/util/models/referential/fsk.model.ts +53 -0
  112. package/src/lib/util/models/referential/function.model.ts +25 -0
  113. package/src/lib/util/models/referential/genre.model.ts +17 -0
  114. package/src/lib/util/models/referential/invoice-product-type.model.ts +24 -0
  115. package/src/lib/util/models/referential/keywords.model.ts +16 -0
  116. package/src/lib/util/models/referential/language.model.ts +22 -0
  117. package/src/lib/util/models/referential/media-filter.model.ts +10 -0
  118. package/src/lib/util/models/referential/media.model.ts +21 -0
  119. package/src/lib/util/models/referential/module.model.ts +21 -0
  120. package/{lib/util/models/referential/parameter.model.d.ts → src/lib/util/models/referential/parameter.model.ts} +2 -0
  121. package/src/lib/util/models/referential/participant.model.ts +31 -0
  122. package/src/lib/util/models/referential/person.model.ts +30 -0
  123. package/src/lib/util/models/referential/po/WorkRestrictionPO.ts +11 -0
  124. package/src/lib/util/models/referential/project-status.model.ts +16 -0
  125. package/src/lib/util/models/referential/quota.model.ts +17 -0
  126. package/src/lib/util/models/referential/referential-entity-state.model.ts +22 -0
  127. package/src/lib/util/models/referential/referential-value.model.ts +21 -0
  128. package/src/lib/util/models/referential/referentiel.model.ts +29 -0
  129. package/src/lib/util/models/referential/restriction.model.ts +26 -0
  130. package/src/lib/util/models/referential/sap-order.model.ts +48 -0
  131. package/src/lib/util/models/referential/service-error.model.ts +16 -0
  132. package/src/lib/util/models/referential/sound.model.ts +16 -0
  133. package/src/lib/util/models/referential/territories-languages.model.ts +19 -0
  134. package/src/lib/util/models/referential/territory-filter.model.ts +6 -0
  135. package/src/lib/util/models/referential/territory.model.ts +27 -0
  136. package/src/lib/util/models/referential/theme.model.ts +17 -0
  137. package/src/lib/util/models/referential/third-party-address-rapid-search.model.ts +8 -0
  138. package/src/lib/util/models/referential/third-party-creation-request.model.ts +59 -0
  139. package/src/lib/util/models/referential/third-party-module.model.ts +21 -0
  140. package/src/lib/util/models/referential/third-party-rapid-search.model.ts +10 -0
  141. package/src/lib/util/models/referential/third-party.model.ts +100 -0
  142. package/src/lib/util/models/referential/translated-value-model.ts +20 -0
  143. package/src/lib/util/models/referential/tva.model.ts +17 -0
  144. package/src/lib/util/models/referential/type-export.model.ts +17 -0
  145. package/src/lib/util/models/referential/type-tva-company-territory.model.ts +36 -0
  146. package/src/lib/util/models/referential/type-tva.model.ts +29 -0
  147. package/{lib/util/models/referential/user-form.model.d.ts → src/lib/util/models/referential/user-form.model.ts} +2 -0
  148. package/src/lib/util/models/referential/work-addons-model.ts +36 -0
  149. package/src/lib/util/models/referential/work-appartenance.model.ts +17 -0
  150. package/src/lib/util/models/referential/work-genre.model.ts +21 -0
  151. package/src/lib/util/models/referential/work-language.model.ts +21 -0
  152. package/src/lib/util/models/referential/work-milo.model.ts +65 -0
  153. package/src/lib/util/models/referential/work-participant.model.ts +28 -0
  154. package/src/lib/util/models/referential/work-restrictions-model.ts +34 -0
  155. package/src/lib/util/models/referential/work-theme.model.ts +21 -0
  156. package/src/lib/util/models/referential/work-title.model.ts +27 -0
  157. package/src/lib/util/models/referential/work-version-origin.model.ts +20 -0
  158. package/src/lib/util/models/referential/work-version-rapid-search.model.ts +10 -0
  159. package/src/lib/util/models/referential/work-versions-used.model.ts +22 -0
  160. package/src/lib/util/models/referential/work-versions.model.ts +47 -0
  161. package/src/lib/util/models/referential/work-year-production.model.ts +16 -0
  162. package/src/lib/util/models/referential/work.model.ts +88 -0
  163. package/src/lib/util/models/referential/zone.model.ts +16 -0
  164. package/src/lib/util/models/referentiel.model.ts +29 -0
  165. package/src/lib/util/models/search-response.model.ts +7 -0
  166. package/src/lib/util/models/section.model.ts +11 -0
  167. package/src/lib/util/models/select/options.model.ts +8 -0
  168. package/src/lib/util/models/select/select.model.ts +4 -0
  169. package/src/lib/util/models/subsidiary.model.ts +10 -0
  170. package/src/lib/util/models/subtitle-content.model.ts +39 -0
  171. package/src/lib/util/models/user-video.model.ts +29 -0
  172. package/src/lib/util/models/user.model.ts +41 -0
  173. package/src/lib/util/models/video/product-rapid-search.model.ts +10 -0
  174. package/src/lib/util/models/video/support-rapid-search.model.ts +7 -0
  175. package/src/lib/util/models/video-content.model.ts +37 -0
  176. package/src/lib/util/number.validator.ts +123 -0
  177. package/src/lib/util/paginator/custom-paginator-configuration.ts +68 -0
  178. package/src/lib/util/permissions/permissions.service.ts +47 -0
  179. package/src/lib/util/pipes/capitalizefirst.pipe.ts +39 -0
  180. package/src/lib/util/pipes/comma-separated-number.pipe.ts +9 -0
  181. package/src/lib/util/pipes/common-translate.pipe.ts +37 -0
  182. package/src/lib/util/pipes/display-html.pipe.ts +15 -0
  183. package/src/lib/util/pipes/display-null.pipe.ts +19 -0
  184. package/src/lib/util/pipes/format-currency.pipe.ts +26 -0
  185. package/src/lib/util/pipes/format-duration.pipe.ts +16 -0
  186. package/src/lib/util/pipes/format-number-input.pipe.ts +19 -0
  187. package/src/lib/util/pipes/local-date.pipe.ts +29 -0
  188. package/src/lib/util/pipes/my-number.pipe.ts +51 -0
  189. package/src/lib/util/pipes/third-party-address-search.pipe.ts +12 -0
  190. package/src/lib/util/pipes/third-party-address.pipe.ts +13 -0
  191. package/src/lib/util/pipes/trim-string.pipe.ts +24 -0
  192. package/src/lib/util/regex/regex.service.ts +94 -0
  193. package/src/lib/util/regex/regex.spec.ts +45 -0
  194. package/src/lib/util/services/api/commercial-api.service.ts +23 -0
  195. package/src/lib/util/services/api/common-api.service.ts +121 -0
  196. package/src/lib/util/services/api/legal-api.service.ts +27 -0
  197. package/src/lib/util/services/api/video-api.service.ts +45 -0
  198. package/src/lib/util/services/auth/auth.service.spec.ts +16 -0
  199. package/src/lib/util/services/auth/auth.service.ts +14 -0
  200. package/src/lib/util/services/elasticsearch/elasticsearch.service.ts +179 -0
  201. package/src/lib/util/services/elasticsearch/subsidiaries.service.ts +48 -0
  202. package/src/lib/util/services/form-action/form-actions-events.service.ts +25 -0
  203. package/src/lib/util/services/guard/auth.guard.ts +44 -0
  204. package/src/lib/util/services/guard/login.guard.ts +26 -0
  205. package/src/lib/util/services/history/history.service.ts +38 -0
  206. package/src/lib/util/services/interceptor/auth.interceptor.ts +66 -0
  207. package/src/lib/util/services/jwt-security/aes.service.ts +48 -0
  208. package/src/lib/util/services/jwt-security/interceptorhttp.service.ts +98 -0
  209. package/src/lib/util/services/jwt-security/jwt.helpher.ts +38 -0
  210. package/src/lib/util/services/storage/local-storage.service.ts +36 -0
  211. package/src/lib/util/services/storage/session-storage.service.ts +39 -0
  212. package/src/lib/util/services/translate-language/lang.service.ts +26 -0
  213. package/src/lib/util/services/user/user-subsidiary.service.spec.ts +207 -0
  214. package/src/lib/util/services/user/user-subsidiary.service.ts +21 -0
  215. package/src/lib/util/sort.ts +27 -0
  216. package/src/lib/util/theme/theme-event.service.ts +15 -0
  217. package/src/lib/util/toaster/toaster-events.service.ts +32 -0
  218. package/src/lib/util/util.module.ts +185 -0
  219. package/{public-api.d.ts → src/public-api.ts} +17 -2
  220. package/src/test.ts +13 -0
  221. package/tsconfig.lib.json +19 -0
  222. package/tsconfig.lib.prod.json +10 -0
  223. package/tsconfig.spec.json +17 -0
  224. package/esm2022/lib/util/array.service.mjs +0 -19
  225. package/esm2022/lib/util/component/header/header.component.mjs +0 -221
  226. package/esm2022/lib/util/component/header/menu/menu.component.mjs +0 -96
  227. package/esm2022/lib/util/component/header/menu/menu.const.mjs +0 -544
  228. package/esm2022/lib/util/component/header/menu/menu.model.mjs +0 -2
  229. package/esm2022/lib/util/component/overlay/overlay.component.mjs +0 -40
  230. package/esm2022/lib/util/component/overlay/overlay.service.mjs +0 -24
  231. package/esm2022/lib/util/component/popup/popup-login/popup-login.component.mjs +0 -90
  232. package/esm2022/lib/util/component/sub-header/sub-header.component.mjs +0 -44
  233. package/esm2022/lib/util/config.mjs +0 -8
  234. package/esm2022/lib/util/date/PeriodModel.mjs +0 -8
  235. package/esm2022/lib/util/date/date-format-constants.mjs +0 -12
  236. package/esm2022/lib/util/date/date.util.mjs +0 -218
  237. package/esm2022/lib/util/decorators/theme.decorator.mjs +0 -22
  238. package/esm2022/lib/util/decorators/user.decorator.mjs +0 -25
  239. package/esm2022/lib/util/directives/my-number-formatter-directive.mjs +0 -34
  240. package/esm2022/lib/util/directives/show-if-truncated.directive.mjs +0 -25
  241. package/esm2022/lib/util/enums/family.enum.mjs +0 -6
  242. package/esm2022/lib/util/enums/rapid-search-item-type.enum.mjs +0 -12
  243. package/esm2022/lib/util/enums/status-color.enum.mjs +0 -11
  244. package/esm2022/lib/util/event/header/header-events.service.mjs +0 -21
  245. package/esm2022/lib/util/event/storage/local-storage-events.service.mjs +0 -17
  246. package/esm2022/lib/util/event/storage/session-storage-events.service.mjs +0 -18
  247. package/esm2022/lib/util/http/http-params.builder.mjs +0 -27
  248. package/esm2022/lib/util/i18n/de.mjs +0 -158
  249. package/esm2022/lib/util/i18n/en.mjs +0 -158
  250. package/esm2022/lib/util/i18n/fr.mjs +0 -158
  251. package/esm2022/lib/util/i18n/multi-translate-http-loader.mjs +0 -21
  252. package/esm2022/lib/util/interfaces/permissions.interface.mjs +0 -2
  253. package/esm2022/lib/util/models/any-line.model.mjs +0 -37
  254. package/esm2022/lib/util/models/audio-content.model.mjs +0 -27
  255. package/esm2022/lib/util/models/authPermission.model.mjs +0 -16
  256. package/esm2022/lib/util/models/authUser.model.mjs +0 -21
  257. package/esm2022/lib/util/models/basic.model.mjs +0 -14
  258. package/esm2022/lib/util/models/box-set-item.model.mjs +0 -19
  259. package/esm2022/lib/util/models/commercial/deal-rapid-search-model.mjs +0 -3
  260. package/esm2022/lib/util/models/commercial/invoice-rapid-search-model.mjs +0 -9
  261. package/esm2022/lib/util/models/commercial/work-record-rapid-search-model.mjs +0 -13
  262. package/esm2022/lib/util/models/disc-program.model.mjs +0 -26
  263. package/esm2022/lib/util/models/disc.model.mjs +0 -22
  264. package/esm2022/lib/util/models/eventType.model.mjs +0 -7
  265. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-file.model.mjs +0 -22
  266. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.mjs +0 -3
  267. package/esm2022/lib/util/models/family.model.mjs +0 -7
  268. package/esm2022/lib/util/models/index.mjs +0 -101
  269. package/esm2022/lib/util/models/lang-line.model.mjs +0 -27
  270. package/esm2022/lib/util/models/legal/contract-rapid-search-model.mjs +0 -3
  271. package/esm2022/lib/util/models/legal/contract-work.model.mjs +0 -23
  272. package/esm2022/lib/util/models/legal/contract-work2.model.mjs +0 -21
  273. package/esm2022/lib/util/models/legal/type-status-rapid-search.model.mjs +0 -3
  274. package/esm2022/lib/util/models/media-line.model.mjs +0 -18
  275. package/esm2022/lib/util/models/menu-language.model.mjs +0 -15
  276. package/esm2022/lib/util/models/permission.model.mjs +0 -20
  277. package/esm2022/lib/util/models/product-box-set.model.mjs +0 -16
  278. package/esm2022/lib/util/models/product-disc-detail.model.mjs +0 -22
  279. package/esm2022/lib/util/models/product-disc.model.mjs +0 -27
  280. package/esm2022/lib/util/models/product-division.model.mjs +0 -29
  281. package/esm2022/lib/util/models/product-type.model.mjs +0 -22
  282. package/esm2022/lib/util/models/product.model.mjs +0 -62
  283. package/esm2022/lib/util/models/program.model.mjs +0 -28
  284. package/esm2022/lib/util/models/purchase-order/purchase-order.model.mjs +0 -53
  285. package/esm2022/lib/util/models/referential/WorkVersionArticleDto.mjs +0 -17
  286. package/esm2022/lib/util/models/referential/adress-type.model.mjs +0 -14
  287. package/esm2022/lib/util/models/referential/adress.model.mjs +0 -28
  288. package/esm2022/lib/util/models/referential/attached-file.model.mjs +0 -17
  289. package/esm2022/lib/util/models/referential/bank-account.model.mjs +0 -24
  290. package/esm2022/lib/util/models/referential/bank-accounts.model.mjs +0 -31
  291. package/esm2022/lib/util/models/referential/basic-hierarchy.model.mjs +0 -8
  292. package/esm2022/lib/util/models/referential/broadcast-list-item.model.mjs +0 -13
  293. package/esm2022/lib/util/models/referential/color.model.mjs +0 -16
  294. package/esm2022/lib/util/models/referential/company.model.mjs +0 -16
  295. package/esm2022/lib/util/models/referential/content-type.model.mjs +0 -17
  296. package/esm2022/lib/util/models/referential/content.model.mjs +0 -22
  297. package/esm2022/lib/util/models/referential/cost-center-criteria-values.model.mjs +0 -14
  298. package/esm2022/lib/util/models/referential/cost-center-criteria.model.mjs +0 -13
  299. package/esm2022/lib/util/models/referential/cost-center.model.mjs +0 -28
  300. package/esm2022/lib/util/models/referential/coutry.model.mjs +0 -16
  301. package/esm2022/lib/util/models/referential/currency.model.mjs +0 -20
  302. package/esm2022/lib/util/models/referential/editorial-content.model.mjs +0 -18
  303. package/esm2022/lib/util/models/referential/fixing.model.mjs +0 -16
  304. package/esm2022/lib/util/models/referential/flat-media.model.mjs +0 -18
  305. package/esm2022/lib/util/models/referential/format-image.model.mjs +0 -16
  306. package/esm2022/lib/util/models/referential/format-type.model.mjs +0 -16
  307. package/esm2022/lib/util/models/referential/format.model.mjs +0 -17
  308. package/esm2022/lib/util/models/referential/fsk-index.model.mjs +0 -20
  309. package/esm2022/lib/util/models/referential/fsk.model.mjs +0 -22
  310. package/esm2022/lib/util/models/referential/function.model.mjs +0 -23
  311. package/esm2022/lib/util/models/referential/genre.model.mjs +0 -17
  312. package/esm2022/lib/util/models/referential/invoice-product-type.model.mjs +0 -22
  313. package/esm2022/lib/util/models/referential/keywords.model.mjs +0 -13
  314. package/esm2022/lib/util/models/referential/language.model.mjs +0 -18
  315. package/esm2022/lib/util/models/referential/media-filter.model.mjs +0 -3
  316. package/esm2022/lib/util/models/referential/media.model.mjs +0 -20
  317. package/esm2022/lib/util/models/referential/module.model.mjs +0 -20
  318. package/esm2022/lib/util/models/referential/parameter.model.mjs +0 -2
  319. package/esm2022/lib/util/models/referential/participant.model.mjs +0 -20
  320. package/esm2022/lib/util/models/referential/person.model.mjs +0 -23
  321. package/esm2022/lib/util/models/referential/project-status.model.mjs +0 -16
  322. package/esm2022/lib/util/models/referential/quota.model.mjs +0 -17
  323. package/esm2022/lib/util/models/referential/referential-entity-state.model.mjs +0 -16
  324. package/esm2022/lib/util/models/referential/referential-value.model.mjs +0 -16
  325. package/esm2022/lib/util/models/referential/referentiel.model.mjs +0 -26
  326. package/esm2022/lib/util/models/referential/restriction.model.mjs +0 -20
  327. package/esm2022/lib/util/models/referential/sap-order.model.mjs +0 -20
  328. package/esm2022/lib/util/models/referential/service-error.model.mjs +0 -15
  329. package/esm2022/lib/util/models/referential/sound.model.mjs +0 -16
  330. package/esm2022/lib/util/models/referential/territories-languages.model.mjs +0 -16
  331. package/esm2022/lib/util/models/referential/territory-filter.model.mjs +0 -3
  332. package/esm2022/lib/util/models/referential/territory.model.mjs +0 -17
  333. package/esm2022/lib/util/models/referential/theme.model.mjs +0 -17
  334. package/esm2022/lib/util/models/referential/third-party-address-rapid-search.model.mjs +0 -3
  335. package/esm2022/lib/util/models/referential/third-party-creation-request.model.mjs +0 -44
  336. package/esm2022/lib/util/models/referential/third-party-module.model.mjs +0 -20
  337. package/esm2022/lib/util/models/referential/third-party-rapid-search.model.mjs +0 -3
  338. package/esm2022/lib/util/models/referential/third-party.model.mjs +0 -83
  339. package/esm2022/lib/util/models/referential/translated-value-model.mjs +0 -16
  340. package/esm2022/lib/util/models/referential/tva.model.mjs +0 -16
  341. package/esm2022/lib/util/models/referential/type-export.model.mjs +0 -16
  342. package/esm2022/lib/util/models/referential/type-tva-company-territory.model.mjs +0 -32
  343. package/esm2022/lib/util/models/referential/type-tva.model.mjs +0 -25
  344. package/esm2022/lib/util/models/referential/user-form.model.mjs +0 -2
  345. package/esm2022/lib/util/models/referential/work-addons-model.mjs +0 -16
  346. package/esm2022/lib/util/models/referential/work-appartenance.model.mjs +0 -17
  347. package/esm2022/lib/util/models/referential/work-genre.model.mjs +0 -16
  348. package/esm2022/lib/util/models/referential/work-language.model.mjs +0 -16
  349. package/esm2022/lib/util/models/referential/work-milo.model.mjs +0 -61
  350. package/esm2022/lib/util/models/referential/work-participant.model.mjs +0 -21
  351. package/esm2022/lib/util/models/referential/work-restrictions-model.mjs +0 -13
  352. package/esm2022/lib/util/models/referential/work-theme.model.mjs +0 -16
  353. package/esm2022/lib/util/models/referential/work-title.model.mjs +0 -20
  354. package/esm2022/lib/util/models/referential/work-version-origin.model.mjs +0 -16
  355. package/esm2022/lib/util/models/referential/work-version-rapid-search.model.mjs +0 -3
  356. package/esm2022/lib/util/models/referential/work-versions-used.model.mjs +0 -19
  357. package/esm2022/lib/util/models/referential/work-versions.model.mjs +0 -27
  358. package/esm2022/lib/util/models/referential/work-year-production.model.mjs +0 -13
  359. package/esm2022/lib/util/models/referential/work.model.mjs +0 -22
  360. package/esm2022/lib/util/models/referential/zone.model.mjs +0 -14
  361. package/esm2022/lib/util/models/referentiel.model.mjs +0 -26
  362. package/esm2022/lib/util/models/search-response.model.mjs +0 -10
  363. package/esm2022/lib/util/models/section.model.mjs +0 -8
  364. package/esm2022/lib/util/models/select/options.model.mjs +0 -8
  365. package/esm2022/lib/util/models/select/select.model.mjs +0 -7
  366. package/esm2022/lib/util/models/subsidiary.model.mjs +0 -8
  367. package/esm2022/lib/util/models/subtitle-content.model.mjs +0 -28
  368. package/esm2022/lib/util/models/user-video.model.mjs +0 -22
  369. package/esm2022/lib/util/models/user.model.mjs +0 -35
  370. package/esm2022/lib/util/models/video/product-rapid-search.model.mjs +0 -3
  371. package/esm2022/lib/util/models/video/support-rapid-search.model.mjs +0 -3
  372. package/esm2022/lib/util/models/video-content.model.mjs +0 -18
  373. package/esm2022/lib/util/number.validator.mjs +0 -129
  374. package/esm2022/lib/util/paginator/custom-paginator-configuration.mjs +0 -59
  375. package/esm2022/lib/util/permissions/permissions.service.mjs +0 -49
  376. package/esm2022/lib/util/pipes/capitalizefirst.pipe.mjs +0 -41
  377. package/esm2022/lib/util/pipes/comma-separated-number.pipe.mjs +0 -15
  378. package/esm2022/lib/util/pipes/common-translate.pipe.mjs +0 -38
  379. package/esm2022/lib/util/pipes/display-html.pipe.mjs +0 -20
  380. package/esm2022/lib/util/pipes/display-null.pipe.mjs +0 -24
  381. package/esm2022/lib/util/pipes/format-currency.pipe.mjs +0 -31
  382. package/esm2022/lib/util/pipes/format-duration.pipe.mjs +0 -23
  383. package/esm2022/lib/util/pipes/format-number-input.pipe.mjs +0 -22
  384. package/esm2022/lib/util/pipes/local-date.pipe.mjs +0 -27
  385. package/esm2022/lib/util/pipes/my-number.pipe.mjs +0 -44
  386. package/esm2022/lib/util/pipes/third-party-address-search.pipe.mjs +0 -15
  387. package/esm2022/lib/util/pipes/third-party-address.pipe.mjs +0 -16
  388. package/esm2022/lib/util/pipes/trim-string.pipe.mjs +0 -25
  389. package/esm2022/lib/util/regex/regex.service.mjs +0 -94
  390. package/esm2022/lib/util/services/api/commercial-api.service.mjs +0 -28
  391. package/esm2022/lib/util/services/api/common-api.service.mjs +0 -98
  392. package/esm2022/lib/util/services/api/legal-api.service.mjs +0 -32
  393. package/esm2022/lib/util/services/api/video-api.service.mjs +0 -45
  394. package/esm2022/lib/util/services/auth/auth.service.mjs +0 -18
  395. package/esm2022/lib/util/services/elasticsearch/elasticsearch.service.mjs +0 -166
  396. package/esm2022/lib/util/services/elasticsearch/subsidiaries.service.mjs +0 -48
  397. package/esm2022/lib/util/services/form-action/form-actions-events.service.mjs +0 -25
  398. package/esm2022/lib/util/services/guard/auth.guard.mjs +0 -32
  399. package/esm2022/lib/util/services/guard/login.guard.mjs +0 -23
  400. package/esm2022/lib/util/services/history/history.service.mjs +0 -39
  401. package/esm2022/lib/util/services/interceptor/auth.interceptor.mjs +0 -53
  402. package/esm2022/lib/util/services/jwt-security/aes.service.mjs +0 -34
  403. package/esm2022/lib/util/services/jwt-security/interceptorhttp.service.mjs +0 -18
  404. package/esm2022/lib/util/services/jwt-security/jwt.helpher.mjs +0 -34
  405. package/esm2022/lib/util/services/storage/local-storage.service.mjs +0 -36
  406. package/esm2022/lib/util/services/storage/session-storage.service.mjs +0 -38
  407. package/esm2022/lib/util/services/translate-language/lang.service.mjs +0 -31
  408. package/esm2022/lib/util/services/user/user-subsidiary.service.mjs +0 -22
  409. package/esm2022/lib/util/sort.mjs +0 -22
  410. package/esm2022/lib/util/theme/theme-event.service.mjs +0 -17
  411. package/esm2022/lib/util/toaster/toaster-events.service.mjs +0 -32
  412. package/esm2022/lib/util/util.module.mjs +0 -281
  413. package/esm2022/new-front-common-library.mjs +0 -5
  414. package/esm2022/public-api.mjs +0 -59
  415. package/fesm2022/new-front-common-library.mjs +0 -5695
  416. package/fesm2022/new-front-common-library.mjs.map +0 -1
  417. package/index.d.ts +0 -5
  418. package/lib/util/array.service.d.ts +0 -7
  419. package/lib/util/component/header/header.component.d.ts +0 -74
  420. package/lib/util/component/header/menu/menu.component.d.ts +0 -27
  421. package/lib/util/component/header/menu/menu.const.d.ts +0 -2
  422. package/lib/util/component/header/menu/menu.model.d.ts +0 -23
  423. package/lib/util/component/overlay/overlay.component.d.ts +0 -17
  424. package/lib/util/component/overlay/overlay.service.d.ts +0 -13
  425. package/lib/util/component/popup/popup-login/popup-login.component.d.ts +0 -35
  426. package/lib/util/component/sub-header/sub-header.component.d.ts +0 -13
  427. package/lib/util/config.d.ts +0 -8
  428. package/lib/util/date/PeriodModel.d.ts +0 -6
  429. package/lib/util/date/date-format-constants.d.ts +0 -25
  430. package/lib/util/date/date.util.d.ts +0 -16
  431. package/lib/util/decorators/theme.decorator.d.ts +0 -1
  432. package/lib/util/decorators/user.decorator.d.ts +0 -1
  433. package/lib/util/directives/my-number-formatter-directive.d.ts +0 -15
  434. package/lib/util/directives/show-if-truncated.directive.d.ts +0 -11
  435. package/lib/util/enums/family.enum.d.ts +0 -4
  436. package/lib/util/enums/rapid-search-item-type.enum.d.ts +0 -10
  437. package/lib/util/enums/status-color.enum.d.ts +0 -9
  438. package/lib/util/event/header/header-events.service.d.ts +0 -11
  439. package/lib/util/event/storage/local-storage-events.service.d.ts +0 -9
  440. package/lib/util/event/storage/session-storage-events.service.d.ts +0 -10
  441. package/lib/util/http/http-params.builder.d.ts +0 -9
  442. package/lib/util/i18n/de.d.ts +0 -141
  443. package/lib/util/i18n/en.d.ts +0 -141
  444. package/lib/util/i18n/fr.d.ts +0 -141
  445. package/lib/util/i18n/multi-translate-http-loader.d.ts +0 -14
  446. package/lib/util/models/any-line.model.d.ts +0 -24
  447. package/lib/util/models/audio-content.model.d.ts +0 -27
  448. package/lib/util/models/authPermission.model.d.ts +0 -7
  449. package/lib/util/models/authUser.model.d.ts +0 -16
  450. package/lib/util/models/basic.model.d.ts +0 -11
  451. package/lib/util/models/box-set-item.model.d.ts +0 -12
  452. package/lib/util/models/commercial/deal-rapid-search-model.d.ts +0 -10
  453. package/lib/util/models/commercial/invoice-rapid-search-model.d.ts +0 -18
  454. package/lib/util/models/commercial/work-record-rapid-search-model.d.ts +0 -21
  455. package/lib/util/models/disc-program.model.d.ts +0 -9
  456. package/lib/util/models/disc.model.d.ts +0 -15
  457. package/lib/util/models/eventType.model.d.ts +0 -5
  458. package/lib/util/models/expenditure-commitment/purchase-order-file.model.d.ts +0 -8
  459. package/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.d.ts +0 -10
  460. package/lib/util/models/family.model.d.ts +0 -5
  461. package/lib/util/models/lang-line.model.d.ts +0 -18
  462. package/lib/util/models/legal/contract-rapid-search-model.d.ts +0 -10
  463. package/lib/util/models/legal/contract-work.model.d.ts +0 -27
  464. package/lib/util/models/legal/contract-work2.model.d.ts +0 -23
  465. package/lib/util/models/legal/type-status-rapid-search.model.d.ts +0 -5
  466. package/lib/util/models/media-line.model.d.ts +0 -9
  467. package/lib/util/models/menu-language.model.d.ts +0 -6
  468. package/lib/util/models/permission.model.d.ts +0 -12
  469. package/lib/util/models/product-box-set.model.d.ts +0 -8
  470. package/lib/util/models/product-disc-detail.model.d.ts +0 -14
  471. package/lib/util/models/product-disc.model.d.ts +0 -11
  472. package/lib/util/models/product-division.model.d.ts +0 -15
  473. package/lib/util/models/product-type.model.d.ts +0 -7
  474. package/lib/util/models/product.model.d.ts +0 -52
  475. package/lib/util/models/program.model.d.ts +0 -21
  476. package/lib/util/models/purchase-order/purchase-order.model.d.ts +0 -40
  477. package/lib/util/models/referential/WorkVersionArticleDto.d.ts +0 -10
  478. package/lib/util/models/referential/adress-type.model.d.ts +0 -5
  479. package/lib/util/models/referential/adress.model.d.ts +0 -20
  480. package/lib/util/models/referential/attached-file.model.d.ts +0 -11
  481. package/lib/util/models/referential/bank-account.model.d.ts +0 -15
  482. package/lib/util/models/referential/bank-accounts.model.d.ts +0 -17
  483. package/lib/util/models/referential/basic-hierarchy.model.d.ts +0 -6
  484. package/lib/util/models/referential/broadcast-list-item.model.d.ts +0 -8
  485. package/lib/util/models/referential/color.model.d.ts +0 -6
  486. package/lib/util/models/referential/company.model.d.ts +0 -7
  487. package/lib/util/models/referential/content-type.model.d.ts +0 -12
  488. package/lib/util/models/referential/content.model.d.ts +0 -7
  489. package/lib/util/models/referential/cost-center-criteria-values.model.d.ts +0 -7
  490. package/lib/util/models/referential/cost-center-criteria.model.d.ts +0 -12
  491. package/lib/util/models/referential/cost-center.model.d.ts +0 -18
  492. package/lib/util/models/referential/coutry.model.d.ts +0 -7
  493. package/lib/util/models/referential/currency.model.d.ts +0 -11
  494. package/lib/util/models/referential/editorial-content.model.d.ts +0 -25
  495. package/lib/util/models/referential/fixing.model.d.ts +0 -10
  496. package/lib/util/models/referential/flat-media.model.d.ts +0 -9
  497. package/lib/util/models/referential/format-image.model.d.ts +0 -7
  498. package/lib/util/models/referential/format-type.model.d.ts +0 -6
  499. package/lib/util/models/referential/format.model.d.ts +0 -7
  500. package/lib/util/models/referential/fsk-index.model.d.ts +0 -22
  501. package/lib/util/models/referential/fsk.model.d.ts +0 -37
  502. package/lib/util/models/referential/function.model.d.ts +0 -8
  503. package/lib/util/models/referential/genre.model.d.ts +0 -7
  504. package/lib/util/models/referential/invoice-product-type.model.d.ts +0 -7
  505. package/lib/util/models/referential/keywords.model.d.ts +0 -6
  506. package/lib/util/models/referential/language.model.d.ts +0 -11
  507. package/lib/util/models/referential/media-filter.model.d.ts +0 -10
  508. package/lib/util/models/referential/media.model.d.ts +0 -11
  509. package/lib/util/models/referential/module.model.d.ts +0 -11
  510. package/lib/util/models/referential/participant.model.d.ts +0 -11
  511. package/lib/util/models/referential/person.model.d.ts +0 -13
  512. package/lib/util/models/referential/project-status.model.d.ts +0 -6
  513. package/lib/util/models/referential/quota.model.d.ts +0 -7
  514. package/lib/util/models/referential/referential-entity-state.model.d.ts +0 -11
  515. package/lib/util/models/referential/referential-value.model.d.ts +0 -11
  516. package/lib/util/models/referential/referentiel.model.d.ts +0 -12
  517. package/lib/util/models/referential/restriction.model.d.ts +0 -9
  518. package/lib/util/models/referential/sap-order.model.d.ts +0 -27
  519. package/lib/util/models/referential/service-error.model.d.ts +0 -13
  520. package/lib/util/models/referential/sound.model.d.ts +0 -6
  521. package/lib/util/models/referential/territories-languages.model.d.ts +0 -8
  522. package/lib/util/models/referential/territory-filter.model.d.ts +0 -6
  523. package/lib/util/models/referential/territory.model.d.ts +0 -12
  524. package/lib/util/models/referential/theme.model.d.ts +0 -7
  525. package/lib/util/models/referential/third-party-address-rapid-search.model.d.ts +0 -8
  526. package/lib/util/models/referential/third-party-creation-request.model.d.ts +0 -48
  527. package/lib/util/models/referential/third-party-module.model.d.ts +0 -11
  528. package/lib/util/models/referential/third-party-rapid-search.model.d.ts +0 -8
  529. package/lib/util/models/referential/third-party.model.d.ts +0 -45
  530. package/lib/util/models/referential/translated-value-model.d.ts +0 -10
  531. package/lib/util/models/referential/tva.model.d.ts +0 -7
  532. package/lib/util/models/referential/type-export.model.d.ts +0 -7
  533. package/lib/util/models/referential/type-tva-company-territory.model.d.ts +0 -18
  534. package/lib/util/models/referential/type-tva.model.d.ts +0 -10
  535. package/lib/util/models/referential/work-addons-model.d.ts +0 -25
  536. package/lib/util/models/referential/work-appartenance.model.d.ts +0 -7
  537. package/lib/util/models/referential/work-genre.model.d.ts +0 -11
  538. package/lib/util/models/referential/work-language.model.d.ts +0 -11
  539. package/lib/util/models/referential/work-milo.model.d.ts +0 -46
  540. package/lib/util/models/referential/work-participant.model.d.ts +0 -10
  541. package/lib/util/models/referential/work-restrictions-model.d.ts +0 -18
  542. package/lib/util/models/referential/work-theme.model.d.ts +0 -11
  543. package/lib/util/models/referential/work-title.model.d.ts +0 -10
  544. package/lib/util/models/referential/work-version-origin.model.d.ts +0 -10
  545. package/lib/util/models/referential/work-version-rapid-search.model.d.ts +0 -9
  546. package/lib/util/models/referential/work-versions-used.model.d.ts +0 -12
  547. package/lib/util/models/referential/work-versions.model.d.ts +0 -29
  548. package/lib/util/models/referential/work-year-production.model.d.ts +0 -6
  549. package/lib/util/models/referential/work.model.d.ts +0 -74
  550. package/lib/util/models/referential/zone.model.d.ts +0 -6
  551. package/lib/util/models/referentiel.model.d.ts +0 -12
  552. package/lib/util/models/search-response.model.d.ts +0 -7
  553. package/lib/util/models/section.model.d.ts +0 -7
  554. package/lib/util/models/select/options.model.d.ts +0 -6
  555. package/lib/util/models/select/select.model.d.ts +0 -5
  556. package/lib/util/models/subsidiary.model.d.ts +0 -7
  557. package/lib/util/models/subtitle-content.model.d.ts +0 -26
  558. package/lib/util/models/user-video.model.d.ts +0 -10
  559. package/lib/util/models/user.model.d.ts +0 -27
  560. package/lib/util/models/video/product-rapid-search.model.d.ts +0 -8
  561. package/lib/util/models/video/support-rapid-search.model.d.ts +0 -6
  562. package/lib/util/models/video-content.model.d.ts +0 -24
  563. package/lib/util/number.validator.d.ts +0 -14
  564. package/lib/util/paginator/custom-paginator-configuration.d.ts +0 -16
  565. package/lib/util/permissions/permissions.service.d.ts +0 -15
  566. package/lib/util/pipes/capitalizefirst.pipe.d.ts +0 -8
  567. package/lib/util/pipes/comma-separated-number.pipe.d.ts +0 -7
  568. package/lib/util/pipes/common-translate.pipe.d.ts +0 -12
  569. package/lib/util/pipes/display-html.pipe.d.ts +0 -10
  570. package/lib/util/pipes/display-null.pipe.d.ts +0 -8
  571. package/lib/util/pipes/format-currency.pipe.d.ts +0 -10
  572. package/lib/util/pipes/format-duration.pipe.d.ts +0 -7
  573. package/lib/util/pipes/format-number-input.pipe.d.ts +0 -7
  574. package/lib/util/pipes/local-date.pipe.d.ts +0 -9
  575. package/lib/util/pipes/my-number.pipe.d.ts +0 -11
  576. package/lib/util/pipes/third-party-address-search.pipe.d.ts +0 -8
  577. package/lib/util/pipes/third-party-address.pipe.d.ts +0 -8
  578. package/lib/util/pipes/trim-string.pipe.d.ts +0 -7
  579. package/lib/util/regex/regex.service.d.ts +0 -12
  580. package/lib/util/services/api/commercial-api.service.d.ts +0 -12
  581. package/lib/util/services/api/common-api.service.d.ts +0 -27
  582. package/lib/util/services/api/legal-api.service.d.ts +0 -15
  583. package/lib/util/services/api/video-api.service.d.ts +0 -17
  584. package/lib/util/services/auth/auth.service.d.ts +0 -9
  585. package/lib/util/services/elasticsearch/elasticsearch.service.d.ts +0 -35
  586. package/lib/util/services/elasticsearch/subsidiaries.service.d.ts +0 -12
  587. package/lib/util/services/form-action/form-actions-events.service.d.ts +0 -14
  588. package/lib/util/services/guard/auth.guard.d.ts +0 -2
  589. package/lib/util/services/guard/login.guard.d.ts +0 -1
  590. package/lib/util/services/history/history.service.d.ts +0 -10
  591. package/lib/util/services/interceptor/auth.interceptor.d.ts +0 -16
  592. package/lib/util/services/jwt-security/aes.service.d.ts +0 -12
  593. package/lib/util/services/jwt-security/interceptorhttp.service.d.ts +0 -8
  594. package/lib/util/services/jwt-security/jwt.helpher.d.ts +0 -4
  595. package/lib/util/services/storage/local-storage.service.d.ts +0 -13
  596. package/lib/util/services/storage/session-storage.service.d.ts +0 -13
  597. package/lib/util/services/translate-language/lang.service.d.ts +0 -14
  598. package/lib/util/services/user/user-subsidiary.service.d.ts +0 -9
  599. package/lib/util/sort.d.ts +0 -4
  600. package/lib/util/theme/theme-event.service.d.ts +0 -9
  601. package/lib/util/toaster/toaster-events.service.d.ts +0 -15
  602. package/lib/util/util.module.d.ts +0 -49
  603. /package/{lib/util/interfaces/permissions.interface.d.ts → src/lib/util/interfaces/permissions.interface.ts} +0 -0
@@ -1,96 +0,0 @@
1
- import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
- import { MENU_SECTIONS } from './menu.const';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../overlay/overlay.service";
5
- import * as i2 from "../../../services/api/video-api.service";
6
- import * as i3 from "../../../services/api/commercial-api.service";
7
- import * as i4 from "@angular/material/toolbar";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "ngx-permissions";
10
- import * as i7 from "@angular/material/icon";
11
- import * as i8 from "@angular/material/menu";
12
- import * as i9 from "../../../pipes/common-translate.pipe";
13
- export class MenuComponent {
14
- onClickOutside(event) {
15
- const menuButton = event.target.closest('.button-wrapper');
16
- const insideMenu = event.target.closest('.mat-menu-panel');
17
- if (!menuButton && !insideMenu) {
18
- this.forceCloseMenu();
19
- }
20
- }
21
- constructor(overlayService, videoApiService, commercialApiService) {
22
- this.overlayService = overlayService;
23
- this.videoApiService = videoApiService;
24
- this.commercialApiService = commercialApiService;
25
- this.navigate = new EventEmitter();
26
- this.redirect = new EventEmitter();
27
- this.activeMenu = null;
28
- this.menuButtons = MENU_SECTIONS;
29
- this.menuTriggerRef = null;
30
- }
31
- openMenu(menuTrigger, menuLabel) {
32
- if (this.activeMenu === menuLabel) {
33
- this.forceCloseMenu();
34
- return;
35
- }
36
- this.forceCloseMenu();
37
- this.activeMenu = menuLabel;
38
- this.menuTriggerRef = menuTrigger;
39
- menuTrigger.openMenu();
40
- }
41
- forceCloseMenu() {
42
- this.activeMenu = null;
43
- this.menuTriggerRef?.closeMenu();
44
- }
45
- extractAllProducts() {
46
- this.overlayService.show();
47
- this.videoApiService.getProductExtractionXlsx(this.lang).subscribe(res => {
48
- const xlsFile = new Blob([res], {
49
- type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
50
- });
51
- const fileURL = URL.createObjectURL(xlsFile);
52
- window.open(fileURL);
53
- this.overlayService.hide();
54
- });
55
- }
56
- extractAccountWrittingDownload() {
57
- this.overlayService.show();
58
- this.commercialApiService.getAccountWrittingDownload();
59
- this.overlayService.hide();
60
- }
61
- performAction(link) {
62
- this.forceCloseMenu();
63
- switch (link.actionType) {
64
- case 'navigate':
65
- this.navigate.emit(link);
66
- break;
67
- case 'redirect':
68
- this.redirect.emit(link);
69
- break;
70
- case 'exportAccountWriting':
71
- this.extractAccountWrittingDownload();
72
- break;
73
- case 'extractProduct':
74
- this.extractAllProducts();
75
- break;
76
- default:
77
- throw new Error(`performAction error - No action type on menuLink : ${link}`);
78
- }
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuComponent, deps: [{ token: i1.OverlayService }, { token: i2.VideoApiService }, { token: i3.CommercialApiService }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuComponent, selector: "sc-menu", inputs: { lang: "lang" }, outputs: { navigate: "navigate", redirect: "redirect" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, ngImport: i0, template: "<div class=\"d-flex justify-content-start\">\n <ng-container *ngFor=\"let menuCurrent of menuButtons\" class=\"menu-panel-container\">\n <ng-container *ngxPermissionsExcept=\"menuCurrent.restrictions\">\n <mat-toolbar class=\"toolbar-padding\">\n <div\n [attr.aria-label]=\"menuCurrent.label + '-btn'\"\n class=\"button-wrapper\"\n [ngClass]=\"{ active: activeMenu === menuCurrent.label }\"\n *ngxPermissionsOnly=\"menuCurrent.permissions\"\n (click)=\"openMenu(menuTrigger, menuCurrent.label)\"\n >\n <button class=\"menu-button primary-color\" [matMenuTriggerFor]=\"i\" #menuTrigger=\"matMenuTrigger\"\n style=\"z-index: 99999\">\n <div class=\"text-menu-button\">\n <span>{{ menuCurrent.label | commonTranslate : lang }}</span>\n <div class=\"indicator\">\n <div class=\"line primary\"></div>\n </div>\n </div>\n <mat-icon class=\"primary-color icon-more\" [ngClass]=\"{ rotated: activeMenu === menuCurrent.label }\">\n expand_more\n </mat-icon>\n </button>\n <div class=\"indicator\"></div>\n </div>\n </mat-toolbar>\n\n <mat-menu #i=\"matMenu\" [aria-label]=\"menuCurrent.label + '-menu'\" class=\"custom-menu custom-menu-panel\"\n [hasBackdrop]=\"false\">\n <div class=\"menu-container d-flex\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngFor=\"let section of menuCurrent.sections\">\n <ng-container *ngxPermissionsOnly=\"section.permissions\">\n <ng-container *ngxPermissionsExcept=\"section.restrictions\">\n <div class=\"menu-section\">\n <h3 class=\"primary-color\">{{ section.label | commonTranslate : lang }}</h3>\n <ng-container *ngFor=\"let link of section.links\">\n <ng-container *ngxPermissionsOnly=\"link.permissions\">\n <button (click)=\"performAction(link)\" *ngxPermissionsExcept=\"link.restrictions\" mat-menu-item\n class=\"custom-menu-item\">\n {{ link.label | commonTranslate : lang }}\n </button>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </mat-menu>\n </ng-container>\n </ng-container>\n</div>\n", styles: ["::ng-deep .light-theme .mat-toolbar{background-color:#fff}::ng-deep .dark-theme .mat-toolbar{background-color:#2a2d3e}.mat-icon{overflow:visible}.menu-section{display:flex;flex-direction:column;margin-right:10px}.menu-section h3{margin:0 0 10px 10px;font-size:16px;font-weight:400}.mat-menu-item{padding:5px 0;text-align:left}.mat-menu-item:hover{font-weight:400;color:#3f51b5}.menu-container{padding-left:10px;display:flex;flex-direction:row;gap:30px}.button-wrapper{display:flex;flex-direction:column;position:relative;top:15px;margin-right:.5vw}.toolbar-padding{align-items:start;padding:0!important}.indicator{display:flex;flex-direction:column;align-items:center;margin-top:0}.text-menu-button{display:flex;flex-direction:column;font-size:min(1.2vw,16px)}.line{width:0;height:2px;transition:all .5s ease-in-out;display:block;opacity:0}.button-wrapper.active .line{width:100%;opacity:1}.icon{margin-top:-8px;display:none}.menu-button{all:unset;display:inline-flex;align-items:center;cursor:pointer;background-color:transparent!important;font-weight:700!important;max-width:-moz-fit-content!important;max-width:fit-content!important;font-size:16px;padding-bottom:10px}.menu-button mat-icon{vertical-align:middle}.custom-menu-item{padding-left:10px!important}::ng-deep .mat-mdc-menu-panel.custom-menu-panel{max-width:-moz-fit-content!important;max-width:fit-content!important;overflow:visible!important}.icon-more{display:flex;align-items:center;justify-content:center;transition:transform .5s ease-in-out;font-size:min(1.5vw,24px)!important}.icon-more.rotated{transform:rotate(180deg)}\n"], dependencies: [{ kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i9.CommonTranslatePipe, name: "commonTranslate" }] }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuComponent, decorators: [{
84
- type: Component,
85
- args: [{ selector: 'sc-menu', template: "<div class=\"d-flex justify-content-start\">\n <ng-container *ngFor=\"let menuCurrent of menuButtons\" class=\"menu-panel-container\">\n <ng-container *ngxPermissionsExcept=\"menuCurrent.restrictions\">\n <mat-toolbar class=\"toolbar-padding\">\n <div\n [attr.aria-label]=\"menuCurrent.label + '-btn'\"\n class=\"button-wrapper\"\n [ngClass]=\"{ active: activeMenu === menuCurrent.label }\"\n *ngxPermissionsOnly=\"menuCurrent.permissions\"\n (click)=\"openMenu(menuTrigger, menuCurrent.label)\"\n >\n <button class=\"menu-button primary-color\" [matMenuTriggerFor]=\"i\" #menuTrigger=\"matMenuTrigger\"\n style=\"z-index: 99999\">\n <div class=\"text-menu-button\">\n <span>{{ menuCurrent.label | commonTranslate : lang }}</span>\n <div class=\"indicator\">\n <div class=\"line primary\"></div>\n </div>\n </div>\n <mat-icon class=\"primary-color icon-more\" [ngClass]=\"{ rotated: activeMenu === menuCurrent.label }\">\n expand_more\n </mat-icon>\n </button>\n <div class=\"indicator\"></div>\n </div>\n </mat-toolbar>\n\n <mat-menu #i=\"matMenu\" [aria-label]=\"menuCurrent.label + '-menu'\" class=\"custom-menu custom-menu-panel\"\n [hasBackdrop]=\"false\">\n <div class=\"menu-container d-flex\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngFor=\"let section of menuCurrent.sections\">\n <ng-container *ngxPermissionsOnly=\"section.permissions\">\n <ng-container *ngxPermissionsExcept=\"section.restrictions\">\n <div class=\"menu-section\">\n <h3 class=\"primary-color\">{{ section.label | commonTranslate : lang }}</h3>\n <ng-container *ngFor=\"let link of section.links\">\n <ng-container *ngxPermissionsOnly=\"link.permissions\">\n <button (click)=\"performAction(link)\" *ngxPermissionsExcept=\"link.restrictions\" mat-menu-item\n class=\"custom-menu-item\">\n {{ link.label | commonTranslate : lang }}\n </button>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </mat-menu>\n </ng-container>\n </ng-container>\n</div>\n", styles: ["::ng-deep .light-theme .mat-toolbar{background-color:#fff}::ng-deep .dark-theme .mat-toolbar{background-color:#2a2d3e}.mat-icon{overflow:visible}.menu-section{display:flex;flex-direction:column;margin-right:10px}.menu-section h3{margin:0 0 10px 10px;font-size:16px;font-weight:400}.mat-menu-item{padding:5px 0;text-align:left}.mat-menu-item:hover{font-weight:400;color:#3f51b5}.menu-container{padding-left:10px;display:flex;flex-direction:row;gap:30px}.button-wrapper{display:flex;flex-direction:column;position:relative;top:15px;margin-right:.5vw}.toolbar-padding{align-items:start;padding:0!important}.indicator{display:flex;flex-direction:column;align-items:center;margin-top:0}.text-menu-button{display:flex;flex-direction:column;font-size:min(1.2vw,16px)}.line{width:0;height:2px;transition:all .5s ease-in-out;display:block;opacity:0}.button-wrapper.active .line{width:100%;opacity:1}.icon{margin-top:-8px;display:none}.menu-button{all:unset;display:inline-flex;align-items:center;cursor:pointer;background-color:transparent!important;font-weight:700!important;max-width:-moz-fit-content!important;max-width:fit-content!important;font-size:16px;padding-bottom:10px}.menu-button mat-icon{vertical-align:middle}.custom-menu-item{padding-left:10px!important}::ng-deep .mat-mdc-menu-panel.custom-menu-panel{max-width:-moz-fit-content!important;max-width:fit-content!important;overflow:visible!important}.icon-more{display:flex;align-items:center;justify-content:center;transition:transform .5s ease-in-out;font-size:min(1.5vw,24px)!important}.icon-more.rotated{transform:rotate(180deg)}\n"] }]
86
- }], ctorParameters: function () { return [{ type: i1.OverlayService }, { type: i2.VideoApiService }, { type: i3.CommercialApiService }]; }, propDecorators: { lang: [{
87
- type: Input
88
- }], navigate: [{
89
- type: Output
90
- }], redirect: [{
91
- type: Output
92
- }], onClickOutside: [{
93
- type: HostListener,
94
- args: ['document:click', ['$event']]
95
- }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9oZWFkZXIvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7QUFRN0MsTUFBTSxPQUFPLGFBQWE7SUFVeEIsY0FBYyxDQUFDLEtBQWlCO1FBQzlCLE1BQU0sVUFBVSxHQUFJLEtBQUssQ0FBQyxNQUFzQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sVUFBVSxHQUFJLEtBQUssQ0FBQyxNQUFzQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELFlBQ1UsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsb0JBQTBDO1FBRjFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQXBCbkMsYUFBUSxHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ2hFLGFBQVEsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUUxRSxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUN4QixnQkFBVyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxtQkFBYyxHQUEwQixJQUFJLENBQUM7SUFnQmxELENBQUM7SUFFRyxRQUFRLENBQUMsV0FBMkIsRUFBRSxTQUFpQjtRQUM1RCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7UUFDbEMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM5QixJQUFJLEVBQUUsbUVBQW1FO2FBQzFFLENBQUMsQ0FBQztZQUNILE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDhCQUE4QjtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUFjO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QixRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkIsS0FBSyxVQUFVO2dCQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxVQUFVO2dCQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxzQkFBc0I7Z0JBQ3pCLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO2dCQUN0QyxNQUFNO1lBQ1IsS0FBSyxnQkFBZ0I7Z0JBQ25CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNqRjtJQUNILENBQUM7K0dBL0VVLGFBQWE7bUdBQWIsYUFBYSx1TUNiMUIsbWdGQW9EQTs7NEZEdkNhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsU0FBUztzS0FLSCxJQUFJO3NCQUFuQixLQUFLO2dCQUNXLFFBQVE7c0JBQXhCLE1BQU07Z0JBQ1UsUUFBUTtzQkFBeEIsTUFBTTtnQkFPUCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgQ29tbWVyY2lhbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGkvY29tbWVyY2lhbC1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBWaWRlb0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGkvdmlkZW8tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi9vdmVybGF5L292ZXJsYXkuc2VydmljZSc7XG5pbXBvcnQgeyBNRU5VX1NFQ1RJT05TIH0gZnJvbSAnLi9tZW51LmNvbnN0JztcbmltcG9ydCB7IE1lbnVMaW5rIH0gZnJvbSAnLi9tZW51Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2MtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgbGFuZyE6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBuYXZpZ2F0ZTogRXZlbnRFbWl0dGVyPE1lbnVMaW5rPiA9IG5ldyBFdmVudEVtaXR0ZXI8TWVudUxpbms+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVkaXJlY3Q6IEV2ZW50RW1pdHRlcjxNZW51TGluaz4gPSBuZXcgRXZlbnRFbWl0dGVyPE1lbnVMaW5rPigpO1xuXG4gIHB1YmxpYyBhY3RpdmVNZW51OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHJlYWRvbmx5IG1lbnVCdXR0b25zID0gTUVOVV9TRUNUSU9OUztcbiAgcHJpdmF0ZSBtZW51VHJpZ2dlclJlZjogTWF0TWVudVRyaWdnZXIgfCBudWxsID0gbnVsbDtcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgbWVudUJ1dHRvbiA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5idXR0b24td3JhcHBlcicpO1xuICAgIGNvbnN0IGluc2lkZU1lbnUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcubWF0LW1lbnUtcGFuZWwnKTtcblxuICAgIGlmICghbWVudUJ1dHRvbiAmJiAhaW5zaWRlTWVudSkge1xuICAgICAgdGhpcy5mb3JjZUNsb3NlTWVudSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlkZW9BcGlTZXJ2aWNlOiBWaWRlb0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tZXJjaWFsQXBpU2VydmljZTogQ29tbWVyY2lhbEFwaVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBvcGVuTWVudShtZW51VHJpZ2dlcjogTWF0TWVudVRyaWdnZXIsIG1lbnVMYWJlbDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlTWVudSA9PT0gbWVudUxhYmVsKSB7XG4gICAgICB0aGlzLmZvcmNlQ2xvc2VNZW51KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5mb3JjZUNsb3NlTWVudSgpO1xuICAgIHRoaXMuYWN0aXZlTWVudSA9IG1lbnVMYWJlbDtcbiAgICB0aGlzLm1lbnVUcmlnZ2VyUmVmID0gbWVudVRyaWdnZXI7XG4gICAgbWVudVRyaWdnZXIub3Blbk1lbnUoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JjZUNsb3NlTWVudSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZU1lbnUgPSBudWxsO1xuICAgIHRoaXMubWVudVRyaWdnZXJSZWY/LmNsb3NlTWVudSgpO1xuICB9XG5cbiAgcHVibGljIGV4dHJhY3RBbGxQcm9kdWN0cygpIHtcbiAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnNob3coKTtcbiAgICB0aGlzLnZpZGVvQXBpU2VydmljZS5nZXRQcm9kdWN0RXh0cmFjdGlvblhsc3godGhpcy5sYW5nKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IHhsc0ZpbGUgPSBuZXcgQmxvYihbcmVzXSwge1xuICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHhsc0ZpbGUpO1xuICAgICAgd2luZG93Lm9wZW4oZmlsZVVSTCk7XG4gICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmhpZGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBleHRyYWN0QWNjb3VudFdyaXR0aW5nRG93bmxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5U2VydmljZS5zaG93KCk7XG4gICAgdGhpcy5jb21tZXJjaWFsQXBpU2VydmljZS5nZXRBY2NvdW50V3JpdHRpbmdEb3dubG9hZCgpO1xuICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuaGlkZSgpO1xuICB9XG5cbiAgcHVibGljIHBlcmZvcm1BY3Rpb24obGluazogTWVudUxpbmspOiB2b2lkIHtcbiAgICB0aGlzLmZvcmNlQ2xvc2VNZW51KCk7XG5cbiAgICBzd2l0Y2ggKGxpbmsuYWN0aW9uVHlwZSkge1xuICAgICAgY2FzZSAnbmF2aWdhdGUnOlxuICAgICAgICB0aGlzLm5hdmlnYXRlLmVtaXQobGluayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVkaXJlY3QnOlxuICAgICAgICB0aGlzLnJlZGlyZWN0LmVtaXQobGluayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXhwb3J0QWNjb3VudFdyaXRpbmcnOlxuICAgICAgICB0aGlzLmV4dHJhY3RBY2NvdW50V3JpdHRpbmdEb3dubG9hZCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2V4dHJhY3RQcm9kdWN0JzpcbiAgICAgICAgdGhpcy5leHRyYWN0QWxsUHJvZHVjdHMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHBlcmZvcm1BY3Rpb24gZXJyb3IgLSBObyBhY3Rpb24gdHlwZSBvbiBtZW51TGluayA6ICR7bGlua31gKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVDdXJyZW50IG9mIG1lbnVCdXR0b25zXCIgY2xhc3M9XCJtZW51LXBhbmVsLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5neFBlcm1pc3Npb25zRXhjZXB0PVwibWVudUN1cnJlbnQucmVzdHJpY3Rpb25zXCI+XG4gICAgICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJ0b29sYmFyLXBhZGRpbmdcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibWVudUN1cnJlbnQubGFiZWwgKyAnLWJ0bidcIlxuICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLXdyYXBwZXJcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBhY3RpdmVNZW51ID09PSBtZW51Q3VycmVudC5sYWJlbCB9XCJcbiAgICAgICAgICAqbmd4UGVybWlzc2lvbnNPbmx5PVwibWVudUN1cnJlbnQucGVybWlzc2lvbnNcIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuTWVudShtZW51VHJpZ2dlciwgbWVudUN1cnJlbnQubGFiZWwpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtZW51LWJ1dHRvbiBwcmltYXJ5LWNvbG9yXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImlcIiAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cInotaW5kZXg6IDk5OTk5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZW51LWJ1dHRvblwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBtZW51Q3VycmVudC5sYWJlbCB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZSBwcmltYXJ5XCI+PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJwcmltYXJ5LWNvbG9yIGljb24tbW9yZVwiIFtuZ0NsYXNzXT1cInsgcm90YXRlZDogYWN0aXZlTWVudSA9PT0gbWVudUN1cnJlbnQubGFiZWwgfVwiPlxuICAgICAgICAgICAgICBleHBhbmRfbW9yZVxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5kaWNhdG9yXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdG9vbGJhcj5cblxuICAgICAgPG1hdC1tZW51ICNpPVwibWF0TWVudVwiIFthcmlhLWxhYmVsXT1cIm1lbnVDdXJyZW50LmxhYmVsICsgJy1tZW51J1wiIGNsYXNzPVwiY3VzdG9tLW1lbnUgY3VzdG9tLW1lbnUtcGFuZWxcIlxuICAgICAgICAgICAgICAgIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1jb250YWluZXIgZC1mbGV4XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgbWVudUN1cnJlbnQuc2VjdGlvbnNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5neFBlcm1pc3Npb25zT25seT1cInNlY3Rpb24ucGVybWlzc2lvbnNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmd4UGVybWlzc2lvbnNFeGNlcHQ9XCJzZWN0aW9uLnJlc3RyaWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cInByaW1hcnktY29sb3JcIj57eyBzZWN0aW9uLmxhYmVsIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZyB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIHNlY3Rpb24ubGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmd4UGVybWlzc2lvbnNPbmx5PVwibGluay5wZXJtaXNzaW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24obGluaylcIiAqbmd4UGVybWlzc2lvbnNFeGNlcHQ9XCJsaW5rLnJlc3RyaWN0aW9uc1wiIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLW1lbnUtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgbGluay5sYWJlbCB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1tZW51PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19