@po-ui/ng-templates 18.23.1 → 19.0.0-rc.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.
- package/fesm2022/po-ui-ng-templates.mjs +139 -122
- package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
- package/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.d.ts +1 -1
- package/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.d.ts +1 -1
- package/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.d.ts +1 -1
- package/lib/components/po-page-blocked-user/po-page-blocked-user.component.d.ts +1 -1
- package/lib/components/po-page-change-password/po-page-change-password-base.component.d.ts +1 -1
- package/lib/components/po-page-change-password/po-page-change-password.service.d.ts +1 -1
- package/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.d.ts +1 -1
- package/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.d.ts +1 -1
- package/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.d.ts +2 -2
- package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.d.ts +1 -1
- package/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.d.ts +1 -1
- package/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.d.ts +2 -2
- package/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.d.ts +2 -2
- package/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.d.ts +1 -1
- package/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.d.ts +2 -2
- package/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.d.ts +1 -1
- package/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.d.ts +1 -1
- package/lib/components/po-page-login/po-page-login-base.component.d.ts +1 -1
- package/lib/components/po-page-login/po-page-login.service.d.ts +1 -1
- package/package.json +13 -15
- package/po-ui-ng-templates-19.0.0-rc.0.tgz +0 -0
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-blocked-user/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-blocked-user/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-blocked-user/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-blocked-user/index.js +1 -1
- package/schematics/ng-generate/po-page-blocked-user/index.js.map +1 -1
- package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-change-password/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-change-password/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-change-password/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-change-password/index.js +1 -1
- package/schematics/ng-generate/po-page-change-password/index.js.map +1 -1
- package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-dynamic-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-dynamic-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-dynamic-detail/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-dynamic-detail/index.js +1 -1
- package/schematics/ng-generate/po-page-dynamic-detail/index.js.map +1 -1
- package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-dynamic-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-dynamic-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-dynamic-edit/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-dynamic-edit/index.js +1 -1
- package/schematics/ng-generate/po-page-dynamic-edit/index.js.map +1 -1
- package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-dynamic-search/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-dynamic-search/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-dynamic-search/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-dynamic-search/index.js +1 -1
- package/schematics/ng-generate/po-page-dynamic-search/index.js.map +1 -1
- package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-dynamic-table/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-dynamic-table/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-dynamic-table/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-dynamic-table/index.js +1 -1
- package/schematics/ng-generate/po-page-dynamic-table/index.js.map +1 -1
- package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-job-scheduler/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-job-scheduler/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-job-scheduler/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-job-scheduler/index.js +1 -1
- package/schematics/ng-generate/po-page-job-scheduler/index.js.map +1 -1
- package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -2
- package/schematics/ng-generate/po-page-login/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +2 -1
- package/schematics/ng-generate/po-page-login/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +4 -3
- package/schematics/ng-generate/po-page-login/files-standalone/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +0 -1
- package/schematics/ng-generate/po-page-login/index.js +1 -1
- package/schematics/ng-generate/po-page-login/index.js.map +1 -1
- package/esm2022/lib/components/components.module.mjs +0 -84
- package/esm2022/lib/components/index.mjs +0 -12
- package/esm2022/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-modal-content.enum.mjs +0 -17
- package/esm2022/lib/components/po-modal-password-recovery/enums/po-modal-password-recovery-type.enum.mjs +0 -17
- package/esm2022/lib/components/po-modal-password-recovery/index.mjs +0 -8
- package/esm2022/lib/components/po-modal-password-recovery/interfaces/po-modal-password-recovery.interface.mjs +0 -2
- package/esm2022/lib/components/po-modal-password-recovery/literals/i18n/po-modal-password-recovery-literals.mjs +0 -119
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.mjs +0 -293
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.mjs +0 -34
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.mjs +0 -451
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.module.mjs +0 -29
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.service.mjs +0 -18
- package/esm2022/lib/components/po-page-background/index.mjs +0 -3
- package/esm2022/lib/components/po-page-background/po-page-background.component.mjs +0 -191
- package/esm2022/lib/components/po-page-background/po-page-background.module.mjs +0 -27
- package/esm2022/lib/components/po-page-blocked-user/enums/po-page-blocked-user-reason.enum.mjs +0 -17
- package/esm2022/lib/components/po-page-blocked-user/index.mjs +0 -8
- package/esm2022/lib/components/po-page-blocked-user/interfaces/po-page-blocked-user-reason-params.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-blocked-user/literals/i18n/po-page-blocked-user-literals.mjs +0 -78
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.mjs +0 -197
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.mjs +0 -105
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.mjs +0 -107
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +0 -108
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.module.mjs +0 -29
- package/esm2022/lib/components/po-page-change-password/index.mjs +0 -7
- package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password-recovery.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password-requirement.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-change-password/interfaces/po-page-change-password.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-change-password/literals/i18n/po-page-change-password-literals.mjs +0 -79
- package/esm2022/lib/components/po-page-change-password/po-page-change-password-base.component.mjs +0 -300
- package/esm2022/lib/components/po-page-change-password/po-page-change-password.component.mjs +0 -401
- package/esm2022/lib/components/po-page-change-password/po-page-change-password.module.mjs +0 -30
- package/esm2022/lib/components/po-page-change-password/po-page-change-password.service.mjs +0 -18
- package/esm2022/lib/components/po-page-dynamic-detail/index.mjs +0 -10
- package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-actions.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-back.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-edit.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-before-remove.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-field.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-metadata.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-detail/interfaces/po-page-dynamic-detail-options.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.mjs +0 -44
- package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.mjs +0 -546
- package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.module.mjs +0 -54
- package/esm2022/lib/components/po-page-dynamic-edit/index.mjs +0 -11
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-actions.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-cancel.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save-new.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-before-save.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-field.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-literals.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-metadata.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/interfaces/po-page-dynamic-edit-options.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.mjs +0 -44
- package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.mjs +0 -889
- package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.module.mjs +0 -60
- package/esm2022/lib/components/po-page-dynamic-search/index.mjs +0 -7
- package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.mjs +0 -133
- package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-literals.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.mjs +0 -76
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.mjs +0 -365
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-filters.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-literals.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-options.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.mjs +0 -349
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.module.mjs +0 -52
- package/esm2022/lib/components/po-page-dynamic-table/index.mjs +0 -16
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-actions.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-detail.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-duplicate.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-edit.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-new.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove-all.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-before-remove.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-action.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-custom-table-action.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-field.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-filters.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-metadata.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/interfaces/po-page-dynamic-table-options.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.mjs +0 -271
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.mjs +0 -59
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-literals.mjs +0 -63
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.mjs +0 -1257
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.module.mjs +0 -50
- package/esm2022/lib/components/po-page-job-scheduler/index.mjs +0 -6
- package/esm2022/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler-internal.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs +0 -302
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.mjs +0 -393
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-internal.mjs +0 -13
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-literals.mjs +0 -195
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-lookup.service.mjs +0 -22
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/index.mjs +0 -2
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/index.mjs +0 -2
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.mjs +0 -92
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.mjs +0 -79
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/index.mjs +0 -2
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/index.mjs +0 -2
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-job-scheduler-summary-template/po-job-scheduler-summary-template.directive.mjs +0 -44
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +0 -211
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +0 -418
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.module.mjs +0 -85
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.mjs +0 -224
- package/esm2022/lib/components/po-page-login/enums/po-page-login-authentication-type.enum.mjs +0 -15
- package/esm2022/lib/components/po-page-login/index.mjs +0 -8
- package/esm2022/lib/components/po-page-login/interfaces/po-page-login-custom-field.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-login/interfaces/po-page-login-literals.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-login/interfaces/po-page-login-recovery.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-login/interfaces/po-page-login.interface.mjs +0 -2
- package/esm2022/lib/components/po-page-login/po-page-login-base.component.mjs +0 -1099
- package/esm2022/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.mjs +0 -137
- package/esm2022/lib/components/po-page-login/po-page-login.component.mjs +0 -483
- package/esm2022/lib/components/po-page-login/po-page-login.module.mjs +0 -31
- package/esm2022/lib/components/po-page-login/po-page-login.service.mjs +0 -32
- package/esm2022/lib/index.mjs +0 -4
- package/esm2022/lib/po-templates.module.mjs +0 -18
- package/esm2022/lib/services/index.mjs +0 -4
- package/esm2022/lib/services/po-page-customization/index.mjs +0 -4
- package/esm2022/lib/services/po-page-customization/po-page-customization.module.mjs +0 -23
- package/esm2022/lib/services/po-page-customization/po-page-customization.service.mjs +0 -86
- package/esm2022/lib/services/po-page-customization/po-page-dynamic-options.interface.mjs +0 -2
- package/esm2022/lib/services/po-page-dynamic/index.mjs +0 -3
- package/esm2022/lib/services/po-page-dynamic/po-page-dynamic-literals.interface.mjs +0 -2
- package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.module.mjs +0 -23
- package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.service.mjs +0 -106
- package/esm2022/lib/services/services.module.mjs +0 -18
- package/esm2022/lib/utils/util.mjs +0 -428
- package/esm2022/po-ui-ng-templates.mjs +0 -5
- package/esm2022/public-api.mjs +0 -2
- package/po-ui-ng-templates-18.23.1.tgz +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { FormsModule } from '@angular/forms';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { RouterModule } from '@angular/router';
|
|
5
|
-
import { PoTableModule } from '@po-ui/ng-components';
|
|
6
|
-
import { PoPageDynamicSearchModule } from '../po-page-dynamic-search/po-page-dynamic-search.module';
|
|
7
|
-
import { PoPageDynamicTableComponent } from './po-page-dynamic-table.component';
|
|
8
|
-
import { PoPageCustomizationModule } from '../../services/po-page-customization/po-page-customization.module';
|
|
9
|
-
import { PoPageDynamicModule } from '../../services/po-page-dynamic/po-page-dynamic.module';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
/**
|
|
12
|
-
* @description
|
|
13
|
-
*
|
|
14
|
-
* Módulo do template do po-page-dynamic-table.
|
|
15
|
-
*/
|
|
16
|
-
export class PoPageDynamicTableModule {
|
|
17
|
-
static ɵfac = function PoPageDynamicTableModule_Factory(t) { return new (t || PoPageDynamicTableModule)(); };
|
|
18
|
-
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PoPageDynamicTableModule });
|
|
19
|
-
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
20
|
-
FormsModule,
|
|
21
|
-
RouterModule,
|
|
22
|
-
PoTableModule,
|
|
23
|
-
PoPageDynamicSearchModule,
|
|
24
|
-
PoPageCustomizationModule,
|
|
25
|
-
PoPageDynamicModule] });
|
|
26
|
-
}
|
|
27
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageDynamicTableModule, [{
|
|
28
|
-
type: NgModule,
|
|
29
|
-
args: [{
|
|
30
|
-
imports: [
|
|
31
|
-
CommonModule,
|
|
32
|
-
FormsModule,
|
|
33
|
-
RouterModule,
|
|
34
|
-
PoTableModule,
|
|
35
|
-
PoPageDynamicSearchModule,
|
|
36
|
-
PoPageCustomizationModule,
|
|
37
|
-
PoPageDynamicModule
|
|
38
|
-
],
|
|
39
|
-
declarations: [PoPageDynamicTableComponent],
|
|
40
|
-
exports: [PoPageDynamicTableComponent]
|
|
41
|
-
}]
|
|
42
|
-
}], null, null); })();
|
|
43
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PoPageDynamicTableModule, { declarations: [PoPageDynamicTableComponent], imports: [CommonModule,
|
|
44
|
-
FormsModule,
|
|
45
|
-
RouterModule,
|
|
46
|
-
PoTableModule,
|
|
47
|
-
PoPageDynamicSearchModule,
|
|
48
|
-
PoPageCustomizationModule,
|
|
49
|
-
PoPageDynamicModule], exports: [PoPageDynamicTableComponent] }); })();
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1keW5hbWljLXRhYmxlL3BvLXBhZ2UtZHluYW1pYy10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFcEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDOUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7O0FBRTVGOzs7O0dBSUc7QUFlSCxNQUFNLE9BQU8sd0JBQXdCO2tGQUF4Qix3QkFBd0I7NERBQXhCLHdCQUF3QjtnRUFaakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBRVosYUFBYTtZQUNiLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsbUJBQW1COztpRkFLVix3QkFBd0I7Y0FkcEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsWUFBWTtvQkFFWixhQUFhO29CQUNiLHlCQUF5QjtvQkFDekIseUJBQXlCO29CQUN6QixtQkFBbUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQzthQUN2Qzs7d0ZBQ1ksd0JBQXdCLG1CQUhwQiwyQkFBMkIsYUFUeEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBRVosYUFBYTtRQUNiLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsbUJBQW1CLGFBR1gsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFBvVGFibGVNb2R1bGUgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNTZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9wby1wYWdlLWR5bmFtaWMtc2VhcmNoL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gubW9kdWxlJztcblxuaW1wb3J0IHsgUG9QYWdlRHluYW1pY1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWR5bmFtaWMtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBvUGFnZUN1c3RvbWl6YXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1wYWdlLWN1c3RvbWl6YXRpb24vcG8tcGFnZS1jdXN0b21pemF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tcGFnZS1keW5hbWljL3BvLXBhZ2UtZHluYW1pYy5tb2R1bGUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE3Ds2R1bG8gZG8gdGVtcGxhdGUgZG8gcG8tcGFnZS1keW5hbWljLXRhYmxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcblxuICAgIFBvVGFibGVNb2R1bGUsXG4gICAgUG9QYWdlRHluYW1pY1NlYXJjaE1vZHVsZSxcbiAgICBQb1BhZ2VDdXN0b21pemF0aW9uTW9kdWxlLFxuICAgIFBvUGFnZUR5bmFtaWNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbUG9QYWdlRHluYW1pY1RhYmxlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1BvUGFnZUR5bmFtaWNUYWJsZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlRHluYW1pY1RhYmxlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './po-page-job-scheduler.component';
|
|
2
|
-
export * from './po-page-job-scheduler.module';
|
|
3
|
-
export * from './interfaces/po-job-scheduler.interface';
|
|
4
|
-
export * from './po-page-job-scheduler-parameters';
|
|
5
|
-
export * from './po-page-job-scheduler-summary';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvcG8tam9iLXNjaGVkdWxlci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeSc7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tam9iLXNjaGVkdWxlci1pbnRlcm5hbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXItaW50ZXJuYWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFBvSm9iU2NoZWR1bGVySW50ZXJuYWwge1xuICBbcHJvcGVydHk6IHN0cmluZyB8IG51bWJlcl06IGFueTtcblxuICBkYXlPZk1vbnRoPzogbnVtYmVyO1xuXG4gIGZyZXF1ZW5jeT86IG9iamVjdDtcblxuICByYW5nZUxpbWl0SG91cj86IHN0cmluZztcblxuICByYW5nZUxpbWl0RGF5PzogbnVtYmVyO1xuXG4gIGRheXNPZldlZWs/OiBBcnJheTxzdHJpbmc+O1xuXG4gIGV4ZWN1dGlvblBhcmFtZXRlcj86IG9iamVjdDtcblxuICBmaXJzdEV4ZWN1dGlvbjogRGF0ZTtcblxuICBmaXJzdEV4ZWN1dGlvbkhvdXI6IHN0cmluZztcblxuICBob3VyPzogc3RyaW5nO1xuXG4gIHBlcmlvZGljaXR5OiBzdHJpbmc7XG5cbiAgcHJvY2Vzc0lEPzogc3RyaW5nO1xuXG4gIHJlY3VycmVudDogYm9vbGVhbjtcbn1cbiJdfQ==
|
package/esm2022/lib/components/po-page-job-scheduler/interfaces/po-job-scheduler.interface.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tam9iLXNjaGVkdWxlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB1c2VkQnkgUG9QYWdlSm9iU2NoZWR1bGVyQ29tcG9uZW50XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogRXN0cnV0dXJhIGRvICpwYXlsb2FkKiBlbnZpYWRvIG5hcyByZXF1aXNpw6fDtWVzIHBhcmEgc2FsdmFyIGUvb3UgYXR1YWxpemFyIGFzIHRhcmVmYXMgZG8gKkpvYiBTY2hlZHVsZXIqLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvSm9iU2NoZWR1bGVyIHtcbiAgLyoqXG4gICAqIERlZmluZSB1bWEgcmVwZXRpw6fDo28gZGnDoXJpYS5cbiAgICovXG4gIGRhaWx5PzogeyBob3VyOiBudW1iZXI7IG1pbnV0ZTogbnVtYmVyIH07XG5cbiAgLyoqXG4gICAqIE9iamV0byBjb250ZW5kbyBvcyBub21lcyBkYXMgcHJvcHJpZWRhZGVzIGRvcyBwYXLDom1ldHJvcyBlIG9zIHZhbG9yZXMgcHJlZW5jaGlkb3MgcGVsbyB1c3XDoXJpby5cbiAgICovXG4gIGV4ZWN1dGlvblBhcmFtZXRlcj86IG9iamVjdDtcblxuICAvKipcbiAgICogRGF0YSBkYSBwcmltZWlyYSBleGVjdcOnw6NvLlxuICAgKi9cbiAgZmlyc3RFeGVjdXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZSB1bWEgcmVwZXRpw6fDo28gbWVuc2FsLlxuICAgKi9cbiAgbW9udGhseT86IHsgZGF5OiBudW1iZXI7IGhvdXI6IG51bWJlcjsgbWludXRlOiBudW1iZXIgfTtcblxuICAvKipcbiAgICogSWRlbnRpZmljYWRvciBkbyBwcm9jZXNzby5cbiAgICovXG4gIHByb2Nlc3NJRDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIHVtYSBleGVjdcOnw6NvIHJlY29ycmVudGUuXG4gICAqL1xuICByZWN1cnJlbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdW1hIHJlcGV0acOnw6NvIHNlbWFuYWwuXG4gICAqL1xuICB3ZWVrbHk/OiB7IGRheXNPZldlZWs6IEFycmF5PHN0cmluZz47IGhvdXI6IG51bWJlcjsgbWludXRlOiBudW1iZXIgfTtcbn1cbiJdfQ==
|
package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs
DELETED
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
import { Input, Directive, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { PoStepperOrientation } from '@po-ui/ng-components';
|
|
3
|
-
import { PoPageJobSchedulerInternal } from './po-page-job-scheduler-internal';
|
|
4
|
-
import { Subscription } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./po-page-job-scheduler.service";
|
|
7
|
-
/**
|
|
8
|
-
* @description
|
|
9
|
-
*
|
|
10
|
-
* O `po-page-job-scheduler` é uma página para criação e atualização de agendamentos da execução de processos (Job Scheduler),
|
|
11
|
-
* como por exemplo: a geração da folha de pagamento dos funcionários.
|
|
12
|
-
*
|
|
13
|
-
* Para utilizar esta página, basta informar o serviço (endpoint) para consumo,
|
|
14
|
-
* sem a necessidade de criar componentes e tratamentos dos dados.
|
|
15
|
-
*
|
|
16
|
-
* Veja mais sobre os padrões utilizados nas requisições no [Guia de implementação de APIs](guides/api).
|
|
17
|
-
*/
|
|
18
|
-
export class PoPageJobSchedulerBaseComponent {
|
|
19
|
-
poPageJobSchedulerService;
|
|
20
|
-
/** Objeto com as propriedades do breadcrumb. */
|
|
21
|
-
breadcrumb = { items: [] };
|
|
22
|
-
/**
|
|
23
|
-
* Endpoint usado pelo componente para busca dos processos e parâmetros que serão utilizados para criação e edição dos agendamentos.
|
|
24
|
-
*
|
|
25
|
-
* #### Processos
|
|
26
|
-
*
|
|
27
|
-
* Os processos são as tarefas que estarão disponíveis para o usuário poder fazer os agendamentos.
|
|
28
|
-
* Ao inicializar o componente, será feito uma requisição `GET` para o endpoint `{service-api}/processes`, para buscar
|
|
29
|
-
* essa lista de processos.
|
|
30
|
-
*
|
|
31
|
-
* Este endpoint `{service-api}/processes` deve retornar uma lista de objetos que seguem a definição de dados abaixo:
|
|
32
|
-
*
|
|
33
|
-
* ```
|
|
34
|
-
* GET {service-api}/processes
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* ```
|
|
38
|
-
* {
|
|
39
|
-
* items: [
|
|
40
|
-
* { "processID": "ac4f", "description": "Gerar folha de pagamento" },
|
|
41
|
-
* { "processID": "df6l", "description": "Relatório de imposto a recolher" },
|
|
42
|
-
* { "processID": "dk3p", "description": "Títulos em aberto" },
|
|
43
|
-
* ]
|
|
44
|
-
* }
|
|
45
|
-
* ```
|
|
46
|
-
*
|
|
47
|
-
* Desta forma será renderizado um componente para selecionar o processo e/ou filtrá-los.
|
|
48
|
-
*
|
|
49
|
-
* Para realizar o filtro de busca do processo, será feita uma requisição enviando o conteúdo digitado na busca através do
|
|
50
|
-
* parâmetro `search`. Da seguinte forma:
|
|
51
|
-
*
|
|
52
|
-
* ```
|
|
53
|
-
* GET {service-api}/processes?search=relatorio
|
|
54
|
-
* ```
|
|
55
|
-
*
|
|
56
|
-
* > Veja mais sobre paginação e filtros no [Guia de implementação de APIs](guides/api).
|
|
57
|
-
* Caso seja informada a propriedade `p-parameters` não serão realizadas as requisições de processos e nem de parametros automaticamente.
|
|
58
|
-
*
|
|
59
|
-
* Também é possível fazer um agendamento de um processo específico, sem que seja necessário um endpoint para busca desses
|
|
60
|
-
* processos. Então, caso o endpoint `{service-api}/processes` não seja válido, será apresentado um campo de entrada de
|
|
61
|
-
* texto para o usuário informar diretamente
|
|
62
|
-
* o **identificador do processo - `processID`** e ao salvar será enviado um `POST` para o endpoint difinido `serviceApi` conforme abaixo:
|
|
63
|
-
*
|
|
64
|
-
* ```
|
|
65
|
-
* POST {service-api}
|
|
66
|
-
* ```
|
|
67
|
-
*
|
|
68
|
-
* *Request payload* - estrutura de dados enviada no corpo da requisição conforme interface `PoJobScheduler`:
|
|
69
|
-
*
|
|
70
|
-
* ```
|
|
71
|
-
* {
|
|
72
|
-
* "daily": { "hour": 10, "minute": 12 },
|
|
73
|
-
* "firstExecution": "2018-12-07T00:00:01-00:00",
|
|
74
|
-
* "recurrent": true,
|
|
75
|
-
* "processID": "ac0405"
|
|
76
|
-
* ...
|
|
77
|
-
* }
|
|
78
|
-
* ```
|
|
79
|
-
*
|
|
80
|
-
* Caso seja necessário informar parâmetros e adicionar configurações no processo selecionado, será realizado um `GET`
|
|
81
|
-
* como exemplificado abaixo. Os parâmetros devem retornar uma lista de objetos que seguem a interface
|
|
82
|
-
* [PoDynamicFormField](/documentation/po-dynamic-form). Porém, caso utilizar a propriedade `p-parameters` o componente não
|
|
83
|
-
* realizará a busca automática e o campo de processos não será exibido.
|
|
84
|
-
*
|
|
85
|
-
* ```
|
|
86
|
-
* GET {service-api}/processes/:id/parameters
|
|
87
|
-
* ...
|
|
88
|
-
* {
|
|
89
|
-
* items: [
|
|
90
|
-
* { "property": "vencimento", type: "date" },
|
|
91
|
-
* { "property": "imposto-retido", "label": "Imposto Retido", type: "boolean" }
|
|
92
|
-
* ]
|
|
93
|
-
* }
|
|
94
|
-
* ```
|
|
95
|
-
*
|
|
96
|
-
* #### Salvar e Atualizar
|
|
97
|
-
*
|
|
98
|
-
* Para salvar o agendamento, será feita uma requisição de criação, passando os valores preenchidos pelo usuário via *payload*.
|
|
99
|
-
* Abaixo uma requisição `POST` disparada, onde as propriedades do *Job Scheduler* foram preenchidas:
|
|
100
|
-
*
|
|
101
|
-
* ```
|
|
102
|
-
* POST {service-api}
|
|
103
|
-
* ```
|
|
104
|
-
*
|
|
105
|
-
* *Request payload* - estrutura de dados enviada no corpo da requisição conforme interface `PoJobScheduler`:
|
|
106
|
-
*
|
|
107
|
-
* ```
|
|
108
|
-
* {
|
|
109
|
-
* "firstExecution": "2018-12-07T00:00:01-00:00",
|
|
110
|
-
* "recurrent": true,
|
|
111
|
-
* "monthly": { "day": 1, "hour": 10, "minute": 0 },
|
|
112
|
-
* "processID": "ac0405",
|
|
113
|
-
* "rangeExecutions: { "frequency": { "type": "hour", "value": 2 }, "rangeLimit": { "hour": 18, "minute": 0, "day": 20 } }
|
|
114
|
-
* }
|
|
115
|
-
* ```
|
|
116
|
-
*
|
|
117
|
-
* Caso queira que o componente carregue um agendamento já existente, deve ser incluído um parâmetro na rota chamado `id`.
|
|
118
|
-
*
|
|
119
|
-
* Exemplo de configuração de rota:
|
|
120
|
-
*
|
|
121
|
-
* ```
|
|
122
|
-
* RouterModule.forRoot([
|
|
123
|
-
* ...
|
|
124
|
-
* { path: 'edit/:id', component: ExampleJobSchedulerComponent },
|
|
125
|
-
* ...
|
|
126
|
-
* ],
|
|
127
|
-
* ```
|
|
128
|
-
*
|
|
129
|
-
* Baseado nisso, na inicialização do template será disparado uma requisição para buscar o recurso que será editado.
|
|
130
|
-
*
|
|
131
|
-
* ```
|
|
132
|
-
* GET {service-api}/{id}
|
|
133
|
-
* ```
|
|
134
|
-
*
|
|
135
|
-
* Ao atualizar o agendamento, será disparado um `PUT` com os dados preenchidos.
|
|
136
|
-
* Veja abaixo uma requisição `PUT` disparada, onde a propriedade *recurrent* e *daily* foram atualizadas:
|
|
137
|
-
*
|
|
138
|
-
* ```
|
|
139
|
-
* PUT {service-api}/{id}
|
|
140
|
-
* ```
|
|
141
|
-
*
|
|
142
|
-
* *Request payload* - estrutura de dados enviada no corpo da requisição conforme interface `PoJobScheduler`:
|
|
143
|
-
*
|
|
144
|
-
* ```
|
|
145
|
-
* {
|
|
146
|
-
* "firstExecution": "2018-12-07T00:00:01-00:00",
|
|
147
|
-
* "recurrent": true,
|
|
148
|
-
* "processID": "ac0405",
|
|
149
|
-
* "monthly": { "day": 1, "hour": 10, "minute": 0 },
|
|
150
|
-
* "processID": "ac0405",
|
|
151
|
-
* "rangeExecutions: { "frequency": { "type": "hour", "value": 2 }, "rangeLimit": { "hour": 18, "minute": 0, "day": 20 } }
|
|
152
|
-
* }
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
serviceApi;
|
|
156
|
-
/** Título da página. */
|
|
157
|
-
title;
|
|
158
|
-
/**
|
|
159
|
-
* Parâmetros que serão utilizados para criação e edição dos agendamentos.
|
|
160
|
-
*
|
|
161
|
-
* Ao utilizar esta propriedade, o componente não buscará automaticamente os parâmetros da API e o campo para preenchimento do processo não será exibido.
|
|
162
|
-
*
|
|
163
|
-
*/
|
|
164
|
-
parameters = [];
|
|
165
|
-
set value(value) {
|
|
166
|
-
this.model = this.poPageJobSchedulerService.convertToJobSchedulerInternal(value);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* @optional
|
|
170
|
-
*
|
|
171
|
-
* @description
|
|
172
|
-
*
|
|
173
|
-
* Define a orientação de exibição do `po-stepper`.
|
|
174
|
-
*
|
|
175
|
-
* > Quando não utilizada, segue o comportamento com base nas dimensões da tela.
|
|
176
|
-
*
|
|
177
|
-
* > Veja os valores válidos no *enum* [PoStepperOrientation](documentation/po-stepper#stepperOrientation).
|
|
178
|
-
*
|
|
179
|
-
*/
|
|
180
|
-
set stepperDefaultOrientation(value) {
|
|
181
|
-
this._orientation = Object.values(PoStepperOrientation).includes(value) ? value : undefined;
|
|
182
|
-
}
|
|
183
|
-
get stepperDefaultOrientation() {
|
|
184
|
-
return this._orientation;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* @optional
|
|
188
|
-
*
|
|
189
|
-
* @description
|
|
190
|
-
*
|
|
191
|
-
* Função chamada após realizar a confirmação da execução no PoPageJobScheduler.
|
|
192
|
-
* Permite alterar os valores do model do PoPageJobScheduler antes de realizar o envio para a Api.
|
|
193
|
-
*
|
|
194
|
-
* > Deve retornar um objeto do tipo `PoPageJobScheduler` para ser adicionado ao model do PoPageJobScheduler.
|
|
195
|
-
*
|
|
196
|
-
* > Ao ser disparada, a mesma receberá por parâmetro o model do PoPageJobScheduler de interface `PoJobSchedulerInternal`.
|
|
197
|
-
*
|
|
198
|
-
* O contexto da função que será chamada, será o mesmo que o do `PoPageJobScheduler`, então para poder alterar
|
|
199
|
-
* para o contexto do componente que o está utilizando, pode ser utilizado a propriedade `bind` do Javascript.
|
|
200
|
-
* Por exemplo, para a função `beforeSend`:
|
|
201
|
-
*
|
|
202
|
-
* ```
|
|
203
|
-
* <po-page-job-scheduler [p-service-api]="serviceApi" [p-parameters]="params" [p-before-send]="beforeSend.bind(this)">
|
|
204
|
-
* ...
|
|
205
|
-
* </po-page-job-scheduler>
|
|
206
|
-
* ```
|
|
207
|
-
*/
|
|
208
|
-
beforeSendAction;
|
|
209
|
-
/**
|
|
210
|
-
* @optional
|
|
211
|
-
*
|
|
212
|
-
* @description
|
|
213
|
-
*
|
|
214
|
-
* Define se o step `Agendamento` deve ser exibido como o último na sequência de steps
|
|
215
|
-
*
|
|
216
|
-
* > Aplicável apenas quando utilizado `PoJobSchedulerParametersTemplateDirective`
|
|
217
|
-
*/
|
|
218
|
-
stepExecutionLast;
|
|
219
|
-
/**
|
|
220
|
-
* @optional
|
|
221
|
-
*
|
|
222
|
-
* @description
|
|
223
|
-
*
|
|
224
|
-
* Evento disparado ao concluir o processo de agendamento com sucesso.
|
|
225
|
-
*/
|
|
226
|
-
success = new EventEmitter();
|
|
227
|
-
/**
|
|
228
|
-
* @optional
|
|
229
|
-
*
|
|
230
|
-
* @description
|
|
231
|
-
*
|
|
232
|
-
* Evento disparado ao ocorrer um erro impossibilitando a conclusão do agendamento.
|
|
233
|
-
* Para este evento será passado como parâmetro os detalhes do erro.
|
|
234
|
-
*/
|
|
235
|
-
error = new EventEmitter();
|
|
236
|
-
model = new PoPageJobSchedulerInternal();
|
|
237
|
-
_subscription = new Subscription();
|
|
238
|
-
_orientation;
|
|
239
|
-
constructor(poPageJobSchedulerService) {
|
|
240
|
-
this.poPageJobSchedulerService = poPageJobSchedulerService;
|
|
241
|
-
}
|
|
242
|
-
ngOnDestroy() {
|
|
243
|
-
this._subscription.unsubscribe();
|
|
244
|
-
}
|
|
245
|
-
loadData(id) {
|
|
246
|
-
if (!id) {
|
|
247
|
-
this.model = this.model || new PoPageJobSchedulerInternal();
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
this._subscription.add(this.poPageJobSchedulerService.getResource(id).subscribe((response) => {
|
|
251
|
-
this.model = response;
|
|
252
|
-
}, () => {
|
|
253
|
-
this.model = new PoPageJobSchedulerInternal();
|
|
254
|
-
}));
|
|
255
|
-
}
|
|
256
|
-
markAsDirtyInvalidControls(controls) {
|
|
257
|
-
for (const key in controls) {
|
|
258
|
-
if (controls.hasOwnProperty(key)) {
|
|
259
|
-
const control = controls[key];
|
|
260
|
-
if (control.invalid) {
|
|
261
|
-
control.markAsDirty();
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
static ɵfac = function PoPageJobSchedulerBaseComponent_Factory(t) { return new (t || PoPageJobSchedulerBaseComponent)(i0.ɵɵdirectiveInject(i1.PoPageJobSchedulerService)); };
|
|
267
|
-
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoPageJobSchedulerBaseComponent, inputs: { breadcrumb: [0, "p-breadcrumb", "breadcrumb"], serviceApi: [0, "p-service-api", "serviceApi"], title: [0, "p-title", "title"], parameters: [0, "p-parameters", "parameters"], value: [0, "p-value", "value"], stepperDefaultOrientation: [0, "p-orientation", "stepperDefaultOrientation"], beforeSendAction: [0, "p-before-send", "beforeSendAction"], stepExecutionLast: [0, "p-step-execution-last", "stepExecutionLast"] }, outputs: { success: "p-success", error: "p-error" } });
|
|
268
|
-
}
|
|
269
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerBaseComponent, [{
|
|
270
|
-
type: Directive
|
|
271
|
-
}], () => [{ type: i1.PoPageJobSchedulerService }], { breadcrumb: [{
|
|
272
|
-
type: Input,
|
|
273
|
-
args: ['p-breadcrumb']
|
|
274
|
-
}], serviceApi: [{
|
|
275
|
-
type: Input,
|
|
276
|
-
args: ['p-service-api']
|
|
277
|
-
}], title: [{
|
|
278
|
-
type: Input,
|
|
279
|
-
args: ['p-title']
|
|
280
|
-
}], parameters: [{
|
|
281
|
-
type: Input,
|
|
282
|
-
args: ['p-parameters']
|
|
283
|
-
}], value: [{
|
|
284
|
-
type: Input,
|
|
285
|
-
args: ['p-value']
|
|
286
|
-
}], stepperDefaultOrientation: [{
|
|
287
|
-
type: Input,
|
|
288
|
-
args: ['p-orientation']
|
|
289
|
-
}], beforeSendAction: [{
|
|
290
|
-
type: Input,
|
|
291
|
-
args: ['p-before-send']
|
|
292
|
-
}], stepExecutionLast: [{
|
|
293
|
-
type: Input,
|
|
294
|
-
args: ['p-step-execution-last']
|
|
295
|
-
}], success: [{
|
|
296
|
-
type: Output,
|
|
297
|
-
args: ['p-success']
|
|
298
|
-
}], error: [{
|
|
299
|
-
type: Output,
|
|
300
|
-
args: ['p-error']
|
|
301
|
-
}] }); })();
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFhLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFvQyxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUVwQzs7Ozs7Ozs7OztHQVVHO0FBRUgsTUFBTSxPQUFPLCtCQUErQjtJQTBPcEI7SUF6T3RCLGdEQUFnRDtJQUN6QixVQUFVLEdBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRWpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvSUc7SUFDcUIsVUFBVSxDQUFTO0lBRTNDLHdCQUF3QjtJQUNOLEtBQUssQ0FBUztJQUVoQzs7Ozs7T0FLRztJQUNvQixVQUFVLEdBQThCLEVBQUUsQ0FBQztJQUVsRSxJQUFzQixLQUFLLENBQUMsS0FBVTtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFFSCxJQUE0Qix5QkFBeUIsQ0FBQyxLQUEyQjtRQUMvRSxJQUFJLENBQUMsWUFBWSxHQUFTLE1BQU8sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDcUIsZ0JBQWdCLENBQTREO0lBRXBHOzs7Ozs7OztPQVFHO0lBQzZCLGlCQUFpQixDQUFVO0lBRTNEOzs7Ozs7T0FNRztJQUNrQixPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV2RDs7Ozs7OztPQU9HO0lBQ2dCLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRW5ELEtBQUssR0FBMkIsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO0lBRXpELGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ25DLFlBQVksQ0FBQztJQUVyQixZQUFzQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtJQUFHLENBQUM7SUFFOUUsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVTLFFBQVEsQ0FBQyxFQUFtQjtRQUNwQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1lBQzVELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUN0RCxDQUFDLFFBQWdDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN4QixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFUywwQkFBMEIsQ0FBQyxRQUE0QztRQUMvRSxLQUFLLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRTlCLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7eUZBNVFVLCtCQUErQjs2REFBL0IsK0JBQStCOztpRkFBL0IsK0JBQStCO2NBRDNDLFNBQVM7MERBR2UsVUFBVTtrQkFBaEMsS0FBSzttQkFBQyxjQUFjO1lBdUlHLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQUdKLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQVFPLFVBQVU7a0JBQWhDLEtBQUs7bUJBQUMsY0FBYztZQUVDLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUztZQWlCWSx5QkFBeUI7a0JBQXBELEtBQUs7bUJBQUMsZUFBZTtZQThCRSxnQkFBZ0I7a0JBQXZDLEtBQUs7bUJBQUMsZUFBZTtZQVdVLGlCQUFpQjtrQkFBaEQsS0FBSzttQkFBQyx1QkFBdUI7WUFTVCxPQUFPO2tCQUEzQixNQUFNO21CQUFDLFdBQVc7WUFVQSxLQUFLO2tCQUF2QixNQUFNO21CQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dCwgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvQnJlYWRjcnVtYiwgUG9EeW5hbWljRm9ybUZpZWxkLCBQb1N0ZXBwZXJPcmllbnRhdGlvbiB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWludGVybmFsJztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE8gYHBvLXBhZ2Utam9iLXNjaGVkdWxlcmAgw6kgdW1hIHDDoWdpbmEgcGFyYSBjcmlhw6fDo28gZSBhdHVhbGl6YcOnw6NvIGRlIGFnZW5kYW1lbnRvcyBkYSBleGVjdcOnw6NvIGRlIHByb2Nlc3NvcyAoSm9iIFNjaGVkdWxlciksXG4gKiBjb21vIHBvciBleGVtcGxvOiBhIGdlcmHDp8OjbyBkYSBmb2xoYSBkZSBwYWdhbWVudG8gZG9zIGZ1bmNpb27DoXJpb3MuXG4gKlxuICogUGFyYSB1dGlsaXphciBlc3RhIHDDoWdpbmEsIGJhc3RhIGluZm9ybWFyIG8gc2VydmnDp28gKGVuZHBvaW50KSBwYXJhIGNvbnN1bW8sXG4gKiBzZW0gYSBuZWNlc3NpZGFkZSBkZSBjcmlhciBjb21wb25lbnRlcyBlIHRyYXRhbWVudG9zIGRvcyBkYWRvcy5cbiAqXG4gKiBWZWphIG1haXMgc29icmUgb3MgcGFkcsO1ZXMgdXRpbGl6YWRvcyBuYXMgcmVxdWlzacOnw7VlcyBubyBbR3VpYSBkZSBpbXBsZW1lbnRhw6fDo28gZGUgQVBJc10oZ3VpZGVzL2FwaSkuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKiogT2JqZXRvIGNvbSBhcyBwcm9wcmllZGFkZXMgZG8gYnJlYWRjcnVtYi4gKi9cbiAgQElucHV0KCdwLWJyZWFkY3J1bWInKSBicmVhZGNydW1iPzogUG9CcmVhZGNydW1iID0geyBpdGVtczogW10gfTtcblxuICAvKipcbiAgICogRW5kcG9pbnQgdXNhZG8gcGVsbyBjb21wb25lbnRlIHBhcmEgYnVzY2EgZG9zIHByb2Nlc3NvcyBlIHBhcsOibWV0cm9zIHF1ZSBzZXLDo28gdXRpbGl6YWRvcyBwYXJhIGNyaWHDp8OjbyBlIGVkacOnw6NvIGRvcyBhZ2VuZGFtZW50b3MuXG4gICAqXG4gICAqICMjIyMgUHJvY2Vzc29zXG4gICAqXG4gICAqIE9zIHByb2Nlc3NvcyBzw6NvIGFzIHRhcmVmYXMgcXVlIGVzdGFyw6NvIGRpc3BvbsOtdmVpcyBwYXJhIG8gdXN1w6FyaW8gcG9kZXIgZmF6ZXIgb3MgYWdlbmRhbWVudG9zLlxuICAgKiBBbyBpbmljaWFsaXphciBvIGNvbXBvbmVudGUsIHNlcsOhIGZlaXRvIHVtYSByZXF1aXNpw6fDo28gYEdFVGAgcGFyYSBvIGVuZHBvaW50IGB7c2VydmljZS1hcGl9L3Byb2Nlc3Nlc2AsIHBhcmEgYnVzY2FyXG4gICAqIGVzc2EgbGlzdGEgZGUgcHJvY2Vzc29zLlxuICAgKlxuICAgKiBFc3RlIGVuZHBvaW50IGB7c2VydmljZS1hcGl9L3Byb2Nlc3Nlc2AgZGV2ZSByZXRvcm5hciB1bWEgbGlzdGEgZGUgb2JqZXRvcyBxdWUgc2VndWVtIGEgZGVmaW5pw6fDo28gZGUgZGFkb3MgYWJhaXhvOlxuICAgKlxuICAgKiBgYGBcbiAgICogR0VUIHtzZXJ2aWNlLWFwaX0vcHJvY2Vzc2VzXG4gICAqIGBgYFxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgIGl0ZW1zOiBbXG4gICAqICAgICB7IFwicHJvY2Vzc0lEXCI6IFwiYWM0ZlwiLCBcImRlc2NyaXB0aW9uXCI6IFwiR2VyYXIgZm9saGEgZGUgcGFnYW1lbnRvXCIgfSxcbiAgICogICAgIHsgXCJwcm9jZXNzSURcIjogXCJkZjZsXCIsIFwiZGVzY3JpcHRpb25cIjogXCJSZWxhdMOzcmlvIGRlIGltcG9zdG8gYSByZWNvbGhlclwiIH0sXG4gICAqICAgICB7IFwicHJvY2Vzc0lEXCI6IFwiZGszcFwiLCBcImRlc2NyaXB0aW9uXCI6IFwiVMOtdHVsb3MgZW0gYWJlcnRvXCIgfSxcbiAgICogICBdXG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqIERlc3RhIGZvcm1hIHNlcsOhIHJlbmRlcml6YWRvIHVtIGNvbXBvbmVudGUgcGFyYSBzZWxlY2lvbmFyIG8gcHJvY2Vzc28gZS9vdSBmaWx0csOhLWxvcy5cbiAgICpcbiAgICogUGFyYSByZWFsaXphciBvIGZpbHRybyBkZSBidXNjYSBkbyBwcm9jZXNzbywgc2Vyw6EgZmVpdGEgdW1hIHJlcXVpc2nDp8OjbyBlbnZpYW5kbyBvIGNvbnRlw7pkbyBkaWdpdGFkbyBuYSBidXNjYSBhdHJhdsOpcyBkb1xuICAgKiBwYXLDom1ldHJvIGBzZWFyY2hgLiBEYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIEdFVCB7c2VydmljZS1hcGl9L3Byb2Nlc3Nlcz9zZWFyY2g9cmVsYXRvcmlvXG4gICAqIGBgYFxuICAgKlxuICAgKiA+IFZlamEgbWFpcyBzb2JyZSBwYWdpbmHDp8OjbyBlIGZpbHRyb3Mgbm8gW0d1aWEgZGUgaW1wbGVtZW50YcOnw6NvIGRlIEFQSXNdKGd1aWRlcy9hcGkpLlxuICAgKiBDYXNvIHNlamEgaW5mb3JtYWRhIGEgcHJvcHJpZWRhZGUgYHAtcGFyYW1ldGVyc2AgbsOjbyBzZXLDo28gcmVhbGl6YWRhcyBhcyByZXF1aXNpw6fDtWVzIGRlIHByb2Nlc3NvcyBlIG5lbSBkZSBwYXJhbWV0cm9zIGF1dG9tYXRpY2FtZW50ZS5cbiAgICpcbiAgICogVGFtYsOpbSDDqSBwb3Nzw612ZWwgZmF6ZXIgdW0gYWdlbmRhbWVudG8gZGUgdW0gcHJvY2Vzc28gZXNwZWPDrWZpY28sIHNlbSBxdWUgc2VqYSBuZWNlc3PDoXJpbyB1bSBlbmRwb2ludCBwYXJhIGJ1c2NhIGRlc3Nlc1xuICAgKiBwcm9jZXNzb3MuIEVudMOjbywgY2FzbyBvIGVuZHBvaW50IGB7c2VydmljZS1hcGl9L3Byb2Nlc3Nlc2AgbsOjbyBzZWphIHbDoWxpZG8sIHNlcsOhIGFwcmVzZW50YWRvIHVtIGNhbXBvIGRlIGVudHJhZGEgZGVcbiAgICogdGV4dG8gcGFyYSBvIHVzdcOhcmlvIGluZm9ybWFyIGRpcmV0YW1lbnRlXG4gICAqIG8gKippZGVudGlmaWNhZG9yIGRvIHByb2Nlc3NvIC0gYHByb2Nlc3NJRGAqKiBlIGFvIHNhbHZhciBzZXLDoSBlbnZpYWRvIHVtIGBQT1NUYCBwYXJhIG8gZW5kcG9pbnQgZGlmaW5pZG8gYHNlcnZpY2VBcGlgIGNvbmZvcm1lIGFiYWl4bzpcbiAgICpcbiAgICogYGBgXG4gICAqIFBPU1Qge3NlcnZpY2UtYXBpfVxuICAgKiBgYGBcbiAgICpcbiAgICogKlJlcXVlc3QgcGF5bG9hZCogLSBlc3RydXR1cmEgZGUgZGFkb3MgZW52aWFkYSBubyBjb3JwbyBkYSByZXF1aXNpw6fDo28gY29uZm9ybWUgaW50ZXJmYWNlIGBQb0pvYlNjaGVkdWxlcmA6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAgXCJkYWlseVwiOiB7IFwiaG91clwiOiAxMCwgXCJtaW51dGVcIjogMTIgfSxcbiAgICogICBcImZpcnN0RXhlY3V0aW9uXCI6IFwiMjAxOC0xMi0wN1QwMDowMDowMS0wMDowMFwiLFxuICAgKiAgIFwicmVjdXJyZW50XCI6IHRydWUsXG4gICAqICAgXCJwcm9jZXNzSURcIjogXCJhYzA0MDVcIlxuICAgKiAgIC4uLlxuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBDYXNvIHNlamEgbmVjZXNzw6FyaW8gaW5mb3JtYXIgcGFyw6JtZXRyb3MgZSBhZGljaW9uYXIgY29uZmlndXJhw6fDtWVzIG5vIHByb2Nlc3NvIHNlbGVjaW9uYWRvLCBzZXLDoSByZWFsaXphZG8gdW0gYEdFVGBcbiAgICogY29tbyBleGVtcGxpZmljYWRvIGFiYWl4by4gT3MgcGFyw6JtZXRyb3MgZGV2ZW0gcmV0b3JuYXIgdW1hIGxpc3RhIGRlIG9iamV0b3MgcXVlIHNlZ3VlbSBhIGludGVyZmFjZVxuICAgKiBbUG9EeW5hbWljRm9ybUZpZWxkXSgvZG9jdW1lbnRhdGlvbi9wby1keW5hbWljLWZvcm0pLiBQb3LDqW0sIGNhc28gdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgcC1wYXJhbWV0ZXJzYCBvIGNvbXBvbmVudGUgbsOjb1xuICAgKiByZWFsaXphcsOhIGEgYnVzY2EgYXV0b23DoXRpY2EgZSBvIGNhbXBvIGRlIHByb2Nlc3NvcyBuw6NvIHNlcsOhIGV4aWJpZG8uXG4gICAqXG4gICAqIGBgYFxuICAgKiBHRVQge3NlcnZpY2UtYXBpfS9wcm9jZXNzZXMvOmlkL3BhcmFtZXRlcnNcbiAgICogLi4uXG4gICAqIHtcbiAgICogICBpdGVtczogW1xuICAgKiAgICAgeyBcInByb3BlcnR5XCI6IFwidmVuY2ltZW50b1wiLCB0eXBlOiBcImRhdGVcIiB9LFxuICAgKiAgICAgeyBcInByb3BlcnR5XCI6IFwiaW1wb3N0by1yZXRpZG9cIiwgXCJsYWJlbFwiOiBcIkltcG9zdG8gUmV0aWRvXCIsIHR5cGU6IFwiYm9vbGVhblwiIH1cbiAgICogICBdXG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqICMjIyMgU2FsdmFyIGUgQXR1YWxpemFyXG4gICAqXG4gICAqIFBhcmEgc2FsdmFyIG8gYWdlbmRhbWVudG8sIHNlcsOhIGZlaXRhIHVtYSByZXF1aXNpw6fDo28gZGUgY3JpYcOnw6NvLCBwYXNzYW5kbyBvcyB2YWxvcmVzIHByZWVuY2hpZG9zIHBlbG8gdXN1w6FyaW8gdmlhICpwYXlsb2FkKi5cbiAgICogQWJhaXhvIHVtYSByZXF1aXNpw6fDo28gYFBPU1RgIGRpc3BhcmFkYSwgb25kZSBhcyBwcm9wcmllZGFkZXMgZG8gKkpvYiBTY2hlZHVsZXIqIGZvcmFtIHByZWVuY2hpZGFzOlxuICAgKlxuICAgKiBgYGBcbiAgICogIFBPU1Qge3NlcnZpY2UtYXBpfVxuICAgKiBgYGBcbiAgICpcbiAgICogKlJlcXVlc3QgcGF5bG9hZCogLSBlc3RydXR1cmEgZGUgZGFkb3MgZW52aWFkYSBubyBjb3JwbyBkYSByZXF1aXNpw6fDo28gY29uZm9ybWUgaW50ZXJmYWNlIGBQb0pvYlNjaGVkdWxlcmA6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAgXCJmaXJzdEV4ZWN1dGlvblwiOiBcIjIwMTgtMTItMDdUMDA6MDA6MDEtMDA6MDBcIixcbiAgICogICBcInJlY3VycmVudFwiOiB0cnVlLFxuICAgKiAgIFwibW9udGhseVwiOiB7IFwiZGF5XCI6IDEsIFwiaG91clwiOiAxMCwgXCJtaW51dGVcIjogMCB9LFxuICAgKiAgIFwicHJvY2Vzc0lEXCI6IFwiYWMwNDA1XCIsXG4gICAqICAgXCJyYW5nZUV4ZWN1dGlvbnM6IHsgXCJmcmVxdWVuY3lcIjogeyBcInR5cGVcIjogXCJob3VyXCIsIFwidmFsdWVcIjogMiB9LCBcInJhbmdlTGltaXRcIjogeyBcImhvdXJcIjogMTgsIFwibWludXRlXCI6IDAsIFwiZGF5XCI6IDIwIH0gfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBDYXNvIHF1ZWlyYSBxdWUgbyBjb21wb25lbnRlIGNhcnJlZ3VlIHVtIGFnZW5kYW1lbnRvIGrDoSBleGlzdGVudGUsIGRldmUgc2VyIGluY2x1w61kbyB1bSBwYXLDom1ldHJvIG5hIHJvdGEgY2hhbWFkbyBgaWRgLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIGNvbmZpZ3VyYcOnw6NvIGRlIHJvdGE6XG4gICAqXG4gICAqIGBgYFxuICAgKiAgUm91dGVyTW9kdWxlLmZvclJvb3QoW1xuICAgKiAgICAuLi5cbiAgICogICAgeyBwYXRoOiAnZWRpdC86aWQnLCBjb21wb25lbnQ6IEV4YW1wbGVKb2JTY2hlZHVsZXJDb21wb25lbnQgfSxcbiAgICogICAgLi4uXG4gICAqICBdLFxuICAgKiBgYGBcbiAgICpcbiAgICogQmFzZWFkbyBuaXNzbywgbmEgaW5pY2lhbGl6YcOnw6NvIGRvIHRlbXBsYXRlIHNlcsOhIGRpc3BhcmFkbyB1bWEgcmVxdWlzacOnw6NvIHBhcmEgYnVzY2FyIG8gcmVjdXJzbyBxdWUgc2Vyw6EgZWRpdGFkby5cbiAgICpcbiAgICogYGBgXG4gICAqIEdFVCB7c2VydmljZS1hcGl9L3tpZH1cbiAgICogYGBgXG4gICAqXG4gICAqIEFvIGF0dWFsaXphciBvIGFnZW5kYW1lbnRvLCBzZXLDoSBkaXNwYXJhZG8gdW0gYFBVVGAgY29tIG9zIGRhZG9zIHByZWVuY2hpZG9zLlxuICAgKiBWZWphIGFiYWl4byB1bWEgcmVxdWlzacOnw6NvIGBQVVRgIGRpc3BhcmFkYSwgb25kZSBhIHByb3ByaWVkYWRlICpyZWN1cnJlbnQqIGUgKmRhaWx5KiBmb3JhbSBhdHVhbGl6YWRhczpcbiAgICpcbiAgICogYGBgXG4gICAqICBQVVQge3NlcnZpY2UtYXBpfS97aWR9XG4gICAqIGBgYFxuICAgKlxuICAgKiAqUmVxdWVzdCBwYXlsb2FkKiAtIGVzdHJ1dHVyYSBkZSBkYWRvcyBlbnZpYWRhIG5vIGNvcnBvIGRhIHJlcXVpc2nDp8OjbyBjb25mb3JtZSBpbnRlcmZhY2UgYFBvSm9iU2NoZWR1bGVyYDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogICBcImZpcnN0RXhlY3V0aW9uXCI6IFwiMjAxOC0xMi0wN1QwMDowMDowMS0wMDowMFwiLFxuICAgKiAgIFwicmVjdXJyZW50XCI6IHRydWUsXG4gICAqICAgXCJwcm9jZXNzSURcIjogXCJhYzA0MDVcIixcbiAgICogICBcIm1vbnRobHlcIjogeyBcImRheVwiOiAxLCBcImhvdXJcIjogMTAsIFwibWludXRlXCI6IDAgfSxcbiAgICogICBcInByb2Nlc3NJRFwiOiBcImFjMDQwNVwiLFxuICAgKiAgIFwicmFuZ2VFeGVjdXRpb25zOiB7IFwiZnJlcXVlbmN5XCI6IHsgXCJ0eXBlXCI6IFwiaG91clwiLCBcInZhbHVlXCI6IDIgfSwgXCJyYW5nZUxpbWl0XCI6IHsgXCJob3VyXCI6IDE4LCBcIm1pbnV0ZVwiOiAwLCBcImRheVwiOiAyMCB9IH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgncC1zZXJ2aWNlLWFwaScpIHNlcnZpY2VBcGk6IHN0cmluZztcblxuICAvKiogVMOtdHVsbyBkYSBww6FnaW5hLiAqL1xuICBASW5wdXQoJ3AtdGl0bGUnKSB0aXRsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXLDom1ldHJvcyBxdWUgc2Vyw6NvIHV0aWxpemFkb3MgcGFyYSBjcmlhw6fDo28gZSBlZGnDp8OjbyBkb3MgYWdlbmRhbWVudG9zLlxuICAgKlxuICAgKiBBbyB1dGlsaXphciBlc3RhIHByb3ByaWVkYWRlLCBvIGNvbXBvbmVudGUgbsOjbyBidXNjYXLDoSBhdXRvbWF0aWNhbWVudGUgb3MgcGFyw6JtZXRyb3MgZGEgQVBJIGUgbyBjYW1wbyBwYXJhIHByZWVuY2hpbWVudG8gZG8gcHJvY2Vzc28gbsOjbyBzZXLDoSBleGliaWRvLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCdwLXBhcmFtZXRlcnMnKSBwYXJhbWV0ZXJzOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+ID0gW107XG5cbiAgQElucHV0KCdwLXZhbHVlJykgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5wb1BhZ2VKb2JTY2hlZHVsZXJTZXJ2aWNlLmNvbnZlcnRUb0pvYlNjaGVkdWxlckludGVybmFsKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBhIG9yaWVudGHDp8OjbyBkZSBleGliacOnw6NvIGRvIGBwby1zdGVwcGVyYC5cbiAgICpcbiAgICogPiBRdWFuZG8gbsOjbyB1dGlsaXphZGEsIHNlZ3VlIG8gY29tcG9ydGFtZW50byBjb20gYmFzZSBuYXMgZGltZW5zw7VlcyBkYSB0ZWxhLlxuICAgKlxuICAgKiA+IFZlamEgb3MgdmFsb3JlcyB2w6FsaWRvcyBubyAqZW51bSogW1BvU3RlcHBlck9yaWVudGF0aW9uXShkb2N1bWVudGF0aW9uL3BvLXN0ZXBwZXIjc3RlcHBlck9yaWVudGF0aW9uKS5cbiAgICpcbiAgICovXG5cbiAgQElucHV0KCdwLW9yaWVudGF0aW9uJykgc2V0IHN0ZXBwZXJEZWZhdWx0T3JpZW50YXRpb24odmFsdWU6IFBvU3RlcHBlck9yaWVudGF0aW9uKSB7XG4gICAgdGhpcy5fb3JpZW50YXRpb24gPSAoPGFueT5PYmplY3QpLnZhbHVlcyhQb1N0ZXBwZXJPcmllbnRhdGlvbikuaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc3RlcHBlckRlZmF1bHRPcmllbnRhdGlvbigpOiBQb1N0ZXBwZXJPcmllbnRhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX29yaWVudGF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRnVuw6fDo28gY2hhbWFkYSBhcMOzcyByZWFsaXphciBhIGNvbmZpcm1hw6fDo28gZGEgZXhlY3XDp8OjbyBubyBQb1BhZ2VKb2JTY2hlZHVsZXIuXG4gICAqIFBlcm1pdGUgYWx0ZXJhciBvcyB2YWxvcmVzIGRvIG1vZGVsIGRvIFBvUGFnZUpvYlNjaGVkdWxlciBhbnRlcyBkZSByZWFsaXphciBvIGVudmlvIHBhcmEgYSBBcGkuXG4gICAqXG4gICAqID4gRGV2ZSByZXRvcm5hciB1bSBvYmpldG8gZG8gdGlwbyBgUG9QYWdlSm9iU2NoZWR1bGVyYCBwYXJhIHNlciBhZGljaW9uYWRvIGFvIG1vZGVsIGRvIFBvUGFnZUpvYlNjaGVkdWxlci5cbiAgICpcbiAgICogPiBBbyBzZXIgZGlzcGFyYWRhLCBhIG1lc21hIHJlY2ViZXLDoSBwb3IgcGFyw6JtZXRybyBvIG1vZGVsIGRvIFBvUGFnZUpvYlNjaGVkdWxlciBkZSBpbnRlcmZhY2UgYFBvSm9iU2NoZWR1bGVySW50ZXJuYWxgLlxuICAgKlxuICAgKiBPIGNvbnRleHRvIGRhIGZ1bsOnw6NvIHF1ZSBzZXLDoSBjaGFtYWRhLCBzZXLDoSBvIG1lc21vIHF1ZSBvIGRvIGBQb1BhZ2VKb2JTY2hlZHVsZXJgLCBlbnTDo28gcGFyYSBwb2RlciBhbHRlcmFyXG4gICAqIHBhcmEgbyBjb250ZXh0byBkbyBjb21wb25lbnRlIHF1ZSBvIGVzdMOhIHV0aWxpemFuZG8sIHBvZGUgc2VyIHV0aWxpemFkbyBhIHByb3ByaWVkYWRlIGBiaW5kYCBkbyBKYXZhc2NyaXB0LlxuICAgKiBQb3IgZXhlbXBsbywgcGFyYSBhIGZ1bsOnw6NvIGBiZWZvcmVTZW5kYDpcbiAgICpcbiAgICogYGBgXG4gICAqIDxwby1wYWdlLWpvYi1zY2hlZHVsZXIgW3Atc2VydmljZS1hcGldPVwic2VydmljZUFwaVwiIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1zXCIgW3AtYmVmb3JlLXNlbmRdPVwiYmVmb3JlU2VuZC5iaW5kKHRoaXMpXCI+XG4gICAqIC4uLlxuICAgKiA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlcj5cbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoJ3AtYmVmb3JlLXNlbmQnKSBiZWZvcmVTZW5kQWN0aW9uOiAobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwpID0+IFBvSm9iU2NoZWR1bGVySW50ZXJuYWw7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHNlIG8gc3RlcCBgQWdlbmRhbWVudG9gIGRldmUgc2VyIGV4aWJpZG8gY29tbyBvIMO6bHRpbW8gbmEgc2VxdcOqbmNpYSBkZSBzdGVwc1xuICAgKlxuICAgKiA+IEFwbGljw6F2ZWwgYXBlbmFzIHF1YW5kbyB1dGlsaXphZG8gYFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlYFxuICAgKi9cbiAgQElucHV0KCdwLXN0ZXAtZXhlY3V0aW9uLWxhc3QnKSBzdGVwRXhlY3V0aW9uTGFzdDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNvbmNsdWlyIG8gcHJvY2Vzc28gZGUgYWdlbmRhbWVudG8gY29tIHN1Y2Vzc28uXG4gICAqL1xuICBAT3V0cHV0KCdwLXN1Y2Nlc3MnKSBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBvY29ycmVyIHVtIGVycm8gaW1wb3NzaWJpbGl0YW5kbyBhIGNvbmNsdXPDo28gZG8gYWdlbmRhbWVudG8uXG4gICAqIFBhcmEgZXN0ZSBldmVudG8gc2Vyw6EgcGFzc2FkbyBjb21vIHBhcsOibWV0cm8gb3MgZGV0YWxoZXMgZG8gZXJyby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtZXJyb3InKSBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsID0gbmV3IFBvUGFnZUpvYlNjaGVkdWxlckludGVybmFsKCk7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIF9vcmllbnRhdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsb2FkRGF0YShpZDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgaWYgKCFpZCkge1xuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubW9kZWwgfHwgbmV3IFBvUGFnZUpvYlNjaGVkdWxlckludGVybmFsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5nZXRSZXNvdXJjZShpZCkuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGVsID0gcmVzcG9uc2U7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGVsID0gbmV3IFBvUGFnZUpvYlNjaGVkdWxlckludGVybmFsKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtBc0RpcnR5SW52YWxpZENvbnRyb2xzKGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9KSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gY29udHJvbHMpIHtcbiAgICAgIGlmIChjb250cm9scy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBjb250cm9sc1trZXldO1xuXG4gICAgICAgIGlmIChjb250cm9sLmludmFsaWQpIHtcbiAgICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|