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

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/esm2022/lib/util/array.service.mjs +19 -0
  2. package/esm2022/lib/util/component/header/header.component.mjs +230 -0
  3. package/esm2022/lib/util/component/header/menu/menu.component.mjs +96 -0
  4. package/esm2022/lib/util/component/header/menu/menu.const.mjs +544 -0
  5. package/esm2022/lib/util/component/header/menu/menu.model.mjs +2 -0
  6. package/esm2022/lib/util/component/overlay/overlay.component.mjs +40 -0
  7. package/esm2022/lib/util/component/overlay/overlay.service.mjs +24 -0
  8. package/esm2022/lib/util/component/popup/popup-login/popup-login.component.mjs +90 -0
  9. package/esm2022/lib/util/component/sub-header/sub-header.component.mjs +44 -0
  10. package/esm2022/lib/util/config.mjs +8 -0
  11. package/esm2022/lib/util/date/PeriodModel.mjs +8 -0
  12. package/esm2022/lib/util/date/date-format-constants.mjs +12 -0
  13. package/esm2022/lib/util/date/date.util.mjs +218 -0
  14. package/esm2022/lib/util/decorators/theme.decorator.mjs +22 -0
  15. package/esm2022/lib/util/decorators/user.decorator.mjs +25 -0
  16. package/esm2022/lib/util/directives/my-number-formatter-directive.mjs +34 -0
  17. package/esm2022/lib/util/directives/show-if-truncated.directive.mjs +25 -0
  18. package/esm2022/lib/util/enums/family.enum.mjs +6 -0
  19. package/esm2022/lib/util/enums/rapid-search-item-type.enum.mjs +15 -0
  20. package/esm2022/lib/util/enums/status-color.enum.mjs +11 -0
  21. package/esm2022/lib/util/event/header/header-events.service.mjs +21 -0
  22. package/esm2022/lib/util/event/storage/local-storage-events.service.mjs +17 -0
  23. package/esm2022/lib/util/event/storage/session-storage-events.service.mjs +18 -0
  24. package/esm2022/lib/util/http/http-params.builder.mjs +27 -0
  25. package/esm2022/lib/util/i18n/de.mjs +158 -0
  26. package/esm2022/lib/util/i18n/en.mjs +162 -0
  27. package/esm2022/lib/util/i18n/fr.mjs +162 -0
  28. package/esm2022/lib/util/i18n/multi-translate-http-loader.mjs +21 -0
  29. package/esm2022/lib/util/interfaces/permissions.interface.mjs +2 -0
  30. package/esm2022/lib/util/models/any-line.model.mjs +37 -0
  31. package/esm2022/lib/util/models/audio-content.model.mjs +27 -0
  32. package/esm2022/lib/util/models/authPermission.model.mjs +16 -0
  33. package/esm2022/lib/util/models/authUser.model.mjs +21 -0
  34. package/esm2022/lib/util/models/basic.model.mjs +14 -0
  35. package/esm2022/lib/util/models/box-set-item.model.mjs +19 -0
  36. package/esm2022/lib/util/models/commercial/deal-rapid-search-model.mjs +3 -0
  37. package/esm2022/lib/util/models/commercial/invoice-rapid-search-model.mjs +9 -0
  38. package/esm2022/lib/util/models/commercial/work-record-rapid-search-model.mjs +13 -0
  39. package/esm2022/lib/util/models/disc-program.model.mjs +26 -0
  40. package/esm2022/lib/util/models/disc.model.mjs +22 -0
  41. package/esm2022/lib/util/models/eventType.model.mjs +7 -0
  42. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-file.model.mjs +22 -0
  43. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.mjs +3 -0
  44. package/esm2022/lib/util/models/family.model.mjs +7 -0
  45. package/esm2022/lib/util/models/index.mjs +101 -0
  46. package/esm2022/lib/util/models/lang-line.model.mjs +27 -0
  47. package/esm2022/lib/util/models/legal/contract-rapid-search-model.mjs +3 -0
  48. package/esm2022/lib/util/models/legal/contract-work.model.mjs +23 -0
  49. package/esm2022/lib/util/models/legal/contract-work2.model.mjs +21 -0
  50. package/esm2022/lib/util/models/legal/type-status-rapid-search.model.mjs +3 -0
  51. package/esm2022/lib/util/models/media-line.model.mjs +18 -0
  52. package/esm2022/lib/util/models/menu-language.model.mjs +15 -0
  53. package/esm2022/lib/util/models/permission.model.mjs +20 -0
  54. package/esm2022/lib/util/models/product-box-set.model.mjs +16 -0
  55. package/esm2022/lib/util/models/product-disc-detail.model.mjs +22 -0
  56. package/esm2022/lib/util/models/product-disc.model.mjs +27 -0
  57. package/esm2022/lib/util/models/product-division.model.mjs +29 -0
  58. package/esm2022/lib/util/models/product-type.model.mjs +22 -0
  59. package/esm2022/lib/util/models/product.model.mjs +62 -0
  60. package/esm2022/lib/util/models/program.model.mjs +28 -0
  61. package/esm2022/lib/util/models/purchase-order/purchase-order.model.mjs +53 -0
  62. package/esm2022/lib/util/models/referential/WorkVersionArticleDto.mjs +17 -0
  63. package/esm2022/lib/util/models/referential/adress-type.model.mjs +14 -0
  64. package/esm2022/lib/util/models/referential/adress.model.mjs +28 -0
  65. package/esm2022/lib/util/models/referential/attached-file.model.mjs +17 -0
  66. package/esm2022/lib/util/models/referential/bank-account.model.mjs +24 -0
  67. package/esm2022/lib/util/models/referential/bank-accounts.model.mjs +31 -0
  68. package/esm2022/lib/util/models/referential/basic-hierarchy.model.mjs +8 -0
  69. package/esm2022/lib/util/models/referential/broadcast-list-item.model.mjs +13 -0
  70. package/esm2022/lib/util/models/referential/color.model.mjs +16 -0
  71. package/esm2022/lib/util/models/referential/company.model.mjs +16 -0
  72. package/esm2022/lib/util/models/referential/content-type.model.mjs +17 -0
  73. package/esm2022/lib/util/models/referential/content.model.mjs +22 -0
  74. package/esm2022/lib/util/models/referential/cost-center-criteria-values.model.mjs +14 -0
  75. package/esm2022/lib/util/models/referential/cost-center-criteria.model.mjs +13 -0
  76. package/esm2022/lib/util/models/referential/cost-center.model.mjs +28 -0
  77. package/esm2022/lib/util/models/referential/coutry.model.mjs +16 -0
  78. package/esm2022/lib/util/models/referential/currency.model.mjs +20 -0
  79. package/esm2022/lib/util/models/referential/editorial-content.model.mjs +18 -0
  80. package/esm2022/lib/util/models/referential/fixing.model.mjs +16 -0
  81. package/esm2022/lib/util/models/referential/flat-media.model.mjs +18 -0
  82. package/esm2022/lib/util/models/referential/format-image.model.mjs +16 -0
  83. package/esm2022/lib/util/models/referential/format-type.model.mjs +16 -0
  84. package/esm2022/lib/util/models/referential/format.model.mjs +17 -0
  85. package/esm2022/lib/util/models/referential/fsk-index.model.mjs +20 -0
  86. package/esm2022/lib/util/models/referential/fsk.model.mjs +22 -0
  87. package/esm2022/lib/util/models/referential/function.model.mjs +23 -0
  88. package/esm2022/lib/util/models/referential/genre.model.mjs +17 -0
  89. package/esm2022/lib/util/models/referential/invoice-product-type.model.mjs +22 -0
  90. package/esm2022/lib/util/models/referential/keywords.model.mjs +13 -0
  91. package/esm2022/lib/util/models/referential/language.model.mjs +18 -0
  92. package/esm2022/lib/util/models/referential/media-filter.model.mjs +3 -0
  93. package/esm2022/lib/util/models/referential/media.model.mjs +20 -0
  94. package/esm2022/lib/util/models/referential/module.model.mjs +20 -0
  95. package/esm2022/lib/util/models/referential/parameter.model.mjs +2 -0
  96. package/esm2022/lib/util/models/referential/participant.model.mjs +20 -0
  97. package/esm2022/lib/util/models/referential/person.model.mjs +23 -0
  98. package/esm2022/lib/util/models/referential/project-status.model.mjs +16 -0
  99. package/esm2022/lib/util/models/referential/quota.model.mjs +17 -0
  100. package/esm2022/lib/util/models/referential/referential-entity-state.model.mjs +16 -0
  101. package/esm2022/lib/util/models/referential/referential-value.model.mjs +16 -0
  102. package/esm2022/lib/util/models/referential/referentiel.model.mjs +26 -0
  103. package/esm2022/lib/util/models/referential/restriction.model.mjs +20 -0
  104. package/esm2022/lib/util/models/referential/sap-order.model.mjs +20 -0
  105. package/esm2022/lib/util/models/referential/service-error.model.mjs +15 -0
  106. package/esm2022/lib/util/models/referential/sound.model.mjs +16 -0
  107. package/esm2022/lib/util/models/referential/territories-languages.model.mjs +16 -0
  108. package/esm2022/lib/util/models/referential/territory-filter.model.mjs +3 -0
  109. package/esm2022/lib/util/models/referential/territory.model.mjs +17 -0
  110. package/esm2022/lib/util/models/referential/theme.model.mjs +17 -0
  111. package/esm2022/lib/util/models/referential/third-party-address-rapid-search.model.mjs +3 -0
  112. package/esm2022/lib/util/models/referential/third-party-creation-request.model.mjs +44 -0
  113. package/esm2022/lib/util/models/referential/third-party-module.model.mjs +20 -0
  114. package/esm2022/lib/util/models/referential/third-party-rapid-search.model.mjs +3 -0
  115. package/esm2022/lib/util/models/referential/third-party.model.mjs +83 -0
  116. package/esm2022/lib/util/models/referential/translated-value-model.mjs +16 -0
  117. package/esm2022/lib/util/models/referential/tva.model.mjs +16 -0
  118. package/esm2022/lib/util/models/referential/type-export.model.mjs +16 -0
  119. package/esm2022/lib/util/models/referential/type-tva-company-territory.model.mjs +32 -0
  120. package/esm2022/lib/util/models/referential/type-tva.model.mjs +25 -0
  121. package/esm2022/lib/util/models/referential/user-form.model.mjs +2 -0
  122. package/esm2022/lib/util/models/referential/work-addons-model.mjs +16 -0
  123. package/esm2022/lib/util/models/referential/work-appartenance.model.mjs +17 -0
  124. package/esm2022/lib/util/models/referential/work-genre.model.mjs +16 -0
  125. package/esm2022/lib/util/models/referential/work-language.model.mjs +16 -0
  126. package/esm2022/lib/util/models/referential/work-milo.model.mjs +61 -0
  127. package/esm2022/lib/util/models/referential/work-participant.model.mjs +21 -0
  128. package/esm2022/lib/util/models/referential/work-restrictions-model.mjs +13 -0
  129. package/esm2022/lib/util/models/referential/work-theme.model.mjs +16 -0
  130. package/esm2022/lib/util/models/referential/work-title.model.mjs +20 -0
  131. package/esm2022/lib/util/models/referential/work-version-origin.model.mjs +16 -0
  132. package/esm2022/lib/util/models/referential/work-version-rapid-search.model.mjs +3 -0
  133. package/esm2022/lib/util/models/referential/work-versions-used.model.mjs +19 -0
  134. package/esm2022/lib/util/models/referential/work-versions.model.mjs +27 -0
  135. package/esm2022/lib/util/models/referential/work-year-production.model.mjs +13 -0
  136. package/esm2022/lib/util/models/referential/work.model.mjs +22 -0
  137. package/esm2022/lib/util/models/referential/zone.model.mjs +14 -0
  138. package/esm2022/lib/util/models/referentiel.model.mjs +26 -0
  139. package/esm2022/lib/util/models/search-response.model.mjs +10 -0
  140. package/esm2022/lib/util/models/section.model.mjs +8 -0
  141. package/esm2022/lib/util/models/select/options.model.mjs +8 -0
  142. package/esm2022/lib/util/models/select/select.model.mjs +7 -0
  143. package/esm2022/lib/util/models/subsidiary.model.mjs +8 -0
  144. package/esm2022/lib/util/models/subtitle-content.model.mjs +28 -0
  145. package/esm2022/lib/util/models/user-video.model.mjs +22 -0
  146. package/esm2022/lib/util/models/user.model.mjs +35 -0
  147. package/esm2022/lib/util/models/video/product-rapid-search.model.mjs +3 -0
  148. package/esm2022/lib/util/models/video/support-rapid-search.model.mjs +3 -0
  149. package/esm2022/lib/util/models/video-content.model.mjs +18 -0
  150. package/esm2022/lib/util/number.validator.mjs +129 -0
  151. package/esm2022/lib/util/paginator/custom-paginator-configuration.mjs +59 -0
  152. package/esm2022/lib/util/permissions/permissions.service.mjs +49 -0
  153. package/esm2022/lib/util/pipes/capitalizefirst.pipe.mjs +41 -0
  154. package/esm2022/lib/util/pipes/comma-separated-number.pipe.mjs +15 -0
  155. package/esm2022/lib/util/pipes/common-translate.pipe.mjs +38 -0
  156. package/esm2022/lib/util/pipes/display-html.pipe.mjs +20 -0
  157. package/esm2022/lib/util/pipes/display-null.pipe.mjs +24 -0
  158. package/esm2022/lib/util/pipes/format-currency.pipe.mjs +31 -0
  159. package/esm2022/lib/util/pipes/format-duration.pipe.mjs +23 -0
  160. package/esm2022/lib/util/pipes/format-number-input.pipe.mjs +22 -0
  161. package/esm2022/lib/util/pipes/local-date.pipe.mjs +27 -0
  162. package/esm2022/lib/util/pipes/my-number.pipe.mjs +44 -0
  163. package/esm2022/lib/util/pipes/third-party-address-search.pipe.mjs +15 -0
  164. package/esm2022/lib/util/pipes/third-party-address.pipe.mjs +16 -0
  165. package/esm2022/lib/util/pipes/trim-string.pipe.mjs +25 -0
  166. package/esm2022/lib/util/regex/regex.service.mjs +94 -0
  167. package/esm2022/lib/util/services/api/commercial-api.service.mjs +28 -0
  168. package/esm2022/lib/util/services/api/common-api.service.mjs +98 -0
  169. package/esm2022/lib/util/services/api/legal-api.service.mjs +32 -0
  170. package/esm2022/lib/util/services/api/video-api.service.mjs +45 -0
  171. package/esm2022/lib/util/services/auth/auth.service.mjs +18 -0
  172. package/esm2022/lib/util/services/elasticsearch/elasticsearch.service.mjs +180 -0
  173. package/esm2022/lib/util/services/elasticsearch/subsidiaries.service.mjs +48 -0
  174. package/esm2022/lib/util/services/form-action/form-actions-events.service.mjs +25 -0
  175. package/esm2022/lib/util/services/guard/auth.guard.mjs +32 -0
  176. package/esm2022/lib/util/services/guard/login.guard.mjs +23 -0
  177. package/esm2022/lib/util/services/history/history.service.mjs +39 -0
  178. package/esm2022/lib/util/services/interceptor/auth.interceptor.mjs +53 -0
  179. package/esm2022/lib/util/services/jwt-security/aes.service.mjs +34 -0
  180. package/esm2022/lib/util/services/jwt-security/interceptorhttp.service.mjs +18 -0
  181. package/esm2022/lib/util/services/jwt-security/jwt.helpher.mjs +34 -0
  182. package/esm2022/lib/util/services/storage/local-storage.service.mjs +36 -0
  183. package/esm2022/lib/util/services/storage/session-storage.service.mjs +38 -0
  184. package/esm2022/lib/util/services/translate-language/lang.service.mjs +31 -0
  185. package/esm2022/lib/util/services/user/user-subsidiary.service.mjs +22 -0
  186. package/esm2022/lib/util/sort.mjs +22 -0
  187. package/esm2022/lib/util/theme/theme-event.service.mjs +17 -0
  188. package/esm2022/lib/util/toaster/toaster-events.service.mjs +32 -0
  189. package/esm2022/lib/util/util.module.mjs +281 -0
  190. package/esm2022/new-front-common-library.mjs +5 -0
  191. package/esm2022/public-api.mjs +59 -0
  192. package/fesm2022/new-front-common-library.mjs +5729 -0
  193. package/fesm2022/new-front-common-library.mjs.map +1 -0
  194. package/index.d.ts +5 -0
  195. package/lib/util/array.service.d.ts +7 -0
  196. package/lib/util/component/header/header.component.d.ts +74 -0
  197. package/lib/util/component/header/menu/menu.component.d.ts +27 -0
  198. package/lib/util/component/header/menu/menu.const.d.ts +2 -0
  199. package/lib/util/component/header/menu/menu.model.d.ts +23 -0
  200. package/lib/util/component/overlay/overlay.component.d.ts +17 -0
  201. package/lib/util/component/overlay/overlay.service.d.ts +13 -0
  202. package/lib/util/component/popup/popup-login/popup-login.component.d.ts +35 -0
  203. package/lib/util/component/sub-header/sub-header.component.d.ts +13 -0
  204. package/lib/util/config.d.ts +8 -0
  205. package/lib/util/date/PeriodModel.d.ts +6 -0
  206. package/lib/util/date/date-format-constants.d.ts +25 -0
  207. package/lib/util/date/date.util.d.ts +16 -0
  208. package/lib/util/decorators/theme.decorator.d.ts +1 -0
  209. package/lib/util/decorators/user.decorator.d.ts +1 -0
  210. package/lib/util/directives/my-number-formatter-directive.d.ts +15 -0
  211. package/lib/util/directives/show-if-truncated.directive.d.ts +11 -0
  212. package/lib/util/enums/family.enum.d.ts +4 -0
  213. package/lib/util/enums/rapid-search-item-type.enum.d.ts +13 -0
  214. package/lib/util/enums/status-color.enum.d.ts +9 -0
  215. package/lib/util/event/header/header-events.service.d.ts +11 -0
  216. package/lib/util/event/storage/local-storage-events.service.d.ts +9 -0
  217. package/lib/util/event/storage/session-storage-events.service.d.ts +10 -0
  218. package/lib/util/http/http-params.builder.d.ts +9 -0
  219. package/lib/util/i18n/de.d.ts +141 -0
  220. package/lib/util/i18n/en.d.ts +145 -0
  221. package/lib/util/i18n/fr.d.ts +145 -0
  222. package/lib/util/i18n/multi-translate-http-loader.d.ts +14 -0
  223. package/lib/util/models/any-line.model.d.ts +24 -0
  224. package/lib/util/models/audio-content.model.d.ts +27 -0
  225. package/lib/util/models/authPermission.model.d.ts +7 -0
  226. package/lib/util/models/authUser.model.d.ts +16 -0
  227. package/lib/util/models/basic.model.d.ts +11 -0
  228. package/lib/util/models/box-set-item.model.d.ts +12 -0
  229. package/lib/util/models/commercial/deal-rapid-search-model.d.ts +10 -0
  230. package/lib/util/models/commercial/invoice-rapid-search-model.d.ts +18 -0
  231. package/lib/util/models/commercial/work-record-rapid-search-model.d.ts +21 -0
  232. package/lib/util/models/disc-program.model.d.ts +9 -0
  233. package/lib/util/models/disc.model.d.ts +15 -0
  234. package/lib/util/models/eventType.model.d.ts +5 -0
  235. package/lib/util/models/expenditure-commitment/purchase-order-file.model.d.ts +8 -0
  236. package/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.d.ts +10 -0
  237. package/lib/util/models/family.model.d.ts +5 -0
  238. package/{src/lib/util/models/index.ts → lib/util/models/index.d.ts} +0 -1
  239. package/lib/util/models/lang-line.model.d.ts +18 -0
  240. package/lib/util/models/legal/contract-rapid-search-model.d.ts +10 -0
  241. package/lib/util/models/legal/contract-work.model.d.ts +27 -0
  242. package/lib/util/models/legal/contract-work2.model.d.ts +23 -0
  243. package/lib/util/models/legal/type-status-rapid-search.model.d.ts +5 -0
  244. package/lib/util/models/media-line.model.d.ts +9 -0
  245. package/lib/util/models/menu-language.model.d.ts +6 -0
  246. package/lib/util/models/permission.model.d.ts +12 -0
  247. package/lib/util/models/product-box-set.model.d.ts +8 -0
  248. package/lib/util/models/product-disc-detail.model.d.ts +14 -0
  249. package/lib/util/models/product-disc.model.d.ts +11 -0
  250. package/lib/util/models/product-division.model.d.ts +15 -0
  251. package/lib/util/models/product-type.model.d.ts +7 -0
  252. package/lib/util/models/product.model.d.ts +52 -0
  253. package/lib/util/models/program.model.d.ts +21 -0
  254. package/lib/util/models/purchase-order/purchase-order.model.d.ts +40 -0
  255. package/lib/util/models/referential/WorkVersionArticleDto.d.ts +10 -0
  256. package/lib/util/models/referential/adress-type.model.d.ts +5 -0
  257. package/lib/util/models/referential/adress.model.d.ts +20 -0
  258. package/lib/util/models/referential/attached-file.model.d.ts +11 -0
  259. package/lib/util/models/referential/bank-account.model.d.ts +15 -0
  260. package/lib/util/models/referential/bank-accounts.model.d.ts +17 -0
  261. package/lib/util/models/referential/basic-hierarchy.model.d.ts +6 -0
  262. package/lib/util/models/referential/broadcast-list-item.model.d.ts +8 -0
  263. package/lib/util/models/referential/color.model.d.ts +6 -0
  264. package/lib/util/models/referential/company.model.d.ts +7 -0
  265. package/lib/util/models/referential/content-type.model.d.ts +12 -0
  266. package/lib/util/models/referential/content.model.d.ts +7 -0
  267. package/lib/util/models/referential/cost-center-criteria-values.model.d.ts +7 -0
  268. package/lib/util/models/referential/cost-center-criteria.model.d.ts +12 -0
  269. package/lib/util/models/referential/cost-center.model.d.ts +18 -0
  270. package/lib/util/models/referential/coutry.model.d.ts +7 -0
  271. package/lib/util/models/referential/currency.model.d.ts +11 -0
  272. package/lib/util/models/referential/editorial-content.model.d.ts +25 -0
  273. package/lib/util/models/referential/fixing.model.d.ts +10 -0
  274. package/lib/util/models/referential/flat-media.model.d.ts +9 -0
  275. package/lib/util/models/referential/format-image.model.d.ts +7 -0
  276. package/lib/util/models/referential/format-type.model.d.ts +6 -0
  277. package/lib/util/models/referential/format.model.d.ts +7 -0
  278. package/lib/util/models/referential/fsk-index.model.d.ts +22 -0
  279. package/lib/util/models/referential/fsk.model.d.ts +37 -0
  280. package/lib/util/models/referential/function.model.d.ts +8 -0
  281. package/lib/util/models/referential/genre.model.d.ts +7 -0
  282. package/lib/util/models/referential/invoice-product-type.model.d.ts +7 -0
  283. package/lib/util/models/referential/keywords.model.d.ts +6 -0
  284. package/lib/util/models/referential/language.model.d.ts +11 -0
  285. package/lib/util/models/referential/media-filter.model.d.ts +10 -0
  286. package/lib/util/models/referential/media.model.d.ts +11 -0
  287. package/lib/util/models/referential/module.model.d.ts +11 -0
  288. package/{src/lib/util/models/referential/parameter.model.ts → lib/util/models/referential/parameter.model.d.ts} +0 -2
  289. package/lib/util/models/referential/participant.model.d.ts +11 -0
  290. package/lib/util/models/referential/person.model.d.ts +13 -0
  291. package/lib/util/models/referential/project-status.model.d.ts +6 -0
  292. package/lib/util/models/referential/quota.model.d.ts +7 -0
  293. package/lib/util/models/referential/referential-entity-state.model.d.ts +11 -0
  294. package/lib/util/models/referential/referential-value.model.d.ts +11 -0
  295. package/lib/util/models/referential/referentiel.model.d.ts +12 -0
  296. package/lib/util/models/referential/restriction.model.d.ts +9 -0
  297. package/lib/util/models/referential/sap-order.model.d.ts +27 -0
  298. package/lib/util/models/referential/service-error.model.d.ts +13 -0
  299. package/lib/util/models/referential/sound.model.d.ts +6 -0
  300. package/lib/util/models/referential/territories-languages.model.d.ts +8 -0
  301. package/lib/util/models/referential/territory-filter.model.d.ts +6 -0
  302. package/lib/util/models/referential/territory.model.d.ts +12 -0
  303. package/lib/util/models/referential/theme.model.d.ts +7 -0
  304. package/lib/util/models/referential/third-party-address-rapid-search.model.d.ts +8 -0
  305. package/lib/util/models/referential/third-party-creation-request.model.d.ts +48 -0
  306. package/lib/util/models/referential/third-party-module.model.d.ts +11 -0
  307. package/lib/util/models/referential/third-party-rapid-search.model.d.ts +8 -0
  308. package/lib/util/models/referential/third-party.model.d.ts +45 -0
  309. package/lib/util/models/referential/translated-value-model.d.ts +10 -0
  310. package/lib/util/models/referential/tva.model.d.ts +7 -0
  311. package/lib/util/models/referential/type-export.model.d.ts +7 -0
  312. package/lib/util/models/referential/type-tva-company-territory.model.d.ts +18 -0
  313. package/lib/util/models/referential/type-tva.model.d.ts +10 -0
  314. package/{src/lib/util/models/referential/user-form.model.ts → lib/util/models/referential/user-form.model.d.ts} +0 -2
  315. package/lib/util/models/referential/work-addons-model.d.ts +25 -0
  316. package/lib/util/models/referential/work-appartenance.model.d.ts +7 -0
  317. package/lib/util/models/referential/work-genre.model.d.ts +11 -0
  318. package/lib/util/models/referential/work-language.model.d.ts +11 -0
  319. package/lib/util/models/referential/work-milo.model.d.ts +46 -0
  320. package/lib/util/models/referential/work-participant.model.d.ts +10 -0
  321. package/lib/util/models/referential/work-restrictions-model.d.ts +18 -0
  322. package/lib/util/models/referential/work-theme.model.d.ts +11 -0
  323. package/lib/util/models/referential/work-title.model.d.ts +10 -0
  324. package/lib/util/models/referential/work-version-origin.model.d.ts +10 -0
  325. package/lib/util/models/referential/work-version-rapid-search.model.d.ts +9 -0
  326. package/lib/util/models/referential/work-versions-used.model.d.ts +12 -0
  327. package/lib/util/models/referential/work-versions.model.d.ts +29 -0
  328. package/lib/util/models/referential/work-year-production.model.d.ts +6 -0
  329. package/lib/util/models/referential/work.model.d.ts +74 -0
  330. package/lib/util/models/referential/zone.model.d.ts +6 -0
  331. package/lib/util/models/referentiel.model.d.ts +12 -0
  332. package/lib/util/models/search-response.model.d.ts +7 -0
  333. package/lib/util/models/section.model.d.ts +7 -0
  334. package/lib/util/models/select/options.model.d.ts +6 -0
  335. package/lib/util/models/select/select.model.d.ts +5 -0
  336. package/lib/util/models/subsidiary.model.d.ts +7 -0
  337. package/lib/util/models/subtitle-content.model.d.ts +26 -0
  338. package/lib/util/models/user-video.model.d.ts +10 -0
  339. package/lib/util/models/user.model.d.ts +27 -0
  340. package/lib/util/models/video/product-rapid-search.model.d.ts +8 -0
  341. package/lib/util/models/video/support-rapid-search.model.d.ts +6 -0
  342. package/lib/util/models/video-content.model.d.ts +24 -0
  343. package/lib/util/number.validator.d.ts +14 -0
  344. package/lib/util/paginator/custom-paginator-configuration.d.ts +16 -0
  345. package/lib/util/permissions/permissions.service.d.ts +15 -0
  346. package/lib/util/pipes/capitalizefirst.pipe.d.ts +8 -0
  347. package/lib/util/pipes/comma-separated-number.pipe.d.ts +7 -0
  348. package/lib/util/pipes/common-translate.pipe.d.ts +12 -0
  349. package/lib/util/pipes/display-html.pipe.d.ts +10 -0
  350. package/lib/util/pipes/display-null.pipe.d.ts +8 -0
  351. package/lib/util/pipes/format-currency.pipe.d.ts +10 -0
  352. package/lib/util/pipes/format-duration.pipe.d.ts +7 -0
  353. package/lib/util/pipes/format-number-input.pipe.d.ts +7 -0
  354. package/lib/util/pipes/local-date.pipe.d.ts +9 -0
  355. package/lib/util/pipes/my-number.pipe.d.ts +11 -0
  356. package/lib/util/pipes/third-party-address-search.pipe.d.ts +8 -0
  357. package/lib/util/pipes/third-party-address.pipe.d.ts +8 -0
  358. package/lib/util/pipes/trim-string.pipe.d.ts +7 -0
  359. package/lib/util/regex/regex.service.d.ts +12 -0
  360. package/lib/util/services/api/commercial-api.service.d.ts +12 -0
  361. package/lib/util/services/api/common-api.service.d.ts +27 -0
  362. package/lib/util/services/api/legal-api.service.d.ts +15 -0
  363. package/lib/util/services/api/video-api.service.d.ts +17 -0
  364. package/lib/util/services/auth/auth.service.d.ts +9 -0
  365. package/lib/util/services/elasticsearch/elasticsearch.service.d.ts +35 -0
  366. package/lib/util/services/elasticsearch/subsidiaries.service.d.ts +12 -0
  367. package/lib/util/services/form-action/form-actions-events.service.d.ts +14 -0
  368. package/lib/util/services/guard/auth.guard.d.ts +2 -0
  369. package/lib/util/services/guard/login.guard.d.ts +1 -0
  370. package/lib/util/services/history/history.service.d.ts +10 -0
  371. package/lib/util/services/interceptor/auth.interceptor.d.ts +16 -0
  372. package/lib/util/services/jwt-security/aes.service.d.ts +12 -0
  373. package/lib/util/services/jwt-security/interceptorhttp.service.d.ts +8 -0
  374. package/lib/util/services/jwt-security/jwt.helpher.d.ts +4 -0
  375. package/lib/util/services/storage/local-storage.service.d.ts +13 -0
  376. package/lib/util/services/storage/session-storage.service.d.ts +13 -0
  377. package/lib/util/services/translate-language/lang.service.d.ts +14 -0
  378. package/lib/util/services/user/user-subsidiary.service.d.ts +9 -0
  379. package/lib/util/sort.d.ts +4 -0
  380. package/lib/util/theme/theme-event.service.d.ts +9 -0
  381. package/lib/util/toaster/toaster-events.service.d.ts +15 -0
  382. package/lib/util/util.module.d.ts +49 -0
  383. package/package.json +19 -2
  384. package/{src/public-api.ts → public-api.d.ts} +2 -17
  385. package/karma.conf.js +0 -44
  386. package/ng-package.json +0 -10
  387. package/src/lib/new-front-common-library.component.spec.ts +0 -25
  388. package/src/lib/new-front-common-library.component.ts +0 -20
  389. package/src/lib/new-front-common-library.module.ts +0 -26
  390. package/src/lib/new-front-common-library.service.spec.ts +0 -16
  391. package/src/lib/new-front-common-library.service.ts +0 -10
  392. package/src/lib/util/animations/actions.animation.ts +0 -16
  393. package/src/lib/util/animations/fade.animation.ts +0 -16
  394. package/src/lib/util/array.service.ts +0 -14
  395. package/src/lib/util/component/header/header.component.html +0 -389
  396. package/src/lib/util/component/header/header.component.scss +0 -265
  397. package/src/lib/util/component/header/header.component.ts +0 -245
  398. package/src/lib/util/component/header/menu/menu.component.html +0 -52
  399. package/src/lib/util/component/header/menu/menu.component.scss +0 -127
  400. package/src/lib/util/component/header/menu/menu.component.spec.ts +0 -21
  401. package/src/lib/util/component/header/menu/menu.component.ts +0 -94
  402. package/src/lib/util/component/header/menu/menu.const.ts +0 -546
  403. package/src/lib/util/component/header/menu/menu.model.ts +0 -26
  404. package/src/lib/util/component/overlay/overlay.component.css +0 -20
  405. package/src/lib/util/component/overlay/overlay.component.html +0 -10
  406. package/src/lib/util/component/overlay/overlay.component.ts +0 -42
  407. package/src/lib/util/component/overlay/overlay.service.ts +0 -23
  408. package/src/lib/util/component/popup/popup-login/popup-login.component.css +0 -3
  409. package/src/lib/util/component/popup/popup-login/popup-login.component.html +0 -29
  410. package/src/lib/util/component/popup/popup-login/popup-login.component.ts +0 -96
  411. package/src/lib/util/component/sub-header/sub-header.component.css +0 -136
  412. package/src/lib/util/component/sub-header/sub-header.component.html +0 -20
  413. package/src/lib/util/component/sub-header/sub-header.component.spec.ts +0 -25
  414. package/src/lib/util/component/sub-header/sub-header.component.ts +0 -37
  415. package/src/lib/util/config.ts +0 -15
  416. package/src/lib/util/date/PeriodModel.ts +0 -7
  417. package/src/lib/util/date/date-format-constants.ts +0 -12
  418. package/src/lib/util/date/date.util.ts +0 -222
  419. package/src/lib/util/decorators/theme.decorator.ts +0 -24
  420. package/src/lib/util/decorators/user.decorator.ts +0 -30
  421. package/src/lib/util/directives/my-number-formatter-directive.ts +0 -32
  422. package/src/lib/util/directives/show-if-truncated.directive.ts +0 -19
  423. package/src/lib/util/enums/family.enum.ts +0 -4
  424. package/src/lib/util/enums/rapid-search-item-type.enum.ts +0 -11
  425. package/src/lib/util/enums/status-color.enum.ts +0 -9
  426. package/src/lib/util/event/header/header-events.service.ts +0 -20
  427. package/src/lib/util/event/storage/local-storage-events.service.ts +0 -15
  428. package/src/lib/util/event/storage/session-storage-events.service.ts +0 -15
  429. package/src/lib/util/http/http-params.builder.ts +0 -33
  430. package/src/lib/util/i18n/de.ts +0 -173
  431. package/src/lib/util/i18n/en.ts +0 -173
  432. package/src/lib/util/i18n/fr.ts +0 -174
  433. package/src/lib/util/i18n/multi-translate-http-loader.ts +0 -31
  434. package/src/lib/util/models/any-line.model.ts +0 -45
  435. package/src/lib/util/models/audio-content.model.ts +0 -40
  436. package/src/lib/util/models/authPermission.model.ts +0 -17
  437. package/src/lib/util/models/authUser.model.ts +0 -28
  438. package/src/lib/util/models/basic-hierarchy.model.ts +0 -8
  439. package/src/lib/util/models/basic.model.ts +0 -31
  440. package/src/lib/util/models/box-set-item.model.ts +0 -23
  441. package/src/lib/util/models/commercial/deal-rapid-search-model.ts +0 -10
  442. package/src/lib/util/models/commercial/invoice-rapid-search-model.ts +0 -25
  443. package/src/lib/util/models/commercial/work-record-rapid-search-model.ts +0 -28
  444. package/src/lib/util/models/custom-typings.d.ts +0 -166
  445. package/src/lib/util/models/disc-program.model.ts +0 -29
  446. package/src/lib/util/models/disc.model.ts +0 -26
  447. package/src/lib/util/models/eventType.model.ts +0 -7
  448. package/src/lib/util/models/expenditure-commitment/purchase-order-file.model.ts +0 -27
  449. package/src/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.ts +0 -10
  450. package/src/lib/util/models/family.model.ts +0 -6
  451. package/src/lib/util/models/lang-line.model.ts +0 -31
  452. package/src/lib/util/models/legal/contract-rapid-search-model.ts +0 -13
  453. package/src/lib/util/models/legal/contract-work.model.ts +0 -43
  454. package/src/lib/util/models/legal/contract-work2.model.ts +0 -39
  455. package/src/lib/util/models/legal/type-status-rapid-search.model.ts +0 -5
  456. package/src/lib/util/models/media-line.model.ts +0 -20
  457. package/src/lib/util/models/menu-language.model.ts +0 -16
  458. package/src/lib/util/models/milo/territory.model.ts +0 -19
  459. package/src/lib/util/models/module.model.ts +0 -9
  460. package/src/lib/util/models/permission.model.ts +0 -21
  461. package/src/lib/util/models/product-box-set.model.ts +0 -19
  462. package/src/lib/util/models/product-disc-detail.model.ts +0 -25
  463. package/src/lib/util/models/product-disc.model.ts +0 -31
  464. package/src/lib/util/models/product-division.model.ts +0 -35
  465. package/src/lib/util/models/product-type.model.ts +0 -26
  466. package/src/lib/util/models/product.model.ts +0 -73
  467. package/src/lib/util/models/program.model.ts +0 -34
  468. package/src/lib/util/models/purchase-order/purchase-order.model.ts +0 -61
  469. package/src/lib/util/models/referential/WorkVersionArticleDto.ts +0 -20
  470. package/src/lib/util/models/referential/adress-type.model.ts +0 -13
  471. package/src/lib/util/models/referential/adress.model.ts +0 -31
  472. package/src/lib/util/models/referential/attached-file.model.ts +0 -21
  473. package/src/lib/util/models/referential/bank-account.model.ts +0 -25
  474. package/src/lib/util/models/referential/bank-accounts.model.ts +0 -34
  475. package/src/lib/util/models/referential/basic-hierarchy.model.ts +0 -8
  476. package/src/lib/util/models/referential/broadcast-list-item.model.ts +0 -19
  477. package/src/lib/util/models/referential/color.model.ts +0 -16
  478. package/src/lib/util/models/referential/company.model.ts +0 -17
  479. package/src/lib/util/models/referential/content-type.model.ts +0 -22
  480. package/src/lib/util/models/referential/content.model.ts +0 -26
  481. package/src/lib/util/models/referential/cost-center-criteria-values.model.ts +0 -17
  482. package/src/lib/util/models/referential/cost-center-criteria.model.ts +0 -23
  483. package/src/lib/util/models/referential/cost-center.model.ts +0 -37
  484. package/src/lib/util/models/referential/coutry.model.ts +0 -17
  485. package/src/lib/util/models/referential/currency.model.ts +0 -22
  486. package/src/lib/util/models/referential/editorial-content.model.ts +0 -37
  487. package/src/lib/util/models/referential/fixing.model.ts +0 -21
  488. package/src/lib/util/models/referential/flat-media.model.ts +0 -19
  489. package/src/lib/util/models/referential/format-image.model.ts +0 -17
  490. package/src/lib/util/models/referential/format-type.model.ts +0 -16
  491. package/src/lib/util/models/referential/format.model.ts +0 -17
  492. package/src/lib/util/models/referential/fsk-index.model.ts +0 -36
  493. package/src/lib/util/models/referential/fsk.model.ts +0 -53
  494. package/src/lib/util/models/referential/function.model.ts +0 -25
  495. package/src/lib/util/models/referential/genre.model.ts +0 -17
  496. package/src/lib/util/models/referential/invoice-product-type.model.ts +0 -24
  497. package/src/lib/util/models/referential/keywords.model.ts +0 -16
  498. package/src/lib/util/models/referential/language.model.ts +0 -22
  499. package/src/lib/util/models/referential/media-filter.model.ts +0 -10
  500. package/src/lib/util/models/referential/media.model.ts +0 -21
  501. package/src/lib/util/models/referential/module.model.ts +0 -21
  502. package/src/lib/util/models/referential/participant.model.ts +0 -31
  503. package/src/lib/util/models/referential/person.model.ts +0 -30
  504. package/src/lib/util/models/referential/po/WorkRestrictionPO.ts +0 -11
  505. package/src/lib/util/models/referential/project-status.model.ts +0 -16
  506. package/src/lib/util/models/referential/quota.model.ts +0 -17
  507. package/src/lib/util/models/referential/referential-entity-state.model.ts +0 -22
  508. package/src/lib/util/models/referential/referential-value.model.ts +0 -21
  509. package/src/lib/util/models/referential/referentiel.model.ts +0 -29
  510. package/src/lib/util/models/referential/restriction.model.ts +0 -26
  511. package/src/lib/util/models/referential/sap-order.model.ts +0 -48
  512. package/src/lib/util/models/referential/service-error.model.ts +0 -16
  513. package/src/lib/util/models/referential/sound.model.ts +0 -16
  514. package/src/lib/util/models/referential/territories-languages.model.ts +0 -19
  515. package/src/lib/util/models/referential/territory-filter.model.ts +0 -6
  516. package/src/lib/util/models/referential/territory.model.ts +0 -27
  517. package/src/lib/util/models/referential/theme.model.ts +0 -17
  518. package/src/lib/util/models/referential/third-party-address-rapid-search.model.ts +0 -8
  519. package/src/lib/util/models/referential/third-party-creation-request.model.ts +0 -59
  520. package/src/lib/util/models/referential/third-party-module.model.ts +0 -21
  521. package/src/lib/util/models/referential/third-party-rapid-search.model.ts +0 -10
  522. package/src/lib/util/models/referential/third-party.model.ts +0 -100
  523. package/src/lib/util/models/referential/translated-value-model.ts +0 -20
  524. package/src/lib/util/models/referential/tva.model.ts +0 -17
  525. package/src/lib/util/models/referential/type-export.model.ts +0 -17
  526. package/src/lib/util/models/referential/type-tva-company-territory.model.ts +0 -36
  527. package/src/lib/util/models/referential/type-tva.model.ts +0 -29
  528. package/src/lib/util/models/referential/work-addons-model.ts +0 -36
  529. package/src/lib/util/models/referential/work-appartenance.model.ts +0 -17
  530. package/src/lib/util/models/referential/work-genre.model.ts +0 -21
  531. package/src/lib/util/models/referential/work-language.model.ts +0 -21
  532. package/src/lib/util/models/referential/work-milo.model.ts +0 -65
  533. package/src/lib/util/models/referential/work-participant.model.ts +0 -28
  534. package/src/lib/util/models/referential/work-restrictions-model.ts +0 -34
  535. package/src/lib/util/models/referential/work-theme.model.ts +0 -21
  536. package/src/lib/util/models/referential/work-title.model.ts +0 -27
  537. package/src/lib/util/models/referential/work-version-origin.model.ts +0 -20
  538. package/src/lib/util/models/referential/work-version-rapid-search.model.ts +0 -10
  539. package/src/lib/util/models/referential/work-versions-used.model.ts +0 -22
  540. package/src/lib/util/models/referential/work-versions.model.ts +0 -47
  541. package/src/lib/util/models/referential/work-year-production.model.ts +0 -16
  542. package/src/lib/util/models/referential/work.model.ts +0 -88
  543. package/src/lib/util/models/referential/zone.model.ts +0 -16
  544. package/src/lib/util/models/referentiel.model.ts +0 -29
  545. package/src/lib/util/models/search-response.model.ts +0 -7
  546. package/src/lib/util/models/section.model.ts +0 -11
  547. package/src/lib/util/models/select/options.model.ts +0 -8
  548. package/src/lib/util/models/select/select.model.ts +0 -4
  549. package/src/lib/util/models/subsidiary.model.ts +0 -10
  550. package/src/lib/util/models/subtitle-content.model.ts +0 -39
  551. package/src/lib/util/models/user-video.model.ts +0 -29
  552. package/src/lib/util/models/user.model.ts +0 -41
  553. package/src/lib/util/models/video/product-rapid-search.model.ts +0 -10
  554. package/src/lib/util/models/video/support-rapid-search.model.ts +0 -7
  555. package/src/lib/util/models/video-content.model.ts +0 -37
  556. package/src/lib/util/number.validator.ts +0 -123
  557. package/src/lib/util/paginator/custom-paginator-configuration.ts +0 -68
  558. package/src/lib/util/permissions/permissions.service.ts +0 -47
  559. package/src/lib/util/pipes/capitalizefirst.pipe.ts +0 -39
  560. package/src/lib/util/pipes/comma-separated-number.pipe.ts +0 -9
  561. package/src/lib/util/pipes/common-translate.pipe.ts +0 -37
  562. package/src/lib/util/pipes/display-html.pipe.ts +0 -15
  563. package/src/lib/util/pipes/display-null.pipe.ts +0 -19
  564. package/src/lib/util/pipes/format-currency.pipe.ts +0 -26
  565. package/src/lib/util/pipes/format-duration.pipe.ts +0 -16
  566. package/src/lib/util/pipes/format-number-input.pipe.ts +0 -19
  567. package/src/lib/util/pipes/local-date.pipe.ts +0 -29
  568. package/src/lib/util/pipes/my-number.pipe.ts +0 -51
  569. package/src/lib/util/pipes/third-party-address-search.pipe.ts +0 -12
  570. package/src/lib/util/pipes/third-party-address.pipe.ts +0 -13
  571. package/src/lib/util/pipes/trim-string.pipe.ts +0 -24
  572. package/src/lib/util/regex/regex.service.ts +0 -94
  573. package/src/lib/util/regex/regex.spec.ts +0 -45
  574. package/src/lib/util/services/api/commercial-api.service.ts +0 -23
  575. package/src/lib/util/services/api/common-api.service.ts +0 -121
  576. package/src/lib/util/services/api/legal-api.service.ts +0 -27
  577. package/src/lib/util/services/api/video-api.service.ts +0 -45
  578. package/src/lib/util/services/auth/auth.service.spec.ts +0 -16
  579. package/src/lib/util/services/auth/auth.service.ts +0 -14
  580. package/src/lib/util/services/elasticsearch/elasticsearch.service.ts +0 -179
  581. package/src/lib/util/services/elasticsearch/subsidiaries.service.ts +0 -48
  582. package/src/lib/util/services/form-action/form-actions-events.service.ts +0 -25
  583. package/src/lib/util/services/guard/auth.guard.ts +0 -44
  584. package/src/lib/util/services/guard/login.guard.ts +0 -26
  585. package/src/lib/util/services/history/history.service.ts +0 -38
  586. package/src/lib/util/services/interceptor/auth.interceptor.ts +0 -66
  587. package/src/lib/util/services/jwt-security/aes.service.ts +0 -48
  588. package/src/lib/util/services/jwt-security/interceptorhttp.service.ts +0 -98
  589. package/src/lib/util/services/jwt-security/jwt.helpher.ts +0 -38
  590. package/src/lib/util/services/storage/local-storage.service.ts +0 -36
  591. package/src/lib/util/services/storage/session-storage.service.ts +0 -39
  592. package/src/lib/util/services/translate-language/lang.service.ts +0 -26
  593. package/src/lib/util/services/user/user-subsidiary.service.spec.ts +0 -207
  594. package/src/lib/util/services/user/user-subsidiary.service.ts +0 -21
  595. package/src/lib/util/sort.ts +0 -27
  596. package/src/lib/util/theme/theme-event.service.ts +0 -15
  597. package/src/lib/util/toaster/toaster-events.service.ts +0 -32
  598. package/src/lib/util/util.module.ts +0 -185
  599. package/src/test.ts +0 -13
  600. package/tsconfig.lib.json +0 -19
  601. package/tsconfig.lib.prod.json +0 -10
  602. package/tsconfig.spec.json +0 -17
  603. /package/{src/lib/util/interfaces/permissions.interface.ts → lib/util/interfaces/permissions.interface.d.ts} +0 -0
@@ -0,0 +1,96 @@
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