@po-ui/ng-templates 6.13.0 → 14.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 (365) hide show
  1. package/README.md +18 -18
  2. package/esm2020/lib/components/components.module.mjs +84 -86
  3. package/esm2020/lib/components/index.mjs +12 -12
  4. package/esm2020/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-modal-content.enum.mjs +17 -17
  5. package/esm2020/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-type.enum.mjs +17 -17
  6. package/esm2020/lib/components/po-modal-password-recovery/index.mjs +8 -8
  7. package/esm2020/lib/components/po-modal-password-recovery/interfaces/po-modal-password-recovery.interface.mjs +2 -2
  8. package/esm2020/lib/components/po-modal-password-recovery/literals/i18n/po-modal-password-recovery-literals.mjs +119 -119
  9. package/esm2020/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.mjs +172 -172
  10. package/esm2020/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.mjs +30 -30
  11. package/esm2020/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.mjs +433 -433
  12. package/esm2020/lib/components/po-modal-password-recovery/po-modal-password-recovery.module.mjs +29 -29
  13. package/esm2020/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.mjs +17 -17
  14. package/esm2020/lib/components/po-page-background/index.mjs +3 -3
  15. package/esm2020/lib/components/po-page-background/po-page-background.component.mjs +179 -179
  16. package/esm2020/lib/components/po-page-background/po-page-background.module.mjs +27 -27
  17. package/esm2020/lib/components/po-page-blocked-user/enums/po-page-blocked-user-reason.enum.mjs +17 -17
  18. package/esm2020/lib/components/po-page-blocked-user/index.mjs +8 -8
  19. package/esm2020/lib/components/po-page-blocked-user/interfaces/po-page-blocked-user-reason-params.interface.mjs +2 -2
  20. package/esm2020/lib/components/po-page-blocked-user/literals/i18n/po-page-blocked-user-literals.mjs +78 -78
  21. package/esm2020/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.mjs +170 -170
  22. package/esm2020/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.mjs +97 -97
  23. package/esm2020/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.mjs +100 -100
  24. package/esm2020/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +104 -104
  25. package/esm2020/lib/components/po-page-blocked-user/po-page-blocked-user.module.mjs +29 -29
  26. package/esm2020/lib/components/po-page-change-password/index.mjs +7 -7
  27. package/esm2020/lib/components/po-page-change-password/interfaces/po-page-change-password-recovery.interface.mjs +2 -2
  28. package/esm2020/lib/components/po-page-change-password/interfaces/po-page-change-password-requirement.interface.mjs +2 -2
  29. package/esm2020/lib/components/po-page-change-password/interfaces/po-page-change-password.interface.mjs +2 -2
  30. package/esm2020/lib/components/po-page-change-password/literals/i18n/po-page-change-password-literals.mjs +79 -79
  31. package/esm2020/lib/components/po-page-change-password/po-page-change-password-base.component.mjs +186 -186
  32. package/esm2020/lib/components/po-page-change-password/po-page-change-password.component.mjs +388 -388
  33. package/esm2020/lib/components/po-page-change-password/po-page-change-password.module.mjs +30 -30
  34. package/esm2020/lib/components/po-page-change-password/po-page-change-password.service.mjs +17 -17
  35. package/esm2020/lib/components/po-page-dynamic-detail/index.mjs +10 -10
  36. package/esm2020/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-actions.interface.mjs +2 -2
  37. package/esm2020/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-back.interface.mjs +2 -2
  38. package/esm2020/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-edit.interface.mjs +2 -2
  39. package/esm2020/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-remove.interface.mjs +2 -2
  40. package/esm2020/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-field.interface.mjs +2 -2
  41. package/esm2020/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-metadata.interface.mjs +2 -2
  42. package/esm2020/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-options.interface.mjs +2 -2
  43. package/esm2020/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.mjs +43 -43
  44. package/esm2020/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.mjs +461 -461
  45. package/esm2020/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.module.mjs +51 -53
  46. package/esm2020/lib/components/po-page-dynamic-edit/index.mjs +10 -10
  47. package/esm2020/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-actions.interface.mjs +2 -2
  48. package/esm2020/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-cancel.interface.mjs +2 -2
  49. package/esm2020/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save-new.interface.mjs +2 -2
  50. package/esm2020/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save.interface.mjs +2 -2
  51. package/esm2020/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-field.interface.mjs +2 -2
  52. package/esm2020/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-metadata.interface.mjs +2 -2
  53. package/esm2020/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-options.interface.mjs +2 -2
  54. package/esm2020/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.mjs +43 -43
  55. package/esm2020/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.mjs +569 -569
  56. package/esm2020/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.module.mjs +57 -59
  57. package/esm2020/lib/components/po-page-dynamic-search/index.mjs +7 -7
  58. package/esm2020/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.mjs +134 -134
  59. package/esm2020/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-literals.interface.mjs +2 -2
  60. package/esm2020/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.mjs +74 -74
  61. package/esm2020/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.mjs +260 -260
  62. package/esm2020/lib/components/po-page-dynamic-search/po-page-dynamic-search-filters.interface.mjs +2 -2
  63. package/esm2020/lib/components/po-page-dynamic-search/po-page-dynamic-search-literals.interface.mjs +2 -2
  64. package/esm2020/lib/components/po-page-dynamic-search/po-page-dynamic-search-options.interface.mjs +2 -2
  65. package/esm2020/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.mjs +266 -266
  66. package/esm2020/lib/components/po-page-dynamic-search/po-page-dynamic-search.interface.mjs +2 -2
  67. package/esm2020/lib/components/po-page-dynamic-search/po-page-dynamic-search.module.mjs +52 -54
  68. package/esm2020/lib/components/po-page-dynamic-table/index.mjs +16 -16
  69. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-actions.interface.mjs +2 -2
  70. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-detail.interface.mjs +2 -2
  71. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-duplicate.interface.mjs +2 -2
  72. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-edit.interface.mjs +2 -2
  73. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-new.interface.mjs +2 -2
  74. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove-all.interface.mjs +2 -2
  75. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove.interface.mjs +2 -2
  76. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.mjs +2 -2
  77. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.mjs +2 -2
  78. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-field.interface.mjs +2 -2
  79. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-filters.interface.mjs +2 -2
  80. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-metadata.interface.mjs +2 -2
  81. package/esm2020/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-options.interface.mjs +2 -2
  82. package/esm2020/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.mjs +146 -104
  83. package/esm2020/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.mjs +58 -58
  84. package/esm2020/lib/components/po-page-dynamic-table/po-page-dynamic-table-literals.mjs +63 -63
  85. package/esm2020/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.mjs +938 -929
  86. package/esm2020/lib/components/po-page-dynamic-table/po-page-dynamic-table.module.mjs +50 -52
  87. package/esm2020/lib/components/po-page-job-scheduler/index.mjs +4 -4
  88. package/esm2020/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler-internal.interface.mjs +2 -2
  89. package/esm2020/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler.interface.mjs +2 -2
  90. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs +80 -80
  91. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.mjs +368 -368
  92. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler-internal.mjs +15 -15
  93. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler-literals.mjs +195 -195
  94. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler-lookup.service.mjs +21 -21
  95. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.mjs +80 -80
  96. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +194 -194
  97. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +260 -266
  98. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler.module.mjs +70 -72
  99. package/esm2020/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.mjs +206 -206
  100. package/esm2020/lib/components/po-page-login/enums/po-page-login-authentication-type.enum.mjs +15 -15
  101. package/esm2020/lib/components/po-page-login/index.mjs +8 -8
  102. package/esm2020/lib/components/po-page-login/interfaces/po-page-login-custom-field.interface.mjs +2 -2
  103. package/esm2020/lib/components/po-page-login/interfaces/po-page-login-literals.interface.mjs +2 -2
  104. package/esm2020/lib/components/po-page-login/interfaces/po-page-login-recovery.interface.mjs +2 -2
  105. package/esm2020/lib/components/po-page-login/interfaces/po-page-login.interface.mjs +2 -2
  106. package/esm2020/lib/components/po-page-login/po-page-login-base.component.mjs +954 -954
  107. package/esm2020/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.mjs +135 -135
  108. package/esm2020/lib/components/po-page-login/po-page-login.component.mjs +467 -467
  109. package/esm2020/lib/components/po-page-login/po-page-login.module.mjs +31 -31
  110. package/esm2020/lib/components/po-page-login/po-page-login.service.mjs +31 -31
  111. package/esm2020/lib/index.mjs +4 -4
  112. package/esm2020/lib/po-templates.module.mjs +18 -18
  113. package/esm2020/lib/services/index.mjs +4 -4
  114. package/esm2020/lib/services/po-page-customization/index.mjs +4 -4
  115. package/esm2020/lib/services/po-page-customization/po-page-customization.module.mjs +24 -24
  116. package/esm2020/lib/services/po-page-customization/po-page-customization.service.mjs +85 -85
  117. package/esm2020/lib/services/po-page-customization/po-page-dynamic-options.interface.mjs +2 -2
  118. package/esm2020/lib/services/po-page-dynamic/index.mjs +3 -3
  119. package/esm2020/lib/services/po-page-dynamic/po-page-dynamic-literals.interface.mjs +2 -2
  120. package/esm2020/lib/services/po-page-dynamic/po-page-dynamic.module.mjs +24 -24
  121. package/esm2020/lib/services/po-page-dynamic/po-page-dynamic.service.mjs +102 -102
  122. package/esm2020/lib/services/services.module.mjs +18 -18
  123. package/esm2020/lib/utils/util.mjs +379 -379
  124. package/esm2020/po-ui-ng-templates.mjs +4 -4
  125. package/esm2020/public-api.mjs +2 -2
  126. package/fesm2015/po-ui-ng-templates.mjs +9328 -9295
  127. package/fesm2015/po-ui-ng-templates.mjs.map +1 -1
  128. package/fesm2020/po-ui-ng-templates.mjs +8962 -8929
  129. package/fesm2020/po-ui-ng-templates.mjs.map +1 -1
  130. package/{po-ui-ng-templates.d.ts → index.d.ts} +5 -5
  131. package/lib/components/components.module.d.ts +16 -16
  132. package/lib/components/index.d.ts +11 -11
  133. package/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-modal-content.enum.d.ts +15 -15
  134. package/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-type.enum.d.ts +15 -15
  135. package/lib/components/po-modal-password-recovery/index.d.ts +7 -7
  136. package/lib/components/po-modal-password-recovery/interfaces/po-modal-password-recovery.interface.d.ts +25 -25
  137. package/lib/components/po-modal-password-recovery/literals/i18n/po-modal-password-recovery-literals.d.ts +6 -6
  138. package/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.d.ts +283 -283
  139. package/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.d.ts +14 -14
  140. package/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.d.ts +90 -90
  141. package/lib/components/po-modal-password-recovery/po-modal-password-recovery.module.d.ts +16 -16
  142. package/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.d.ts +13 -13
  143. package/lib/components/po-page-background/index.d.ts +2 -2
  144. package/lib/components/po-page-background/po-page-background.component.d.ts +54 -54
  145. package/lib/components/po-page-background/po-page-background.module.d.ts +16 -16
  146. package/lib/components/po-page-blocked-user/enums/po-page-blocked-user-reason.enum.d.ts +15 -15
  147. package/lib/components/po-page-blocked-user/index.d.ts +7 -7
  148. package/lib/components/po-page-blocked-user/interfaces/po-page-blocked-user-reason-params.interface.d.ts +15 -15
  149. package/lib/components/po-page-blocked-user/literals/i18n/po-page-blocked-user-literals.d.ts +72 -72
  150. package/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.d.ts +146 -146
  151. package/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.d.ts +19 -19
  152. package/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.d.ts +26 -26
  153. package/lib/components/po-page-blocked-user/po-page-blocked-user.component.d.ts +43 -43
  154. package/lib/components/po-page-blocked-user/po-page-blocked-user.module.d.ts +18 -18
  155. package/lib/components/po-page-change-password/index.d.ts +6 -6
  156. package/lib/components/po-page-change-password/interfaces/po-page-change-password-recovery.interface.d.ts +30 -30
  157. package/lib/components/po-page-change-password/interfaces/po-page-change-password-requirement.interface.d.ts +17 -17
  158. package/lib/components/po-page-change-password/interfaces/po-page-change-password.interface.d.ts +13 -13
  159. package/lib/components/po-page-change-password/literals/i18n/po-page-change-password-literals.d.ts +6 -6
  160. package/lib/components/po-page-change-password/po-page-change-password-base.component.d.ts +233 -233
  161. package/lib/components/po-page-change-password/po-page-change-password.component.d.ts +93 -93
  162. package/lib/components/po-page-change-password/po-page-change-password.module.d.ts +17 -17
  163. package/lib/components/po-page-change-password/po-page-change-password.service.d.ts +10 -10
  164. package/lib/components/po-page-dynamic-detail/index.d.ts +9 -9
  165. package/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-actions.interface.d.ts +95 -95
  166. package/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-back.interface.d.ts +18 -18
  167. package/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-edit.interface.d.ts +18 -18
  168. package/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-remove.interface.d.ts +18 -18
  169. package/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-field.interface.d.ts +16 -16
  170. package/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-metadata.interface.d.ts +31 -31
  171. package/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-options.interface.d.ts +36 -36
  172. package/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.d.ts +18 -18
  173. package/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.d.ts +257 -257
  174. package/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.module.d.ts +17 -17
  175. package/lib/components/po-page-dynamic-edit/index.d.ts +9 -9
  176. package/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-actions.interface.d.ts +123 -123
  177. package/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-cancel.interface.d.ts +18 -18
  178. package/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save-new.interface.d.ts +44 -44
  179. package/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save.interface.d.ts +43 -43
  180. package/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-field.interface.d.ts +12 -12
  181. package/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-metadata.interface.d.ts +25 -25
  182. package/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-options.interface.d.ts +28 -28
  183. package/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.d.ts +18 -18
  184. package/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.d.ts +329 -329
  185. package/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.module.d.ts +17 -17
  186. package/lib/components/po-page-dynamic-search/index.d.ts +6 -6
  187. package/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.d.ts +48 -48
  188. package/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-literals.interface.d.ts +15 -15
  189. package/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.d.ts +29 -29
  190. package/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.d.ts +184 -184
  191. package/lib/components/po-page-dynamic-search/po-page-dynamic-search-filters.interface.d.ts +14 -14
  192. package/lib/components/po-page-dynamic-search/po-page-dynamic-search-literals.interface.d.ts +21 -21
  193. package/lib/components/po-page-dynamic-search/po-page-dynamic-search-options.interface.d.ts +59 -59
  194. package/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.d.ts +62 -62
  195. package/lib/components/po-page-dynamic-search/po-page-dynamic-search.interface.d.ts +29 -29
  196. package/lib/components/po-page-dynamic-search/po-page-dynamic-search.module.d.ts +18 -18
  197. package/lib/components/po-page-dynamic-table/index.d.ts +15 -15
  198. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-actions.interface.d.ts +196 -196
  199. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-detail.interface.d.ts +21 -21
  200. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-duplicate.interface.d.ts +29 -29
  201. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-edit.interface.d.ts +22 -22
  202. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-new.interface.d.ts +18 -18
  203. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove-all.interface.d.ts +39 -39
  204. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove.interface.d.ts +18 -18
  205. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.d.ts +97 -97
  206. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.d.ts +106 -106
  207. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-field.interface.d.ts +49 -49
  208. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-filters.interface.d.ts +18 -18
  209. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-metadata.interface.d.ts +31 -31
  210. package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-options.interface.d.ts +91 -91
  211. package/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.d.ts +164 -130
  212. package/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.d.ts +26 -26
  213. package/lib/components/po-page-dynamic-table/po-page-dynamic-table-literals.d.ts +62 -62
  214. package/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.d.ts +386 -383
  215. package/lib/components/po-page-dynamic-table/po-page-dynamic-table.module.d.ts +19 -19
  216. package/lib/components/po-page-job-scheduler/index.d.ts +3 -3
  217. package/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler-internal.interface.d.ts +14 -14
  218. package/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler.interface.d.ts +48 -48
  219. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.d.ts +176 -176
  220. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.d.ts +52 -52
  221. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-internal.d.ts +9 -9
  222. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-literals.d.ts +194 -194
  223. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-lookup.service.d.ts +16 -16
  224. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.d.ts +14 -14
  225. package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.d.ts +36 -36
  226. package/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.d.ts +116 -116
  227. package/lib/components/po-page-job-scheduler/po-page-job-scheduler.module.d.ts +13 -13
  228. package/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.d.ts +32 -32
  229. package/lib/components/po-page-login/enums/po-page-login-authentication-type.enum.d.ts +13 -13
  230. package/lib/components/po-page-login/index.d.ts +7 -7
  231. package/lib/components/po-page-login/interfaces/po-page-login-custom-field.interface.d.ts +72 -72
  232. package/lib/components/po-page-login/interfaces/po-page-login-literals.interface.d.ts +59 -59
  233. package/lib/components/po-page-login/interfaces/po-page-login-recovery.interface.d.ts +30 -30
  234. package/lib/components/po-page-login/interfaces/po-page-login.interface.d.ts +15 -15
  235. package/lib/components/po-page-login/po-page-login-base.component.d.ts +663 -663
  236. package/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.d.ts +19 -19
  237. package/lib/components/po-page-login/po-page-login.component.d.ts +72 -72
  238. package/lib/components/po-page-login/po-page-login.module.d.ts +18 -18
  239. package/lib/components/po-page-login/po-page-login.service.d.ts +12 -12
  240. package/lib/index.d.ts +3 -3
  241. package/lib/po-templates.module.d.ts +8 -8
  242. package/lib/services/index.d.ts +3 -3
  243. package/lib/services/po-page-customization/index.d.ts +3 -3
  244. package/lib/services/po-page-customization/po-page-customization.module.d.ts +13 -13
  245. package/lib/services/po-page-customization/po-page-customization.service.d.ts +19 -19
  246. package/lib/services/po-page-customization/po-page-dynamic-options.interface.d.ts +8 -8
  247. package/lib/services/po-page-dynamic/index.d.ts +2 -2
  248. package/lib/services/po-page-dynamic/po-page-dynamic-literals.interface.d.ts +4 -4
  249. package/lib/services/po-page-dynamic/po-page-dynamic.module.d.ts +13 -13
  250. package/lib/services/po-page-dynamic/po-page-dynamic.service.d.ts +31 -31
  251. package/lib/services/services.module.d.ts +8 -8
  252. package/lib/utils/util.d.ts +170 -170
  253. package/package.json +15 -15
  254. package/po-ui-ng-templates-14.0.0-next.0.tgz +0 -0
  255. package/public-api.d.ts +1 -1
  256. package/schematics/README.md +14 -14
  257. package/schematics/collection.json +50 -50
  258. package/schematics/ng-add/index.d.ts +8 -8
  259. package/schematics/ng-add/index.js +60 -60
  260. package/schematics/ng-add/index.spec.d.ts +1 -1
  261. package/schematics/ng-add/index.spec.js +90 -90
  262. package/schematics/ng-add/index.spec.js.map +1 -1
  263. package/schematics/ng-add/schema.json +16 -7
  264. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  265. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  266. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +14 -14
  267. package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  268. package/schematics/ng-generate/po-page-blocked-user/index.d.ts +4 -4
  269. package/schematics/ng-generate/po-page-blocked-user/index.js +12 -12
  270. package/schematics/ng-generate/po-page-blocked-user/index.spec.d.ts +1 -1
  271. package/schematics/ng-generate/po-page-blocked-user/index.spec.js +120 -120
  272. package/schematics/ng-generate/po-page-blocked-user/index.spec.js.map +1 -1
  273. package/schematics/ng-generate/po-page-blocked-user/schema.d.ts +3 -3
  274. package/schematics/ng-generate/po-page-blocked-user/schema.js +2 -2
  275. package/schematics/ng-generate/po-page-blocked-user/schema.json +67 -67
  276. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  277. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  278. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +14 -14
  279. package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  280. package/schematics/ng-generate/po-page-change-password/index.d.ts +4 -4
  281. package/schematics/ng-generate/po-page-change-password/index.js +12 -12
  282. package/schematics/ng-generate/po-page-change-password/index.spec.d.ts +1 -1
  283. package/schematics/ng-generate/po-page-change-password/index.spec.js +120 -120
  284. package/schematics/ng-generate/po-page-change-password/index.spec.js.map +1 -1
  285. package/schematics/ng-generate/po-page-change-password/schema.d.ts +3 -3
  286. package/schematics/ng-generate/po-page-change-password/schema.js +2 -2
  287. package/schematics/ng-generate/po-page-change-password/schema.json +67 -67
  288. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  289. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +5 -5
  290. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  291. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +23 -23
  292. package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  293. package/schematics/ng-generate/po-page-dynamic-detail/index.d.ts +4 -4
  294. package/schematics/ng-generate/po-page-dynamic-detail/index.js +12 -12
  295. package/schematics/ng-generate/po-page-dynamic-detail/index.spec.d.ts +1 -1
  296. package/schematics/ng-generate/po-page-dynamic-detail/index.spec.js +120 -120
  297. package/schematics/ng-generate/po-page-dynamic-detail/index.spec.js.map +1 -1
  298. package/schematics/ng-generate/po-page-dynamic-detail/schema.d.ts +3 -3
  299. package/schematics/ng-generate/po-page-dynamic-detail/schema.js +2 -2
  300. package/schematics/ng-generate/po-page-dynamic-detail/schema.json +67 -67
  301. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  302. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +5 -5
  303. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  304. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +23 -23
  305. package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  306. package/schematics/ng-generate/po-page-dynamic-edit/index.d.ts +4 -4
  307. package/schematics/ng-generate/po-page-dynamic-edit/index.js +12 -12
  308. package/schematics/ng-generate/po-page-dynamic-edit/index.spec.d.ts +1 -1
  309. package/schematics/ng-generate/po-page-dynamic-edit/index.spec.js +120 -120
  310. package/schematics/ng-generate/po-page-dynamic-edit/index.spec.js.map +1 -1
  311. package/schematics/ng-generate/po-page-dynamic-edit/schema.d.ts +3 -3
  312. package/schematics/ng-generate/po-page-dynamic-edit/schema.js +2 -2
  313. package/schematics/ng-generate/po-page-dynamic-edit/schema.json +67 -67
  314. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  315. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +5 -5
  316. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  317. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +28 -28
  318. package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  319. package/schematics/ng-generate/po-page-dynamic-search/index.d.ts +4 -4
  320. package/schematics/ng-generate/po-page-dynamic-search/index.js +12 -12
  321. package/schematics/ng-generate/po-page-dynamic-search/index.spec.d.ts +1 -1
  322. package/schematics/ng-generate/po-page-dynamic-search/index.spec.js +120 -120
  323. package/schematics/ng-generate/po-page-dynamic-search/index.spec.js.map +1 -1
  324. package/schematics/ng-generate/po-page-dynamic-search/schema.d.ts +3 -3
  325. package/schematics/ng-generate/po-page-dynamic-search/schema.js +2 -2
  326. package/schematics/ng-generate/po-page-dynamic-search/schema.json +67 -67
  327. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  328. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +5 -5
  329. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  330. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +21 -21
  331. package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  332. package/schematics/ng-generate/po-page-dynamic-table/index.d.ts +4 -4
  333. package/schematics/ng-generate/po-page-dynamic-table/index.js +12 -12
  334. package/schematics/ng-generate/po-page-dynamic-table/index.spec.d.ts +1 -1
  335. package/schematics/ng-generate/po-page-dynamic-table/index.spec.js +120 -120
  336. package/schematics/ng-generate/po-page-dynamic-table/index.spec.js.map +1 -1
  337. package/schematics/ng-generate/po-page-dynamic-table/schema.d.ts +3 -3
  338. package/schematics/ng-generate/po-page-dynamic-table/schema.js +2 -2
  339. package/schematics/ng-generate/po-page-dynamic-table/schema.json +67 -67
  340. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  341. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +3 -3
  342. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  343. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +17 -17
  344. package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  345. package/schematics/ng-generate/po-page-job-scheduler/index.d.ts +4 -4
  346. package/schematics/ng-generate/po-page-job-scheduler/index.js +12 -12
  347. package/schematics/ng-generate/po-page-job-scheduler/index.spec.d.ts +1 -1
  348. package/schematics/ng-generate/po-page-job-scheduler/index.spec.js +120 -120
  349. package/schematics/ng-generate/po-page-job-scheduler/index.spec.js.map +1 -1
  350. package/schematics/ng-generate/po-page-job-scheduler/schema.d.ts +3 -3
  351. package/schematics/ng-generate/po-page-job-scheduler/schema.js +2 -2
  352. package/schematics/ng-generate/po-page-job-scheduler/schema.json +67 -67
  353. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
  354. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
  355. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +14 -14
  356. package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
  357. package/schematics/ng-generate/po-page-login/index.d.ts +4 -4
  358. package/schematics/ng-generate/po-page-login/index.js +12 -12
  359. package/schematics/ng-generate/po-page-login/index.spec.d.ts +1 -1
  360. package/schematics/ng-generate/po-page-login/index.spec.js +120 -120
  361. package/schematics/ng-generate/po-page-login/index.spec.js.map +1 -1
  362. package/schematics/ng-generate/po-page-login/schema.d.ts +3 -3
  363. package/schematics/ng-generate/po-page-login/schema.js +2 -2
  364. package/schematics/ng-generate/po-page-login/schema.json +67 -67
  365. package/po-ui-ng-templates-6.13.0.tgz +0 -0
@@ -1,266 +1,260 @@
1
- import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { PoStepperStatus, poLocaleDefault } from '@po-ui/ng-components';
3
- import { PoPageJobSchedulerInternal } from './po-page-job-scheduler-internal';
4
- import { PoPageJobSchedulerBaseComponent } from './po-page-job-scheduler-base.component';
5
- import { poPageJobSchedulerLiteralsDefault } from './po-page-job-scheduler-literals';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./po-page-job-scheduler-lookup.service";
8
- import * as i2 from "@angular/router";
9
- import * as i3 from "@po-ui/ng-components";
10
- import * as i4 from "./po-page-job-scheduler.service";
11
- import * as i5 from "@angular/forms";
12
- import * as i6 from "./po-page-job-scheduler-execution/po-page-job-scheduler-execution.component";
13
- import * as i7 from "@angular/common";
14
- import * as i8 from "./po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component";
15
- import * as i9 from "./po-page-job-scheduler-summary/po-page-job-scheduler-summary.component";
16
- const _c0 = ["schedulerExecution"];
17
- const _c1 = ["schedulerParameters"];
18
- const _c2 = function () { return []; };
19
- function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template(rf, ctx) { if (rf & 1) {
20
- const _r6 = i0.ɵɵgetCurrentView();
21
- i0.ɵɵelementStart(0, "po-page-job-scheduler-parameters", 9, 10);
22
- i0.ɵɵlistener("p-valueChange", function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template_po_page_job_scheduler_parameters_p_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.model.executionParameter = $event; });
23
- i0.ɵɵelementEnd();
24
- } if (rf & 2) {
25
- const ctx_r2 = i0.ɵɵnextContext();
26
- i0.ɵɵproperty("p-literals", ctx_r2.literals)("p-parameters", ctx_r2.parameters || i0.ɵɵpureFunction0(3, _c2))("p-value", ctx_r2.model.executionParameter);
27
- } }
28
- function PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelement(0, "po-page-job-scheduler-summary", 11);
30
- } if (rf & 2) {
31
- const ctx_r3 = i0.ɵɵnextContext();
32
- i0.ɵɵproperty("p-no-parameters", ctx_r3.parametersEmpty)("p-literals", ctx_r3.literals)("p-parameters", ctx_r3.parameters)("p-value", ctx_r3.publicValues);
33
- } }
34
- /**
35
- * @docsExtends PoPageJobSchedulerBaseComponent
36
- *
37
- * @example
38
- *
39
- * <example name="po-page-job-scheduler-background-process" title="PO Page Job Scheduler - Background Process">
40
- * <file name="sample-po-page-job-scheduler-background-process/sample-po-page-job-scheduler-background-process.component.html"> </file>
41
- * <file name="sample-po-page-job-scheduler-background-process/sample-po-page-job-scheduler-background-process.component.ts"> </file>
42
- * </example>
43
- *
44
- */
45
- export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent {
46
- constructor(poPageDynamicLookupService, activatedRoute, poDialogService, poNotification, poPageJobSchedulerService, languageService) {
47
- super(poPageJobSchedulerService);
48
- this.poPageDynamicLookupService = poPageDynamicLookupService;
49
- this.activatedRoute = activatedRoute;
50
- this.poDialogService = poDialogService;
51
- this.poNotification = poNotification;
52
- this.poPageJobSchedulerService = poPageJobSchedulerService;
53
- this.isEdit = false;
54
- this.literals = {
55
- ...poPageJobSchedulerLiteralsDefault[poLocaleDefault]
56
- };
57
- this.step = 1;
58
- this.parametersEmpty = true;
59
- this.steps = [];
60
- this.backPageAction = {
61
- label: this.literals.back,
62
- action: this.nextStepOperation.bind(this, 'back'),
63
- disabled: this.isDisabledBack.bind(this)
64
- };
65
- this.concludePageAction = {
66
- label: this.literals.conclude,
67
- action: this.confirmJobScheduler.bind(this)
68
- };
69
- this.nextPageAction = {
70
- label: this.literals.next,
71
- action: this.nextStepOperation.bind(this, 'next'),
72
- disabled: this.isDisabledAdvance.bind(this)
73
- };
74
- this.concludePageActions = [this.concludePageAction, this.backPageAction];
75
- this.nextPageActions = [this.nextPageAction, this.backPageAction];
76
- // eslint-disable-next-line @typescript-eslint/member-ordering
77
- this.jobSchedulerActions = [...this.nextPageActions];
78
- const language = languageService.getShortLanguage();
79
- this.literals = {
80
- ...this.literals,
81
- ...poPageJobSchedulerLiteralsDefault[language]
82
- };
83
- this.backPageAction.label = this.literals.back;
84
- this.concludePageAction.label = this.literals.conclude;
85
- this.nextPageAction.label = this.literals.next;
86
- this.steps = [
87
- { label: this.literals.scheduling },
88
- { label: this.literals.parameterization },
89
- { label: this.literals.conclude }
90
- ];
91
- }
92
- get stepperOrientation() {
93
- return window.innerWidth > 481 && window.innerWidth < 960 ? 'horizontal' : 'vertical';
94
- }
95
- ngOnInit() {
96
- const paramId = this.activatedRoute.snapshot.params['id'];
97
- this.isEdit = !!paramId;
98
- this.poPageJobSchedulerService.configServiceApi({ endpoint: this.serviceApi });
99
- if (this.parameters.length) {
100
- this.parametersEmpty = false;
101
- }
102
- this.loadData(paramId);
103
- }
104
- changePageActionsBySteps(currentStep, nextStep) {
105
- const stepsLength = this.steps.length;
106
- if (nextStep === stepsLength) {
107
- this.jobSchedulerActions = [...this.concludePageActions];
108
- }
109
- else if (currentStep === stepsLength && nextStep < currentStep) {
110
- this.jobSchedulerActions = [...this.nextPageActions];
111
- }
112
- }
113
- nextStep(stepNumber) {
114
- if (stepNumber > 1 && this.schedulerExecution.form.invalid) {
115
- this.markAsDirtyInvalidControls(this.schedulerExecution.form.controls);
116
- return;
117
- }
118
- if (stepNumber > 2 &&
119
- this.schedulerParameters &&
120
- this.schedulerParameters.form &&
121
- this.schedulerParameters.form.invalid) {
122
- this.markAsDirtyInvalidControls(this.schedulerParameters.form.controls);
123
- return;
124
- }
125
- this.setModelRecurrent();
126
- const model = JSON.parse(JSON.stringify(this.model));
127
- if (stepNumber === this.steps.length) {
128
- this.publicValues = this.hidesSecretValues(model);
129
- }
130
- this.changePageActionsBySteps(this.step, stepNumber);
131
- const steps = this.steps[this.step - 1];
132
- this.step = stepNumber;
133
- if (steps) {
134
- steps.status = PoStepperStatus.Done;
135
- }
136
- }
137
- onChangeProcess(process) {
138
- if (process.existAPI && process.processId && this.parametersEmpty) {
139
- this.getParametersByProcess(process.processId);
140
- if (!this.isEdit) {
141
- this.model.executionParameter = {};
142
- }
143
- }
144
- }
145
- confirmJobScheduler() {
146
- const paramId = this.activatedRoute.snapshot.params['id'];
147
- const confirmMessage = paramId ? this.literals.confirmUpdateMessage : this.literals.confirmSaveMessage;
148
- this.poDialogService.confirm({
149
- title: this.literals.confirmation,
150
- message: confirmMessage,
151
- confirm: () => {
152
- const model = { ...this.model };
153
- this.save(model, paramId);
154
- }
155
- });
156
- }
157
- async emitSuccessMessage(msgSuccess, saveOperation) {
158
- await saveOperation.toPromise();
159
- this.poNotification.success(msgSuccess);
160
- this.resetJobSchedulerForm();
161
- }
162
- getParametersByProcess(process) {
163
- this.poPageJobSchedulerService.getParametersByProcess(process).subscribe(parameters => {
164
- this.parameters = parameters;
165
- });
166
- }
167
- hidesSecretValues(model) {
168
- const hiddenSecretValue = '**********';
169
- this.parameters.forEach(parameter => {
170
- if (this.isSecretParameter(model, parameter)) {
171
- model.executionParameter[parameter.property] = hiddenSecretValue;
172
- }
173
- });
174
- return model;
175
- }
176
- isDisabledAdvance() {
177
- const componentByStep = {
178
- 1: this.schedulerExecution,
179
- 2: this.schedulerParameters
180
- };
181
- return componentByStep[this.step]?.form?.invalid || false;
182
- }
183
- isDisabledBack() {
184
- return this.step === 1;
185
- }
186
- isSecretParameter(model, parameter) {
187
- return (model.executionParameter &&
188
- parameter.hasOwnProperty('secret') &&
189
- parameter['secret'] === true &&
190
- model.executionParameter.hasOwnProperty(parameter.property));
191
- }
192
- nextStepOperation(operation) {
193
- const stepNumber = operation === 'back' ? this.step - 1 : this.step + 1;
194
- this.nextStep(stepNumber);
195
- }
196
- resetJobSchedulerForm() {
197
- this.schedulerExecution.form.reset();
198
- // radiogroup não estava atribuindo novo valor, fica vermelho sem o timetout.
199
- setTimeout(() => {
200
- this.model = new PoPageJobSchedulerInternal();
201
- this.step = 1;
202
- this.steps.forEach(step => {
203
- step.status = PoStepperStatus.Default;
204
- });
205
- this.jobSchedulerActions = [...this.nextPageActions];
206
- });
207
- }
208
- save(model, paramId) {
209
- const saveOperation = paramId
210
- ? this.poPageJobSchedulerService.updateResource(paramId, model)
211
- : this.poPageJobSchedulerService.createResource(model);
212
- const msgSuccess = paramId
213
- ? this.literals.saveNotificationSuccessUpdate
214
- : this.literals.saveNotificationSuccessSave;
215
- this.emitSuccessMessage(msgSuccess, saveOperation);
216
- }
217
- setModelRecurrent() {
218
- this.model.recurrent = this.model.periodicity === 'single' ? false : this.model.recurrent;
219
- }
220
- }
221
- PoPageJobSchedulerComponent.ɵfac = function PoPageJobSchedulerComponent_Factory(t) { return new (t || PoPageJobSchedulerComponent)(i0.ɵɵdirectiveInject(i1.PoPageJobSchedulerLookupService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.PoDialogService), i0.ɵɵdirectiveInject(i3.PoNotificationService), i0.ɵɵdirectiveInject(i4.PoPageJobSchedulerService), i0.ɵɵdirectiveInject(i3.PoLanguageService)); };
222
- PoPageJobSchedulerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerComponent, selectors: [["po-page-job-scheduler"]], viewQuery: function PoPageJobSchedulerComponent_Query(rf, ctx) { if (rf & 1) {
223
- i0.ɵɵviewQuery(_c0, 7);
224
- i0.ɵɵviewQuery(_c1, 5);
225
- } if (rf & 2) {
226
- let _t;
227
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerExecution = _t.first);
228
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerParameters = _t.first);
229
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 13, consts: [[3, "p-actions", "p-breadcrumb", "p-title"], [1, "po-row"], ["p-sequential", "true", 1, "po-lg-3", "po-xl-2", 3, "p-orientation", "p-step", "p-steps", "p-change-step"], [1, "po-lg-8", "po-xl-6"], ["formScheduler", "ngForm"], [1, "po-md-12", 3, "p-no-parameters", "hidden", "p-is-edit", "p-literals", "p-value", "p-change-process"], ["schedulerExecution", ""], ["class", "po-md-12", 3, "p-literals", "p-parameters", "p-value", "p-valueChange", 4, "ngIf"], ["class", "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value", 4, "ngIf"], [1, "po-md-12", 3, "p-literals", "p-parameters", "p-value", "p-valueChange"], ["schedulerParameters", ""], [1, "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value"]], template: function PoPageJobSchedulerComponent_Template(rf, ctx) { if (rf & 1) {
230
- i0.ɵɵelementStart(0, "po-page-default", 0)(1, "div", 1)(2, "po-stepper", 2);
231
- i0.ɵɵlistener("p-change-step", function PoPageJobSchedulerComponent_Template_po_stepper_p_change_step_2_listener($event) { return ctx.nextStep($event); });
232
- i0.ɵɵelementEnd();
233
- i0.ɵɵelementStart(3, "po-container", 3)(4, "form", null, 4)(6, "div", 1)(7, "po-page-job-scheduler-execution", 5, 6);
234
- i0.ɵɵlistener("p-change-process", function PoPageJobSchedulerComponent_Template_po_page_job_scheduler_execution_p_change_process_7_listener($event) { return ctx.onChangeProcess($event); });
235
- i0.ɵɵelementEnd();
236
- i0.ɵɵtemplate(9, PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template, 2, 4, "po-page-job-scheduler-parameters", 7);
237
- i0.ɵɵtemplate(10, PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template, 1, 4, "po-page-job-scheduler-summary", 8);
238
- i0.ɵɵelementEnd()()()()();
239
- } if (rf & 2) {
240
- i0.ɵɵproperty("p-actions", ctx.jobSchedulerActions)("p-breadcrumb", ctx.breadcrumb)("p-title", ctx.title);
241
- i0.ɵɵadvance(2);
242
- i0.ɵɵproperty("p-orientation", ctx.stepperOrientation)("p-step", ctx.step)("p-steps", ctx.steps);
243
- i0.ɵɵadvance(5);
244
- i0.ɵɵproperty("p-no-parameters", ctx.parametersEmpty)("hidden", ctx.step !== 1)("p-is-edit", ctx.isEdit)("p-literals", ctx.literals)("p-value", ctx.model);
245
- i0.ɵɵadvance(2);
246
- i0.ɵɵproperty("ngIf", ctx.step === 2);
247
- i0.ɵɵadvance(1);
248
- i0.ɵɵproperty("ngIf", ctx.step === 3);
249
- } }, directives: [i3.PoPageDefaultComponent, i3.PoStepperComponent, i3.PoContainerComponent, i5.ɵNgNoValidate, i5.NgControlStatusGroup, i5.NgForm, i6.PoPageJobSchedulerExecutionComponent, i7.NgIf, i8.PoPageJobSchedulerParametersComponent, i9.PoPageJobSchedulerSummaryComponent], styles: ["po-container .po-container{overflow-y:unset}\n"], encapsulation: 2 });
250
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerComponent, [{
251
- type: Component,
252
- args: [{ selector: 'po-page-job-scheduler', encapsulation: ViewEncapsulation.None, styles: [
253
- `
254
- po-container .po-container {
255
- overflow-y: unset;
256
- }
257
- `
258
- ], template: "<po-page-default [p-actions]=\"jobSchedulerActions\" [p-breadcrumb]=\"breadcrumb\" [p-title]=\"title\">\n <div class=\"po-row\">\n <po-stepper\n class=\"po-lg-3 po-xl-2\"\n p-sequential=\"true\"\n [p-orientation]=\"stepperOrientation\"\n [p-step]=\"step\"\n [p-steps]=\"steps\"\n (p-change-step)=\"nextStep($event)\"\n >\n </po-stepper>\n\n <po-container class=\"po-lg-8 po-xl-6\">\n <form #formScheduler=\"ngForm\">\n <div class=\"po-row\">\n <po-page-job-scheduler-execution\n [p-no-parameters]=\"parametersEmpty\"\n [hidden]=\"step !== 1\"\n #schedulerExecution\n class=\"po-md-12\"\n [p-is-edit]=\"isEdit\"\n [p-literals]=\"literals\"\n [p-value]=\"model\"\n (p-change-process)=\"onChangeProcess($event)\"\n >\n </po-page-job-scheduler-execution>\n\n <po-page-job-scheduler-parameters\n *ngIf=\"step === 2\"\n #schedulerParameters\n class=\"po-md-12\"\n [p-literals]=\"literals\"\n [p-parameters]=\"parameters || []\"\n [(p-value)]=\"model.executionParameter\"\n >\n </po-page-job-scheduler-parameters>\n\n <po-page-job-scheduler-summary\n [p-no-parameters]=\"parametersEmpty\"\n *ngIf=\"step === 3\"\n class=\"po-md-12\"\n [p-literals]=\"literals\"\n [p-parameters]=\"parameters\"\n [p-value]=\"publicValues\"\n >\n </po-page-job-scheduler-summary>\n </div>\n </form>\n </po-container>\n </div>\n</po-page-default>\n" }]
259
- }], function () { return [{ type: i1.PoPageJobSchedulerLookupService }, { type: i2.ActivatedRoute }, { type: i3.PoDialogService }, { type: i3.PoNotificationService }, { type: i4.PoPageJobSchedulerService }, { type: i3.PoLanguageService }]; }, { schedulerExecution: [{
260
- type: ViewChild,
261
- args: ['schedulerExecution', { static: true }]
262
- }], schedulerParameters: [{
263
- type: ViewChild,
264
- args: ['schedulerParameters']
265
- }] }); })();
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLaEYsT0FBTyxFQU9MLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNPM0UsK0RBT0M7SUFEQyxpU0FBc0M7SUFFeEMsaUJBQW1DOzs7SUFKakMsNENBQXVCLGlFQUFBLDRDQUFBOzs7SUFNekIsb0RBUWdDOzs7SUFQOUIsd0RBQW1DLCtCQUFBLG1DQUFBLGdDQUFBOztBRGQvQzs7Ozs7Ozs7OztHQVVHO0FBYUgsTUFBTSxPQUFPLDJCQUE0QixTQUFRLCtCQUErQjtJQXdDOUUsWUFDUywwQkFBMkQsRUFDMUQsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsY0FBcUMsRUFDbkMseUJBQW9ELEVBQzlELGVBQWtDO1FBRWxDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBUDFCLCtCQUEwQixH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QixJQUFDO1FBRXBDLGlCQUFhO1FBRWIsdUNBQXNDLG9CQUFBLGFBQUEsNENBQUE7UUFXOUIsNkpBQW9CLDJCQUF1QixJQUFDO1FBRTlDLGlCQUFrQztRQUVsQyxzSUFRbUM7UUFFbkMsa0lBUWdDO1FBQ2xDLGlCQUFNLEVBQUEsRUFBQSxFQUFBLEVBQUE7O1FBOUNHLG1EQUFpQyxnQ0FBQSxzQkFBQTtRQUs1QyxlQUFvQztRQUFwQyxzREFBb0Msb0JBQUEsc0JBQUE7UUFXOUIsZUFBbUM7UUFBbkMscURBQW1DLDBCQUFBLHlCQUFBLDRCQUFBLHNCQUFBO1FBWWxDLGVBQWdCO1FBQWhCLHFDQUFnQjtRQVdoQixlQUFnQjtRQUFoQixxQ0FBZ0I7O3VGRFFoQiwyQkFBMkI7Y0FadkMsU0FBUzsyQkFDRSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUksVUFDN0I7b0JBQ047Ozs7S0FJQztpQkFDRjt5UEFHa0Qsa0JBQWtCO2tCQUFwRSxTQUFTO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNmLG1CQUFtQjtrQkFBcEQsU0FBUzttQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgUG9EaWFsb2dTZXJ2aWNlLFxuICBQb0R5bmFtaWNGb3JtRmllbGQsXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICBQb05vdGlmaWNhdGlvblNlcnZpY2UsXG4gIFBvUGFnZUFjdGlvbixcbiAgUG9TdGVwcGVySXRlbSxcbiAgUG9TdGVwcGVyU3RhdHVzLFxuICBwb0xvY2FsZURlZmF1bHRcbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXItaW50ZXJuYWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItaW50ZXJuYWwnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IHBvUGFnZUpvYlNjaGVkdWxlckxpdGVyYWxzRGVmYXVsdCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWxpdGVyYWxzJztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckxvb2t1cFNlcnZpY2UgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1sb29rdXAuc2VydmljZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXIuc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzXCIgdGl0bGU9XCJQTyBQYWdlIEpvYiBTY2hlZHVsZXIgLSBCYWNrZ3JvdW5kIFByb2Nlc3NcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3Mvc2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3MuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy9zYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1qb2Itc2NoZWR1bGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHBvLWNvbnRhaW5lciAucG8tY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteTogdW5zZXQ7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlckNvbXBvbmVudCBleHRlbmRzIFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdzY2hlZHVsZXJFeGVjdXRpb24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBzY2hlZHVsZXJFeGVjdXRpb246IHsgZm9ybTogTmdGb3JtIH07XG4gIEBWaWV3Q2hpbGQoJ3NjaGVkdWxlclBhcmFtZXRlcnMnKSBzY2hlZHVsZXJQYXJhbWV0ZXJzOiB7IGZvcm06IE5nRm9ybSB9O1xuXG4gIGlzRWRpdCA9IGZhbHNlO1xuICBsaXRlcmFscyA9IHtcbiAgICAuLi5wb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHRbcG9Mb2NhbGVEZWZhdWx0XVxuICB9O1xuXG4gIHB1YmxpY1ZhbHVlczogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbDtcbiAgc2F2ZU9wZXJhdGlvbjogT2JzZXJ2YWJsZTxhbnk+O1xuICBzdGVwOiBudW1iZXIgPSAxO1xuICBwYXJhbWV0ZXJzRW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHJlYWRvbmx5IHN0ZXBzOiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gIHByaXZhdGUgYmFja1BhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5iYWNrLFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICdiYWNrJyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEJhY2suYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uOiBQb1BhZ2VBY3Rpb24gPSB7XG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuY29uY2x1ZGUsXG4gICAgYWN0aW9uOiB0aGlzLmNvbmZpcm1Kb2JTY2hlZHVsZXIuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgbmV4dFBhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5uZXh0LFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICduZXh0JyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEFkdmFuY2UuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFt0aGlzLmNvbmNsdWRlUGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgcHJpdmF0ZSBuZXh0UGFnZUFjdGlvbnM6IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbdGhpcy5uZXh0UGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgam9iU2NoZWR1bGVyQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBvUGFnZUR5bmFtaWNMb29rdXBTZXJ2aWNlOiBQb1BhZ2VKb2JTY2hlZHVsZXJMb29rdXBTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcG9EaWFsb2dTZXJ2aWNlOiBQb0RpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb05vdGlmaWNhdGlvbjogUG9Ob3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlOiBQb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlLFxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSk7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IGxhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XG5cbiAgICB0aGlzLmxpdGVyYWxzID0ge1xuICAgICAgLi4udGhpcy5saXRlcmFscyxcbiAgICAgIC4uLnBvUGFnZUpvYlNjaGVkdWxlckxpdGVyYWxzRGVmYXVsdFtsYW5ndWFnZV1cbiAgICB9O1xuXG4gICAgdGhpcy5iYWNrUGFnZUFjdGlvbi5sYWJlbCA9IHRoaXMubGl0ZXJhbHMuYmFjaztcbiAgICB0aGlzLmNvbmNsdWRlUGFnZUFjdGlvbi5sYWJlbCA9IHRoaXMubGl0ZXJhbHMuY29uY2x1ZGU7XG4gICAgdGhpcy5uZXh0UGFnZUFjdGlvbi5sYWJlbCA9IHRoaXMubGl0ZXJhbHMubmV4dDtcblxuICAgIHRoaXMuc3RlcHMgPSBbXG4gICAgICB7IGxhYmVsOiB0aGlzLmxpdGVyYWxzLnNjaGVkdWxpbmcgfSxcbiAgICAgIHsgbGFiZWw6IHRoaXMubGl0ZXJhbHMucGFyYW1ldGVyaXphdGlvbiB9LFxuICAgICAgeyBsYWJlbDogdGhpcy5saXRlcmFscy5jb25jbHVkZSB9XG4gICAgXTtcbiAgfVxuXG4gIGdldCBzdGVwcGVyT3JpZW50YXRpb24oKTogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyB7XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoID4gNDgxICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgOTYwID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHBhcmFtSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcblxuICAgIHRoaXMuaXNFZGl0ID0gISFwYXJhbUlkO1xuXG4gICAgdGhpcy5wb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlLmNvbmZpZ1NlcnZpY2VBcGkoeyBlbmRwb2ludDogdGhpcy5zZXJ2aWNlQXBpIH0pO1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucGFyYW1ldGVyc0VtcHR5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkRGF0YShwYXJhbUlkKTtcbiAgfVxuXG4gIGNoYW5nZVBhZ2VBY3Rpb25zQnlTdGVwcyhjdXJyZW50U3RlcDogbnVtYmVyLCBuZXh0U3RlcDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3RlcHNMZW5ndGggPSB0aGlzLnN0ZXBzLmxlbmd0aDtcblxuICAgIGlmIChuZXh0U3RlcCA9PT0gc3RlcHNMZW5ndGgpIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLmNvbmNsdWRlUGFnZUFjdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFN0ZXAgPT09IHN0ZXBzTGVuZ3RoICYmIG5leHRTdGVwIDwgY3VycmVudFN0ZXApIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfVxuICB9XG5cbiAgbmV4dFN0ZXAoc3RlcE51bWJlcjogbnVtYmVyKSB7XG4gICAgaWYgKHN0ZXBOdW1iZXIgPiAxICYmIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eUludmFsaWRDb250cm9scyh0aGlzLnNjaGVkdWxlckV4ZWN1dGlvbi5mb3JtLmNvbnRyb2xzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdGVwTnVtYmVyID4gMiAmJlxuICAgICAgdGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzICYmXG4gICAgICB0aGlzLnNjaGVkdWxlclBhcmFtZXRlcnMuZm9ybSAmJlxuICAgICAgdGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0uaW52YWxpZFxuICAgICkge1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eUludmFsaWRDb250cm9scyh0aGlzLnNjaGVkdWxlclBhcmFtZXRlcnMuZm9ybS5jb250cm9scyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2V0TW9kZWxSZWN1cnJlbnQoKTtcblxuICAgIGNvbnN0IG1vZGVsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm1vZGVsKSk7XG5cbiAgICBpZiAoc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucHVibGljVmFsdWVzID0gdGhpcy5oaWRlc1NlY3JldFZhbHVlcyhtb2RlbCk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VQYWdlQWN0aW9uc0J5U3RlcHModGhpcy5zdGVwLCBzdGVwTnVtYmVyKTtcblxuICAgIGNvbnN0IHN0ZXBzID0gdGhpcy5zdGVwc1t0aGlzLnN0ZXAgLSAxXTtcbiAgICB0aGlzLnN0ZXAgPSBzdGVwTnVtYmVyO1xuXG4gICAgaWYgKHN0ZXBzKSB7XG4gICAgICBzdGVwcy5zdGF0dXMgPSBQb1N0ZXBwZXJTdGF0dXMuRG9uZTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZVByb2Nlc3MocHJvY2VzczogeyBwcm9jZXNzSWQ6IHN0cmluZzsgZXhpc3RBUEk6IGJvb2xlYW4gfSkge1xuICAgIGlmIChwcm9jZXNzLmV4aXN0QVBJICYmIHByb2Nlc3MucHJvY2Vzc0lkICYmIHRoaXMucGFyYW1ldGVyc0VtcHR5KSB7XG4gICAgICB0aGlzLmdldFBhcmFtZXRlcnNCeVByb2Nlc3MocHJvY2Vzcy5wcm9jZXNzSWQpO1xuICAgICAgaWYgKCF0aGlzLmlzRWRpdCkge1xuICAgICAgICB0aGlzLm1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlciA9IHt9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29uZmlybUpvYlNjaGVkdWxlcigpIHtcbiAgICBjb25zdCBwYXJhbUlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXNbJ2lkJ107XG5cbiAgICBjb25zdCBjb25maXJtTWVzc2FnZSA9IHBhcmFtSWQgPyB0aGlzLmxpdGVyYWxzLmNvbmZpcm1VcGRhdGVNZXNzYWdlIDogdGhpcy5saXRlcmFscy5jb25maXJtU2F2ZU1lc3NhZ2U7XG5cbiAgICB0aGlzLnBvRGlhbG9nU2VydmljZS5jb25maXJtKHtcbiAgICAgIHRpdGxlOiB0aGlzLmxpdGVyYWxzLmNvbmZpcm1hdGlvbixcbiAgICAgIG1lc3NhZ2U6IGNvbmZpcm1NZXNzYWdlLFxuICAgICAgY29uZmlybTogKCkgPT4ge1xuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4udGhpcy5tb2RlbCB9O1xuXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlbCwgcGFyYW1JZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGVtaXRTdWNjZXNzTWVzc2FnZShtc2dTdWNjZXNzOiBhbnksIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55Pikge1xuICAgIGF3YWl0IHNhdmVPcGVyYXRpb24udG9Qcm9taXNlKCk7XG4gICAgdGhpcy5wb05vdGlmaWNhdGlvbi5zdWNjZXNzKG1zZ1N1Y2Nlc3MpO1xuICAgIHRoaXMucmVzZXRKb2JTY2hlZHVsZXJGb3JtKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmFtZXRlcnNCeVByb2Nlc3MocHJvY2VzczogYW55KSB7XG4gICAgdGhpcy5wb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlLmdldFBhcmFtZXRlcnNCeVByb2Nlc3MocHJvY2Vzcykuc3Vic2NyaWJlKHBhcmFtZXRlcnMgPT4ge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZXNTZWNyZXRWYWx1ZXMobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwpOiBQb0pvYlNjaGVkdWxlckludGVybmFsIHtcbiAgICBjb25zdCBoaWRkZW5TZWNyZXRWYWx1ZSA9ICcqKioqKioqKioqJztcbiAgICB0aGlzLnBhcmFtZXRlcnMuZm9yRWFjaChwYXJhbWV0ZXIgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNTZWNyZXRQYXJhbWV0ZXIobW9kZWwsIHBhcmFtZXRlcikpIHtcbiAgICAgICAgbW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyW3BhcmFtZXRlci5wcm9wZXJ0eV0gPSBoaWRkZW5TZWNyZXRWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGlzRGlzYWJsZWRBZHZhbmNlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbXBvbmVudEJ5U3RlcCA9IHtcbiAgICAgIDE6IHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLFxuICAgICAgMjogdGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzXG4gICAgfTtcblxuICAgIHJldHVybiBjb21wb25lbnRCeVN0ZXBbdGhpcy5zdGVwXT8uZm9ybT8uaW52YWxpZCB8fCBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNEaXNhYmxlZEJhY2soKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcCA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZWNyZXRQYXJhbWV0ZXIobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwsIHBhcmFtZXRlcjogUG9EeW5hbWljRm9ybUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIG1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlciAmJlxuICAgICAgcGFyYW1ldGVyLmhhc093blByb3BlcnR5KCdzZWNyZXQnKSAmJlxuICAgICAgcGFyYW1ldGVyWydzZWNyZXQnXSA9PT0gdHJ1ZSAmJlxuICAgICAgbW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyLmhhc093blByb3BlcnR5KHBhcmFtZXRlci5wcm9wZXJ0eSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBuZXh0U3RlcE9wZXJhdGlvbihvcGVyYXRpb24/OiAnYmFjaycgfCAnbmV4dCcpIHtcbiAgICBjb25zdCBzdGVwTnVtYmVyID0gb3BlcmF0aW9uID09PSAnYmFjaycgPyB0aGlzLnN0ZXAgLSAxIDogdGhpcy5zdGVwICsgMTtcblxuICAgIHRoaXMubmV4dFN0ZXAoc3RlcE51bWJlcik7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Sm9iU2NoZWR1bGVyRm9ybSgpIHtcbiAgICB0aGlzLnNjaGVkdWxlckV4ZWN1dGlvbi5mb3JtLnJlc2V0KCk7XG5cbiAgICAvLyByYWRpb2dyb3VwIG7Do28gZXN0YXZhIGF0cmlidWluZG8gbm92byB2YWxvciwgZmljYSB2ZXJtZWxobyBzZW0gbyB0aW1ldG91dC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubW9kZWwgPSBuZXcgUG9QYWdlSm9iU2NoZWR1bGVySW50ZXJuYWwoKTtcblxuICAgICAgdGhpcy5zdGVwID0gMTtcbiAgICAgIHRoaXMuc3RlcHMuZm9yRWFjaChzdGVwID0+IHtcbiAgICAgICAgc3RlcC5zdGF0dXMgPSBQb1N0ZXBwZXJTdGF0dXMuRGVmYXVsdDtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmpvYlNjaGVkdWxlckFjdGlvbnMgPSBbLi4udGhpcy5uZXh0UGFnZUFjdGlvbnNdO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlKG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsLCBwYXJhbUlkKSB7XG4gICAgY29uc3Qgc2F2ZU9wZXJhdGlvbiA9IHBhcmFtSWRcbiAgICAgID8gdGhpcy5wb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlLnVwZGF0ZVJlc291cmNlKHBhcmFtSWQsIG1vZGVsKVxuICAgICAgOiB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuY3JlYXRlUmVzb3VyY2UobW9kZWwpO1xuXG4gICAgY29uc3QgbXNnU3VjY2VzcyA9IHBhcmFtSWRcbiAgICAgID8gdGhpcy5saXRlcmFscy5zYXZlTm90aWZpY2F0aW9uU3VjY2Vzc1VwZGF0ZVxuICAgICAgOiB0aGlzLmxpdGVyYWxzLnNhdmVOb3RpZmljYXRpb25TdWNjZXNzU2F2ZTtcblxuICAgIHRoaXMuZW1pdFN1Y2Nlc3NNZXNzYWdlKG1zZ1N1Y2Nlc3MsIHNhdmVPcGVyYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRNb2RlbFJlY3VycmVudCgpIHtcbiAgICB0aGlzLm1vZGVsLnJlY3VycmVudCA9IHRoaXMubW9kZWwucGVyaW9kaWNpdHkgPT09ICdzaW5nbGUnID8gZmFsc2UgOiB0aGlzLm1vZGVsLnJlY3VycmVudDtcbiAgfVxufVxuIiwiPHBvLXBhZ2UtZGVmYXVsdCBbcC1hY3Rpb25zXT1cImpvYlNjaGVkdWxlckFjdGlvbnNcIiBbcC1icmVhZGNydW1iXT1cImJyZWFkY3J1bWJcIiBbcC10aXRsZV09XCJ0aXRsZVwiPlxuICA8ZGl2IGNsYXNzPVwicG8tcm93XCI+XG4gICAgPHBvLXN0ZXBwZXJcbiAgICAgIGNsYXNzPVwicG8tbGctMyBwby14bC0yXCJcbiAgICAgIHAtc2VxdWVudGlhbD1cInRydWVcIlxuICAgICAgW3Atb3JpZW50YXRpb25dPVwic3RlcHBlck9yaWVudGF0aW9uXCJcbiAgICAgIFtwLXN0ZXBdPVwic3RlcFwiXG4gICAgICBbcC1zdGVwc109XCJzdGVwc1wiXG4gICAgICAocC1jaGFuZ2Utc3RlcCk9XCJuZXh0U3RlcCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1zdGVwcGVyPlxuXG4gICAgPHBvLWNvbnRhaW5lciBjbGFzcz1cInBvLWxnLTggcG8teGwtNlwiPlxuICAgICAgPGZvcm0gI2Zvcm1TY2hlZHVsZXI9XCJuZ0Zvcm1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvd1wiPlxuICAgICAgICAgIDxwby1wYWdlLWpvYi1zY2hlZHVsZXItZXhlY3V0aW9uXG4gICAgICAgICAgICBbcC1uby1wYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNFbXB0eVwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cInN0ZXAgIT09IDFcIlxuICAgICAgICAgICAgI3NjaGVkdWxlckV4ZWN1dGlvblxuICAgICAgICAgICAgY2xhc3M9XCJwby1tZC0xMlwiXG4gICAgICAgICAgICBbcC1pcy1lZGl0XT1cImlzRWRpdFwiXG4gICAgICAgICAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiXG4gICAgICAgICAgICBbcC12YWx1ZV09XCJtb2RlbFwiXG4gICAgICAgICAgICAocC1jaGFuZ2UtcHJvY2Vzcyk9XCJvbkNoYW5nZVByb2Nlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWV4ZWN1dGlvbj5cblxuICAgICAgICAgIDxwby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVyc1xuICAgICAgICAgICAgKm5nSWY9XCJzdGVwID09PSAyXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJQYXJhbWV0ZXJzXG4gICAgICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgICAgIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVycyB8fCBbXVwiXG4gICAgICAgICAgICBbKHAtdmFsdWUpXT1cIm1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnM+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnlcbiAgICAgICAgICAgIFtwLW5vLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVyc0VtcHR5XCJcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcCA9PT0gM1wiXG4gICAgICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgICAgIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVyc1wiXG4gICAgICAgICAgICBbcC12YWx1ZV09XCJwdWJsaWNWYWx1ZXNcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlci1zdW1tYXJ5PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgICA8L3BvLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L3BvLXBhZ2UtZGVmYXVsdD5cbiJdfQ==
1
+ import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { PoStepperStatus, poLocaleDefault } from '@po-ui/ng-components';
3
+ import { PoPageJobSchedulerInternal } from './po-page-job-scheduler-internal';
4
+ import { PoPageJobSchedulerBaseComponent } from './po-page-job-scheduler-base.component';
5
+ import { poPageJobSchedulerLiteralsDefault } from './po-page-job-scheduler-literals';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./po-page-job-scheduler-lookup.service";
8
+ import * as i2 from "@angular/router";
9
+ import * as i3 from "@po-ui/ng-components";
10
+ import * as i4 from "./po-page-job-scheduler.service";
11
+ import * as i5 from "@angular/common";
12
+ import * as i6 from "@angular/forms";
13
+ import * as i7 from "./po-page-job-scheduler-execution/po-page-job-scheduler-execution.component";
14
+ import * as i8 from "./po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component";
15
+ import * as i9 from "./po-page-job-scheduler-summary/po-page-job-scheduler-summary.component";
16
+ const _c0 = ["schedulerExecution"];
17
+ const _c1 = ["schedulerParameters"];
18
+ const _c2 = function () { return []; };
19
+ function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template(rf, ctx) { if (rf & 1) {
20
+ const _r6 = i0.ɵɵgetCurrentView();
21
+ i0.ɵɵelementStart(0, "po-page-job-scheduler-parameters", 9, 10);
22
+ i0.ɵɵlistener("p-valueChange", function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template_po_page_job_scheduler_parameters_p_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.model.executionParameter = $event); });
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ const ctx_r2 = i0.ɵɵnextContext();
26
+ i0.ɵɵproperty("p-literals", ctx_r2.literals)("p-parameters", ctx_r2.parameters || i0.ɵɵpureFunction0(3, _c2))("p-value", ctx_r2.model.executionParameter);
27
+ } }
28
+ function PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelement(0, "po-page-job-scheduler-summary", 11);
30
+ } if (rf & 2) {
31
+ const ctx_r3 = i0.ɵɵnextContext();
32
+ i0.ɵɵproperty("p-no-parameters", ctx_r3.parametersEmpty)("p-literals", ctx_r3.literals)("p-parameters", ctx_r3.parameters)("p-value", ctx_r3.publicValues);
33
+ } }
34
+ /**
35
+ * @docsExtends PoPageJobSchedulerBaseComponent
36
+ *
37
+ * @example
38
+ *
39
+ * <example name="po-page-job-scheduler-background-process" title="PO Page Job Scheduler - Background Process">
40
+ * <file name="sample-po-page-job-scheduler-background-process/sample-po-page-job-scheduler-background-process.component.html"> </file>
41
+ * <file name="sample-po-page-job-scheduler-background-process/sample-po-page-job-scheduler-background-process.component.ts"> </file>
42
+ * </example>
43
+ *
44
+ */
45
+ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent {
46
+ constructor(poPageDynamicLookupService, activatedRoute, poDialogService, poNotification, poPageJobSchedulerService, languageService) {
47
+ super(poPageJobSchedulerService);
48
+ this.poPageDynamicLookupService = poPageDynamicLookupService;
49
+ this.activatedRoute = activatedRoute;
50
+ this.poDialogService = poDialogService;
51
+ this.poNotification = poNotification;
52
+ this.poPageJobSchedulerService = poPageJobSchedulerService;
53
+ this.isEdit = false;
54
+ this.literals = {
55
+ ...poPageJobSchedulerLiteralsDefault[poLocaleDefault]
56
+ };
57
+ this.step = 1;
58
+ this.parametersEmpty = true;
59
+ this.steps = [];
60
+ this.backPageAction = {
61
+ label: this.literals.back,
62
+ action: this.nextStepOperation.bind(this, 'back'),
63
+ disabled: this.isDisabledBack.bind(this)
64
+ };
65
+ this.concludePageAction = {
66
+ label: this.literals.conclude,
67
+ action: this.confirmJobScheduler.bind(this)
68
+ };
69
+ this.nextPageAction = {
70
+ label: this.literals.next,
71
+ action: this.nextStepOperation.bind(this, 'next'),
72
+ disabled: this.isDisabledAdvance.bind(this)
73
+ };
74
+ this.concludePageActions = [this.concludePageAction, this.backPageAction];
75
+ this.nextPageActions = [this.nextPageAction, this.backPageAction];
76
+ // eslint-disable-next-line @typescript-eslint/member-ordering
77
+ this.jobSchedulerActions = [...this.nextPageActions];
78
+ const language = languageService.getShortLanguage();
79
+ this.literals = {
80
+ ...this.literals,
81
+ ...poPageJobSchedulerLiteralsDefault[language]
82
+ };
83
+ this.backPageAction.label = this.literals.back;
84
+ this.concludePageAction.label = this.literals.conclude;
85
+ this.nextPageAction.label = this.literals.next;
86
+ this.steps = [
87
+ { label: this.literals.scheduling },
88
+ { label: this.literals.parameterization },
89
+ { label: this.literals.conclude }
90
+ ];
91
+ }
92
+ get stepperOrientation() {
93
+ return window.innerWidth > 481 && window.innerWidth < 960 ? 'horizontal' : 'vertical';
94
+ }
95
+ ngOnInit() {
96
+ const paramId = this.activatedRoute.snapshot.params['id'];
97
+ this.isEdit = !!paramId;
98
+ this.poPageJobSchedulerService.configServiceApi({ endpoint: this.serviceApi });
99
+ if (this.parameters.length) {
100
+ this.parametersEmpty = false;
101
+ }
102
+ this.loadData(paramId);
103
+ }
104
+ changePageActionsBySteps(currentStep, nextStep) {
105
+ const stepsLength = this.steps.length;
106
+ if (nextStep === stepsLength) {
107
+ this.jobSchedulerActions = [...this.concludePageActions];
108
+ }
109
+ else if (currentStep === stepsLength && nextStep < currentStep) {
110
+ this.jobSchedulerActions = [...this.nextPageActions];
111
+ }
112
+ }
113
+ nextStep(stepNumber) {
114
+ if (stepNumber > 1 && this.schedulerExecution.form.invalid) {
115
+ this.markAsDirtyInvalidControls(this.schedulerExecution.form.controls);
116
+ return;
117
+ }
118
+ if (stepNumber > 2 &&
119
+ this.schedulerParameters &&
120
+ this.schedulerParameters.form &&
121
+ this.schedulerParameters.form.invalid) {
122
+ this.markAsDirtyInvalidControls(this.schedulerParameters.form.controls);
123
+ return;
124
+ }
125
+ this.setModelRecurrent();
126
+ const model = JSON.parse(JSON.stringify(this.model));
127
+ if (stepNumber === this.steps.length) {
128
+ this.publicValues = this.hidesSecretValues(model);
129
+ }
130
+ this.changePageActionsBySteps(this.step, stepNumber);
131
+ const steps = this.steps[this.step - 1];
132
+ this.step = stepNumber;
133
+ if (steps) {
134
+ steps.status = PoStepperStatus.Done;
135
+ }
136
+ }
137
+ onChangeProcess(process) {
138
+ if (process.existAPI && process.processId && this.parametersEmpty) {
139
+ this.getParametersByProcess(process.processId);
140
+ if (!this.isEdit) {
141
+ this.model.executionParameter = {};
142
+ }
143
+ }
144
+ }
145
+ confirmJobScheduler() {
146
+ const paramId = this.activatedRoute.snapshot.params['id'];
147
+ const confirmMessage = paramId ? this.literals.confirmUpdateMessage : this.literals.confirmSaveMessage;
148
+ this.poDialogService.confirm({
149
+ title: this.literals.confirmation,
150
+ message: confirmMessage,
151
+ confirm: () => {
152
+ const model = { ...this.model };
153
+ this.save(model, paramId);
154
+ }
155
+ });
156
+ }
157
+ async emitSuccessMessage(msgSuccess, saveOperation) {
158
+ await saveOperation.toPromise();
159
+ this.poNotification.success(msgSuccess);
160
+ this.resetJobSchedulerForm();
161
+ }
162
+ getParametersByProcess(process) {
163
+ this.poPageJobSchedulerService.getParametersByProcess(process).subscribe(parameters => {
164
+ this.parameters = parameters;
165
+ });
166
+ }
167
+ hidesSecretValues(model) {
168
+ const hiddenSecretValue = '**********';
169
+ this.parameters.forEach(parameter => {
170
+ if (this.isSecretParameter(model, parameter)) {
171
+ model.executionParameter[parameter.property] = hiddenSecretValue;
172
+ }
173
+ });
174
+ return model;
175
+ }
176
+ isDisabledAdvance() {
177
+ const componentByStep = {
178
+ 1: this.schedulerExecution,
179
+ 2: this.schedulerParameters
180
+ };
181
+ return componentByStep[this.step]?.form?.invalid || false;
182
+ }
183
+ isDisabledBack() {
184
+ return this.step === 1;
185
+ }
186
+ isSecretParameter(model, parameter) {
187
+ return (model.executionParameter &&
188
+ parameter.hasOwnProperty('secret') &&
189
+ parameter['secret'] === true &&
190
+ model.executionParameter.hasOwnProperty(parameter.property));
191
+ }
192
+ nextStepOperation(operation) {
193
+ const stepNumber = operation === 'back' ? this.step - 1 : this.step + 1;
194
+ this.nextStep(stepNumber);
195
+ }
196
+ resetJobSchedulerForm() {
197
+ this.schedulerExecution.form.reset();
198
+ // radiogroup não estava atribuindo novo valor, fica vermelho sem o timetout.
199
+ setTimeout(() => {
200
+ this.model = new PoPageJobSchedulerInternal();
201
+ this.step = 1;
202
+ this.steps.forEach(step => {
203
+ step.status = PoStepperStatus.Default;
204
+ });
205
+ this.jobSchedulerActions = [...this.nextPageActions];
206
+ });
207
+ }
208
+ save(model, paramId) {
209
+ const saveOperation = paramId
210
+ ? this.poPageJobSchedulerService.updateResource(paramId, model)
211
+ : this.poPageJobSchedulerService.createResource(model);
212
+ const msgSuccess = paramId
213
+ ? this.literals.saveNotificationSuccessUpdate
214
+ : this.literals.saveNotificationSuccessSave;
215
+ this.emitSuccessMessage(msgSuccess, saveOperation);
216
+ }
217
+ setModelRecurrent() {
218
+ this.model.recurrent = this.model.periodicity === 'single' ? false : this.model.recurrent;
219
+ }
220
+ }
221
+ PoPageJobSchedulerComponent.ɵfac = function PoPageJobSchedulerComponent_Factory(t) { return new (t || PoPageJobSchedulerComponent)(i0.ɵɵdirectiveInject(i1.PoPageJobSchedulerLookupService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.PoDialogService), i0.ɵɵdirectiveInject(i3.PoNotificationService), i0.ɵɵdirectiveInject(i4.PoPageJobSchedulerService), i0.ɵɵdirectiveInject(i3.PoLanguageService)); };
222
+ PoPageJobSchedulerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerComponent, selectors: [["po-page-job-scheduler"]], viewQuery: function PoPageJobSchedulerComponent_Query(rf, ctx) { if (rf & 1) {
223
+ i0.ɵɵviewQuery(_c0, 7);
224
+ i0.ɵɵviewQuery(_c1, 5);
225
+ } if (rf & 2) {
226
+ let _t;
227
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerExecution = _t.first);
228
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerParameters = _t.first);
229
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 13, consts: [[3, "p-actions", "p-breadcrumb", "p-title"], [1, "po-row"], ["p-sequential", "true", 1, "po-lg-3", "po-xl-2", 3, "p-orientation", "p-step", "p-steps", "p-change-step"], [1, "po-lg-8", "po-xl-6"], ["formScheduler", "ngForm"], [1, "po-md-12", 3, "p-no-parameters", "hidden", "p-is-edit", "p-literals", "p-value", "p-change-process"], ["schedulerExecution", ""], ["class", "po-md-12", 3, "p-literals", "p-parameters", "p-value", "p-valueChange", 4, "ngIf"], ["class", "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value", 4, "ngIf"], [1, "po-md-12", 3, "p-literals", "p-parameters", "p-value", "p-valueChange"], ["schedulerParameters", ""], [1, "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value"]], template: function PoPageJobSchedulerComponent_Template(rf, ctx) { if (rf & 1) {
230
+ i0.ɵɵelementStart(0, "po-page-default", 0)(1, "div", 1)(2, "po-stepper", 2);
231
+ i0.ɵɵlistener("p-change-step", function PoPageJobSchedulerComponent_Template_po_stepper_p_change_step_2_listener($event) { return ctx.nextStep($event); });
232
+ i0.ɵɵelementEnd();
233
+ i0.ɵɵelementStart(3, "po-container", 3)(4, "form", null, 4)(6, "div", 1)(7, "po-page-job-scheduler-execution", 5, 6);
234
+ i0.ɵɵlistener("p-change-process", function PoPageJobSchedulerComponent_Template_po_page_job_scheduler_execution_p_change_process_7_listener($event) { return ctx.onChangeProcess($event); });
235
+ i0.ɵɵelementEnd();
236
+ i0.ɵɵtemplate(9, PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template, 2, 4, "po-page-job-scheduler-parameters", 7);
237
+ i0.ɵɵtemplate(10, PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template, 1, 4, "po-page-job-scheduler-summary", 8);
238
+ i0.ɵɵelementEnd()()()()();
239
+ } if (rf & 2) {
240
+ i0.ɵɵproperty("p-actions", ctx.jobSchedulerActions)("p-breadcrumb", ctx.breadcrumb)("p-title", ctx.title);
241
+ i0.ɵɵadvance(2);
242
+ i0.ɵɵproperty("p-orientation", ctx.stepperOrientation)("p-step", ctx.step)("p-steps", ctx.steps);
243
+ i0.ɵɵadvance(5);
244
+ i0.ɵɵproperty("p-no-parameters", ctx.parametersEmpty)("hidden", ctx.step !== 1)("p-is-edit", ctx.isEdit)("p-literals", ctx.literals)("p-value", ctx.model);
245
+ i0.ɵɵadvance(2);
246
+ i0.ɵɵproperty("ngIf", ctx.step === 2);
247
+ i0.ɵɵadvance(1);
248
+ i0.ɵɵproperty("ngIf", ctx.step === 3);
249
+ } }, dependencies: [i5.NgIf, i6.ɵNgNoValidate, i6.NgControlStatusGroup, i6.NgForm, i3.PoContainerComponent, i3.PoPageDefaultComponent, i3.PoStepperComponent, i7.PoPageJobSchedulerExecutionComponent, i8.PoPageJobSchedulerParametersComponent, i9.PoPageJobSchedulerSummaryComponent], styles: ["po-container .po-container{overflow-y:unset}\n"], encapsulation: 2 });
250
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerComponent, [{
251
+ type: Component,
252
+ args: [{ selector: 'po-page-job-scheduler', encapsulation: ViewEncapsulation.None, template: "<po-page-default [p-actions]=\"jobSchedulerActions\" [p-breadcrumb]=\"breadcrumb\" [p-title]=\"title\">\r\n <div class=\"po-row\">\r\n <po-stepper\r\n class=\"po-lg-3 po-xl-2\"\r\n p-sequential=\"true\"\r\n [p-orientation]=\"stepperOrientation\"\r\n [p-step]=\"step\"\r\n [p-steps]=\"steps\"\r\n (p-change-step)=\"nextStep($event)\"\r\n >\r\n </po-stepper>\r\n\r\n <po-container class=\"po-lg-8 po-xl-6\">\r\n <form #formScheduler=\"ngForm\">\r\n <div class=\"po-row\">\r\n <po-page-job-scheduler-execution\r\n [p-no-parameters]=\"parametersEmpty\"\r\n [hidden]=\"step !== 1\"\r\n #schedulerExecution\r\n class=\"po-md-12\"\r\n [p-is-edit]=\"isEdit\"\r\n [p-literals]=\"literals\"\r\n [p-value]=\"model\"\r\n (p-change-process)=\"onChangeProcess($event)\"\r\n >\r\n </po-page-job-scheduler-execution>\r\n\r\n <po-page-job-scheduler-parameters\r\n *ngIf=\"step === 2\"\r\n #schedulerParameters\r\n class=\"po-md-12\"\r\n [p-literals]=\"literals\"\r\n [p-parameters]=\"parameters || []\"\r\n [(p-value)]=\"model.executionParameter\"\r\n >\r\n </po-page-job-scheduler-parameters>\r\n\r\n <po-page-job-scheduler-summary\r\n [p-no-parameters]=\"parametersEmpty\"\r\n *ngIf=\"step === 3\"\r\n class=\"po-md-12\"\r\n [p-literals]=\"literals\"\r\n [p-parameters]=\"parameters\"\r\n [p-value]=\"publicValues\"\r\n >\r\n </po-page-job-scheduler-summary>\r\n </div>\r\n </form>\r\n </po-container>\r\n </div>\r\n</po-page-default>\r\n", styles: ["po-container .po-container{overflow-y:unset}\n"] }]
253
+ }], function () { return [{ type: i1.PoPageJobSchedulerLookupService }, { type: i2.ActivatedRoute }, { type: i3.PoDialogService }, { type: i3.PoNotificationService }, { type: i4.PoPageJobSchedulerService }, { type: i3.PoLanguageService }]; }, { schedulerExecution: [{
254
+ type: ViewChild,
255
+ args: ['schedulerExecution', { static: true }]
256
+ }], schedulerParameters: [{
257
+ type: ViewChild,
258
+ args: ['schedulerParameters']
259
+ }] }); })();
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLaEYsT0FBTyxFQU9MLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNPM0UsK0RBT0M7SUFEQyxxUEFBYSx3REFDcEIsSUFENkM7SUFFeEMsaUJBQW1DOzs7SUFKakMsNENBQXVCLGlFQUFBLDRDQUFBOzs7SUFNekIsb0RBUWdDOzs7SUFQOUIsd0RBQW1DLCtCQUFBLG1DQUFBLGdDQUFBOztBRGQvQzs7Ozs7Ozs7OztHQVVHO0FBYUgsTUFBTSxPQUFPLDJCQUE0QixTQUFRLCtCQUErQjtJQXdDOUUsWUFDUywwQkFBMkQsRUFDMUQsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsY0FBcUMsRUFDbkMseUJBQW9ELEVBQzlELGVBQWtDO1FBRWxDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FB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a0lBQWlCLG9CQUFnQixJQUFDO1FBRXBDLGlCQUFhO1FBRWIsdUNBQXNDLG9CQUFBLGFBQUEsNENBQUE7UUFXOUIsNkpBQW9CLDJCQUF1QixJQUFDO1FBRTlDLGlCQUFrQztRQUVsQyxzSUFRbUM7UUFFbkMsa0lBUWdDO1FBQ2xDLGlCQUFNLEVBQUEsRUFBQSxFQUFBLEVBQUE7O1FBOUNHLG1EQUFpQyxnQ0FBQSxzQkFBQTtRQUs1QyxlQUFvQztRQUFwQyxzREFBb0Msb0JBQUEsc0JBQUE7UUFXOUIsZUFBbUM7UUFBbkMscURBQW1DLDBCQUFBLHlCQUFBLDRCQUFBLHNCQUFBO1FBWWxDLGVBQWdCO1FBQWhCLHFDQUFnQjtRQVdoQixlQUFnQjtRQUFoQixxQ0FBZ0I7O3VGRFFoQiwyQkFBMkI7Y0FadkMsU0FBUzsyQkFDRSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUk7eVBBVWMsa0JBQWtCO2tCQUFwRSxTQUFTO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNmLG1CQUFtQjtrQkFBcEQsU0FBUzttQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBQb0RpYWxvZ1NlcnZpY2UsXHJcbiAgUG9EeW5hbWljRm9ybUZpZWxkLFxyXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIFBvTm90aWZpY2F0aW9uU2VydmljZSxcclxuICBQb1BhZ2VBY3Rpb24sXHJcbiAgUG9TdGVwcGVySXRlbSxcclxuICBQb1N0ZXBwZXJTdGF0dXMsXHJcbiAgcG9Mb2NhbGVEZWZhdWx0XHJcbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xyXG5cclxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItaW50ZXJuYWwnO1xyXG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBwb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1saXRlcmFscyc7XHJcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckxvb2t1cFNlcnZpY2UgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1sb29rdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzc1wiIHRpdGxlPVwiUE8gUGFnZSBKb2IgU2NoZWR1bGVyIC0gQmFja2dyb3VuZCBQcm9jZXNzXCI+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3Mvc2FtcGxlLXBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3MuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzL3NhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqIDwvZXhhbXBsZT5cclxuICpcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncG8tcGFnZS1qb2Itc2NoZWR1bGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICBwby1jb250YWluZXIgLnBvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogdW5zZXQ7XHJcbiAgICAgIH1cclxuICAgIGBcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb1BhZ2VKb2JTY2hlZHVsZXJDb21wb25lbnQgZXh0ZW5kcyBQb1BhZ2VKb2JTY2hlZHVsZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdzY2hlZHVsZXJFeGVjdXRpb24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBzY2hlZHVsZXJFeGVjdXRpb246IHsgZm9ybTogTmdGb3JtIH07XHJcbiAgQFZpZXdDaGlsZCgnc2NoZWR1bGVyUGFyYW1ldGVycycpIHNjaGVkdWxlclBhcmFtZXRlcnM6IHsgZm9ybTogTmdGb3JtIH07XHJcblxyXG4gIGlzRWRpdCA9IGZhbHNlO1xyXG4gIGxpdGVyYWxzID0ge1xyXG4gICAgLi4ucG9QYWdlSm9iU2NoZWR1bGVyTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF1cclxuICB9O1xyXG5cclxuICBwdWJsaWNWYWx1ZXM6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWw7XHJcbiAgc2F2ZU9wZXJhdGlvbjogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIHN0ZXA6IG51bWJlciA9IDE7XHJcbiAgcGFyYW1ldGVyc0VtcHR5OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcmVhZG9ubHkgc3RlcHM6IEFycmF5PFBvU3RlcHBlckl0ZW0+ID0gW107XHJcblxyXG4gIHByaXZhdGUgYmFja1BhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcclxuICAgIGxhYmVsOiB0aGlzLmxpdGVyYWxzLmJhY2ssXHJcbiAgICBhY3Rpb246IHRoaXMubmV4dFN0ZXBPcGVyYXRpb24uYmluZCh0aGlzLCAnYmFjaycpLFxyXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEJhY2suYmluZCh0aGlzKVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uOiBQb1BhZ2VBY3Rpb24gPSB7XHJcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5jb25jbHVkZSxcclxuICAgIGFjdGlvbjogdGhpcy5jb25maXJtSm9iU2NoZWR1bGVyLmJpbmQodGhpcylcclxuICB9O1xyXG5cclxuICBwcml2YXRlIG5leHRQYWdlQWN0aW9uOiBQb1BhZ2VBY3Rpb24gPSB7XHJcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5uZXh0LFxyXG4gICAgYWN0aW9uOiB0aGlzLm5leHRTdGVwT3BlcmF0aW9uLmJpbmQodGhpcywgJ25leHQnKSxcclxuICAgIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWRBZHZhbmNlLmJpbmQodGhpcylcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGNvbmNsdWRlUGFnZUFjdGlvbnM6IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbdGhpcy5jb25jbHVkZVBhZ2VBY3Rpb24sIHRoaXMuYmFja1BhZ2VBY3Rpb25dO1xyXG5cclxuICBwcml2YXRlIG5leHRQYWdlQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFt0aGlzLm5leHRQYWdlQWN0aW9uLCB0aGlzLmJhY2tQYWdlQWN0aW9uXTtcclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcclxuICBqb2JTY2hlZHVsZXJBY3Rpb25zOiBBcnJheTxQb1BhZ2VBY3Rpb24+ID0gWy4uLnRoaXMubmV4dFBhZ2VBY3Rpb25zXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcG9QYWdlRHluYW1pY0xvb2t1cFNlcnZpY2U6IFBvUGFnZUpvYlNjaGVkdWxlckxvb2t1cFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcG9EaWFsb2dTZXJ2aWNlOiBQb0RpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvTm90aWZpY2F0aW9uOiBQb05vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgcG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSxcclxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UpO1xyXG5cclxuICAgIGNvbnN0IGxhbmd1YWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcclxuXHJcbiAgICB0aGlzLmxpdGVyYWxzID0ge1xyXG4gICAgICAuLi50aGlzLmxpdGVyYWxzLFxyXG4gICAgICAuLi5wb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHRbbGFuZ3VhZ2VdXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuYmFja1BhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmJhY2s7XHJcbiAgICB0aGlzLmNvbmNsdWRlUGFnZUFjdGlvbi5sYWJlbCA9IHRoaXMubGl0ZXJhbHMuY29uY2x1ZGU7XHJcbiAgICB0aGlzLm5leHRQYWdlQWN0aW9uLmxhYmVsID0gdGhpcy5saXRlcmFscy5uZXh0O1xyXG5cclxuICAgIHRoaXMuc3RlcHMgPSBbXHJcbiAgICAgIHsgbGFiZWw6IHRoaXMubGl0ZXJhbHMuc2NoZWR1bGluZyB9LFxyXG4gICAgICB7IGxhYmVsOiB0aGlzLmxpdGVyYWxzLnBhcmFtZXRlcml6YXRpb24gfSxcclxuICAgICAgeyBsYWJlbDogdGhpcy5saXRlcmFscy5jb25jbHVkZSB9XHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0ZXBwZXJPcmllbnRhdGlvbigpOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA+IDQ4MSAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8IDk2MCA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCc7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHBhcmFtSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcclxuXHJcbiAgICB0aGlzLmlzRWRpdCA9ICEhcGFyYW1JZDtcclxuXHJcbiAgICB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuY29uZmlnU2VydmljZUFwaSh7IGVuZHBvaW50OiB0aGlzLnNlcnZpY2VBcGkgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWREYXRhKHBhcmFtSWQpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZUFjdGlvbnNCeVN0ZXBzKGN1cnJlbnRTdGVwOiBudW1iZXIsIG5leHRTdGVwOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHN0ZXBzTGVuZ3RoID0gdGhpcy5zdGVwcy5sZW5ndGg7XHJcblxyXG4gICAgaWYgKG5leHRTdGVwID09PSBzdGVwc0xlbmd0aCkge1xyXG4gICAgICB0aGlzLmpvYlNjaGVkdWxlckFjdGlvbnMgPSBbLi4udGhpcy5jb25jbHVkZVBhZ2VBY3Rpb25zXTtcclxuICAgIH0gZWxzZSBpZiAoY3VycmVudFN0ZXAgPT09IHN0ZXBzTGVuZ3RoICYmIG5leHRTdGVwIDwgY3VycmVudFN0ZXApIHtcclxuICAgICAgdGhpcy5qb2JTY2hlZHVsZXJBY3Rpb25zID0gWy4uLnRoaXMubmV4dFBhZ2VBY3Rpb25zXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRTdGVwKHN0ZXBOdW1iZXI6IG51bWJlcikge1xyXG4gICAgaWYgKHN0ZXBOdW1iZXIgPiAxICYmIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0uaW52YWxpZCkge1xyXG4gICAgICB0aGlzLm1hcmtBc0RpcnR5SW52YWxpZENvbnRyb2xzKHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0uY29udHJvbHMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBzdGVwTnVtYmVyID4gMiAmJlxyXG4gICAgICB0aGlzLnNjaGVkdWxlclBhcmFtZXRlcnMgJiZcclxuICAgICAgdGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0gJiZcclxuICAgICAgdGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0uaW52YWxpZFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubWFya0FzRGlydHlJbnZhbGlkQ29udHJvbHModGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0uY29udHJvbHMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldE1vZGVsUmVjdXJyZW50KCk7XHJcblxyXG4gICAgY29uc3QgbW9kZWwgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubW9kZWwpKTtcclxuXHJcbiAgICBpZiAoc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wdWJsaWNWYWx1ZXMgPSB0aGlzLmhpZGVzU2VjcmV0VmFsdWVzKG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYW5nZVBhZ2VBY3Rpb25zQnlTdGVwcyh0aGlzLnN0ZXAsIHN0ZXBOdW1iZXIpO1xyXG5cclxuICAgIGNvbnN0IHN0ZXBzID0gdGhpcy5zdGVwc1t0aGlzLnN0ZXAgLSAxXTtcclxuICAgIHRoaXMuc3RlcCA9IHN0ZXBOdW1iZXI7XHJcblxyXG4gICAgaWYgKHN0ZXBzKSB7XHJcbiAgICAgIHN0ZXBzLnN0YXR1cyA9IFBvU3RlcHBlclN0YXR1cy5Eb25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VQcm9jZXNzKHByb2Nlc3M6IHsgcHJvY2Vzc0lkOiBzdHJpbmc7IGV4aXN0QVBJOiBib29sZWFuIH0pIHtcclxuICAgIGlmIChwcm9jZXNzLmV4aXN0QVBJICYmIHByb2Nlc3MucHJvY2Vzc0lkICYmIHRoaXMucGFyYW1ldGVyc0VtcHR5KSB7XHJcbiAgICAgIHRoaXMuZ2V0UGFyYW1ldGVyc0J5UHJvY2Vzcyhwcm9jZXNzLnByb2Nlc3NJZCk7XHJcbiAgICAgIGlmICghdGhpcy5pc0VkaXQpIHtcclxuICAgICAgICB0aGlzLm1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlciA9IHt9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbmZpcm1Kb2JTY2hlZHVsZXIoKSB7XHJcbiAgICBjb25zdCBwYXJhbUlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXNbJ2lkJ107XHJcblxyXG4gICAgY29uc3QgY29uZmlybU1lc3NhZ2UgPSBwYXJhbUlkID8gdGhpcy5saXRlcmFscy5jb25maXJtVXBkYXRlTWVzc2FnZSA6IHRoaXMubGl0ZXJhbHMuY29uZmlybVNhdmVNZXNzYWdlO1xyXG5cclxuICAgIHRoaXMucG9EaWFsb2dTZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICB0aXRsZTogdGhpcy5saXRlcmFscy5jb25maXJtYXRpb24sXHJcbiAgICAgIG1lc3NhZ2U6IGNvbmZpcm1NZXNzYWdlLFxyXG4gICAgICBjb25maXJtOiAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbW9kZWwgPSB7IC4uLnRoaXMubW9kZWwgfTtcclxuXHJcbiAgICAgICAgdGhpcy5zYXZlKG1vZGVsLCBwYXJhbUlkKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGVtaXRTdWNjZXNzTWVzc2FnZShtc2dTdWNjZXNzOiBhbnksIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55Pikge1xyXG4gICAgYXdhaXQgc2F2ZU9wZXJhdGlvbi50b1Byb21pc2UoKTtcclxuICAgIHRoaXMucG9Ob3RpZmljYXRpb24uc3VjY2Vzcyhtc2dTdWNjZXNzKTtcclxuICAgIHRoaXMucmVzZXRKb2JTY2hlZHVsZXJGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhcmFtZXRlcnNCeVByb2Nlc3MocHJvY2VzczogYW55KSB7XHJcbiAgICB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuZ2V0UGFyYW1ldGVyc0J5UHJvY2Vzcyhwcm9jZXNzKS5zdWJzY3JpYmUocGFyYW1ldGVycyA9PiB7XHJcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZXNTZWNyZXRWYWx1ZXMobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwpOiBQb0pvYlNjaGVkdWxlckludGVybmFsIHtcclxuICAgIGNvbnN0IGhpZGRlblNlY3JldFZhbHVlID0gJyoqKioqKioqKionO1xyXG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2gocGFyYW1ldGVyID0+IHtcclxuICAgICAgaWYgKHRoaXMuaXNTZWNyZXRQYXJhbWV0ZXIobW9kZWwsIHBhcmFtZXRlcikpIHtcclxuICAgICAgICBtb2RlbC5leGVjdXRpb25QYXJhbWV0ZXJbcGFyYW1ldGVyLnByb3BlcnR5XSA9IGhpZGRlblNlY3JldFZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNEaXNhYmxlZEFkdmFuY2UoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBjb21wb25lbnRCeVN0ZXAgPSB7XHJcbiAgICAgIDE6IHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLFxyXG4gICAgICAyOiB0aGlzLnNjaGVkdWxlclBhcmFtZXRlcnNcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudEJ5U3RlcFt0aGlzLnN0ZXBdPy5mb3JtPy5pbnZhbGlkIHx8IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0Rpc2FibGVkQmFjaygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN0ZXAgPT09IDE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzU2VjcmV0UGFyYW1ldGVyKG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsLCBwYXJhbWV0ZXI6IFBvRHluYW1pY0Zvcm1GaWVsZCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgbW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyICYmXHJcbiAgICAgIHBhcmFtZXRlci5oYXNPd25Qcm9wZXJ0eSgnc2VjcmV0JykgJiZcclxuICAgICAgcGFyYW1ldGVyWydzZWNyZXQnXSA9PT0gdHJ1ZSAmJlxyXG4gICAgICBtb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkocGFyYW1ldGVyLnByb3BlcnR5KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbmV4dFN0ZXBPcGVyYXRpb24ob3BlcmF0aW9uPzogJ2JhY2snIHwgJ25leHQnKSB7XHJcbiAgICBjb25zdCBzdGVwTnVtYmVyID0gb3BlcmF0aW9uID09PSAnYmFjaycgPyB0aGlzLnN0ZXAgLSAxIDogdGhpcy5zdGVwICsgMTtcclxuXHJcbiAgICB0aGlzLm5leHRTdGVwKHN0ZXBOdW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEpvYlNjaGVkdWxlckZvcm0oKSB7XHJcbiAgICB0aGlzLnNjaGVkdWxlckV4ZWN1dGlvbi5mb3JtLnJlc2V0KCk7XHJcblxyXG4gICAgLy8gcmFkaW9ncm91cCBuw6NvIGVzdGF2YSBhdHJpYnVpbmRvIG5vdm8gdmFsb3IsIGZpY2EgdmVybWVsaG8gc2VtIG8gdGltZXRvdXQuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5tb2RlbCA9IG5ldyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCgpO1xyXG5cclxuICAgICAgdGhpcy5zdGVwID0gMTtcclxuICAgICAgdGhpcy5zdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xyXG4gICAgICAgIHN0ZXAuc3RhdHVzID0gUG9TdGVwcGVyU3RhdHVzLkRlZmF1bHQ7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5qb2JTY2hlZHVsZXJBY3Rpb25zID0gWy4uLnRoaXMubmV4dFBhZ2VBY3Rpb25zXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlKG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsLCBwYXJhbUlkKSB7XHJcbiAgICBjb25zdCBzYXZlT3BlcmF0aW9uID0gcGFyYW1JZFxyXG4gICAgICA/IHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS51cGRhdGVSZXNvdXJjZShwYXJhbUlkLCBtb2RlbClcclxuICAgICAgOiB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuY3JlYXRlUmVzb3VyY2UobW9kZWwpO1xyXG5cclxuICAgIGNvbnN0IG1zZ1N1Y2Nlc3MgPSBwYXJhbUlkXHJcbiAgICAgID8gdGhpcy5saXRlcmFscy5zYXZlTm90aWZpY2F0aW9uU3VjY2Vzc1VwZGF0ZVxyXG4gICAgICA6IHRoaXMubGl0ZXJhbHMuc2F2ZU5vdGlmaWNhdGlvblN1Y2Nlc3NTYXZlO1xyXG5cclxuICAgIHRoaXMuZW1pdFN1Y2Nlc3NNZXNzYWdlKG1zZ1N1Y2Nlc3MsIHNhdmVPcGVyYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRNb2RlbFJlY3VycmVudCgpIHtcclxuICAgIHRoaXMubW9kZWwucmVjdXJyZW50ID0gdGhpcy5tb2RlbC5wZXJpb2RpY2l0eSA9PT0gJ3NpbmdsZScgPyBmYWxzZSA6IHRoaXMubW9kZWwucmVjdXJyZW50O1xyXG4gIH1cclxufVxyXG4iLCI8cG8tcGFnZS1kZWZhdWx0IFtwLWFjdGlvbnNdPVwiam9iU2NoZWR1bGVyQWN0aW9uc1wiIFtwLWJyZWFkY3J1bWJdPVwiYnJlYWRjcnVtYlwiIFtwLXRpdGxlXT1cInRpdGxlXCI+XHJcbiAgPGRpdiBjbGFzcz1cInBvLXJvd1wiPlxyXG4gICAgPHBvLXN0ZXBwZXJcclxuICAgICAgY2xhc3M9XCJwby1sZy0zIHBvLXhsLTJcIlxyXG4gICAgICBwLXNlcXVlbnRpYWw9XCJ0cnVlXCJcclxuICAgICAgW3Atb3JpZW50YXRpb25dPVwic3RlcHBlck9yaWVudGF0aW9uXCJcclxuICAgICAgW3Atc3RlcF09XCJzdGVwXCJcclxuICAgICAgW3Atc3RlcHNdPVwic3RlcHNcIlxyXG4gICAgICAocC1jaGFuZ2Utc3RlcCk9XCJuZXh0U3RlcCgkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvcG8tc3RlcHBlcj5cclxuXHJcbiAgICA8cG8tY29udGFpbmVyIGNsYXNzPVwicG8tbGctOCBwby14bC02XCI+XHJcbiAgICAgIDxmb3JtICNmb3JtU2NoZWR1bGVyPVwibmdGb3JtXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvd1wiPlxyXG4gICAgICAgICAgPHBvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb25cclxuICAgICAgICAgICAgW3Atbm8tcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzRW1wdHlcIlxyXG4gICAgICAgICAgICBbaGlkZGVuXT1cInN0ZXAgIT09IDFcIlxyXG4gICAgICAgICAgICAjc2NoZWR1bGVyRXhlY3V0aW9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxyXG4gICAgICAgICAgICBbcC1pcy1lZGl0XT1cImlzRWRpdFwiXHJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcclxuICAgICAgICAgICAgW3AtdmFsdWVdPVwibW9kZWxcIlxyXG4gICAgICAgICAgICAocC1jaGFuZ2UtcHJvY2Vzcyk9XCJvbkNoYW5nZVByb2Nlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb24+XHJcblxyXG4gICAgICAgICAgPHBvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzXHJcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcCA9PT0gMlwiXHJcbiAgICAgICAgICAgICNzY2hlZHVsZXJQYXJhbWV0ZXJzXHJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxyXG4gICAgICAgICAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiXHJcbiAgICAgICAgICAgIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVycyB8fCBbXVwiXHJcbiAgICAgICAgICAgIFsocC12YWx1ZSldPVwibW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnM+XHJcblxyXG4gICAgICAgICAgPHBvLXBhZ2Utam9iLXNjaGVkdWxlci1zdW1tYXJ5XHJcbiAgICAgICAgICAgIFtwLW5vLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVyc0VtcHR5XCJcclxuICAgICAgICAgICAgKm5nSWY9XCJzdGVwID09PSAzXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJwby1tZC0xMlwiXHJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcclxuICAgICAgICAgICAgW3AtcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzXCJcclxuICAgICAgICAgICAgW3AtdmFsdWVdPVwicHVibGljVmFsdWVzXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvcG8tY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L3BvLXBhZ2UtZGVmYXVsdD5cclxuIl19