@senior-gestao-pessoas/payroll-core 8.7.0 → 9.0.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/bundles/senior-gestao-pessoas-payroll-core.umd.js +3024 -10904
- package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
- package/components/workstationgroup-lookup/autocomplete.service.d.ts +31 -0
- package/esm2015/components/admission-draft-summary/admission-draft-summary.component.js +106 -0
- package/esm2015/components/admission-draft-summary/admission-draft-summary.module.js +17 -0
- package/esm2015/components/admission-draft-summary/admission-draft-summary.service.js +27 -0
- package/esm2015/components/admission-draft-summary/index.js +4 -0
- package/esm2015/components/block-ui/block-ui.component.js +19 -0
- package/esm2015/components/block-ui/block-ui.module.js +25 -0
- package/esm2015/components/block-ui/index.js +3 -0
- package/esm2015/components/breadcrumb/breadcrumb.component.js +76 -0
- package/esm2015/components/breadcrumb/breadcrumb.module.js +25 -0
- package/esm2015/components/breadcrumb/index.js +3 -0
- package/esm2015/components/control-messages-error/control-messages-error.component.js +28 -0
- package/esm2015/components/control-messages-error/control-messages-error.module.js +17 -0
- package/esm2015/components/control-messages-error/index.js +3 -0
- package/esm2015/components/custom-fields/custom-fields.component.js +32 -0
- package/esm2015/components/custom-fields/custom-fields.module.js +31 -0
- package/esm2015/components/custom-fields/index.js +3 -0
- package/esm2015/components/data-list/data-list.component.js +305 -0
- package/esm2015/components/data-list/data-list.module.js +28 -0
- package/esm2015/components/data-list/data-list.service.js +19 -0
- package/esm2015/components/data-list/entity-odata-response.js +26 -0
- package/esm2015/components/data-list/index.js +2 -0
- package/esm2015/components/data-list-rest/data-list-rest.component.js +239 -0
- package/esm2015/components/data-list-rest/data-list-rest.module.js +28 -0
- package/esm2015/components/data-list-rest/data-list-rest.service.js +19 -0
- package/esm2015/components/data-list-rest/index.js +2 -0
- package/esm2015/components/directives/directives.module.js +17 -0
- package/esm2015/components/directives/index.js +4 -0
- package/esm2015/components/directives/name-not-spaces.directive.js +31 -0
- package/esm2015/components/directives/only-number.directive.js +41 -0
- package/esm2015/components/employee-selector/employee-selector.component.js +65 -0
- package/esm2015/components/employee-selector/employee-selector.module.js +18 -0
- package/esm2015/components/employee-selector/index.js +3 -0
- package/esm2015/components/employee-summary/employee-summary.component.js +108 -0
- package/esm2015/components/employee-summary/employee-summary.module.js +17 -0
- package/esm2015/components/employee-summary/employee-summary.service.js +33 -0
- package/esm2015/components/employee-summary/index.js +4 -0
- package/esm2015/components/error-page/error-page.component.js +15 -0
- package/esm2015/components/error-page/error-page.module.js +16 -0
- package/esm2015/components/error-page/index.js +3 -0
- package/esm2015/components/field-validator/field-validator.component.js +40 -0
- package/esm2015/components/field-validator/field-validator.module.js +18 -0
- package/esm2015/components/field-validator/index.js +3 -0
- package/esm2015/components/file-upload/file-upload.component.js +135 -0
- package/esm2015/components/file-upload/file-upload.module.js +19 -0
- package/esm2015/components/file-upload/file-upload.service.js +44 -0
- package/esm2015/components/file-upload/index.js +3 -0
- package/esm2015/components/from-to/from-to.component.js +16 -0
- package/esm2015/components/from-to/from-to.module.js +19 -0
- package/esm2015/components/from-to/index.js +3 -0
- package/esm2015/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +332 -0
- package/esm2015/components/historical-bank-account/historical-bank-account.component.js +329 -0
- package/esm2015/components/historical-bank-account/historical-bank-account.module.js +56 -0
- package/esm2015/components/historical-bank-account/historical-bank-account.service.js +20 -0
- package/esm2015/components/historical-bank-account/index.js +4 -0
- package/esm2015/components/historical-bank-account-list/historical-bank-account-list.component.js +223 -0
- package/esm2015/components/historical-bank-account-list/historical-bank-account-list.module.js +39 -0
- package/esm2015/components/historical-bank-account-list/historical-bank-account-list.service.js +35 -0
- package/esm2015/components/historical-bank-account-list/index.js +4 -0
- package/esm2015/components/image-cropper/image-crop.component.js +146 -0
- package/esm2015/components/image-cropper/image-crop.module.js +39 -0
- package/esm2015/components/image-cropper/image-crop.service.js +88 -0
- package/esm2015/components/image-cropper/index.js +4 -0
- package/esm2015/components/input-date/index.js +3 -0
- package/esm2015/components/input-date/input-date.component.js +115 -0
- package/esm2015/components/input-date/input-date.module.js +17 -0
- package/esm2015/components/input-date-model/index.js +3 -0
- package/esm2015/components/input-date-model/input-date-model.component.js +100 -0
- package/esm2015/components/input-date-model/input-date-model.module.js +17 -0
- package/esm2015/components/input-rest-auto-complete/index.js +4 -0
- package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +303 -0
- package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.module.js +21 -0
- package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.service.js +20 -0
- package/esm2015/components/input-rest-auto-complete-employee/index.js +3 -0
- package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +190 -0
- package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +28 -0
- package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +20 -0
- package/esm2015/components/input-rest-auto-complete-employee-model/index.js +3 -0
- package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +179 -0
- package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +28 -0
- package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +20 -0
- package/esm2015/components/input-rest-auto-complete-enum/index.js +4 -0
- package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +146 -0
- package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +28 -0
- package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +23 -0
- package/esm2015/components/input-rest-auto-complete-jobposition/index.js +4 -0
- package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +173 -0
- package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +28 -0
- package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +20 -0
- package/esm2015/components/input-rest-auto-complete-model/index.js +3 -0
- package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +227 -0
- package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +28 -0
- package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +20 -0
- package/esm2015/components/input-rest-auto-complete-model-enum/index.js +3 -0
- package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +124 -0
- package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +28 -0
- package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +23 -0
- package/esm2015/components/list-rest/index.js +3 -0
- package/esm2015/components/list-rest/list-rest.component.js +117 -0
- package/esm2015/components/list-rest/list-rest.module.js +33 -0
- package/esm2015/components/list-rest/list-rest.service.js +23 -0
- package/esm2015/components/lookup/index.js +2 -0
- package/esm2015/components/lookup/lookup.component.js +324 -0
- package/esm2015/components/lookup/lookup.module.js +20 -0
- package/esm2015/components/lookup/lookup.service.js +52 -0
- package/esm2015/components/shared/http-client.service.js +165 -0
- package/esm2015/components/shared/shared.module.js +21 -0
- package/esm2015/components/spinner/index.js +3 -0
- package/esm2015/components/spinner/spinner-loader.component.js +12 -0
- package/esm2015/components/spinner/spinner-loader.module.js +23 -0
- package/esm2015/components/toast/index.js +4 -0
- package/esm2015/components/toast/toast.component.js +88 -0
- package/esm2015/components/toast/toast.module.js +20 -0
- package/esm2015/components/toast/toast.service.js +42 -0
- package/esm2015/components/type-admission/index.js +3 -0
- package/esm2015/components/type-admission/type-admission.module.js +14 -0
- package/esm2015/components/type-admission/type-admission.services.js +62 -0
- package/esm2015/components/utils/cnpj-validator.js +62 -0
- package/esm2015/components/utils/cpf-validator.js +45 -0
- package/esm2015/components/utils/date-validator/date-validators.js +144 -0
- package/esm2015/components/utils/helpers.js +476 -0
- package/esm2015/components/utils/validations.js +127 -0
- package/esm2015/components/vanilla/string-methods.js +22 -0
- package/esm2015/components/workstationgroup-lookup/autocomplete.service.js +111 -0
- package/esm2015/components/workstationgroup-lookup/index.js +3 -0
- package/esm2015/components/workstationgroup-lookup/lookup.service.js +142 -0
- package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.component.js +587 -0
- package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +48 -0
- package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.module.js +21 -0
- package/esm2015/core/entities/entity-odata-parameter.js +33 -0
- package/esm2015/core/entities/index.js +2 -0
- package/esm2015/core/enums/companyIndicationType.js +18 -0
- package/esm2015/core/enums/comparetype.enumeration.js +14 -0
- package/esm2015/core/enums/coreFieldType.js +5 -0
- package/esm2015/core/enums/direction.enumeration.js +6 -0
- package/esm2015/core/enums/httpRequestType.js +6 -0
- package/esm2015/core/enums/index.js +14 -0
- package/esm2015/core/enums/menu-type.enumeration.js +6 -0
- package/esm2015/core/enums/moduleType.js +22 -0
- package/esm2015/core/enums/operators.enumeration.js +14 -0
- package/esm2015/core/enums/parameter-type.enumeration.js +12 -0
- package/esm2015/core/enums/report-format.enumeration.js +12 -0
- package/esm2015/core/enums/report-stage.enumeration.js +12 -0
- package/esm2015/core/enums/serviceType.js +9 -0
- package/esm2015/core/enums/usingType.js +42 -0
- package/esm2015/core/interfaces/date-compare-options.js +1 -0
- package/esm2015/core/interfaces/date-validate-options.js +1 -0
- package/esm2015/core/interfaces/field-validators-object.js +1 -0
- package/esm2015/core/interfaces/index.js +1 -0
- package/esm2015/core/interfaces/pagination-data.js +1 -0
- package/esm2015/core/interfaces/report/domain-service.interface.js +1 -0
- package/esm2015/core/interfaces/report/generation-status.interface.js +1 -0
- package/esm2015/core/interfaces/report/get-parameters-out.interface.js +1 -0
- package/esm2015/core/interfaces/report/index.js +1 -0
- package/esm2015/core/interfaces/report/lookup-parameter.interface.js +1 -0
- package/esm2015/core/interfaces/report/parameter-def.interface.js +1 -0
- package/esm2015/core/interfaces/report/parameter-value.interface.js +1 -0
- package/esm2015/core/interfaces/report/report-header.interface.js +1 -0
- package/esm2015/core/interfaces/report/report-in.interface.js +1 -0
- package/esm2015/core/interfaces/report/report-menu.interface.js +1 -0
- package/esm2015/core/interfaces/report/report-out.interface.js +1 -0
- package/esm2015/core/interfaces/report/report.interface.js +1 -0
- package/esm2015/public_api.js +52 -58
- package/esm2015/senior-gestao-pessoas-payroll-core.js +19 -24
- package/esm2015/services/autocomplete-parameters.service.js +116 -0
- package/esm2015/services/company-indications.service.js +42 -0
- package/esm2015/services/form-comparator.service.js +99 -0
- package/esm2015/services/integration.service.js +19 -0
- package/esm2015/services/lookup-parameters.service.js +345 -0
- package/esm2015/services/permissions.service.js +89 -0
- package/esm2015/services/report.service.js +109 -0
- package/esm2015/services/services.module.js +29 -0
- package/esm2015/services/workflow-data.service.js +26 -0
- package/esm2015/services/workflow-integrator.service.js +248 -0
- package/esm5/components/admission-draft-summary/admission-draft-summary.component.js +109 -0
- package/esm5/components/admission-draft-summary/admission-draft-summary.module.js +20 -0
- package/esm5/components/admission-draft-summary/admission-draft-summary.service.js +28 -0
- package/esm5/components/admission-draft-summary/index.js +4 -0
- package/esm5/components/block-ui/block-ui.component.js +22 -0
- package/esm5/components/block-ui/block-ui.module.js +28 -0
- package/esm5/components/block-ui/index.js +3 -0
- package/esm5/components/breadcrumb/breadcrumb.component.js +79 -0
- package/esm5/components/breadcrumb/breadcrumb.module.js +28 -0
- package/esm5/components/breadcrumb/index.js +3 -0
- package/esm5/components/control-messages-error/control-messages-error.component.js +34 -0
- package/esm5/components/control-messages-error/control-messages-error.module.js +20 -0
- package/esm5/components/control-messages-error/index.js +3 -0
- package/esm5/components/custom-fields/custom-fields.component.js +33 -0
- package/esm5/components/custom-fields/custom-fields.module.js +34 -0
- package/esm5/components/custom-fields/index.js +3 -0
- package/esm5/components/data-list/data-list.component.js +338 -0
- package/esm5/components/data-list/data-list.module.js +31 -0
- package/esm5/components/data-list/data-list.service.js +20 -0
- package/esm5/components/data-list/entity-odata-response.js +40 -0
- package/esm5/components/data-list/index.js +2 -0
- package/esm5/components/data-list-rest/data-list-rest.component.js +264 -0
- package/esm5/components/data-list-rest/data-list-rest.module.js +31 -0
- package/esm5/components/data-list-rest/data-list-rest.service.js +20 -0
- package/esm5/components/data-list-rest/index.js +2 -0
- package/esm5/components/directives/directives.module.js +20 -0
- package/esm5/components/directives/index.js +4 -0
- package/esm5/components/directives/name-not-spaces.directive.js +32 -0
- package/esm5/components/directives/only-number.directive.js +42 -0
- package/esm5/components/employee-selector/employee-selector.component.js +75 -0
- package/esm5/components/employee-selector/employee-selector.module.js +21 -0
- package/esm5/components/employee-selector/index.js +3 -0
- package/esm5/components/employee-summary/employee-summary.component.js +111 -0
- package/esm5/components/employee-summary/employee-summary.module.js +20 -0
- package/esm5/components/employee-summary/employee-summary.service.js +34 -0
- package/esm5/components/employee-summary/index.js +4 -0
- package/esm5/components/error-page/error-page.component.js +17 -0
- package/esm5/components/error-page/error-page.module.js +19 -0
- package/esm5/components/error-page/index.js +3 -0
- package/esm5/components/field-validator/field-validator.component.js +42 -0
- package/esm5/components/field-validator/field-validator.module.js +21 -0
- package/esm5/components/field-validator/index.js +3 -0
- package/esm5/components/file-upload/file-upload.component.js +138 -0
- package/esm5/components/file-upload/file-upload.module.js +22 -0
- package/esm5/components/file-upload/file-upload.service.js +45 -0
- package/esm5/components/file-upload/index.js +3 -0
- package/esm5/components/from-to/from-to.component.js +18 -0
- package/esm5/components/from-to/from-to.module.js +22 -0
- package/esm5/components/from-to/index.js +3 -0
- package/esm5/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +353 -0
- package/esm5/components/historical-bank-account/historical-bank-account.component.js +363 -0
- package/esm5/components/historical-bank-account/historical-bank-account.module.js +59 -0
- package/esm5/components/historical-bank-account/historical-bank-account.service.js +22 -0
- package/esm5/components/historical-bank-account/index.js +4 -0
- package/esm5/components/historical-bank-account-list/historical-bank-account-list.component.js +243 -0
- package/esm5/components/historical-bank-account-list/historical-bank-account-list.module.js +42 -0
- package/esm5/components/historical-bank-account-list/historical-bank-account-list.service.js +37 -0
- package/esm5/components/historical-bank-account-list/index.js +4 -0
- package/esm5/components/image-cropper/image-crop.component.js +164 -0
- package/esm5/components/image-cropper/image-crop.module.js +41 -0
- package/esm5/components/image-cropper/image-crop.service.js +106 -0
- package/esm5/components/image-cropper/index.js +4 -0
- package/esm5/components/input-date/index.js +3 -0
- package/esm5/components/input-date/input-date.component.js +129 -0
- package/esm5/components/input-date/input-date.module.js +20 -0
- package/esm5/components/input-date-model/index.js +3 -0
- package/esm5/components/input-date-model/input-date-model.component.js +110 -0
- package/esm5/components/input-date-model/input-date-model.module.js +20 -0
- package/esm5/components/input-rest-auto-complete/index.js +4 -0
- package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +317 -0
- package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.module.js +24 -0
- package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.service.js +22 -0
- package/esm5/components/input-rest-auto-complete-employee/index.js +3 -0
- package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +192 -0
- package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +31 -0
- package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +21 -0
- package/esm5/components/input-rest-auto-complete-employee-model/index.js +3 -0
- package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +185 -0
- package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +31 -0
- package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +21 -0
- package/esm5/components/input-rest-auto-complete-enum/index.js +4 -0
- package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +162 -0
- package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +31 -0
- package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +24 -0
- package/esm5/components/input-rest-auto-complete-jobposition/index.js +4 -0
- package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +176 -0
- package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +31 -0
- package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +21 -0
- package/esm5/components/input-rest-auto-complete-model/index.js +3 -0
- package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +234 -0
- package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +31 -0
- package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +22 -0
- package/esm5/components/input-rest-auto-complete-model-enum/index.js +3 -0
- package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +130 -0
- package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +31 -0
- package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +24 -0
- package/esm5/components/list-rest/index.js +3 -0
- package/esm5/components/list-rest/list-rest.component.js +119 -0
- package/esm5/components/list-rest/list-rest.module.js +36 -0
- package/esm5/components/list-rest/list-rest.service.js +24 -0
- package/esm5/components/lookup/index.js +2 -0
- package/esm5/components/lookup/lookup.component.js +339 -0
- package/esm5/components/lookup/lookup.module.js +23 -0
- package/esm5/components/lookup/lookup.service.js +54 -0
- package/esm5/components/shared/http-client.service.js +179 -0
- package/esm5/components/shared/shared.module.js +22 -0
- package/esm5/components/spinner/index.js +3 -0
- package/esm5/components/spinner/spinner-loader.component.js +15 -0
- package/esm5/components/spinner/spinner-loader.module.js +26 -0
- package/esm5/components/toast/index.js +4 -0
- package/esm5/components/toast/toast.component.js +88 -0
- package/esm5/components/toast/toast.module.js +23 -0
- package/esm5/components/toast/toast.service.js +47 -0
- package/esm5/components/type-admission/index.js +3 -0
- package/esm5/components/type-admission/type-admission.module.js +17 -0
- package/esm5/components/type-admission/type-admission.services.js +75 -0
- package/esm5/components/utils/cnpj-validator.js +66 -0
- package/esm5/components/utils/cpf-validator.js +49 -0
- package/esm5/components/utils/date-validator/date-validators.js +149 -0
- package/esm5/components/utils/helpers.js +502 -0
- package/esm5/components/utils/validations.js +131 -0
- package/esm5/components/vanilla/string-methods.js +24 -0
- package/esm5/components/workstationgroup-lookup/autocomplete.service.js +124 -0
- package/esm5/components/workstationgroup-lookup/index.js +3 -0
- package/esm5/components/workstationgroup-lookup/lookup.service.js +147 -0
- package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.component.js +609 -0
- package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +50 -0
- package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.module.js +24 -0
- package/esm5/core/entities/entity-odata-parameter.js +47 -0
- package/esm5/core/entities/index.js +2 -0
- package/esm5/core/enums/companyIndicationType.js +18 -0
- package/esm5/core/enums/comparetype.enumeration.js +14 -0
- package/esm5/core/enums/coreFieldType.js +5 -0
- package/esm5/core/enums/direction.enumeration.js +6 -0
- package/esm5/core/enums/httpRequestType.js +6 -0
- package/esm5/core/enums/index.js +14 -0
- package/esm5/core/enums/menu-type.enumeration.js +6 -0
- package/esm5/core/enums/moduleType.js +22 -0
- package/esm5/core/enums/operators.enumeration.js +14 -0
- package/esm5/core/enums/parameter-type.enumeration.js +12 -0
- package/esm5/core/enums/report-format.enumeration.js +12 -0
- package/esm5/core/enums/report-stage.enumeration.js +12 -0
- package/esm5/core/enums/serviceType.js +9 -0
- package/esm5/core/enums/usingType.js +42 -0
- package/esm5/core/interfaces/date-compare-options.js +1 -0
- package/esm5/core/interfaces/date-validate-options.js +1 -0
- package/esm5/core/interfaces/field-validators-object.js +1 -0
- package/esm5/core/interfaces/index.js +1 -0
- package/esm5/core/interfaces/pagination-data.js +1 -0
- package/esm5/core/interfaces/report/domain-service.interface.js +1 -0
- package/esm5/core/interfaces/report/generation-status.interface.js +1 -0
- package/esm5/core/interfaces/report/get-parameters-out.interface.js +1 -0
- package/esm5/core/interfaces/report/index.js +1 -0
- package/esm5/core/interfaces/report/lookup-parameter.interface.js +1 -0
- package/esm5/core/interfaces/report/parameter-def.interface.js +1 -0
- package/esm5/core/interfaces/report/parameter-value.interface.js +1 -0
- package/esm5/core/interfaces/report/report-header.interface.js +1 -0
- package/esm5/core/interfaces/report/report-in.interface.js +1 -0
- package/esm5/core/interfaces/report/report-menu.interface.js +1 -0
- package/esm5/core/interfaces/report/report-out.interface.js +1 -0
- package/esm5/core/interfaces/report/report.interface.js +1 -0
- package/esm5/public_api.js +52 -58
- package/esm5/senior-gestao-pessoas-payroll-core.js +19 -24
- package/esm5/services/autocomplete-parameters.service.js +129 -0
- package/esm5/services/company-indications.service.js +43 -0
- package/esm5/services/form-comparator.service.js +119 -0
- package/esm5/services/integration.service.js +20 -0
- package/esm5/services/lookup-parameters.service.js +362 -0
- package/esm5/services/permissions.service.js +100 -0
- package/esm5/services/report.service.js +110 -0
- package/esm5/services/services.module.js +32 -0
- package/esm5/services/workflow-data.service.js +27 -0
- package/esm5/services/workflow-integrator.service.js +361 -0
- package/fesm2015/senior-gestao-pessoas-payroll-core.js +2939 -8866
- package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-payroll-core.js +2999 -10876
- package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/package.json +7 -1
- package/public_api.d.ts +52 -52
- package/senior-gestao-pessoas-payroll-core.d.ts +17 -17
- package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
- package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -203
- package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -20
- package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -59
- package/esm2015/lib/components/admission-draft-summary/index.js +0 -9
- package/esm2015/lib/components/block-ui/block-ui.component.js +0 -26
- package/esm2015/lib/components/block-ui/block-ui.module.js +0 -28
- package/esm2015/lib/components/block-ui/index.js +0 -8
- package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -151
- package/esm2015/lib/components/breadcrumb/breadcrumb.module.js +0 -28
- package/esm2015/lib/components/breadcrumb/index.js +0 -8
- package/esm2015/lib/components/control-messages-error/control-messages-error.component.js +0 -41
- package/esm2015/lib/components/control-messages-error/control-messages-error.module.js +0 -20
- package/esm2015/lib/components/control-messages-error/index.js +0 -8
- package/esm2015/lib/components/custom-fields/custom-fields.component.js +0 -65
- package/esm2015/lib/components/custom-fields/custom-fields.module.js +0 -34
- package/esm2015/lib/components/custom-fields/index.js +0 -8
- package/esm2015/lib/components/data-list/data-list.component.js +0 -456
- package/esm2015/lib/components/data-list/data-list.module.js +0 -31
- package/esm2015/lib/components/data-list/data-list.service.js +0 -38
- package/esm2015/lib/components/data-list/entity-odata-response.js +0 -72
- package/esm2015/lib/components/data-list/index.js +0 -7
- package/esm2015/lib/components/data-list-rest/data-list-rest.component.js +0 -354
- package/esm2015/lib/components/data-list-rest/data-list-rest.module.js +0 -31
- package/esm2015/lib/components/data-list-rest/data-list-rest.service.js +0 -38
- package/esm2015/lib/components/data-list-rest/index.js +0 -7
- package/esm2015/lib/components/directives/directives.module.js +0 -20
- package/esm2015/lib/components/directives/index.js +0 -9
- package/esm2015/lib/components/directives/name-not-spaces.directive.js +0 -59
- package/esm2015/lib/components/directives/only-number.directive.js +0 -60
- package/esm2015/lib/components/employee-selector/employee-selector.component.js +0 -145
- package/esm2015/lib/components/employee-selector/employee-selector.module.js +0 -21
- package/esm2015/lib/components/employee-selector/index.js +0 -8
- package/esm2015/lib/components/employee-summary/employee-summary.component.js +0 -200
- package/esm2015/lib/components/employee-summary/employee-summary.module.js +0 -20
- package/esm2015/lib/components/employee-summary/employee-summary.service.js +0 -74
- package/esm2015/lib/components/employee-summary/index.js +0 -9
- package/esm2015/lib/components/error-page/error-page.component.js +0 -23
- package/esm2015/lib/components/error-page/error-page.module.js +0 -19
- package/esm2015/lib/components/error-page/index.js +0 -8
- package/esm2015/lib/components/field-validator/field-validator.component.js +0 -64
- package/esm2015/lib/components/field-validator/field-validator.module.js +0 -21
- package/esm2015/lib/components/field-validator/index.js +0 -8
- package/esm2015/lib/components/file-upload/file-upload.component.js +0 -220
- package/esm2015/lib/components/file-upload/file-upload.module.js +0 -22
- package/esm2015/lib/components/file-upload/file-upload.service.js +0 -83
- package/esm2015/lib/components/file-upload/index.js +0 -8
- package/esm2015/lib/components/from-to/from-to.component.js +0 -25
- package/esm2015/lib/components/from-to/from-to.module.js +0 -22
- package/esm2015/lib/components/from-to/index.js +0 -8
- package/esm2015/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -514
- package/esm2015/lib/components/historical-bank-account/historical-bank-account.component.js +0 -542
- package/esm2015/lib/components/historical-bank-account/historical-bank-account.module.js +0 -59
- package/esm2015/lib/components/historical-bank-account/historical-bank-account.service.js +0 -40
- package/esm2015/lib/components/historical-bank-account/index.js +0 -9
- package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -359
- package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -42
- package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -62
- package/esm2015/lib/components/historical-bank-account-list/index.js +0 -9
- package/esm2015/lib/components/image-cropper/image-crop.component.js +0 -248
- package/esm2015/lib/components/image-cropper/image-crop.module.js +0 -38
- package/esm2015/lib/components/image-cropper/image-crop.service.js +0 -164
- package/esm2015/lib/components/image-cropper/index.js +0 -9
- package/esm2015/lib/components/input-date/index.js +0 -8
- package/esm2015/lib/components/input-date/input-date.component.js +0 -189
- package/esm2015/lib/components/input-date/input-date.module.js +0 -20
- package/esm2015/lib/components/input-date-model/index.js +0 -8
- package/esm2015/lib/components/input-date-model/input-date-model.component.js +0 -169
- package/esm2015/lib/components/input-date-model/input-date-model.module.js +0 -20
- package/esm2015/lib/components/input-rest-auto-complete/index.js +0 -9
- package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -444
- package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -24
- package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -40
- package/esm2015/lib/components/input-rest-auto-complete-employee/index.js +0 -8
- package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -263
- package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -31
- package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -40
- package/esm2015/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
- package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -253
- package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -31
- package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -40
- package/esm2015/lib/components/input-rest-auto-complete-enum/index.js +0 -9
- package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -209
- package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -31
- package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -44
- package/esm2015/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
- package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -254
- package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -31
- package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -40
- package/esm2015/lib/components/input-rest-auto-complete-model/index.js +0 -8
- package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -331
- package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -31
- package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -40
- package/esm2015/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
- package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -176
- package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -31
- package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -44
- package/esm2015/lib/components/list-rest/index.js +0 -8
- package/esm2015/lib/components/list-rest/list-rest.component.js +0 -192
- package/esm2015/lib/components/list-rest/list-rest.module.js +0 -36
- package/esm2015/lib/components/list-rest/list-rest.service.js +0 -48
- package/esm2015/lib/components/lookup/index.js +0 -7
- package/esm2015/lib/components/lookup/lookup.component.js +0 -471
- package/esm2015/lib/components/lookup/lookup.module.js +0 -23
- package/esm2015/lib/components/lookup/lookup.service.js +0 -91
- package/esm2015/lib/components/shared/http-client.service.js +0 -293
- package/esm2015/lib/components/shared/shared.module.js +0 -26
- package/esm2015/lib/components/spinner/index.js +0 -8
- package/esm2015/lib/components/spinner/spinner-loader.component.js +0 -15
- package/esm2015/lib/components/spinner/spinner-loader.module.js +0 -26
- package/esm2015/lib/components/toast/index.js +0 -9
- package/esm2015/lib/components/toast/toast.component.js +0 -156
- package/esm2015/lib/components/toast/toast.module.js +0 -23
- package/esm2015/lib/components/toast/toast.service.js +0 -76
- package/esm2015/lib/components/type-admission/index.js +0 -8
- package/esm2015/lib/components/type-admission/type-admission.module.js +0 -17
- package/esm2015/lib/components/type-admission/type-admission.services.js +0 -135
- package/esm2015/lib/components/utils/cnpj-validator.js +0 -82
- package/esm2015/lib/components/utils/cpf-validator.js +0 -76
- package/esm2015/lib/components/utils/date-validator/date-validators.js +0 -184
- package/esm2015/lib/components/utils/helpers.js +0 -737
- package/esm2015/lib/components/utils/validations.js +0 -237
- package/esm2015/lib/components/vanilla/string-methods.js +0 -37
- package/esm2015/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -175
- package/esm2015/lib/components/workstationgroup-lookup/index.js +0 -8
- package/esm2015/lib/components/workstationgroup-lookup/lookup.service.js +0 -254
- package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -832
- package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -193
- package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -24
- package/esm2015/lib/core/entities/entity-odata-parameter.js +0 -82
- package/esm2015/lib/core/entities/index.js +0 -7
- package/esm2015/lib/core/enums/companyIndicationType.js +0 -24
- package/esm2015/lib/core/enums/comparetype.enumeration.js +0 -16
- package/esm2015/lib/core/enums/coreFieldType.js +0 -11
- package/esm2015/lib/core/enums/direction.enumeration.js +0 -12
- package/esm2015/lib/core/enums/httpRequestType.js +0 -12
- package/esm2015/lib/core/enums/index.js +0 -19
- package/esm2015/lib/core/enums/menu-type.enumeration.js +0 -12
- package/esm2015/lib/core/enums/moduleType.js +0 -28
- package/esm2015/lib/core/enums/operators.enumeration.js +0 -20
- package/esm2015/lib/core/enums/parameter-type.enumeration.js +0 -18
- package/esm2015/lib/core/enums/report-format.enumeration.js +0 -18
- package/esm2015/lib/core/enums/report-stage.enumeration.js +0 -18
- package/esm2015/lib/core/enums/serviceType.js +0 -15
- package/esm2015/lib/core/enums/usingType.js +0 -48
- package/esm2015/lib/core/interfaces/date-compare-options.js +0 -19
- package/esm2015/lib/core/interfaces/date-validate-options.js +0 -17
- package/esm2015/lib/core/interfaces/field-validators-object.js +0 -20
- package/esm2015/lib/core/interfaces/index.js +0 -10
- package/esm2015/lib/core/interfaces/pagination-data.js +0 -18
- package/esm2015/lib/core/interfaces/report/domain-service.interface.js +0 -16
- package/esm2015/lib/core/interfaces/report/generation-status.interface.js +0 -22
- package/esm2015/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
- package/esm2015/lib/core/interfaces/report/index.js +0 -15
- package/esm2015/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
- package/esm2015/lib/core/interfaces/report/parameter-def.interface.js +0 -20
- package/esm2015/lib/core/interfaces/report/parameter-value.interface.js +0 -16
- package/esm2015/lib/core/interfaces/report/report-header.interface.js +0 -16
- package/esm2015/lib/core/interfaces/report/report-in.interface.js +0 -20
- package/esm2015/lib/core/interfaces/report/report-menu.interface.js +0 -18
- package/esm2015/lib/core/interfaces/report/report-out.interface.js +0 -14
- package/esm2015/lib/core/interfaces/report/report.interface.js +0 -48
- package/esm2015/lib/services/autocomplete-parameters.service.js +0 -180
- package/esm2015/lib/services/company-indications.service.js +0 -101
- package/esm2015/lib/services/form-comparator.service.js +0 -208
- package/esm2015/lib/services/integration.service.js +0 -37
- package/esm2015/lib/services/lookup-parameters.service.js +0 -557
- package/esm2015/lib/services/permissions.service.js +0 -218
- package/esm2015/lib/services/report.service.js +0 -161
- package/esm2015/lib/services/services.module.js +0 -32
- package/esm2015/lib/services/workflow-data.service.js +0 -57
- package/esm2015/lib/services/workflow-integrator.service.js +0 -416
- package/esm5/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -214
- package/esm5/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -24
- package/esm5/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -71
- package/esm5/lib/components/admission-draft-summary/index.js +0 -9
- package/esm5/lib/components/block-ui/block-ui.component.js +0 -30
- package/esm5/lib/components/block-ui/block-ui.module.js +0 -32
- package/esm5/lib/components/block-ui/index.js +0 -8
- package/esm5/lib/components/breadcrumb/breadcrumb.component.js +0 -170
- package/esm5/lib/components/breadcrumb/breadcrumb.module.js +0 -32
- package/esm5/lib/components/breadcrumb/index.js +0 -8
- package/esm5/lib/components/control-messages-error/control-messages-error.component.js +0 -48
- package/esm5/lib/components/control-messages-error/control-messages-error.module.js +0 -24
- package/esm5/lib/components/control-messages-error/index.js +0 -8
- package/esm5/lib/components/custom-fields/custom-fields.component.js +0 -70
- package/esm5/lib/components/custom-fields/custom-fields.module.js +0 -38
- package/esm5/lib/components/custom-fields/index.js +0 -8
- package/esm5/lib/components/data-list/data-list.component.js +0 -557
- package/esm5/lib/components/data-list/data-list.module.js +0 -35
- package/esm5/lib/components/data-list/data-list.service.js +0 -42
- package/esm5/lib/components/data-list/entity-odata-response.js +0 -83
- package/esm5/lib/components/data-list/index.js +0 -7
- package/esm5/lib/components/data-list-rest/data-list-rest.component.js +0 -414
- package/esm5/lib/components/data-list-rest/data-list-rest.module.js +0 -35
- package/esm5/lib/components/data-list-rest/data-list-rest.service.js +0 -42
- package/esm5/lib/components/data-list-rest/index.js +0 -7
- package/esm5/lib/components/directives/directives.module.js +0 -24
- package/esm5/lib/components/directives/index.js +0 -9
- package/esm5/lib/components/directives/name-not-spaces.directive.js +0 -66
- package/esm5/lib/components/directives/only-number.directive.js +0 -63
- package/esm5/lib/components/employee-selector/employee-selector.component.js +0 -168
- package/esm5/lib/components/employee-selector/employee-selector.module.js +0 -25
- package/esm5/lib/components/employee-selector/index.js +0 -8
- package/esm5/lib/components/employee-summary/employee-summary.component.js +0 -212
- package/esm5/lib/components/employee-summary/employee-summary.module.js +0 -24
- package/esm5/lib/components/employee-summary/employee-summary.service.js +0 -95
- package/esm5/lib/components/employee-summary/index.js +0 -9
- package/esm5/lib/components/error-page/error-page.component.js +0 -29
- package/esm5/lib/components/error-page/error-page.module.js +0 -23
- package/esm5/lib/components/error-page/index.js +0 -8
- package/esm5/lib/components/field-validator/field-validator.component.js +0 -74
- package/esm5/lib/components/field-validator/field-validator.module.js +0 -25
- package/esm5/lib/components/field-validator/index.js +0 -8
- package/esm5/lib/components/file-upload/file-upload.component.js +0 -261
- package/esm5/lib/components/file-upload/file-upload.module.js +0 -26
- package/esm5/lib/components/file-upload/file-upload.service.js +0 -99
- package/esm5/lib/components/file-upload/index.js +0 -8
- package/esm5/lib/components/from-to/from-to.component.js +0 -28
- package/esm5/lib/components/from-to/from-to.module.js +0 -26
- package/esm5/lib/components/from-to/index.js +0 -8
- package/esm5/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -657
- package/esm5/lib/components/historical-bank-account/historical-bank-account.component.js +0 -624
- package/esm5/lib/components/historical-bank-account/historical-bank-account.module.js +0 -63
- package/esm5/lib/components/historical-bank-account/historical-bank-account.service.js +0 -46
- package/esm5/lib/components/historical-bank-account/index.js +0 -9
- package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -402
- package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -46
- package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -68
- package/esm5/lib/components/historical-bank-account-list/index.js +0 -9
- package/esm5/lib/components/image-cropper/image-crop.component.js +0 -287
- package/esm5/lib/components/image-cropper/image-crop.module.js +0 -39
- package/esm5/lib/components/image-cropper/image-crop.service.js +0 -221
- package/esm5/lib/components/image-cropper/index.js +0 -9
- package/esm5/lib/components/input-date/index.js +0 -8
- package/esm5/lib/components/input-date/input-date.component.js +0 -218
- package/esm5/lib/components/input-date/input-date.module.js +0 -24
- package/esm5/lib/components/input-date-model/index.js +0 -8
- package/esm5/lib/components/input-date-model/input-date-model.component.js +0 -190
- package/esm5/lib/components/input-date-model/input-date-model.module.js +0 -24
- package/esm5/lib/components/input-rest-auto-complete/index.js +0 -9
- package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -497
- package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -28
- package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -46
- package/esm5/lib/components/input-rest-auto-complete-employee/index.js +0 -8
- package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -300
- package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -35
- package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -44
- package/esm5/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
- package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -291
- package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -35
- package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -44
- package/esm5/lib/components/input-rest-auto-complete-enum/index.js +0 -9
- package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -252
- package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -35
- package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -48
- package/esm5/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
- package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -302
- package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -35
- package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -44
- package/esm5/lib/components/input-rest-auto-complete-model/index.js +0 -8
- package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -379
- package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -35
- package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -46
- package/esm5/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
- package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -206
- package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -35
- package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -48
- package/esm5/lib/components/list-rest/index.js +0 -8
- package/esm5/lib/components/list-rest/list-rest.component.js +0 -219
- package/esm5/lib/components/list-rest/list-rest.module.js +0 -40
- package/esm5/lib/components/list-rest/list-rest.service.js +0 -57
- package/esm5/lib/components/lookup/index.js +0 -7
- package/esm5/lib/components/lookup/lookup.component.js +0 -600
- package/esm5/lib/components/lookup/lookup.module.js +0 -27
- package/esm5/lib/components/lookup/lookup.service.js +0 -94
- package/esm5/lib/components/shared/http-client.service.js +0 -355
- package/esm5/lib/components/shared/shared.module.js +0 -28
- package/esm5/lib/components/spinner/index.js +0 -8
- package/esm5/lib/components/spinner/spinner-loader.component.js +0 -19
- package/esm5/lib/components/spinner/spinner-loader.module.js +0 -30
- package/esm5/lib/components/toast/index.js +0 -9
- package/esm5/lib/components/toast/toast.component.js +0 -173
- package/esm5/lib/components/toast/toast.module.js +0 -27
- package/esm5/lib/components/toast/toast.service.js +0 -123
- package/esm5/lib/components/type-admission/index.js +0 -8
- package/esm5/lib/components/type-admission/type-admission.module.js +0 -21
- package/esm5/lib/components/type-admission/type-admission.services.js +0 -191
- package/esm5/lib/components/utils/cnpj-validator.js +0 -94
- package/esm5/lib/components/utils/cpf-validator.js +0 -98
- package/esm5/lib/components/utils/date-validator/date-validators.js +0 -289
- package/esm5/lib/components/utils/helpers.js +0 -763
- package/esm5/lib/components/utils/validations.js +0 -241
- package/esm5/lib/components/vanilla/string-methods.js +0 -42
- package/esm5/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -250
- package/esm5/lib/components/workstationgroup-lookup/index.js +0 -8
- package/esm5/lib/components/workstationgroup-lookup/lookup.service.js +0 -318
- package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -908
- package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -200
- package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -28
- package/esm5/lib/core/entities/entity-odata-parameter.js +0 -96
- package/esm5/lib/core/entities/index.js +0 -7
- package/esm5/lib/core/enums/companyIndicationType.js +0 -24
- package/esm5/lib/core/enums/comparetype.enumeration.js +0 -16
- package/esm5/lib/core/enums/coreFieldType.js +0 -11
- package/esm5/lib/core/enums/direction.enumeration.js +0 -12
- package/esm5/lib/core/enums/httpRequestType.js +0 -12
- package/esm5/lib/core/enums/index.js +0 -19
- package/esm5/lib/core/enums/menu-type.enumeration.js +0 -12
- package/esm5/lib/core/enums/moduleType.js +0 -28
- package/esm5/lib/core/enums/operators.enumeration.js +0 -20
- package/esm5/lib/core/enums/parameter-type.enumeration.js +0 -18
- package/esm5/lib/core/enums/report-format.enumeration.js +0 -18
- package/esm5/lib/core/enums/report-stage.enumeration.js +0 -18
- package/esm5/lib/core/enums/serviceType.js +0 -15
- package/esm5/lib/core/enums/usingType.js +0 -48
- package/esm5/lib/core/interfaces/date-compare-options.js +0 -19
- package/esm5/lib/core/interfaces/date-validate-options.js +0 -17
- package/esm5/lib/core/interfaces/field-validators-object.js +0 -20
- package/esm5/lib/core/interfaces/index.js +0 -10
- package/esm5/lib/core/interfaces/pagination-data.js +0 -18
- package/esm5/lib/core/interfaces/report/domain-service.interface.js +0 -16
- package/esm5/lib/core/interfaces/report/generation-status.interface.js +0 -22
- package/esm5/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
- package/esm5/lib/core/interfaces/report/index.js +0 -15
- package/esm5/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
- package/esm5/lib/core/interfaces/report/parameter-def.interface.js +0 -20
- package/esm5/lib/core/interfaces/report/parameter-value.interface.js +0 -16
- package/esm5/lib/core/interfaces/report/report-header.interface.js +0 -16
- package/esm5/lib/core/interfaces/report/report-in.interface.js +0 -20
- package/esm5/lib/core/interfaces/report/report-menu.interface.js +0 -18
- package/esm5/lib/core/interfaces/report/report-out.interface.js +0 -14
- package/esm5/lib/core/interfaces/report/report.interface.js +0 -48
- package/esm5/lib/services/autocomplete-parameters.service.js +0 -255
- package/esm5/lib/services/company-indications.service.js +0 -126
- package/esm5/lib/services/form-comparator.service.js +0 -278
- package/esm5/lib/services/integration.service.js +0 -40
- package/esm5/lib/services/lookup-parameters.service.js +0 -748
- package/esm5/lib/services/permissions.service.js +0 -253
- package/esm5/lib/services/report.service.js +0 -231
- package/esm5/lib/services/services.module.js +0 -36
- package/esm5/lib/services/workflow-data.service.js +0 -73
- package/esm5/lib/services/workflow-integrator.service.js +0 -715
- package/lib/components/workstationgroup-lookup/autocomplete.service.d.ts +0 -31
- /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.component.d.ts +0 -0
- /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.module.d.ts +0 -0
- /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.service.d.ts +0 -0
- /package/{lib/components → components}/admission-draft-summary/index.d.ts +0 -0
- /package/{lib/components → components}/block-ui/block-ui.component.d.ts +0 -0
- /package/{lib/components → components}/block-ui/block-ui.module.d.ts +0 -0
- /package/{lib/components → components}/block-ui/index.d.ts +0 -0
- /package/{lib/components → components}/breadcrumb/breadcrumb.component.d.ts +0 -0
- /package/{lib/components → components}/breadcrumb/breadcrumb.module.d.ts +0 -0
- /package/{lib/components → components}/breadcrumb/index.d.ts +0 -0
- /package/{lib/components → components}/control-messages-error/control-messages-error.component.d.ts +0 -0
- /package/{lib/components → components}/control-messages-error/control-messages-error.module.d.ts +0 -0
- /package/{lib/components → components}/control-messages-error/index.d.ts +0 -0
- /package/{lib/components → components}/custom-fields/custom-fields.component.d.ts +0 -0
- /package/{lib/components → components}/custom-fields/custom-fields.module.d.ts +0 -0
- /package/{lib/components → components}/custom-fields/index.d.ts +0 -0
- /package/{lib/components → components}/data-list/data-list.component.d.ts +0 -0
- /package/{lib/components → components}/data-list/data-list.module.d.ts +0 -0
- /package/{lib/components → components}/data-list/data-list.service.d.ts +0 -0
- /package/{lib/components → components}/data-list/entity-odata-response.d.ts +0 -0
- /package/{lib/components → components}/data-list/index.d.ts +0 -0
- /package/{lib/components → components}/data-list-rest/data-list-rest.component.d.ts +0 -0
- /package/{lib/components → components}/data-list-rest/data-list-rest.module.d.ts +0 -0
- /package/{lib/components → components}/data-list-rest/data-list-rest.service.d.ts +0 -0
- /package/{lib/components → components}/data-list-rest/index.d.ts +0 -0
- /package/{lib/components → components}/directives/directives.module.d.ts +0 -0
- /package/{lib/components → components}/directives/index.d.ts +0 -0
- /package/{lib/components → components}/directives/name-not-spaces.directive.d.ts +0 -0
- /package/{lib/components → components}/directives/only-number.directive.d.ts +0 -0
- /package/{lib/components → components}/employee-selector/employee-selector.component.d.ts +0 -0
- /package/{lib/components → components}/employee-selector/employee-selector.module.d.ts +0 -0
- /package/{lib/components → components}/employee-selector/index.d.ts +0 -0
- /package/{lib/components → components}/employee-summary/employee-summary.component.d.ts +0 -0
- /package/{lib/components → components}/employee-summary/employee-summary.module.d.ts +0 -0
- /package/{lib/components → components}/employee-summary/employee-summary.service.d.ts +0 -0
- /package/{lib/components → components}/employee-summary/index.d.ts +0 -0
- /package/{lib/components → components}/error-page/error-page.component.d.ts +0 -0
- /package/{lib/components → components}/error-page/error-page.module.d.ts +0 -0
- /package/{lib/components → components}/error-page/index.d.ts +0 -0
- /package/{lib/components → components}/field-validator/field-validator.component.d.ts +0 -0
- /package/{lib/components → components}/field-validator/field-validator.module.d.ts +0 -0
- /package/{lib/components → components}/field-validator/index.d.ts +0 -0
- /package/{lib/components → components}/file-upload/file-upload.component.d.ts +0 -0
- /package/{lib/components → components}/file-upload/file-upload.module.d.ts +0 -0
- /package/{lib/components → components}/file-upload/file-upload.service.d.ts +0 -0
- /package/{lib/components → components}/file-upload/index.d.ts +0 -0
- /package/{lib/components → components}/from-to/from-to.component.d.ts +0 -0
- /package/{lib/components → components}/from-to/from-to.module.d.ts +0 -0
- /package/{lib/components → components}/from-to/index.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account/historical-bank-account.component.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account/historical-bank-account.module.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account/historical-bank-account.service.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account/index.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.component.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.module.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.service.d.ts +0 -0
- /package/{lib/components → components}/historical-bank-account-list/index.d.ts +0 -0
- /package/{lib/components → components}/image-cropper/image-crop.component.d.ts +0 -0
- /package/{lib/components → components}/image-cropper/image-crop.module.d.ts +0 -0
- /package/{lib/components → components}/image-cropper/image-crop.service.d.ts +0 -0
- /package/{lib/components → components}/image-cropper/index.d.ts +0 -0
- /package/{lib/components → components}/input-date/index.d.ts +0 -0
- /package/{lib/components → components}/input-date/input-date.component.d.ts +0 -0
- /package/{lib/components → components}/input-date/input-date.module.d.ts +0 -0
- /package/{lib/components → components}/input-date-model/index.d.ts +0 -0
- /package/{lib/components → components}/input-date-model/input-date-model.component.d.ts +0 -0
- /package/{lib/components → components}/input-date-model/input-date-model.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete/index.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.service.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee/index.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee-model/index.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-enum/index.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-jobposition/index.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model/index.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.component.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.service.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model-enum/index.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.d.ts +0 -0
- /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.d.ts +0 -0
- /package/{lib/components → components}/list-rest/index.d.ts +0 -0
- /package/{lib/components → components}/list-rest/list-rest.component.d.ts +0 -0
- /package/{lib/components → components}/list-rest/list-rest.module.d.ts +0 -0
- /package/{lib/components → components}/list-rest/list-rest.service.d.ts +0 -0
- /package/{lib/components → components}/lookup/index.d.ts +0 -0
- /package/{lib/components → components}/lookup/lookup.component.d.ts +0 -0
- /package/{lib/components → components}/lookup/lookup.module.d.ts +0 -0
- /package/{lib/components → components}/lookup/lookup.service.d.ts +0 -0
- /package/{lib/components → components}/shared/http-client.service.d.ts +0 -0
- /package/{lib/components → components}/shared/shared.module.d.ts +0 -0
- /package/{lib/components → components}/spinner/index.d.ts +0 -0
- /package/{lib/components → components}/spinner/spinner-loader.component.d.ts +0 -0
- /package/{lib/components → components}/spinner/spinner-loader.module.d.ts +0 -0
- /package/{lib/components → components}/toast/index.d.ts +0 -0
- /package/{lib/components → components}/toast/toast.component.d.ts +0 -0
- /package/{lib/components → components}/toast/toast.module.d.ts +0 -0
- /package/{lib/components → components}/toast/toast.service.d.ts +0 -0
- /package/{lib/components → components}/type-admission/index.d.ts +0 -0
- /package/{lib/components → components}/type-admission/type-admission.module.d.ts +0 -0
- /package/{lib/components → components}/type-admission/type-admission.services.d.ts +0 -0
- /package/{lib/components → components}/utils/cnpj-validator.d.ts +0 -0
- /package/{lib/components → components}/utils/cpf-validator.d.ts +0 -0
- /package/{lib/components → components}/utils/date-validator/date-validators.d.ts +0 -0
- /package/{lib/components → components}/utils/helpers.d.ts +0 -0
- /package/{lib/components → components}/utils/validations.d.ts +0 -0
- /package/{lib/components → components}/vanilla/string-methods.d.ts +0 -0
- /package/{lib/components → components}/workstationgroup-lookup/index.d.ts +0 -0
- /package/{lib/components → components}/workstationgroup-lookup/lookup.service.d.ts +0 -0
- /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.component.d.ts +0 -0
- /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.dto.d.ts +0 -0
- /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.module.d.ts +0 -0
- /package/{lib/core → core}/entities/entity-odata-parameter.d.ts +0 -0
- /package/{lib/core → core}/entities/index.d.ts +0 -0
- /package/{lib/core → core}/enums/companyIndicationType.d.ts +0 -0
- /package/{lib/core → core}/enums/comparetype.enumeration.d.ts +0 -0
- /package/{lib/core → core}/enums/coreFieldType.d.ts +0 -0
- /package/{lib/core → core}/enums/direction.enumeration.d.ts +0 -0
- /package/{lib/core → core}/enums/httpRequestType.d.ts +0 -0
- /package/{lib/core → core}/enums/index.d.ts +0 -0
- /package/{lib/core → core}/enums/menu-type.enumeration.d.ts +0 -0
- /package/{lib/core → core}/enums/moduleType.d.ts +0 -0
- /package/{lib/core → core}/enums/operators.enumeration.d.ts +0 -0
- /package/{lib/core → core}/enums/parameter-type.enumeration.d.ts +0 -0
- /package/{lib/core → core}/enums/report-format.enumeration.d.ts +0 -0
- /package/{lib/core → core}/enums/report-stage.enumeration.d.ts +0 -0
- /package/{lib/core → core}/enums/serviceType.d.ts +0 -0
- /package/{lib/core → core}/enums/usingType.d.ts +0 -0
- /package/{lib/core → core}/interfaces/date-compare-options.d.ts +0 -0
- /package/{lib/core → core}/interfaces/date-validate-options.d.ts +0 -0
- /package/{lib/core → core}/interfaces/field-validators-object.d.ts +0 -0
- /package/{lib/core → core}/interfaces/index.d.ts +0 -0
- /package/{lib/core → core}/interfaces/pagination-data.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/domain-service.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/generation-status.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/get-parameters-out.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/index.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/lookup-parameter.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/parameter-def.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/parameter-value.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/report-header.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/report-in.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/report-menu.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/report-out.interface.d.ts +0 -0
- /package/{lib/core → core}/interfaces/report/report.interface.d.ts +0 -0
- /package/{lib/services → services}/autocomplete-parameters.service.d.ts +0 -0
- /package/{lib/services → services}/company-indications.service.d.ts +0 -0
- /package/{lib/services → services}/form-comparator.service.d.ts +0 -0
- /package/{lib/services → services}/integration.service.d.ts +0 -0
- /package/{lib/services → services}/lookup-parameters.service.d.ts +0 -0
- /package/{lib/services → services}/permissions.service.d.ts +0 -0
- /package/{lib/services → services}/report.service.d.ts +0 -0
- /package/{lib/services → services}/services.module.d.ts +0 -0
- /package/{lib/services → services}/workflow-data.service.d.ts +0 -0
- /package/{lib/services → services}/workflow-integrator.service.d.ts +0 -0
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Component, OnDestroy, OnInit, ViewChild, ElementRef, Input, Output, EventEmitter, AfterViewInit, ChangeDetectorRef, } from "@angular/core";
|
|
3
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
4
|
+
import { FieldType, FormField } from "@seniorsistemas/angular-components";
|
|
5
|
+
import * as moment_ from "moment";
|
|
6
|
+
import { now } from "moment";
|
|
7
|
+
import { Subject, BehaviorSubject } from "rxjs";
|
|
8
|
+
import { takeUntil } from "rxjs/operators";
|
|
9
|
+
import { ServiceType } from "../../core/enums";
|
|
10
|
+
import { invertFieldDate, getNowDate } from "../utils/helpers";
|
|
11
|
+
import { AutocompleteService } from "./autocomplete.service";
|
|
12
|
+
import { LookupService } from "./lookup.service";
|
|
13
|
+
import { WorkstationgroupLookupDto } from "./workstationgroup-lookup.dto";
|
|
14
|
+
var moment = moment_;
|
|
15
|
+
var WorkstationgroupLookupComponent = /** @class */ (function () {
|
|
16
|
+
function WorkstationgroupLookupComponent(translate, cd, autocompleteParametersService, lookupParametersService) {
|
|
17
|
+
var _this = this;
|
|
18
|
+
this.translate = translate;
|
|
19
|
+
this.cd = cd;
|
|
20
|
+
this.autocompleteParametersService = autocompleteParametersService;
|
|
21
|
+
this.lookupParametersService = lookupParametersService;
|
|
22
|
+
this.currentCompanyId = null;
|
|
23
|
+
this.currentCompanyName = null;
|
|
24
|
+
this.onSelect = new EventEmitter();
|
|
25
|
+
this.onClear = new EventEmitter();
|
|
26
|
+
this.onBlur = new EventEmitter();
|
|
27
|
+
this.companyBranchId = null;
|
|
28
|
+
this.lookupSuggestions = [];
|
|
29
|
+
this.searchGridData = [];
|
|
30
|
+
this.suggestionsObservable = new BehaviorSubject([]);
|
|
31
|
+
this.totalRecords = 0;
|
|
32
|
+
this.valueEnumShift = [
|
|
33
|
+
{
|
|
34
|
+
label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_FIRST_SHIFT"),
|
|
35
|
+
value: "0",
|
|
36
|
+
enum: "FIRST_SHIFT",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_SECOND_SHIFT"),
|
|
40
|
+
value: "1",
|
|
41
|
+
enum: "SECOND_SHIFT",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_THIRD_SHIFT"),
|
|
45
|
+
value: "2",
|
|
46
|
+
enum: "THIRD_SHIFT",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_FOURTH_SHIFT"),
|
|
50
|
+
value: "3",
|
|
51
|
+
enum: "FOURTH_SHIFT",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_MIXED"),
|
|
55
|
+
value: "4",
|
|
56
|
+
enum: "MIXED",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_GENERAL"),
|
|
60
|
+
value: "5",
|
|
61
|
+
enum: "GENERAL",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
this.concatFieldsName = [
|
|
65
|
+
new FormField({
|
|
66
|
+
name: "code",
|
|
67
|
+
label: this.translate.instant("hcm.payroll.code"),
|
|
68
|
+
type: FieldType.String,
|
|
69
|
+
}),
|
|
70
|
+
new FormField({
|
|
71
|
+
name: "name",
|
|
72
|
+
label: this.translate.instant("hcm.payroll.employees_addition_workstation"),
|
|
73
|
+
type: FieldType.String,
|
|
74
|
+
}),
|
|
75
|
+
];
|
|
76
|
+
this.concatName = [
|
|
77
|
+
new FormField({
|
|
78
|
+
name: "code",
|
|
79
|
+
label: this.translate.instant("hcm.payroll.code"),
|
|
80
|
+
type: FieldType.String,
|
|
81
|
+
}),
|
|
82
|
+
];
|
|
83
|
+
this.gridFields = [
|
|
84
|
+
new FormField({
|
|
85
|
+
name: "name",
|
|
86
|
+
label: this.translate.instant("hcm.payroll.employees_addition_workstation"),
|
|
87
|
+
type: FieldType.String,
|
|
88
|
+
}),
|
|
89
|
+
new FormField({
|
|
90
|
+
name: "manager",
|
|
91
|
+
label: this.translate.instant("hcm.payroll.workstation_form_lookup_search_manager_label"),
|
|
92
|
+
type: FieldType.String,
|
|
93
|
+
}),
|
|
94
|
+
];
|
|
95
|
+
this.searchFields = tslib_1.__spread(this.concatName, [
|
|
96
|
+
{
|
|
97
|
+
name: "name",
|
|
98
|
+
label: this.translate.instant("hcm.payroll.movimentation_name"),
|
|
99
|
+
type: FieldType.String,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: "headoffice",
|
|
103
|
+
type: FieldType.Autocomplete,
|
|
104
|
+
label: this.translate.instant("hcm.payroll.employees_company"),
|
|
105
|
+
dataKey: "id",
|
|
106
|
+
appendTo: "body",
|
|
107
|
+
fullWidth: true,
|
|
108
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
109
|
+
displayField: "companyname",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: "branchoffice",
|
|
113
|
+
type: FieldType.Autocomplete,
|
|
114
|
+
label: this.translate.instant("hcm.payroll.employees_addition_branch"),
|
|
115
|
+
dataKey: "id",
|
|
116
|
+
appendTo: "body",
|
|
117
|
+
fullWidth: true,
|
|
118
|
+
onRemove: function () { return _this.companyBranchId = null; },
|
|
119
|
+
onSelect: function (_a) {
|
|
120
|
+
var id = _a.id;
|
|
121
|
+
return _this.companyBranchId = id;
|
|
122
|
+
},
|
|
123
|
+
onSearch: function (val) {
|
|
124
|
+
_this.getAutocomplete("company", val ? { companyname: val, code: val } : null, "code", "companyname", { headquarter: _this.currentCompanyId ? _this.currentCompanyId : "not null" });
|
|
125
|
+
},
|
|
126
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
127
|
+
displayField: "companyname",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "manager",
|
|
131
|
+
type: FieldType.Autocomplete,
|
|
132
|
+
multiple: false,
|
|
133
|
+
label: this.translate.instant("hcm.payroll.workstation_form_lookup_search_manager_label"),
|
|
134
|
+
appendTo: "body",
|
|
135
|
+
fullWidth: true,
|
|
136
|
+
onSearch: function (val) {
|
|
137
|
+
_this.getAutocompleteQuery("autocompleteManager", {
|
|
138
|
+
valueSearch: val ? val : "",
|
|
139
|
+
companyId: { tableId: _this.currentCompanyId },
|
|
140
|
+
companyBranchId: { tableId: _this.companyBranchId ? _this.companyBranchId : "" },
|
|
141
|
+
});
|
|
142
|
+
},
|
|
143
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
144
|
+
displayField: "manager",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: "department",
|
|
148
|
+
type: FieldType.Autocomplete,
|
|
149
|
+
label: this.translate.instant("hcm.payroll.movimentation_historical_department_tab"),
|
|
150
|
+
dataKey: "id",
|
|
151
|
+
appendTo: "body",
|
|
152
|
+
fullWidth: true,
|
|
153
|
+
onSearch: function (val) {
|
|
154
|
+
_this.getAutocompleteQuery("autocompleteDepartmentQuery", {
|
|
155
|
+
searchText: val ? val : "",
|
|
156
|
+
companyId: _this.currentCompanyId,
|
|
157
|
+
referenceDate: moment(now()).format("YYYY-MM-DD"),
|
|
158
|
+
});
|
|
159
|
+
},
|
|
160
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
161
|
+
displayField: "name",
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
name: "costcenter",
|
|
165
|
+
type: FieldType.Autocomplete,
|
|
166
|
+
label: this.translate.instant("hcm.payroll.employees_addition_cost_center"),
|
|
167
|
+
dataKey: "id",
|
|
168
|
+
appendTo: "body",
|
|
169
|
+
fullWidth: true,
|
|
170
|
+
onSearch: function (val) {
|
|
171
|
+
_this.getAutocomplete("costcenter", val ? { name: val, code: val } : null, "code", "name", _this.currentCompanyId ? { company: _this.currentCompanyId } : null, true, ServiceType.ORGANIZATION_REGISTER);
|
|
172
|
+
},
|
|
173
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
174
|
+
displayField: "name",
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
name: "jobposition",
|
|
178
|
+
type: FieldType.Autocomplete,
|
|
179
|
+
multiple: true,
|
|
180
|
+
label: this.translate.instant("hcm.payroll.movimentation_historical_job_position_tab"),
|
|
181
|
+
dataKey: "tableId",
|
|
182
|
+
appendTo: "body",
|
|
183
|
+
fullWidth: true,
|
|
184
|
+
onSearch: function (val) {
|
|
185
|
+
_this.getAutocompleteQuery("autocompleteJobpositionQuery", {
|
|
186
|
+
searchText: val ? val : "",
|
|
187
|
+
companyId: _this.currentCompanyId,
|
|
188
|
+
creationDate: moment().format("YYYY-MM-DD"),
|
|
189
|
+
expirationDate: moment().format("YYYY-MM-DD"),
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
193
|
+
displayField: "name",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
name: "syndicate",
|
|
197
|
+
type: FieldType.Autocomplete,
|
|
198
|
+
label: this.translate.instant("hcm.payroll.employees_addition_syndicate"),
|
|
199
|
+
dataKey: "id",
|
|
200
|
+
appendTo: "body",
|
|
201
|
+
fullWidth: true,
|
|
202
|
+
onSearch: function (val) {
|
|
203
|
+
_this.getAutocomplete("syndicate", val ? { name: val, code: val } : null, "code", "name");
|
|
204
|
+
},
|
|
205
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
206
|
+
displayField: "name",
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: "workshiftScale",
|
|
210
|
+
type: FieldType.Enum,
|
|
211
|
+
label: this.translate.instant("hcm.payroll.SHIFT"),
|
|
212
|
+
showClear: true,
|
|
213
|
+
size: { md: 12 },
|
|
214
|
+
onChange: function () {
|
|
215
|
+
_this.resetDependenciesOfShift(true);
|
|
216
|
+
},
|
|
217
|
+
options: this.valueEnumShift,
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
name: "workshiftId",
|
|
221
|
+
type: FieldType.Autocomplete,
|
|
222
|
+
label: this.translate.instant("hcm.payroll.employees_addition_scale"),
|
|
223
|
+
dataKey: "id",
|
|
224
|
+
appendTo: "body",
|
|
225
|
+
fullWidth: true,
|
|
226
|
+
onSearch: function (val) {
|
|
227
|
+
_this.getAutocomplete("workshift", val ? { description: val, code: val } : null, "code", "description", _this.workstationFilterForm.get("workshiftScale").value ?
|
|
228
|
+
{ workshiftScale: _this.valueEnumShift[_this.workstationFilterForm.get("workshiftScale").value].enum } : null);
|
|
229
|
+
},
|
|
230
|
+
onSelect: function () {
|
|
231
|
+
_this.resetDependenciesOfShift();
|
|
232
|
+
},
|
|
233
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
234
|
+
displayField: "description",
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
name: "workshiftGroupId",
|
|
238
|
+
type: FieldType.Autocomplete,
|
|
239
|
+
label: this.translate.instant("hcm.payroll.employees_addition_workshift-group"),
|
|
240
|
+
dataKey: "id",
|
|
241
|
+
appendTo: "body",
|
|
242
|
+
fullWidth: true,
|
|
243
|
+
onSearch: function (val) {
|
|
244
|
+
_this.getAutocomplete("workshiftGroup", val ? { code: val } : null, "code", "baseDate", _this.workstationFilterForm.get("workshiftId").value ?
|
|
245
|
+
{ workshift: _this.workstationFilterForm.get("workshiftId").value.id } : null);
|
|
246
|
+
},
|
|
247
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
248
|
+
displayField: "baseDate",
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: "intervalGroupId",
|
|
252
|
+
type: FieldType.Autocomplete,
|
|
253
|
+
label: this.translate.instant("hcm.payroll.employees_addition_class_interval"),
|
|
254
|
+
dataKey: "id",
|
|
255
|
+
appendTo: "body",
|
|
256
|
+
fullWidth: true,
|
|
257
|
+
onSearch: function (val) {
|
|
258
|
+
_this.getAutocomplete("intervalGroup", val ? { description: val, code: val } : null, "code", "description", _this.workstationFilterForm.get("workshiftId").value ?
|
|
259
|
+
{ workshift: _this.workstationFilterForm.get("workshiftId").value.id } : null);
|
|
260
|
+
},
|
|
261
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
262
|
+
displayField: "description",
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
name: "scaleTeamId",
|
|
266
|
+
type: FieldType.Autocomplete,
|
|
267
|
+
label: this.translate.instant("hcm.payroll.employees_addition_scale_team"),
|
|
268
|
+
dataKey: "id",
|
|
269
|
+
appendTo: "body",
|
|
270
|
+
fullWidth: true,
|
|
271
|
+
onSearch: function (val) {
|
|
272
|
+
_this.getAutocomplete("scaleTeam", val ? { name: val, code: val } : null, "code", "name");
|
|
273
|
+
},
|
|
274
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
275
|
+
displayField: "name",
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
name: "scaleCategoryId",
|
|
279
|
+
type: FieldType.Autocomplete,
|
|
280
|
+
label: this.translate.instant("hcm.payroll.employees_addition_scale_category"),
|
|
281
|
+
dataKey: "id",
|
|
282
|
+
appendTo: "body",
|
|
283
|
+
fullWidth: true,
|
|
284
|
+
onSearch: function (val) {
|
|
285
|
+
_this.getAutocomplete("scaleCategory", val ? { name: val, code: val } : null, "code", "name");
|
|
286
|
+
},
|
|
287
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
288
|
+
displayField: "name",
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: "employmentRelationshipId",
|
|
292
|
+
type: FieldType.Autocomplete,
|
|
293
|
+
label: this.translate.instant("hcm.payroll.employees_addition_employment_relationship"),
|
|
294
|
+
dataKey: "id",
|
|
295
|
+
appendTo: "body",
|
|
296
|
+
fullWidth: true,
|
|
297
|
+
onSearch: function (val) {
|
|
298
|
+
_this.getAutocomplete("employmentRelationship", val ? { name: val, code: val } : null, "code", "name");
|
|
299
|
+
},
|
|
300
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
301
|
+
displayField: "name",
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
name: "contractType",
|
|
305
|
+
type: FieldType.Enum,
|
|
306
|
+
label: this.translate.instant("hcm.payroll.employees_temporary_contract_temporary_contract_type"),
|
|
307
|
+
showClear: true,
|
|
308
|
+
size: { md: 12 },
|
|
309
|
+
options: [
|
|
310
|
+
{
|
|
311
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Employee"),
|
|
312
|
+
value: "0",
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Manager"),
|
|
316
|
+
value: 1,
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_FarmWorker"),
|
|
320
|
+
value: 2,
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Retired"),
|
|
324
|
+
value: 3,
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Trainee"),
|
|
328
|
+
value: 4,
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Apprentice"),
|
|
332
|
+
value: 5,
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_FixedDueDate"),
|
|
336
|
+
value: 6,
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_RetiredManager"),
|
|
340
|
+
value: 7,
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_PublicAgent"),
|
|
344
|
+
value: 8,
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Teacher"),
|
|
348
|
+
value: 9,
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_CooperativeWorker"),
|
|
352
|
+
value: 10,
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_DomesticWorker"),
|
|
356
|
+
value: 11,
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_TeacherFixedDueDate"),
|
|
360
|
+
value: 12,
|
|
361
|
+
},
|
|
362
|
+
],
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
name: "expenseNatureId",
|
|
366
|
+
type: FieldType.Autocomplete,
|
|
367
|
+
label: this.translate.instant("hcm.payroll.employees_addition_expense_nature"),
|
|
368
|
+
dataKey: "id",
|
|
369
|
+
appendTo: "body",
|
|
370
|
+
fullWidth: true,
|
|
371
|
+
onSearch: function (val) {
|
|
372
|
+
_this.getAutocomplete("expenseNature", val ? { name: val, code: val } : null, "code", "name");
|
|
373
|
+
},
|
|
374
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
375
|
+
displayField: "name",
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
name: "allowDeficient",
|
|
379
|
+
type: FieldType.Enum,
|
|
380
|
+
label: this.translate.instant("hcm.payroll.allow_deficient"),
|
|
381
|
+
showClear: true,
|
|
382
|
+
size: { md: 12 },
|
|
383
|
+
options: [
|
|
384
|
+
{
|
|
385
|
+
label: this.translate.instant("hcm.payroll.enum_DecisionPcD_No"),
|
|
386
|
+
value: "0",
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
label: this.translate.instant("hcm.payroll.enum_DecisionPcD_Also"),
|
|
390
|
+
value: 1,
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
label: this.translate.instant("hcm.payroll.enum_DecisionPcD_Only"),
|
|
394
|
+
value: 2,
|
|
395
|
+
},
|
|
396
|
+
],
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
name: "disabilityIds",
|
|
400
|
+
type: FieldType.Autocomplete,
|
|
401
|
+
multiple: true,
|
|
402
|
+
label: this.translate.instant("hcm.payroll.employees_addition_disability"),
|
|
403
|
+
dataKey: "id",
|
|
404
|
+
appendTo: "body",
|
|
405
|
+
fullWidth: true,
|
|
406
|
+
// visible: () => Number(this.workstationFilterForm.get('allowDeficient').value),
|
|
407
|
+
onSearch: function (val) {
|
|
408
|
+
_this.getAutocomplete("disability", val ? { name: val, code: val } : null, "code", "name");
|
|
409
|
+
},
|
|
410
|
+
suggestionsObservable: this.suggestionsObservable,
|
|
411
|
+
displayField: "name",
|
|
412
|
+
},
|
|
413
|
+
]);
|
|
414
|
+
this.ngUnsubscribe = new Subject();
|
|
415
|
+
}
|
|
416
|
+
WorkstationgroupLookupComponent.prototype.ngOnInit = function () {
|
|
417
|
+
};
|
|
418
|
+
WorkstationgroupLookupComponent.prototype.ngOnDestroy = function () {
|
|
419
|
+
this.ngUnsubscribe.next();
|
|
420
|
+
this.ngUnsubscribe.complete();
|
|
421
|
+
};
|
|
422
|
+
WorkstationgroupLookupComponent.prototype.ngAfterViewInit = function () {
|
|
423
|
+
this.cd.detectChanges();
|
|
424
|
+
var companyForm = this.workstationFilterForm.get("headoffice");
|
|
425
|
+
companyForm.setValue({ id: this.currentCompanyId, companyname: this.currentCompanyName });
|
|
426
|
+
companyForm.disable();
|
|
427
|
+
};
|
|
428
|
+
Object.defineProperty(WorkstationgroupLookupComponent.prototype, "workstationFilterForm", {
|
|
429
|
+
get: function () {
|
|
430
|
+
return this.workstationgroupEl && this.workstationgroupEl["formGroupDialog"];
|
|
431
|
+
},
|
|
432
|
+
enumerable: true,
|
|
433
|
+
configurable: true
|
|
434
|
+
});
|
|
435
|
+
WorkstationgroupLookupComponent.prototype.selectOption = function (option) {
|
|
436
|
+
this.onSelect.emit(option);
|
|
437
|
+
};
|
|
438
|
+
WorkstationgroupLookupComponent.prototype.onClearItem = function (option) {
|
|
439
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
440
|
+
return tslib_1.__generator(this, function (_a) {
|
|
441
|
+
switch (_a.label) {
|
|
442
|
+
case 0: return [4 /*yield*/, this.onClear.emit(option)];
|
|
443
|
+
case 1:
|
|
444
|
+
_a.sent();
|
|
445
|
+
this.form.get(this.name).reset();
|
|
446
|
+
return [2 /*return*/];
|
|
447
|
+
}
|
|
448
|
+
});
|
|
449
|
+
});
|
|
450
|
+
};
|
|
451
|
+
WorkstationgroupLookupComponent.prototype.resetDependenciesOfShift = function (isShift) {
|
|
452
|
+
if (isShift === void 0) { isShift = false; }
|
|
453
|
+
if (isShift) {
|
|
454
|
+
this.workstationFilterForm.get("workshiftId").reset();
|
|
455
|
+
}
|
|
456
|
+
this.workstationFilterForm.get("workshiftGroupId").reset();
|
|
457
|
+
this.workstationFilterForm.get("intervalGroupId").reset();
|
|
458
|
+
};
|
|
459
|
+
WorkstationgroupLookupComponent.prototype.searchRequest = function ($event) {
|
|
460
|
+
var _this = this;
|
|
461
|
+
var endpoint = "hcm/payroll/queries/workstationgroupFilterQuery";
|
|
462
|
+
var company = this.workstationFilterForm.get("headoffice");
|
|
463
|
+
var isLookupOpen = $event && $event.filterData;
|
|
464
|
+
company.setValue({
|
|
465
|
+
id: this.currentCompanyId,
|
|
466
|
+
companyname: this.currentCompanyName,
|
|
467
|
+
});
|
|
468
|
+
$event = tslib_1.__assign({}, this.getValueEvent($event, isLookupOpen));
|
|
469
|
+
var referenceDate = this.getHireDate().replace(/\'/g, "");
|
|
470
|
+
var filter = new WorkstationgroupLookupDto($event, referenceDate);
|
|
471
|
+
this.lookupParametersService.lookupRequestPost(filter.getToFilter(), endpoint, tslib_1.__spread(this.concatFieldsName), "name")
|
|
472
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
473
|
+
.subscribe(function (data) {
|
|
474
|
+
if (isLookupOpen) {
|
|
475
|
+
_this.searchGridData = data && tslib_1.__spread(data.contents);
|
|
476
|
+
}
|
|
477
|
+
else {
|
|
478
|
+
_this.lookupSuggestions = data && tslib_1.__spread(data.contents);
|
|
479
|
+
}
|
|
480
|
+
_this.totalRecords = data && data.totalPages;
|
|
481
|
+
});
|
|
482
|
+
};
|
|
483
|
+
WorkstationgroupLookupComponent.prototype.getValueEvent = function ($event, isLookupOpen) {
|
|
484
|
+
if (isLookupOpen) {
|
|
485
|
+
$event.filterData.headoffice = this.currentCompanyId;
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
$event = {
|
|
489
|
+
filterData: {
|
|
490
|
+
headoffice: this.currentCompanyId,
|
|
491
|
+
searchText: $event
|
|
492
|
+
},
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
return $event;
|
|
496
|
+
};
|
|
497
|
+
WorkstationgroupLookupComponent.prototype.getAutocompleteQuery = function (nameQuery, searchValue) {
|
|
498
|
+
var _this = this;
|
|
499
|
+
this.autocompleteParametersService.getAutoCompleteQuery(nameQuery, searchValue)
|
|
500
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
501
|
+
.subscribe(function (data) {
|
|
502
|
+
if (nameQuery === "autocompleteDepartmentQuery") {
|
|
503
|
+
data.filter(function (field) {
|
|
504
|
+
if (field.fields && field.fields[0]) {
|
|
505
|
+
field["name"] = field.fields[1].value + " - " + field.fields[0].value;
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
else if (nameQuery === "autocompleteJobpositionQuery") {
|
|
510
|
+
data.filter(function (field) {
|
|
511
|
+
if (field.fields && field.fields[0] && field.fields[1]) {
|
|
512
|
+
field["name"] = field.fields[0].value + " - " + field.fields[1].value;
|
|
513
|
+
}
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
else if (nameQuery === "autocompleteManager") {
|
|
517
|
+
data.map(function (field) {
|
|
518
|
+
field["manager"] = field.fields[0].value ? field.fields[0].value : field.fields[3].value;
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
_this.suggestionsObservable.next(data);
|
|
522
|
+
});
|
|
523
|
+
};
|
|
524
|
+
WorkstationgroupLookupComponent.prototype.getAutocomplete = function (nameEntity, searchValue, concatOtherFields, nameFieldConcat, additionalParams, codeIsString, service) {
|
|
525
|
+
var _this = this;
|
|
526
|
+
if (additionalParams === void 0) { additionalParams = null; }
|
|
527
|
+
if (codeIsString === void 0) { codeIsString = false; }
|
|
528
|
+
if (service === void 0) { service = ServiceType.PAYROLL; }
|
|
529
|
+
this.autocompleteParametersService.getAutoComplete(nameEntity, tslib_1.__assign({}, additionalParams, { searchValue: tslib_1.__assign({}, searchValue) }), this.searchFields, codeIsString, service)
|
|
530
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
531
|
+
.subscribe(function (data) {
|
|
532
|
+
if (nameEntity === "workshiftGroup") {
|
|
533
|
+
data.filter(function (filterData) {
|
|
534
|
+
if (filterData.baseDate) {
|
|
535
|
+
var dateIsMoment = moment(filterData.baseDate, "YYYY-MM-DD");
|
|
536
|
+
if (dateIsMoment.isValid()) {
|
|
537
|
+
return filterData.baseDate = dateIsMoment.format(_this.dateFormat);
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
_this.suggestionsObservable.next(_this.getConcatFields(data, concatOtherFields, nameFieldConcat));
|
|
543
|
+
});
|
|
544
|
+
};
|
|
545
|
+
WorkstationgroupLookupComponent.prototype.getConcatFields = function (data, concatOtherFields, nameFieldConcat) {
|
|
546
|
+
if (nameFieldConcat && concatOtherFields) {
|
|
547
|
+
data.filter(function (field) {
|
|
548
|
+
field[nameFieldConcat] = field[concatOtherFields] + " - " + field[nameFieldConcat];
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
return data;
|
|
552
|
+
};
|
|
553
|
+
WorkstationgroupLookupComponent.prototype.getHireDate = function () {
|
|
554
|
+
var momentHireDate = moment(this.hireDate).format(this.dateFormat);
|
|
555
|
+
return momentHireDate ? "'" + invertFieldDate(momentHireDate, this.dateFormat) + "'" : "'" + getNowDate() + "'";
|
|
556
|
+
};
|
|
557
|
+
WorkstationgroupLookupComponent.ctorParameters = function () { return [
|
|
558
|
+
{ type: TranslateService },
|
|
559
|
+
{ type: ChangeDetectorRef },
|
|
560
|
+
{ type: AutocompleteService },
|
|
561
|
+
{ type: LookupService }
|
|
562
|
+
]; };
|
|
563
|
+
tslib_1.__decorate([
|
|
564
|
+
ViewChild("workstationgroupEl", { static: false })
|
|
565
|
+
], WorkstationgroupLookupComponent.prototype, "workstationgroupEl", void 0);
|
|
566
|
+
tslib_1.__decorate([
|
|
567
|
+
Input()
|
|
568
|
+
], WorkstationgroupLookupComponent.prototype, "currentCompanyId", void 0);
|
|
569
|
+
tslib_1.__decorate([
|
|
570
|
+
Input()
|
|
571
|
+
], WorkstationgroupLookupComponent.prototype, "currentCompanyName", void 0);
|
|
572
|
+
tslib_1.__decorate([
|
|
573
|
+
Input()
|
|
574
|
+
], WorkstationgroupLookupComponent.prototype, "hireDate", void 0);
|
|
575
|
+
tslib_1.__decorate([
|
|
576
|
+
Input()
|
|
577
|
+
], WorkstationgroupLookupComponent.prototype, "dateFormat", void 0);
|
|
578
|
+
tslib_1.__decorate([
|
|
579
|
+
Input()
|
|
580
|
+
], WorkstationgroupLookupComponent.prototype, "required", void 0);
|
|
581
|
+
tslib_1.__decorate([
|
|
582
|
+
Input()
|
|
583
|
+
], WorkstationgroupLookupComponent.prototype, "disabled", void 0);
|
|
584
|
+
tslib_1.__decorate([
|
|
585
|
+
Input()
|
|
586
|
+
], WorkstationgroupLookupComponent.prototype, "form", void 0);
|
|
587
|
+
tslib_1.__decorate([
|
|
588
|
+
Input()
|
|
589
|
+
], WorkstationgroupLookupComponent.prototype, "name", void 0);
|
|
590
|
+
tslib_1.__decorate([
|
|
591
|
+
Output()
|
|
592
|
+
], WorkstationgroupLookupComponent.prototype, "onSelect", void 0);
|
|
593
|
+
tslib_1.__decorate([
|
|
594
|
+
Output()
|
|
595
|
+
], WorkstationgroupLookupComponent.prototype, "onClear", void 0);
|
|
596
|
+
tslib_1.__decorate([
|
|
597
|
+
Output()
|
|
598
|
+
], WorkstationgroupLookupComponent.prototype, "onBlur", void 0);
|
|
599
|
+
WorkstationgroupLookupComponent = tslib_1.__decorate([
|
|
600
|
+
Component({
|
|
601
|
+
// tslint:disable-next-line:component-selector
|
|
602
|
+
selector: "c-workstationgroup-lookup",
|
|
603
|
+
template: "<div [formGroup]=\"form\">\n <s-lookup\n #workstationgroupEl\n id=\"workstationGroup\"\n dataKey=\"code\"\n (onSelect)=\"selectOption($event)\"\n (onClear)=\"onClearItem($event)\"\n [formControlName]=\"name\"\n (onLookupRequest)=\"searchRequest($event)\"\n (onSearchRequest)=\"searchRequest($event)\"\n filterTitle=\"{{ 'hcm.payroll.filters' | translate }}\"\n filterLabel=\"{{ 'hcm.payroll.filter' | translate }}\"\n clearLabel=\"{{ 'hcm.payroll.lookup_generic_clean_filter_label' | translate }}\"\n cancelLabel=\"{{ 'hcm.payroll.cancel' | translate }}\"\n selectLabel=\"{{ 'hcm.payroll.lookup_btn_select_label' | translate }}\"\n [disabled]=\"disabled\"\n [lookupSuggestions]=\"lookupSuggestions\"\n lookupEmptyMessage=\"{{ 'hcm.payroll.lookup_auto_complete_empty_message' | translate }}\"\n [searchGridData]=\"searchGridData\"\n [searchFields]=\"searchFields\"\n placeholder=\"{{'hcm.payroll.suggestions' | translate}}\"\n [searchTotalRecords]=\"totalRecords\"\n searchTotalRecordsLabel=\"{{ totalRecords }} {{\n 'hcm.payroll.admission_registers' | translate\n }}\"\n [searchGridFields]=\"gridFields\"\n searchTitle=\"{{ 'hcm.payroll.employees_addition_workstation' | translate }}\"\n lookupDisplayField=\"name\"\n ></s-lookup>\n\n</div>\n"
|
|
604
|
+
})
|
|
605
|
+
], WorkstationgroupLookupComponent);
|
|
606
|
+
return WorkstationgroupLookupComponent;
|
|
607
|
+
}());
|
|
608
|
+
export { WorkstationgroupLookupComponent };
|
|
609
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3N0YXRpb25ncm91cC1sb29rdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9wYXlyb2xsLWNvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osYUFBYSxFQUNiLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFPdkI7SUErZEks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LEtBQUssRUFBRTsrRUFDaUM7SUFFekM7UUFEQyxLQUFLLEVBQUU7cUVBQ2dCO0lBRXhCO1FBREMsS0FBSyxFQUFFO3VFQUNrQjtJQUUxQjtRQURDLEtBQUssRUFBRTtxRUFDaUI7SUFFekI7UUFEQyxLQUFLLEVBQUU7cUVBQ2lCO0lBRXpCO1FBREMsS0FBSyxFQUFFO2lFQUNlO0lBRXZCO1FBREMsS0FBSyxFQUFFO2lFQUNZO0lBR3BCO1FBREMsTUFBTSxFQUFFO3FFQUMrQztJQUV4RDtRQURDLE1BQU0sRUFBRTtvRUFDOEM7SUFFdkQ7UUFEQyxNQUFNLEVBQUU7bUVBQzZDO0lBM0I3QywrQkFBK0I7UUFMM0MsU0FBUyxDQUFDO1lBQ1AsOENBQThDO1lBQzlDLFFBQVEsRUFBRSwyQkFBMkI7WUFDckMsODhDQUF1RDtTQUMxRCxDQUFDO09BQ1csK0JBQStCLENBdW5CM0M7SUFBRCxzQ0FBQztDQUFBLEFBdm5CRCxJQXVuQkM7U0F2bkJZLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybUZpZWxkIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgbm93IH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtc1wiO1xuaW1wb3J0IHsgaW52ZXJ0RmllbGREYXRlLCBnZXROb3dEYXRlIH0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcbmltcG9ydCB7IEF1dG9jb21wbGV0ZVNlcnZpY2UgfSBmcm9tIFwiLi9hdXRvY29tcGxldGUuc2VydmljZVwiO1xuaW1wb3J0IHsgTG9va3VwU2VydmljZSB9IGZyb20gXCIuL2xvb2t1cC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBXb3Jrc3RhdGlvbmdyb3VwTG9va3VwRHRvIH0gZnJvbSBcIi4vd29ya3N0YXRpb25ncm91cC1sb29rdXAuZHRvXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogXCJjLXdvcmtzdGF0aW9uZ3JvdXAtbG9va3VwXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi93b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3RhdGlvbmdyb3VwTG9va3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZChcIndvcmtzdGF0aW9uZ3JvdXBFbFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICB3b3Jrc3RhdGlvbmdyb3VwRWw6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXJyZW50Q29tcGFueUlkOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1cnJlbnRDb21wYW55TmFtZTogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoaXJlRGF0ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25DbGVhcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIGNvbXBhbnlCcmFuY2hJZDogc3RyaW5nID0gbnVsbDtcblxuICAgIHB1YmxpYyBsb29rdXBTdWdnZXN0aW9uczogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgc2VhcmNoR3JpZERhdGE6IEZvcm1GaWVsZFtdID0gW107XG4gICAgcHVibGljIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgdmFsdWVFbnVtU2hpZnQgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9GSVJTVF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjBcIixcbiAgICAgICAgICAgIGVudW06IFwiRklSU1RfU0hJRlRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX1dvcmtzaGlmdFNjYWxlX1NFQ09ORF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjFcIixcbiAgICAgICAgICAgIGVudW06IFwiU0VDT05EX1NISUZUXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9USElSRF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjJcIixcbiAgICAgICAgICAgIGVudW06IFwiVEhJUkRfU0hJRlRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX1dvcmtzaGlmdFNjYWxlX0ZPVVJUSF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjNcIixcbiAgICAgICAgICAgIGVudW06IFwiRk9VUlRIX1NISUZUXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9NSVhFRFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjRcIixcbiAgICAgICAgICAgIGVudW06IFwiTUlYRURcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX1dvcmtzaGlmdFNjYWxlX0dFTkVSQUxcIiksXG4gICAgICAgICAgICB2YWx1ZTogXCI1XCIsXG4gICAgICAgICAgICBlbnVtOiBcIkdFTkVSQUxcIixcbiAgICAgICAgfSxcbiAgICBdO1xuICAgIHByaXZhdGUgY29uY2F0RmllbGRzTmFtZSA9IFtcbiAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICBuYW1lOiBcImNvZGVcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuY29kZVwiKSxcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgIG5hbWU6IFwibmFtZVwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fd29ya3N0YXRpb25cIiksXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICB9KSxcbiAgICBdO1xuXG4gICAgcHJpdmF0ZSBjb25jYXROYW1lID0gW1xuICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgIG5hbWU6IFwiY29kZVwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5jb2RlXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSksXG4gICAgXTtcbiAgICBwdWJsaWMgZ3JpZEZpZWxkcyA9IFtcbiAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3dvcmtzdGF0aW9uXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgbmFtZTogXCJtYW5hZ2VyXCIsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLndvcmtzdGF0aW9uX2Zvcm1fbG9va3VwX3NlYXJjaF9tYW5hZ2VyX2xhYmVsXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSksXG4gICAgXTtcbiAgICBwdWJsaWMgc2VhcmNoRmllbGRzID0gW1xuICAgICAgICAuLi50aGlzLmNvbmNhdE5hbWUsXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmFtZVwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5tb3ZpbWVudGF0aW9uX25hbWVcIiksXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImhlYWRvZmZpY2VcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19jb21wYW55XCIpLFxuICAgICAgICAgICAgZGF0YUtleTogXCJpZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJjb21wYW55bmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImJyYW5jaG9mZmljZVwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX2JyYW5jaFwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uUmVtb3ZlOiAoKSA9PiB0aGlzLmNvbXBhbnlCcmFuY2hJZCA9IG51bGwsXG4gICAgICAgICAgICBvblNlbGVjdDogKHsgaWQgfTogeyBpZDogc3RyaW5nIH0pID0+IHRoaXMuY29tcGFueUJyYW5jaElkID0gaWQsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiY29tcGFueVwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IGNvbXBhbnluYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwiY29tcGFueW5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgeyBoZWFkcXVhcnRlcjogdGhpcy5jdXJyZW50Q29tcGFueUlkID8gdGhpcy5jdXJyZW50Q29tcGFueUlkIDogXCJub3QgbnVsbFwiIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcImNvbXBhbnluYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwibWFuYWdlclwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwud29ya3N0YXRpb25fZm9ybV9sb29rdXBfc2VhcmNoX21hbmFnZXJfbGFiZWxcIiksXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGVRdWVyeShcbiAgICAgICAgICAgICAgICAgICAgXCJhdXRvY29tcGxldGVNYW5hZ2VyXCIsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlU2VhcmNoOiB2YWwgPyB2YWwgOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFueUlkOiB7dGFibGVJZDogdGhpcy5jdXJyZW50Q29tcGFueUlkfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhbnlCcmFuY2hJZDoge3RhYmxlSWQ6IHRoaXMuY29tcGFueUJyYW5jaElkID8gdGhpcy5jb21wYW55QnJhbmNoSWQgOiBcIlwifSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibWFuYWdlclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImRlcGFydG1lbnRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLm1vdmltZW50YXRpb25faGlzdG9yaWNhbF9kZXBhcnRtZW50X3RhYlwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZVF1ZXJ5KFxuICAgICAgICAgICAgICAgICAgICBcImF1dG9jb21wbGV0ZURlcGFydG1lbnRRdWVyeVwiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiB2YWwgPyB2YWwgOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFueUlkOiB0aGlzLmN1cnJlbnRDb21wYW55SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VEYXRlOiBtb21lbnQobm93KCkpLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJjb3N0Y2VudGVyXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fY29zdF9jZW50ZXJcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiY29zdGNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IG5hbWU6IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvbXBhbnlJZCA/IHsgY29tcGFueTogdGhpcy5jdXJyZW50Q29tcGFueUlkIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlVHlwZS5PUkdBTklaQVRJT05fUkVHSVNURVIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJqb2Jwb3NpdGlvblwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5tb3ZpbWVudGF0aW9uX2hpc3RvcmljYWxfam9iX3Bvc2l0aW9uX3RhYlwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwidGFibGVJZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlUXVlcnkoXG4gICAgICAgICAgICAgICAgICAgIFwiYXV0b2NvbXBsZXRlSm9icG9zaXRpb25RdWVyeVwiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiB2YWwgPyB2YWwgOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFueUlkOiB0aGlzLmN1cnJlbnRDb21wYW55SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGlvbkRhdGU6IG1vbWVudCgpLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZTogbW9tZW50KCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInN5bmRpY2F0ZVwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3N5bmRpY2F0ZVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJzeW5kaWNhdGVcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwid29ya3NoaWZ0U2NhbGVcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5TSElGVFwiKSxcbiAgICAgICAgICAgIHNob3dDbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgIHNpemU6IHsgbWQ6IDEyIH0sXG4gICAgICAgICAgICBvbkNoYW5nZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXREZXBlbmRlbmNpZXNPZlNoaWZ0KHRydWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMudmFsdWVFbnVtU2hpZnQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwid29ya3NoaWZ0SWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9zY2FsZVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJ3b3Jrc2hpZnRcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBkZXNjcmlwdGlvbjogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdFNjYWxlXCIpLnZhbHVlID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHsgd29ya3NoaWZ0U2NhbGU6IHRoaXMudmFsdWVFbnVtU2hpZnRbdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwid29ya3NoaWZ0U2NhbGVcIikudmFsdWVdLmVudW0gfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblNlbGVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXREZXBlbmRlbmNpZXNPZlNoaWZ0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIndvcmtzaGlmdEdyb3VwSWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl93b3Jrc2hpZnQtZ3JvdXBcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwid29ya3NoaWZ0R3JvdXBcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcImJhc2VEYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdElkXCIpLnZhbHVlID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHsgd29ya3NoaWZ0OiB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS52YWx1ZS5pZCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwiYmFzZURhdGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpbnRlcnZhbEdyb3VwSWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9jbGFzc19pbnRlcnZhbFwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJpbnRlcnZhbEdyb3VwXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgZGVzY3JpcHRpb246IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS52YWx1ZSA/XG4gICAgICAgICAgICAgICAgICAgICAgeyB3b3Jrc2hpZnQ6IHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdElkXCIpLnZhbHVlLmlkIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNjYWxlVGVhbUlkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fc2NhbGVfdGVhbVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJzY2FsZVRlYW1cIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwic2NhbGVDYXRlZ29yeUlkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fc2NhbGVfY2F0ZWdvcnlcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwic2NhbGVDYXRlZ29yeVwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IG5hbWU6IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJlbXBsb3ltZW50UmVsYXRpb25zaGlwSWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9lbXBsb3ltZW50X3JlbGF0aW9uc2hpcFwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJlbXBsb3ltZW50UmVsYXRpb25zaGlwXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgbmFtZTogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcIm5hbWVcIixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImNvbnRyYWN0VHlwZVwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc190ZW1wb3JhcnlfY29udHJhY3RfdGVtcG9yYXJ5X2NvbnRyYWN0X3R5cGVcIiksXG4gICAgICAgICAgICBzaG93Q2xlYXI6IHRydWUsXG4gICAgICAgICAgICBzaXplOiB7IG1kOiAxMiB9LFxuICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0VtcGxveWVlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCIwXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9NYW5hZ2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0Zhcm1Xb3JrZXJcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfUmV0aXJlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9UcmFpbmVlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0FwcHJlbnRpY2VcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfRml4ZWREdWVEYXRlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX1JldGlyZWRNYW5hZ2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX1B1YmxpY0FnZW50XCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX1RlYWNoZXJcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfQ29vcGVyYXRpdmVXb3JrZXJcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0RvbWVzdGljV29ya2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9UZWFjaGVyRml4ZWREdWVEYXRlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiZXhwZW5zZU5hdHVyZUlkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fZXhwZW5zZV9uYXR1cmVcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiZXhwZW5zZU5hdHVyZVwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IG5hbWU6IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJhbGxvd0RlZmljaWVudFwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmFsbG93X2RlZmljaWVudFwiKSxcbiAgICAgICAgICAgIHNob3dDbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgIHNpemU6IHsgbWQ6IDEyIH0sXG4gICAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRGVjaXNpb25QY0RfTm9cIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIjBcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0RlY2lzaW9uUGNEX0Fsc29cIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRGVjaXNpb25QY0RfT25seVwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiZGlzYWJpbGl0eUlkc1wiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fZGlzYWJpbGl0eVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIC8vIHZpc2libGU6ICgpID0+IE51bWJlcih0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoJ2FsbG93RGVmaWNpZW50JykudmFsdWUpLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICBcImRpc2FiaWxpdHlcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGF1dG9jb21wbGV0ZVBhcmFtZXRlcnNTZXJ2aWNlOiBBdXRvY29tcGxldGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvb2t1cFBhcmFtZXRlcnNTZXJ2aWNlOiBMb29rdXBTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IGNvbXBhbnlGb3JtID0gdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwiaGVhZG9mZmljZVwiKTtcbiAgICAgICAgY29tcGFueUZvcm0uc2V0VmFsdWUoeyBpZDogdGhpcy5jdXJyZW50Q29tcGFueUlkLCBjb21wYW55bmFtZTogdGhpcy5jdXJyZW50Q29tcGFueU5hbWUgfSk7XG4gICAgICAgIGNvbXBhbnlGb3JtLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdvcmtzdGF0aW9uRmlsdGVyRm9ybSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud29ya3N0YXRpb25ncm91cEVsICYmIHRoaXMud29ya3N0YXRpb25ncm91cEVsW1wiZm9ybUdyb3VwRGlhbG9nXCJdO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RPcHRpb24ob3B0aW9uOiBvYmplY3QpIHtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gICAgfVxuXG4gICAgYXN5bmMgb25DbGVhckl0ZW0ob3B0aW9uOiBvYmplY3QpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vbkNsZWFyLmVtaXQob3B0aW9uKTtcbiAgICAgICAgdGhpcy5mb3JtLmdldCh0aGlzLm5hbWUpLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldERlcGVuZGVuY2llc09mU2hpZnQoaXNTaGlmdDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1NoaWZ0KSB7XG4gICAgICAgICAgICB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdEdyb3VwSWRcIikucmVzZXQoKTtcbiAgICAgICAgdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwiaW50ZXJ2YWxHcm91cElkXCIpLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaFJlcXVlc3QoJGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZW5kcG9pbnQgPSBcImhjbS9wYXlyb2xsL3F1ZXJpZXMvd29ya3N0YXRpb25ncm91cEZpbHRlclF1ZXJ5XCI7XG4gICAgICAgIGNvbnN0IGNvbXBhbnkgPSB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJoZWFkb2ZmaWNlXCIpO1xuICAgICAgICBjb25zdCBpc0xvb2t1cE9wZW46IGJvb2xlYW4gPSAkZXZlbnQgJiYgJGV2ZW50LmZpbHRlckRhdGE7XG4gICAgICAgIGNvbXBhbnkuc2V0VmFsdWUoe1xuICAgICAgICAgICAgaWQ6IHRoaXMuY3VycmVudENvbXBhbnlJZCxcbiAgICAgICAgICAgIGNvbXBhbnluYW1lOiB0aGlzLmN1cnJlbnRDb21wYW55TmFtZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJGV2ZW50ID0geyAuLi50aGlzLmdldFZhbHVlRXZlbnQoJGV2ZW50LCBpc0xvb2t1cE9wZW4pfTtcblxuICAgICAgICBjb25zdCByZWZlcmVuY2VEYXRlID0gdGhpcy5nZXRIaXJlRGF0ZSgpLnJlcGxhY2UoL1xcJy9nLCBcIlwiKTtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gbmV3IFdvcmtzdGF0aW9uZ3JvdXBMb29rdXBEdG8oJGV2ZW50LCByZWZlcmVuY2VEYXRlKTtcbiAgICAgICAgdGhpcy5sb29rdXBQYXJhbWV0ZXJzU2VydmljZS5sb29rdXBSZXF1ZXN0UG9zdChmaWx0ZXIuZ2V0VG9GaWx0ZXIoKSwgZW5kcG9pbnQsIFsuLi50aGlzLmNvbmNhdEZpZWxkc05hbWVdLCBcIm5hbWVcIilcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTG9va3VwT3Blbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaEdyaWREYXRhID0gZGF0YSAmJiBbLi4uZGF0YS5jb250ZW50c107XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb29rdXBTdWdnZXN0aW9ucyA9IGRhdGEgJiYgWy4uLmRhdGEuY29udGVudHNdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGRhdGEgJiYgZGF0YS50b3RhbFBhZ2VzO1xuICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VmFsdWVFdmVudCgkZXZlbnQ6IGFueSwgaXNMb29rdXBPcGVuOiBib29sZWFuKTogT2JqZWN0IHtcbiAgICAgICAgaWYgKGlzTG9va3VwT3Blbikge1xuICAgICAgICAgICAgJGV2ZW50LmZpbHRlckRhdGEuaGVhZG9mZmljZSA9IHRoaXMuY3VycmVudENvbXBhbnlJZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRldmVudCA9IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRvZmZpY2U6IHRoaXMuY3VycmVudENvbXBhbnlJZCxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogJGV2ZW50XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICRldmVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZVF1ZXJ5KG5hbWVRdWVyeTogc3RyaW5nLCBzZWFyY2hWYWx1ZTogb2JqZWN0KSB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUGFyYW1ldGVyc1NlcnZpY2UuZ2V0QXV0b0NvbXBsZXRlUXVlcnkobmFtZVF1ZXJ5LCBzZWFyY2hWYWx1ZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWVRdWVyeSA9PT0gXCJhdXRvY29tcGxldGVEZXBhcnRtZW50UXVlcnlcIikge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbHRlcigoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcyAmJiBmaWVsZC5maWVsZHNbMF0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFtcIm5hbWVcIl0gPSBgJHsgZmllbGQuZmllbGRzWzFdLnZhbHVlIH0gLSAkeyBmaWVsZC5maWVsZHNbMF0udmFsdWUgfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobmFtZVF1ZXJ5ID09PSBcImF1dG9jb21wbGV0ZUpvYnBvc2l0aW9uUXVlcnlcIikge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbHRlcigoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcyAmJiBmaWVsZC5maWVsZHNbMF0gJiYgZmllbGQuZmllbGRzWzFdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRbXCJuYW1lXCJdID0gYCR7IGZpZWxkLmZpZWxkc1swXS52YWx1ZSB9IC0gJHsgZmllbGQuZmllbGRzWzFdLnZhbHVlIH1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWVRdWVyeSA9PT0gXCJhdXRvY29tcGxldGVNYW5hZ2VyXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkW1wibWFuYWdlclwiXSA9IGZpZWxkLmZpZWxkc1swXS52YWx1ZSA/IGZpZWxkLmZpZWxkc1swXS52YWx1ZSA6IGZpZWxkLmZpZWxkc1szXS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUubmV4dChkYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICBuYW1lRW50aXR5OiBzdHJpbmcsXG4gICAgICAgIHNlYXJjaFZhbHVlOiBvYmplY3QsXG4gICAgICAgIGNvbmNhdE90aGVyRmllbGRzOiBzdHJpbmcsXG4gICAgICAgIG5hbWVGaWVsZENvbmNhdDogc3RyaW5nLFxuICAgICAgICBhZGRpdGlvbmFsUGFyYW1zOiBvYmplY3QgPSBudWxsLFxuICAgICAgICBjb2RlSXNTdHJpbmc6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgc2VydmljZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMLFxuICAgICkge1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVBhcmFtZXRlcnNTZXJ2aWNlLmdldEF1dG9Db21wbGV0ZShcbiAgICAgICAgICAgIG5hbWVFbnRpdHksIHtcbiAgICAgICAgICAgICAgICAuLi5hZGRpdGlvbmFsUGFyYW1zLFxuICAgICAgICAgICAgICAgIHNlYXJjaFZhbHVlOiB7IC4uLnNlYXJjaFZhbHVlIH0sXG4gICAgICAgICAgICB9LCB0aGlzLnNlYXJjaEZpZWxkcywgY29kZUlzU3RyaW5nLCBzZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmFtZUVudGl0eSA9PT0gXCJ3b3Jrc2hpZnRHcm91cFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEuZmlsdGVyKChmaWx0ZXJEYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJEYXRhLmJhc2VEYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZUlzTW9tZW50ID0gbW9tZW50KGZpbHRlckRhdGEuYmFzZURhdGUsIFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZUlzTW9tZW50LmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyRGF0YS5iYXNlRGF0ZSA9IGRhdGVJc01vbWVudC5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZS5uZXh0KHRoaXMuZ2V0Q29uY2F0RmllbGRzKGRhdGEsIGNvbmNhdE90aGVyRmllbGRzLCBuYW1lRmllbGRDb25jYXQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29uY2F0RmllbGRzKGRhdGE6IGFueSwgY29uY2F0T3RoZXJGaWVsZHM6IHN0cmluZywgbmFtZUZpZWxkQ29uY2F0OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKG5hbWVGaWVsZENvbmNhdCAmJiBjb25jYXRPdGhlckZpZWxkcykge1xuICAgICAgICAgICAgZGF0YS5maWx0ZXIoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZFtuYW1lRmllbGRDb25jYXRdID0gYCR7IGZpZWxkW2NvbmNhdE90aGVyRmllbGRzXSB9IC0gJHsgZmllbGRbbmFtZUZpZWxkQ29uY2F0XSB9YDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIaXJlRGF0ZSgpIHtcbiAgICAgICAgY29uc3QgbW9tZW50SGlyZURhdGUgPSBtb21lbnQodGhpcy5oaXJlRGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgIHJldHVybiBtb21lbnRIaXJlRGF0ZSA/IGAnJHsgaW52ZXJ0RmllbGREYXRlKG1vbWVudEhpcmVEYXRlLCB0aGlzLmRhdGVGb3JtYXQpIH0nYCA6IGAnJHsgZ2V0Tm93RGF0ZSgpIH0nYDtcbiAgICB9XG5cbn1cbiJdfQ==
|