@po-ui/ng-templates 18.22.0 → 19.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/fesm2022/po-ui-ng-templates.mjs +139 -122
  2. package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
  3. package/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.d.ts +1 -1
  4. package/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.d.ts +1 -1
  5. package/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.d.ts +1 -1
  6. package/lib/components/po-page-blocked-user/po-page-blocked-user.component.d.ts +1 -1
  7. package/lib/components/po-page-change-password/po-page-change-password-base.component.d.ts +1 -1
  8. package/lib/components/po-page-change-password/po-page-change-password.service.d.ts +1 -1
  9. package/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.d.ts +1 -1
  10. package/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.d.ts +1 -1
  11. package/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.d.ts +2 -2
  12. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.d.ts +1 -1
  13. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.d.ts +1 -1
  14. package/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.d.ts +2 -2
  15. package/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.d.ts +2 -2
  16. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.d.ts +1 -1
  17. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.d.ts +2 -2
  18. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.d.ts +1 -1
  19. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.d.ts +1 -1
  20. package/lib/components/po-page-login/po-page-login-base.component.d.ts +1 -1
  21. package/lib/components/po-page-login/po-page-login.service.d.ts +1 -1
  22. package/package.json +13 -15
  23. package/po-ui-ng-templates-19.0.0-next.0.tgz +0 -0
  24. package/schematics/ng-add/index.js +2 -2
  25. package/schematics/ng-add/index.js.map +1 -1
  26. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  27. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  28. package/schematics/ng-generate/po-page-blocked-user/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  29. package/schematics/ng-generate/po-page-blocked-user/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  30. package/schematics/ng-generate/po-page-blocked-user/index.js +1 -1
  31. package/schematics/ng-generate/po-page-blocked-user/index.js.map +1 -1
  32. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  33. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  34. package/schematics/ng-generate/po-page-change-password/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  35. package/schematics/ng-generate/po-page-change-password/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  36. package/schematics/ng-generate/po-page-change-password/index.js +1 -1
  37. package/schematics/ng-generate/po-page-change-password/index.js.map +1 -1
  38. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  39. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  40. package/schematics/ng-generate/po-page-dynamic-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  41. package/schematics/ng-generate/po-page-dynamic-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  42. package/schematics/ng-generate/po-page-dynamic-detail/index.js +1 -1
  43. package/schematics/ng-generate/po-page-dynamic-detail/index.js.map +1 -1
  44. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  45. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  46. package/schematics/ng-generate/po-page-dynamic-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  47. package/schematics/ng-generate/po-page-dynamic-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  48. package/schematics/ng-generate/po-page-dynamic-edit/index.js +1 -1
  49. package/schematics/ng-generate/po-page-dynamic-edit/index.js.map +1 -1
  50. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  51. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  52. package/schematics/ng-generate/po-page-dynamic-search/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  53. package/schematics/ng-generate/po-page-dynamic-search/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  54. package/schematics/ng-generate/po-page-dynamic-search/index.js +1 -1
  55. package/schematics/ng-generate/po-page-dynamic-search/index.js.map +1 -1
  56. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  57. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  58. package/schematics/ng-generate/po-page-dynamic-table/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  59. package/schematics/ng-generate/po-page-dynamic-table/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  60. package/schematics/ng-generate/po-page-dynamic-table/index.js +1 -1
  61. package/schematics/ng-generate/po-page-dynamic-table/index.js.map +1 -1
  62. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  63. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  64. package/schematics/ng-generate/po-page-job-scheduler/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  65. package/schematics/ng-generate/po-page-job-scheduler/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  66. package/schematics/ng-generate/po-page-job-scheduler/index.js +1 -1
  67. package/schematics/ng-generate/po-page-job-scheduler/index.js.map +1 -1
  68. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
  69. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
  70. package/schematics/ng-generate/po-page-login/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
  71. package/schematics/ng-generate/po-page-login/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
  72. package/schematics/ng-generate/po-page-login/index.js +1 -1
  73. package/schematics/ng-generate/po-page-login/index.js.map +1 -1
  74. package/esm2022/lib/components/components.module.mjs +0 -84
  75. package/esm2022/lib/components/index.mjs +0 -12
  76. package/esm2022/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-modal-content.enum.mjs +0 -17
  77. package/esm2022/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-type.enum.mjs +0 -17
  78. package/esm2022/lib/components/po-modal-password-recovery/index.mjs +0 -8
  79. package/esm2022/lib/components/po-modal-password-recovery/interfaces/po-modal-password-recovery.interface.mjs +0 -2
  80. package/esm2022/lib/components/po-modal-password-recovery/literals/i18n/po-modal-password-recovery-literals.mjs +0 -119
  81. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.mjs +0 -293
  82. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.mjs +0 -34
  83. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.mjs +0 -451
  84. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.module.mjs +0 -29
  85. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.mjs +0 -18
  86. package/esm2022/lib/components/po-page-background/index.mjs +0 -3
  87. package/esm2022/lib/components/po-page-background/po-page-background.component.mjs +0 -191
  88. package/esm2022/lib/components/po-page-background/po-page-background.module.mjs +0 -27
  89. package/esm2022/lib/components/po-page-blocked-user/enums/po-page-blocked-user-reason.enum.mjs +0 -17
  90. package/esm2022/lib/components/po-page-blocked-user/index.mjs +0 -8
  91. package/esm2022/lib/components/po-page-blocked-user/interfaces/po-page-blocked-user-reason-params.interface.mjs +0 -2
  92. package/esm2022/lib/components/po-page-blocked-user/literals/i18n/po-page-blocked-user-literals.mjs +0 -78
  93. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.mjs +0 -197
  94. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.mjs +0 -105
  95. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.mjs +0 -107
  96. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +0 -108
  97. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.module.mjs +0 -29
  98. package/esm2022/lib/components/po-page-change-password/index.mjs +0 -7
  99. package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password-recovery.interface.mjs +0 -2
  100. package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password-requirement.interface.mjs +0 -2
  101. package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password.interface.mjs +0 -2
  102. package/esm2022/lib/components/po-page-change-password/literals/i18n/po-page-change-password-literals.mjs +0 -79
  103. package/esm2022/lib/components/po-page-change-password/po-page-change-password-base.component.mjs +0 -300
  104. package/esm2022/lib/components/po-page-change-password/po-page-change-password.component.mjs +0 -401
  105. package/esm2022/lib/components/po-page-change-password/po-page-change-password.module.mjs +0 -30
  106. package/esm2022/lib/components/po-page-change-password/po-page-change-password.service.mjs +0 -18
  107. package/esm2022/lib/components/po-page-dynamic-detail/index.mjs +0 -10
  108. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-actions.interface.mjs +0 -2
  109. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-back.interface.mjs +0 -2
  110. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-edit.interface.mjs +0 -2
  111. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-remove.interface.mjs +0 -2
  112. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-field.interface.mjs +0 -2
  113. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-metadata.interface.mjs +0 -2
  114. package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-options.interface.mjs +0 -2
  115. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.mjs +0 -44
  116. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.mjs +0 -546
  117. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.module.mjs +0 -54
  118. package/esm2022/lib/components/po-page-dynamic-edit/index.mjs +0 -11
  119. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-actions.interface.mjs +0 -2
  120. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-cancel.interface.mjs +0 -2
  121. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save-new.interface.mjs +0 -2
  122. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save.interface.mjs +0 -2
  123. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-field.interface.mjs +0 -2
  124. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-literals.interface.mjs +0 -2
  125. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-metadata.interface.mjs +0 -2
  126. package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-options.interface.mjs +0 -2
  127. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.mjs +0 -44
  128. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.mjs +0 -889
  129. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.module.mjs +0 -60
  130. package/esm2022/lib/components/po-page-dynamic-search/index.mjs +0 -7
  131. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.mjs +0 -133
  132. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-literals.interface.mjs +0 -2
  133. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.mjs +0 -76
  134. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.mjs +0 -365
  135. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-filters.interface.mjs +0 -2
  136. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-literals.interface.mjs +0 -2
  137. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-options.interface.mjs +0 -2
  138. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.mjs +0 -349
  139. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.interface.mjs +0 -2
  140. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.module.mjs +0 -52
  141. package/esm2022/lib/components/po-page-dynamic-table/index.mjs +0 -16
  142. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-actions.interface.mjs +0 -2
  143. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-detail.interface.mjs +0 -2
  144. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-duplicate.interface.mjs +0 -2
  145. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-edit.interface.mjs +0 -2
  146. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-new.interface.mjs +0 -2
  147. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove-all.interface.mjs +0 -2
  148. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove.interface.mjs +0 -2
  149. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.mjs +0 -2
  150. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.mjs +0 -2
  151. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-field.interface.mjs +0 -2
  152. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-filters.interface.mjs +0 -2
  153. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-metadata.interface.mjs +0 -2
  154. package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-options.interface.mjs +0 -2
  155. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.mjs +0 -271
  156. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.mjs +0 -59
  157. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-literals.mjs +0 -63
  158. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.mjs +0 -1257
  159. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.module.mjs +0 -50
  160. package/esm2022/lib/components/po-page-job-scheduler/index.mjs +0 -6
  161. package/esm2022/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler-internal.interface.mjs +0 -2
  162. package/esm2022/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler.interface.mjs +0 -2
  163. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs +0 -302
  164. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.mjs +0 -393
  165. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-internal.mjs +0 -13
  166. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-literals.mjs +0 -195
  167. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-lookup.service.mjs +0 -22
  168. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/index.mjs +0 -2
  169. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/index.mjs +0 -2
  170. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.mjs +0 -92
  171. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.mjs +0 -79
  172. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/index.mjs +0 -2
  173. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/index.mjs +0 -2
  174. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/po-job-scheduler-summary-template.directive.mjs +0 -44
  175. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +0 -211
  176. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +0 -418
  177. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.module.mjs +0 -85
  178. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.mjs +0 -224
  179. package/esm2022/lib/components/po-page-login/enums/po-page-login-authentication-type.enum.mjs +0 -15
  180. package/esm2022/lib/components/po-page-login/index.mjs +0 -8
  181. package/esm2022/lib/components/po-page-login/interfaces/po-page-login-custom-field.interface.mjs +0 -2
  182. package/esm2022/lib/components/po-page-login/interfaces/po-page-login-literals.interface.mjs +0 -2
  183. package/esm2022/lib/components/po-page-login/interfaces/po-page-login-recovery.interface.mjs +0 -2
  184. package/esm2022/lib/components/po-page-login/interfaces/po-page-login.interface.mjs +0 -2
  185. package/esm2022/lib/components/po-page-login/po-page-login-base.component.mjs +0 -1099
  186. package/esm2022/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.mjs +0 -137
  187. package/esm2022/lib/components/po-page-login/po-page-login.component.mjs +0 -483
  188. package/esm2022/lib/components/po-page-login/po-page-login.module.mjs +0 -31
  189. package/esm2022/lib/components/po-page-login/po-page-login.service.mjs +0 -32
  190. package/esm2022/lib/index.mjs +0 -4
  191. package/esm2022/lib/po-templates.module.mjs +0 -18
  192. package/esm2022/lib/services/index.mjs +0 -4
  193. package/esm2022/lib/services/po-page-customization/index.mjs +0 -4
  194. package/esm2022/lib/services/po-page-customization/po-page-customization.module.mjs +0 -23
  195. package/esm2022/lib/services/po-page-customization/po-page-customization.service.mjs +0 -86
  196. package/esm2022/lib/services/po-page-customization/po-page-dynamic-options.interface.mjs +0 -2
  197. package/esm2022/lib/services/po-page-dynamic/index.mjs +0 -3
  198. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic-literals.interface.mjs +0 -2
  199. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.module.mjs +0 -23
  200. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.service.mjs +0 -106
  201. package/esm2022/lib/services/services.module.mjs +0 -18
  202. package/esm2022/lib/utils/util.mjs +0 -428
  203. package/esm2022/po-ui-ng-templates.mjs +0 -5
  204. package/esm2022/public-api.mjs +0 -2
  205. package/po-ui-ng-templates-18.22.0.tgz +0 -0
@@ -1,211 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { PoInfoOrientation } from '@po-ui/ng-components';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@po-ui/ng-components";
6
- function PoPageJobSchedulerSummaryComponent_po_info_1_Template(rf, ctx) { if (rf & 1) {
7
- i0.ɵɵelement(0, "po-info", 2);
8
- } if (rf & 2) {
9
- const ctx_r0 = i0.ɵɵnextContext();
10
- i0.ɵɵproperty("p-label", ctx_r0.literals.process)("p-orientation", ctx_r0.infoOrientation)("p-value", ctx_r0.value.processID);
11
- } }
12
- function PoPageJobSchedulerSummaryComponent_po_info_3_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelement(0, "po-info", 2);
14
- } if (rf & 2) {
15
- const ctx_r0 = i0.ɵɵnextContext();
16
- i0.ɵɵproperty("p-label", ctx_r0.literals.frequency)("p-orientation", ctx_r0.infoOrientation)("p-value", ctx_r0.frequencyValue);
17
- } }
18
- function PoPageJobSchedulerSummaryComponent_po_info_4_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelement(0, "po-info", 2);
20
- } if (rf & 2) {
21
- const ctx_r0 = i0.ɵɵnextContext();
22
- i0.ɵɵproperty("p-label", ctx_r0.literals.execution)("p-orientation", ctx_r0.infoOrientation)("p-value", ctx_r0.executionValue);
23
- } }
24
- function PoPageJobSchedulerSummaryComponent_po_widget_7_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵelementStart(0, "po-widget", 5);
26
- i0.ɵɵelement(1, "po-dynamic-view", 6);
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- const ctx_r0 = i0.ɵɵnextContext();
30
- i0.ɵɵproperty("p-title", ctx_r0.literals.parameters);
31
- i0.ɵɵadvance();
32
- i0.ɵɵproperty("p-fields", ctx_r0.parameters)("p-value", ctx_r0.value.executionParameter);
33
- } }
34
- function PoPageJobSchedulerSummaryComponent_div_8_ng_template_1_Template(rf, ctx) { }
35
- function PoPageJobSchedulerSummaryComponent_div_8_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵelementStart(0, "div", 7);
37
- i0.ɵɵtemplate(1, PoPageJobSchedulerSummaryComponent_div_8_ng_template_1_Template, 0, 0, "ng-template", 8);
38
- i0.ɵɵelementEnd();
39
- } if (rf & 2) {
40
- const ctx_r0 = i0.ɵɵnextContext();
41
- i0.ɵɵadvance();
42
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.jobSchedulerSummaryTemplate == null ? null : ctx_r0.jobSchedulerSummaryTemplate.templateRef);
43
- } }
44
- export class PoPageJobSchedulerSummaryComponent {
45
- datePipe;
46
- literals = {};
47
- parameters = [];
48
- value = {};
49
- noParameters = true;
50
- jobSchedulerSummaryTemplate;
51
- executionValue = '';
52
- firstExecutionValue = '';
53
- infoOrientation = PoInfoOrientation.Horizontal;
54
- periodicityValue = '';
55
- frequencyValue = '';
56
- rangeLimitHour = '';
57
- rangeLimitDay = '';
58
- recurrentValue = '';
59
- constructor(datePipe) {
60
- this.datePipe = datePipe;
61
- }
62
- ngOnInit() {
63
- const { periodicity, hour, dayOfMonth, daysOfWeek, recurrent, firstExecution, firstExecutionHour, frequency, rangeLimitHour, rangeLimitDay } = this.value;
64
- this.periodicityValue = this.getPeriodicityLabel(periodicity);
65
- if (frequency) {
66
- this.frequencyValue = this.getFrequencyValue(frequency, periodicity);
67
- }
68
- this.executionValue = this.getExecutionValue(periodicity, hour, daysOfWeek, dayOfMonth, rangeLimitHour, rangeLimitDay);
69
- this.firstExecutionValue = this.getFirstExecutionLabel(firstExecution, firstExecutionHour);
70
- this.recurrentValue = this.getRecurrentValue(recurrent);
71
- }
72
- getFrequencyValue(frequency, periodicity) {
73
- return frequency['value'] && frequency['type'] && periodicity !== 'single'
74
- ? `${frequency['value']} - ${frequency['type']}`
75
- : '';
76
- }
77
- getExecutionValue(periodicity, hour, daysOfWeek, dayOfMonth, rangeLimitHour, rangeLimitDay) {
78
- switch (periodicity) {
79
- case 'daily':
80
- return this.getHourLabel(hour, rangeLimitHour);
81
- case 'monthly':
82
- return this.getMonthlyLabelExecution(dayOfMonth, hour, rangeLimitHour, rangeLimitDay);
83
- case 'weekly':
84
- return this.getWeeklyLabelExecution(daysOfWeek, hour, rangeLimitHour);
85
- default:
86
- return this.literals.notReported;
87
- }
88
- }
89
- getFirstExecutionLabel(firstExecution, firstExecutionHour) {
90
- if (firstExecution) {
91
- const date = this.datePipe.transform(firstExecution, 'dd/MM/yyyy', '-0200');
92
- return `${date} ${this.getHourLabel(firstExecutionHour)}`;
93
- }
94
- else {
95
- return this.literals.notReported;
96
- }
97
- }
98
- getHourLabel(hour, rangeLimitHour) {
99
- return `${rangeLimitHour ? this.literals.from : this.literals.at} ${hour || '00:00'} ${rangeLimitHour ? this.literals.to + ' ' + rangeLimitHour : ''}`;
100
- }
101
- getMonthlyLabelExecution(dayOfMonth, hour, rangeLimitHour, rangeLimitDay) {
102
- const hourLabel = this.getHourLabel(hour, rangeLimitHour);
103
- return `${rangeLimitDay ? this.literals.from : ''} ${dayOfMonth} ${rangeLimitDay ? this.literals.to : ''} ${rangeLimitDay ? rangeLimitDay : ''} ${hourLabel}`;
104
- }
105
- getPeriodicityLabel(periodicity) {
106
- switch (periodicity) {
107
- case 'daily':
108
- return this.literals.daily;
109
- case 'monthly':
110
- return this.literals.monthly;
111
- case 'weekly':
112
- return this.literals.weekly;
113
- default:
114
- return this.literals.single;
115
- }
116
- }
117
- getRecurrentValue(recurrent) {
118
- return recurrent ? this.literals.yes : this.literals.no;
119
- }
120
- getSorterWeekDays() {
121
- return {
122
- 'sunday': 0,
123
- 'monday': 1,
124
- 'tuesday': 2,
125
- 'wednesday': 3,
126
- 'thursday': 4,
127
- 'friday': 5,
128
- 'saturday': 6
129
- };
130
- }
131
- getTranslateWeekDay(day) {
132
- const days = {
133
- Sunday: this.literals.sunday,
134
- Monday: this.literals.monday,
135
- Tuesday: this.literals.tuesday,
136
- Wednesday: this.literals.wednesday,
137
- Thursday: this.literals.thursday,
138
- Friday: this.literals.friday,
139
- Saturday: this.literals.saturday
140
- };
141
- return days[day] || '';
142
- }
143
- getWeekDaysLabel(days = []) {
144
- const weekDaysSorted = this.sortWeekDays(days);
145
- return weekDaysSorted.map(day => this.getTranslateWeekDay(day)).join(', ');
146
- }
147
- getWeeklyLabelExecution(daysOfWeek, hour, rangeLimitHour) {
148
- if (daysOfWeek && Array.isArray(daysOfWeek)) {
149
- return `${this.getWeekDaysLabel(daysOfWeek)} ${this.getHourLabel(hour, rangeLimitHour)}`;
150
- }
151
- else {
152
- return this.literals.notReported;
153
- }
154
- }
155
- sortWeekDays(days = []) {
156
- const sorterWeekDays = this.getSorterWeekDays();
157
- return days.sort((a, b) => {
158
- const currDay = a.toLowerCase();
159
- const nextDay = b.toLowerCase();
160
- return sorterWeekDays[currDay] > sorterWeekDays[nextDay] ? 1 : -1;
161
- });
162
- }
163
- static ɵfac = function PoPageJobSchedulerSummaryComponent_Factory(t) { return new (t || PoPageJobSchedulerSummaryComponent)(i0.ɵɵdirectiveInject(i1.DatePipe)); };
164
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerSummaryComponent, selectors: [["po-page-job-scheduler-summary"]], inputs: { literals: [0, "p-literals", "literals"], parameters: [0, "p-parameters", "parameters"], value: [0, "p-value", "value"], noParameters: [0, "p-no-parameters", "noParameters"], jobSchedulerSummaryTemplate: [0, "p-summary-template", "jobSchedulerSummaryTemplate"] }, decls: 9, vars: 14, consts: [[1, "po-md-12"], [3, "p-label", "p-orientation", "p-value", 4, "ngIf"], [3, "p-label", "p-orientation", "p-value"], ["class", "po-pt-1 po-pb-1 po-md-12", 3, "p-title", 4, "ngIf"], ["class", "po-pt-1 po-pb-1 po-md-12", 4, "ngIf"], [1, "po-pt-1", "po-pb-1", "po-md-12", 3, "p-title"], [3, "p-fields", "p-value"], [1, "po-pt-1", "po-pb-1", "po-md-12"], [3, "ngTemplateOutlet"]], template: function PoPageJobSchedulerSummaryComponent_Template(rf, ctx) { if (rf & 1) {
165
- i0.ɵɵelementStart(0, "div", 0);
166
- i0.ɵɵtemplate(1, PoPageJobSchedulerSummaryComponent_po_info_1_Template, 1, 3, "po-info", 1);
167
- i0.ɵɵelement(2, "po-info", 2);
168
- i0.ɵɵtemplate(3, PoPageJobSchedulerSummaryComponent_po_info_3_Template, 1, 3, "po-info", 1)(4, PoPageJobSchedulerSummaryComponent_po_info_4_Template, 1, 3, "po-info", 1);
169
- i0.ɵɵelement(5, "po-info", 2)(6, "po-info", 2);
170
- i0.ɵɵelementEnd();
171
- i0.ɵɵtemplate(7, PoPageJobSchedulerSummaryComponent_po_widget_7_Template, 2, 3, "po-widget", 3)(8, PoPageJobSchedulerSummaryComponent_div_8_Template, 2, 1, "div", 4);
172
- } if (rf & 2) {
173
- i0.ɵɵadvance();
174
- i0.ɵɵproperty("ngIf", !ctx.noParameters);
175
- i0.ɵɵadvance();
176
- i0.ɵɵproperty("p-label", ctx.literals.periodicity)("p-orientation", ctx.infoOrientation)("p-value", ctx.periodicityValue);
177
- i0.ɵɵadvance();
178
- i0.ɵɵproperty("ngIf", ctx.frequencyValue !== "");
179
- i0.ɵɵadvance();
180
- i0.ɵɵproperty("ngIf", ctx.value.periodicity !== "single");
181
- i0.ɵɵadvance();
182
- i0.ɵɵproperty("p-label", ctx.literals.recurrent)("p-orientation", ctx.infoOrientation)("p-value", ctx.recurrentValue);
183
- i0.ɵɵadvance();
184
- i0.ɵɵproperty("p-label", ctx.literals.firstExecution)("p-orientation", ctx.infoOrientation)("p-value", ctx.firstExecutionValue);
185
- i0.ɵɵadvance();
186
- i0.ɵɵproperty("ngIf", ctx.parameters && ctx.parameters.length && !ctx.jobSchedulerSummaryTemplate);
187
- i0.ɵɵadvance();
188
- i0.ɵɵproperty("ngIf", ctx.jobSchedulerSummaryTemplate);
189
- } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2.PoDynamicViewComponent, i2.PoInfoComponent, i2.PoWidgetComponent], encapsulation: 2 });
190
- }
191
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerSummaryComponent, [{
192
- type: Component,
193
- args: [{ selector: 'po-page-job-scheduler-summary', template: "<div class=\"po-md-12\">\n <po-info\n *ngIf=\"!noParameters\"\n [p-label]=\"literals.process\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"value.processID\"\n >\n </po-info>\n\n <po-info [p-label]=\"literals.periodicity\" [p-orientation]=\"infoOrientation\" [p-value]=\"periodicityValue\"> </po-info>\n\n <po-info\n *ngIf=\"frequencyValue !== ''\"\n [p-label]=\"literals.frequency\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"frequencyValue\"\n >\n </po-info>\n\n <po-info\n *ngIf=\"value.periodicity !== 'single'\"\n [p-label]=\"literals.execution\"\n [p-orientation]=\"infoOrientation\"\n [p-value]=\"executionValue\"\n >\n </po-info>\n\n <po-info [p-label]=\"literals.recurrent\" [p-orientation]=\"infoOrientation\" [p-value]=\"recurrentValue\"> </po-info>\n\n <po-info [p-label]=\"literals.firstExecution\" [p-orientation]=\"infoOrientation\" [p-value]=\"firstExecutionValue\">\n </po-info>\n</div>\n<po-widget\n *ngIf=\"parameters && parameters.length && !jobSchedulerSummaryTemplate\"\n class=\"po-pt-1 po-pb-1 po-md-12\"\n [p-title]=\"literals.parameters\"\n>\n <po-dynamic-view [p-fields]=\"parameters\" [p-value]=\"value.executionParameter\"> </po-dynamic-view>\n</po-widget>\n<div *ngIf=\"jobSchedulerSummaryTemplate\" class=\"po-pt-1 po-pb-1 po-md-12\">\n <ng-template [ngTemplateOutlet]=\"jobSchedulerSummaryTemplate?.templateRef\"></ng-template>\n</div>\n" }]
194
- }], () => [{ type: i1.DatePipe }], { literals: [{
195
- type: Input,
196
- args: ['p-literals']
197
- }], parameters: [{
198
- type: Input,
199
- args: ['p-parameters']
200
- }], value: [{
201
- type: Input,
202
- args: ['p-value']
203
- }], noParameters: [{
204
- type: Input,
205
- args: ['p-no-parameters']
206
- }], jobSchedulerSummaryTemplate: [{
207
- type: Input,
208
- args: ['p-summary-template']
209
- }] }); })();
210
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageJobSchedulerSummaryComponent, { className: "PoPageJobSchedulerSummaryComponent", filePath: "lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.ts", lineNumber: 12 }); })();
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFzQixpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztJQ0YzRSw2QkFNVTs7O0lBRlIsQUFEQSxBQURBLGlEQUE0Qix5Q0FDSyxtQ0FDTjs7O0lBTTdCLDZCQU1VOzs7SUFGUixBQURBLEFBREEsbURBQThCLHlDQUNHLGtDQUNQOzs7SUFJNUIsNkJBTVU7OztJQUZSLEFBREEsQUFEQSxtREFBOEIseUNBQ0csa0NBQ1A7OztJQVM5QixvQ0FJQztJQUNDLHFDQUFpRztJQUNuRyxpQkFBWTs7O0lBSFYsb0RBQStCO0lBRWQsY0FBdUI7SUFBQyxBQUF4Qiw0Q0FBdUIsNENBQXFDOzs7O0lBRS9FLDhCQUEwRTtJQUN4RSx5R0FBMkU7SUFDN0UsaUJBQU07OztJQURTLGNBQTZEO0lBQTdELHFJQUE2RDs7QUQ3QjVFLE1BQU0sT0FBTyxrQ0FBa0M7SUFvQnpCO0lBbkJDLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFakIsVUFB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dEc7WUFDWixpQkFBTTtZQVFOLEFBUEEsK0ZBSUMsc0VBR3lFOztZQXJDckUsY0FBbUI7WUFBbkIsd0NBQW1CO1lBT2IsY0FBZ0M7WUFBbUMsQUFBbEMsQUFBakMsa0RBQWdDLHNDQUFrQyxpQ0FBNkI7WUFHckcsY0FBMkI7WUFBM0IsZ0RBQTJCO1lBUTNCLGNBQW9DO1lBQXBDLHlEQUFvQztZQU85QixjQUE4QjtZQUFtQyxBQUFsQyxBQUEvQixnREFBOEIsc0NBQWtDLCtCQUEyQjtZQUUzRixjQUFtQztZQUFtQyxBQUFsQyxBQUFwQyxxREFBbUMsc0NBQWtDLG9DQUFnQztZQUk3RyxjQUFxRTtZQUFyRSxrR0FBcUU7WUFNbEUsY0FBaUM7WUFBakMsc0RBQWlDOzs7aUZENUIxQixrQ0FBa0M7Y0FKOUMsU0FBUzsyQkFDRSwrQkFBK0I7eUNBSXBCLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVJLFVBQVU7a0JBQWhDLEtBQUs7bUJBQUMsY0FBYztZQUVILEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVVLFlBQVk7a0JBQXJDLEtBQUs7bUJBQUMsaUJBQWlCO1lBRUssMkJBQTJCO2tCQUF2RCxLQUFLO21CQUFDLG9CQUFvQjs7a0ZBVGhCLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3RmllbGQsIFBvSW5mb09yaWVudGF0aW9uIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2Utam9iLXNjaGVkdWxlci1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgncC1saXRlcmFscycpIGxpdGVyYWxzID0gPGFueT57fTtcblxuICBASW5wdXQoJ3AtcGFyYW1ldGVycycpIHBhcmFtZXRlcnM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4gPSBbXTtcblxuICBASW5wdXQoJ3AtdmFsdWUnKSB2YWx1ZTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCA9IDxhbnk+e307XG5cbiAgQElucHV0KCdwLW5vLXBhcmFtZXRlcnMnKSBub1BhcmFtZXRlcnM6IEJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgncC1zdW1tYXJ5LXRlbXBsYXRlJykgam9iU2NoZWR1bGVyU3VtbWFyeVRlbXBsYXRlO1xuXG4gIGV4ZWN1dGlvblZhbHVlID0gJyc7XG4gIGZpcnN0RXhlY3V0aW9uVmFsdWUgPSAnJztcbiAgaW5mb09yaWVudGF0aW9uID0gUG9JbmZvT3JpZW50YXRpb24uSG9yaXpvbnRhbDtcbiAgcGVyaW9kaWNpdHlWYWx1ZSA9ICcnO1xuICBmcmVxdWVuY3lWYWx1ZSA9ICcnO1xuICByYW5nZUxpbWl0SG91ciA9ICcnO1xuICByYW5nZUxpbWl0RGF5ID0gJyc7XG4gIHJlY3VycmVudFZhbHVlID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qge1xuICAgICAgcGVyaW9kaWNpdHksXG4gICAgICBob3VyLFxuICAgICAgZGF5T2ZNb250aCxcbiAgICAgIGRheXNPZldlZWssXG4gICAgICByZWN1cnJlbnQsXG4gICAgICBmaXJzdEV4ZWN1dGlvbixcbiAgICAgIGZpcnN0RXhlY3V0aW9uSG91cixcbiAgICAgIGZyZXF1ZW5jeSxcbiAgICAgIHJhbmdlTGltaXRIb3VyLFxuICAgICAgcmFuZ2VMaW1pdERheVxuICAgIH0gPSB0aGlzLnZhbHVlO1xuXG4gICAgdGhpcy5wZXJpb2RpY2l0eVZhbHVlID0gdGhpcy5nZXRQZXJpb2RpY2l0eUxhYmVsKHBlcmlvZGljaXR5KTtcbiAgICBpZiAoZnJlcXVlbmN5KSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeVZhbHVlID0gdGhpcy5nZXRGcmVxdWVuY3lWYWx1ZShmcmVxdWVuY3ksIHBlcmlvZGljaXR5KTtcbiAgICB9XG4gICAgdGhpcy5leGVjdXRpb25WYWx1ZSA9IHRoaXMuZ2V0RXhlY3V0aW9uVmFsdWUoXG4gICAgICBwZXJpb2RpY2l0eSxcbiAgICAgIGhvdXIsXG4gICAgICBkYXlzT2ZXZWVrLFxuICAgICAgZGF5T2ZNb250aCxcbiAgICAgIHJhbmdlTGltaXRIb3VyLFxuICAgICAgcmFuZ2VMaW1pdERheVxuICAgICk7XG4gICAgdGhpcy5maXJzdEV4ZWN1dGlvblZhbHVlID0gdGhpcy5nZXRGaXJzdEV4ZWN1dGlvbkxhYmVsKGZpcnN0RXhlY3V0aW9uLCBmaXJzdEV4ZWN1dGlvbkhvdXIpO1xuICAgIHRoaXMucmVjdXJyZW50VmFsdWUgPSB0aGlzLmdldFJlY3VycmVudFZhbHVlKHJlY3VycmVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZyZXF1ZW5jeVZhbHVlKGZyZXF1ZW5jeSwgcGVyaW9kaWNpdHkpIHtcbiAgICByZXR1cm4gZnJlcXVlbmN5Wyd2YWx1ZSddICYmIGZyZXF1ZW5jeVsndHlwZSddICYmIHBlcmlvZGljaXR5ICE9PSAnc2luZ2xlJ1xuICAgICAgPyBgJHtmcmVxdWVuY3lbJ3ZhbHVlJ119IC0gJHtmcmVxdWVuY3lbJ3R5cGUnXX1gXG4gICAgICA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeGVjdXRpb25WYWx1ZShcbiAgICBwZXJpb2RpY2l0eTogc3RyaW5nLFxuICAgIGhvdXI/OiBzdHJpbmcsXG4gICAgZGF5c09mV2Vlaz86IEFycmF5PHN0cmluZz4sXG4gICAgZGF5T2ZNb250aD86IG51bWJlcixcbiAgICByYW5nZUxpbWl0SG91cj86IHN0cmluZyxcbiAgICByYW5nZUxpbWl0RGF5PzogbnVtYmVyXG4gICkge1xuICAgIHN3aXRjaCAocGVyaW9kaWNpdHkpIHtcbiAgICAgIGNhc2UgJ2RhaWx5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SG91ckxhYmVsKGhvdXIsIHJhbmdlTGltaXRIb3VyKTtcbiAgICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNb250aGx5TGFiZWxFeGVjdXRpb24oZGF5T2ZNb250aCwgaG91ciwgcmFuZ2VMaW1pdEhvdXIsIHJhbmdlTGltaXREYXkpO1xuICAgICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2Vla2x5TGFiZWxFeGVjdXRpb24oZGF5c09mV2VlaywgaG91ciwgcmFuZ2VMaW1pdEhvdXIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMubm90UmVwb3J0ZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaXJzdEV4ZWN1dGlvbkxhYmVsKGZpcnN0RXhlY3V0aW9uOiBEYXRlLCBmaXJzdEV4ZWN1dGlvbkhvdXI/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChmaXJzdEV4ZWN1dGlvbikge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpcnN0RXhlY3V0aW9uLCAnZGQvTU0veXl5eScsICctMDIwMCcpO1xuXG4gICAgICByZXR1cm4gYCR7ZGF0ZX0gJHt0aGlzLmdldEhvdXJMYWJlbChmaXJzdEV4ZWN1dGlvbkhvdXIpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm5vdFJlcG9ydGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SG91ckxhYmVsKGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/KSB7XG4gICAgcmV0dXJuIGAke3JhbmdlTGltaXRIb3VyID8gdGhpcy5saXRlcmFscy5mcm9tIDogdGhpcy5saXRlcmFscy5hdH0gJHtob3VyIHx8ICcwMDowMCd9ICR7XG4gICAgICByYW5nZUxpbWl0SG91ciA/IHRoaXMubGl0ZXJhbHMudG8gKyAnICcgKyByYW5nZUxpbWl0SG91ciA6ICcnXG4gICAgfWA7XG4gIH1cblxuICBwcml2YXRlIGdldE1vbnRobHlMYWJlbEV4ZWN1dGlvbihkYXlPZk1vbnRoOiBudW1iZXIsIGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcsIHJhbmdlTGltaXREYXk/OiBudW1iZXIpIHtcbiAgICBjb25zdCBob3VyTGFiZWwgPSB0aGlzLmdldEhvdXJMYWJlbChob3VyLCByYW5nZUxpbWl0SG91cik7XG5cbiAgICByZXR1cm4gYCR7cmFuZ2VMaW1pdERheSA/IHRoaXMubGl0ZXJhbHMuZnJvbSA6ICcnfSAke2RheU9mTW9udGh9ICR7cmFuZ2VMaW1pdERheSA/IHRoaXMubGl0ZXJhbHMudG8gOiAnJ30gJHtcbiAgICAgIHJhbmdlTGltaXREYXkgPyByYW5nZUxpbWl0RGF5IDogJydcbiAgICB9ICR7aG91ckxhYmVsfWA7XG4gIH1cblxuICBwcml2YXRlIGdldFBlcmlvZGljaXR5TGFiZWwocGVyaW9kaWNpdHkpIHtcbiAgICBzd2l0Y2ggKHBlcmlvZGljaXR5KSB7XG4gICAgICBjYXNlICdkYWlseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLmRhaWx5O1xuICAgICAgY2FzZSAnbW9udGhseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm1vbnRobHk7XG4gICAgICBjYXNlICd3ZWVrbHknOlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy53ZWVrbHk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5zaW5nbGU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWN1cnJlbnRWYWx1ZShyZWN1cnJlbnQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIHJldHVybiByZWN1cnJlbnQgPyB0aGlzLmxpdGVyYWxzLnllcyA6IHRoaXMubGl0ZXJhbHMubm87XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRlcldlZWtEYXlzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnc3VuZGF5JzogMCxcbiAgICAgICdtb25kYXknOiAxLFxuICAgICAgJ3R1ZXNkYXknOiAyLFxuICAgICAgJ3dlZG5lc2RheSc6IDMsXG4gICAgICAndGh1cnNkYXknOiA0LFxuICAgICAgJ2ZyaWRheSc6IDUsXG4gICAgICAnc2F0dXJkYXknOiA2XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlV2Vla0RheShkYXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF5cyA9IHtcbiAgICAgIFN1bmRheTogdGhpcy5saXRlcmFscy5zdW5kYXksXG4gICAgICBNb25kYXk6IHRoaXMubGl0ZXJhbHMubW9uZGF5LFxuICAgICAgVHVlc2RheTogdGhpcy5saXRlcmFscy50dWVzZGF5LFxuICAgICAgV2VkbmVzZGF5OiB0aGlzLmxpdGVyYWxzLndlZG5lc2RheSxcbiAgICAgIFRodXJzZGF5OiB0aGlzLmxpdGVyYWxzLnRodXJzZGF5LFxuICAgICAgRnJpZGF5OiB0aGlzLmxpdGVyYWxzLmZyaWRheSxcbiAgICAgIFNhdHVyZGF5OiB0aGlzLmxpdGVyYWxzLnNhdHVyZGF5XG4gICAgfTtcblxuICAgIHJldHVybiBkYXlzW2RheV0gfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFdlZWtEYXlzTGFiZWwoZGF5czogQXJyYXk8c3RyaW5nPiA9IFtdKTogc3RyaW5nIHtcbiAgICBjb25zdCB3ZWVrRGF5c1NvcnRlZCA9IHRoaXMuc29ydFdlZWtEYXlzKGRheXMpO1xuXG4gICAgcmV0dXJuIHdlZWtEYXlzU29ydGVkLm1hcChkYXkgPT4gdGhpcy5nZXRUcmFuc2xhdGVXZWVrRGF5KGRheSkpLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFdlZWtseUxhYmVsRXhlY3V0aW9uKGRheXNPZldlZWs6IEFycmF5PHN0cmluZz4sIGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcpIHtcbiAgICBpZiAoZGF5c09mV2VlayAmJiBBcnJheS5pc0FycmF5KGRheXNPZldlZWspKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5nZXRXZWVrRGF5c0xhYmVsKGRheXNPZldlZWspfSAke3RoaXMuZ2V0SG91ckxhYmVsKGhvdXIsIHJhbmdlTGltaXRIb3VyKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5ub3RSZXBvcnRlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRXZWVrRGF5cyhkYXlzOiBBcnJheTxzdHJpbmc+ID0gW10pIHtcbiAgICBjb25zdCBzb3J0ZXJXZWVrRGF5cyA9IHRoaXMuZ2V0U29ydGVyV2Vla0RheXMoKTtcblxuICAgIHJldHVybiBkYXlzLnNvcnQoKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBjdXJyRGF5ID0gYS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgbmV4dERheSA9IGIudG9Mb3dlckNhc2UoKTtcblxuICAgICAgcmV0dXJuIHNvcnRlcldlZWtEYXlzW2N1cnJEYXldID4gc29ydGVyV2Vla0RheXNbbmV4dERheV0gPyAxIDogLTE7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1tZC0xMlwiPlxuICA8cG8taW5mb1xuICAgICpuZ0lmPVwiIW5vUGFyYW1ldGVyc1wiXG4gICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMucHJvY2Vzc1wiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJ2YWx1ZS5wcm9jZXNzSURcIlxuICA+XG4gIDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5wZXJpb2RpY2l0eVwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cInBlcmlvZGljaXR5VmFsdWVcIj4gPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvXG4gICAgKm5nSWY9XCJmcmVxdWVuY3lWYWx1ZSAhPT0gJydcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmZyZXF1ZW5jeVwiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJmcmVxdWVuY3lWYWx1ZVwiXG4gID5cbiAgPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvXG4gICAgKm5nSWY9XCJ2YWx1ZS5wZXJpb2RpY2l0eSAhPT0gJ3NpbmdsZSdcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmV4ZWN1dGlvblwiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJleGVjdXRpb25WYWx1ZVwiXG4gID5cbiAgPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvIFtwLWxhYmVsXT1cImxpdGVyYWxzLnJlY3VycmVudFwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cInJlY3VycmVudFZhbHVlXCI+IDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5maXJzdEV4ZWN1dGlvblwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cImZpcnN0RXhlY3V0aW9uVmFsdWVcIj5cbiAgPC9wby1pbmZvPlxuPC9kaXY+XG48cG8td2lkZ2V0XG4gICpuZ0lmPVwicGFyYW1ldGVycyAmJiBwYXJhbWV0ZXJzLmxlbmd0aCAmJiAham9iU2NoZWR1bGVyU3VtbWFyeVRlbXBsYXRlXCJcbiAgY2xhc3M9XCJwby1wdC0xIHBvLXBiLTEgcG8tbWQtMTJcIlxuICBbcC10aXRsZV09XCJsaXRlcmFscy5wYXJhbWV0ZXJzXCJcbj5cbiAgPHBvLWR5bmFtaWMtdmlldyBbcC1maWVsZHNdPVwicGFyYW1ldGVyc1wiIFtwLXZhbHVlXT1cInZhbHVlLmV4ZWN1dGlvblBhcmFtZXRlclwiPiA8L3BvLWR5bmFtaWMtdmlldz5cbjwvcG8td2lkZ2V0PlxuPGRpdiAqbmdJZj1cImpvYlNjaGVkdWxlclN1bW1hcnlUZW1wbGF0ZVwiIGNsYXNzPVwicG8tcHQtMSBwby1wYi0xIHBvLW1kLTEyXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJqb2JTY2hlZHVsZXJTdW1tYXJ5VGVtcGxhdGU/LnRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19