@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,332 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef, OnDestroy, AfterViewInit, ViewChild, } from "@angular/core";
|
|
3
|
+
import { FormGroup, FormBuilder, Validators, ValidatorFn, AbstractControl } from "@angular/forms";
|
|
4
|
+
import { ActivatedRoute } from "@angular/router";
|
|
5
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
6
|
+
import { CustomFieldsComponent } from "@seniorsistemas/angular-components";
|
|
7
|
+
import { Subject } from "rxjs";
|
|
8
|
+
import { verifyValidationsForm, clearValues, configEnabledFields, mountCustomToShow, } from "../../utils/helpers";
|
|
9
|
+
let HistoricalBankAccountFormComponent = class HistoricalBankAccountFormComponent {
|
|
10
|
+
constructor(translate, formBuilder, route, cd) {
|
|
11
|
+
this.translate = translate;
|
|
12
|
+
this.formBuilder = formBuilder;
|
|
13
|
+
this.route = route;
|
|
14
|
+
this.cd = cd;
|
|
15
|
+
this.withSideBar = true;
|
|
16
|
+
this.isEditMode = false;
|
|
17
|
+
this.visibleChange = new EventEmitter();
|
|
18
|
+
this.bankAccountItemToList = new EventEmitter();
|
|
19
|
+
this.ngUnsubscribe = new Subject();
|
|
20
|
+
this.initialValidatorOfPercentage = [Validators.required, Validators.min(0.01)];
|
|
21
|
+
this.initialValidatorOfBankAccount = [Validators.required, Validators.maxLength(12)];
|
|
22
|
+
this.labelBtnAdd = "hcm.payroll.employees_add";
|
|
23
|
+
this.maxValuePercentage = 100.00;
|
|
24
|
+
this.visibleBtnSave = true;
|
|
25
|
+
this.isView = false;
|
|
26
|
+
this.createFormGroup();
|
|
27
|
+
this.registerSubjects();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Método valida se o número atual informado na conta para o mesmo banco, agencia e tipo já foi inserido em outro registro da tabela.
|
|
31
|
+
* Caso esta conta já esteja em uso por outro registro, retorna "bankAccountDuplicate" = true.
|
|
32
|
+
* @param listCompare
|
|
33
|
+
* @param accountTypeValue
|
|
34
|
+
* @param bankValue
|
|
35
|
+
* @param bankBranchValue
|
|
36
|
+
*/
|
|
37
|
+
validateDuplicateBankAccount(listCompare, accountTypeValue, bankValue, bankBranchValue) {
|
|
38
|
+
return (control) => {
|
|
39
|
+
const value = control && control.value;
|
|
40
|
+
let condition = false;
|
|
41
|
+
listCompare.filter((item, key) => {
|
|
42
|
+
if (key != item["index"] && value && item["bank"] && item["bank"].tableId === bankValue &&
|
|
43
|
+
item["bankBranch"] && item["bankBranch"].tableId === bankBranchValue &&
|
|
44
|
+
item["accountType"] && item["accountType"].key === accountTypeValue &&
|
|
45
|
+
Number(item["bankAccount"]) === Number(value)) {
|
|
46
|
+
return condition = true;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
if (condition) {
|
|
50
|
+
return { bankAccountDuplicate: true };
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
}
|
|
59
|
+
ngAfterViewInit() {
|
|
60
|
+
this.cd.detectChanges();
|
|
61
|
+
}
|
|
62
|
+
ngOnDestroy() {
|
|
63
|
+
this.ngUnsubscribe.next(true);
|
|
64
|
+
this.ngUnsubscribe.unsubscribe();
|
|
65
|
+
}
|
|
66
|
+
registerSubjects() {
|
|
67
|
+
}
|
|
68
|
+
createFormGroup() {
|
|
69
|
+
this.bankAccountFormGroup = this.formBuilder.group({
|
|
70
|
+
id: this.formBuilder.control(null),
|
|
71
|
+
index: this.formBuilder.control(null),
|
|
72
|
+
employee: this.formBuilder.control({ value: { tableId: null }, disabled: true }),
|
|
73
|
+
dateWhen: this.formBuilder.control(null),
|
|
74
|
+
displayDateWhen: this.formBuilder.control(null),
|
|
75
|
+
bank: this.formBuilder.control(null, Validators.required),
|
|
76
|
+
bankBranch: this.formBuilder.control(null, Validators.required),
|
|
77
|
+
accountType: this.formBuilder.control(null, Validators.required),
|
|
78
|
+
bankAccount: this.formBuilder.control(null, Validators.compose([...this.initialValidatorOfBankAccount])),
|
|
79
|
+
digit: this.formBuilder.control(null, Validators.maxLength(3)),
|
|
80
|
+
percentage: this.formBuilder.control(null, Validators.compose([
|
|
81
|
+
...this.initialValidatorOfPercentage,
|
|
82
|
+
Validators.max(this.maxValuePercentage),
|
|
83
|
+
])),
|
|
84
|
+
customFields: this.formBuilder.control(null),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// Actions Bank
|
|
88
|
+
onSelectBank() {
|
|
89
|
+
this.cleanBankInformation();
|
|
90
|
+
this.beforeSetBankAccountValidator();
|
|
91
|
+
}
|
|
92
|
+
onClearBank() {
|
|
93
|
+
this.bankAccountFormGroup.get("bank").reset();
|
|
94
|
+
this.cleanBankInformation();
|
|
95
|
+
this.beforeSetBankAccountValidator();
|
|
96
|
+
}
|
|
97
|
+
cleanBankInformation() {
|
|
98
|
+
const fields = ["bankBranch"];
|
|
99
|
+
clearValues(this.bankAccountFormGroup, fields);
|
|
100
|
+
}
|
|
101
|
+
// Actions BankBranch
|
|
102
|
+
onClearBankBranch() {
|
|
103
|
+
this.bankAccountFormGroup.get("bankBranch").reset();
|
|
104
|
+
this.beforeSetBankAccountValidator();
|
|
105
|
+
}
|
|
106
|
+
// Actions BankBranch
|
|
107
|
+
onClearAccountType() {
|
|
108
|
+
this.bankAccountFormGroup.get("accountType").reset();
|
|
109
|
+
this.beforeSetBankAccountValidator();
|
|
110
|
+
}
|
|
111
|
+
get visible() {
|
|
112
|
+
return this._visible;
|
|
113
|
+
}
|
|
114
|
+
set visible(value) {
|
|
115
|
+
this._visible = value;
|
|
116
|
+
this.visibleChange.emit(this.visible);
|
|
117
|
+
}
|
|
118
|
+
set isEditAndViewValue(value) {
|
|
119
|
+
this.resetForm();
|
|
120
|
+
this.visibleBtnSave = true;
|
|
121
|
+
if (value && value.currentItem && Object.keys(value.currentItem).length) {
|
|
122
|
+
this.bankAccountFormGroup.patchValue(this.convertDTOToShowWithCustomFields(Object.assign({}, value.currentItem)));
|
|
123
|
+
this.labelBtnAdd = "hcm.payroll.employees_update";
|
|
124
|
+
this.setValidatorsAccordingList(value.listData, value.currentItem["index"]);
|
|
125
|
+
if (!this.isView) {
|
|
126
|
+
this.configEnableFields(value && value["isEditMode"]);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
this.labelBtnAdd = "hcm.payroll.employees_add";
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
convertDTOToShowWithCustomFields(data) {
|
|
134
|
+
const obj = Object.assign({}, data);
|
|
135
|
+
obj["customFields"] = mountCustomToShow(obj["customFields"]);
|
|
136
|
+
return obj;
|
|
137
|
+
}
|
|
138
|
+
configEnableFields(isEditMode) {
|
|
139
|
+
this.visibleBtnSave = isEditMode;
|
|
140
|
+
configEnabledFields(this.bankAccountFormGroup, isEditMode, [
|
|
141
|
+
"bank",
|
|
142
|
+
"bankBranch",
|
|
143
|
+
"accountType",
|
|
144
|
+
"bankAccount",
|
|
145
|
+
"digit",
|
|
146
|
+
"percentage",
|
|
147
|
+
"customFields",
|
|
148
|
+
], []);
|
|
149
|
+
}
|
|
150
|
+
close() {
|
|
151
|
+
this.resetForm();
|
|
152
|
+
this.visible = false;
|
|
153
|
+
}
|
|
154
|
+
addItem() {
|
|
155
|
+
this.bankAccountFormGroup.updateValueAndValidity();
|
|
156
|
+
verifyValidationsForm.call(this.bankAccountFormGroup);
|
|
157
|
+
if (this.bankAccountFormGroup.valid) {
|
|
158
|
+
if (this.employeeId) {
|
|
159
|
+
this.bankAccountFormGroup.get("employee").setValue({
|
|
160
|
+
tableId: this.employeeId,
|
|
161
|
+
name: "",
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
this.bankAccountItemToList.emit(this.bankAccountFormGroup.getRawValue());
|
|
165
|
+
this.visible = false;
|
|
166
|
+
this.resetForm();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
resetForm() {
|
|
170
|
+
this.bankAccountFormGroup.reset();
|
|
171
|
+
this.labelBtnAdd = "hcm.payroll.employees_add";
|
|
172
|
+
if (this.customFields && this.customFields.formGroup)
|
|
173
|
+
this.customFields.formGroup.reset();
|
|
174
|
+
}
|
|
175
|
+
getBankTableId() {
|
|
176
|
+
return this.bankAccountFormGroup.controls.bank.value
|
|
177
|
+
? `'${this.bankAccountFormGroup.controls.bank.value.tableId}'`
|
|
178
|
+
: null;
|
|
179
|
+
}
|
|
180
|
+
get percentagePlaceholder() {
|
|
181
|
+
return `0${this.currency && this.currency.decimalSeparator}00`;
|
|
182
|
+
}
|
|
183
|
+
get optionsPercentage() {
|
|
184
|
+
return Object.assign({}, this.getOptions(), { precision: 2 });
|
|
185
|
+
}
|
|
186
|
+
getOptions() {
|
|
187
|
+
return {
|
|
188
|
+
prefix: "",
|
|
189
|
+
thousands: this.currency.thousandsSeparator,
|
|
190
|
+
decimal: this.currency.decimalSeparator,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* O Input que recebe a lista do component pai e chama o método de validação passando a lista recebida.
|
|
195
|
+
* @param bankAccountList
|
|
196
|
+
*/
|
|
197
|
+
set getListBankAccount(bankAccountList) {
|
|
198
|
+
if (bankAccountList) {
|
|
199
|
+
this.setValidatorsAccordingList(bankAccountList);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
this.resetForm();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Recebe a lista de registros já inseridos na tabela adiciona em uma variável os valores que serão usados para
|
|
207
|
+
* a validação dos campos "percentage" e "bankAccount".
|
|
208
|
+
* Quando tem index significa que está em uma edição, os valores na posição do registro da edição (index) não serão adicionados
|
|
209
|
+
* no array de comparação dos validators.
|
|
210
|
+
* @param bankAccountList
|
|
211
|
+
* @param index
|
|
212
|
+
*/
|
|
213
|
+
setValidatorsAccordingList(bankAccountList, index = null) {
|
|
214
|
+
this.bankAccountList = bankAccountList && bankAccountList.length ? [...bankAccountList] : [];
|
|
215
|
+
const percentageIncluded = [];
|
|
216
|
+
if (this.bankAccountList && this.bankAccountList.length) {
|
|
217
|
+
this.bankAccountList.filter((field, key) => {
|
|
218
|
+
if (field["percentage"] && key != index) {
|
|
219
|
+
percentageIncluded.push(field["percentage"]);
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
this.beforeSetBankAccountValidator();
|
|
224
|
+
this.validatePercentageValid(percentageIncluded);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Antes de setar o validator prepara as variáveis necessária para que seja feita a validação do campo.
|
|
228
|
+
*/
|
|
229
|
+
beforeSetBankAccountValidator() {
|
|
230
|
+
const bankAccount = this.bankAccountFormGroup.get("bankAccount");
|
|
231
|
+
const accountTypeValue = this.bankAccountFormGroup.get("accountType") &&
|
|
232
|
+
this.bankAccountFormGroup.get("accountType").value &&
|
|
233
|
+
this.bankAccountFormGroup.get("accountType").value["key"];
|
|
234
|
+
const bankValue = this.bankAccountFormGroup.get("bank") &&
|
|
235
|
+
this.bankAccountFormGroup.get("bank").value &&
|
|
236
|
+
this.bankAccountFormGroup.get("bank").value["tableId"];
|
|
237
|
+
const bankBranchValue = this.bankAccountFormGroup.get("bankBranch") &&
|
|
238
|
+
this.bankAccountFormGroup.get("bankBranch").value &&
|
|
239
|
+
this.bankAccountFormGroup.get("bankBranch").value["tableId"];
|
|
240
|
+
if (bankValue &&
|
|
241
|
+
bankBranchValue &&
|
|
242
|
+
accountTypeValue &&
|
|
243
|
+
this.bankAccountList &&
|
|
244
|
+
this.bankAccountList.length) {
|
|
245
|
+
bankAccount
|
|
246
|
+
.setValidators(Validators.compose([
|
|
247
|
+
...this.initialValidatorOfBankAccount,
|
|
248
|
+
this.validateDuplicateBankAccount(this.bankAccountList, accountTypeValue, bankValue, bankBranchValue),
|
|
249
|
+
]));
|
|
250
|
+
bankAccount.updateValueAndValidity();
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
bankAccount
|
|
254
|
+
.setValidators(Validators.compose([
|
|
255
|
+
...this.initialValidatorOfBankAccount,
|
|
256
|
+
]));
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Este método calcula as parcentagens que já foram inseridas, e seta a diferença para chegar em
|
|
261
|
+
* 100% na validação do campo "percentage" como um novo maxValue;
|
|
262
|
+
* @param listValue
|
|
263
|
+
*/
|
|
264
|
+
validatePercentageValid(listValue) {
|
|
265
|
+
const percentage = this.bankAccountFormGroup.get("percentage");
|
|
266
|
+
this.maxValuePercentage = listValue
|
|
267
|
+
.reduce((currentValue, total) => currentValue - total, 100.00);
|
|
268
|
+
percentage
|
|
269
|
+
.setValidators(Validators.compose([
|
|
270
|
+
...this.initialValidatorOfPercentage,
|
|
271
|
+
Validators.max(this.maxValuePercentage),
|
|
272
|
+
]));
|
|
273
|
+
percentage.updateValueAndValidity();
|
|
274
|
+
}
|
|
275
|
+
set isViewMode(condition) {
|
|
276
|
+
this.isView = !!(condition && !this.withSideBar);
|
|
277
|
+
this.configEnableFields(!this.isView);
|
|
278
|
+
if (!this.isView)
|
|
279
|
+
this.resetForm();
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
HistoricalBankAccountFormComponent.ctorParameters = () => [
|
|
283
|
+
{ type: TranslateService },
|
|
284
|
+
{ type: FormBuilder },
|
|
285
|
+
{ type: ActivatedRoute },
|
|
286
|
+
{ type: ChangeDetectorRef }
|
|
287
|
+
];
|
|
288
|
+
tslib_1.__decorate([
|
|
289
|
+
ViewChild(CustomFieldsComponent, { static: true })
|
|
290
|
+
], HistoricalBankAccountFormComponent.prototype, "customFields", void 0);
|
|
291
|
+
tslib_1.__decorate([
|
|
292
|
+
Input()
|
|
293
|
+
], HistoricalBankAccountFormComponent.prototype, "currency", void 0);
|
|
294
|
+
tslib_1.__decorate([
|
|
295
|
+
Input()
|
|
296
|
+
], HistoricalBankAccountFormComponent.prototype, "customEntity", void 0);
|
|
297
|
+
tslib_1.__decorate([
|
|
298
|
+
Input()
|
|
299
|
+
], HistoricalBankAccountFormComponent.prototype, "customService", void 0);
|
|
300
|
+
tslib_1.__decorate([
|
|
301
|
+
Input()
|
|
302
|
+
], HistoricalBankAccountFormComponent.prototype, "withSideBar", void 0);
|
|
303
|
+
tslib_1.__decorate([
|
|
304
|
+
Input()
|
|
305
|
+
], HistoricalBankAccountFormComponent.prototype, "isEditMode", void 0);
|
|
306
|
+
tslib_1.__decorate([
|
|
307
|
+
Output()
|
|
308
|
+
], HistoricalBankAccountFormComponent.prototype, "visibleChange", void 0);
|
|
309
|
+
tslib_1.__decorate([
|
|
310
|
+
Output()
|
|
311
|
+
], HistoricalBankAccountFormComponent.prototype, "bankAccountItemToList", void 0);
|
|
312
|
+
tslib_1.__decorate([
|
|
313
|
+
Input()
|
|
314
|
+
], HistoricalBankAccountFormComponent.prototype, "visible", null);
|
|
315
|
+
tslib_1.__decorate([
|
|
316
|
+
Input()
|
|
317
|
+
], HistoricalBankAccountFormComponent.prototype, "isEditAndViewValue", null);
|
|
318
|
+
tslib_1.__decorate([
|
|
319
|
+
Input()
|
|
320
|
+
], HistoricalBankAccountFormComponent.prototype, "getListBankAccount", null);
|
|
321
|
+
tslib_1.__decorate([
|
|
322
|
+
Input()
|
|
323
|
+
], HistoricalBankAccountFormComponent.prototype, "isViewMode", null);
|
|
324
|
+
HistoricalBankAccountFormComponent = tslib_1.__decorate([
|
|
325
|
+
Component({
|
|
326
|
+
selector: "bank-account",
|
|
327
|
+
template: "<div id=\"main\">\n <form [formGroup]=\"bankAccountFormGroup\" autocomplete=\"off\">\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <!-- Banco -->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label>{{'hcm.payroll.historical_bank_account_label_bank' | translate}}</label>\n <input-rest-auto-complete [dropdown]=\"true\" table=\"Bank\"\n [order]=\"['BankCode','BankNameI18n']\"\n [fields]=\"['BankCode','BankNameI18n']\"\n placeholder=\"{{'hcm.payroll.suggestions' | translate}}\"\n emptyMessage=\"{{'hcm.payroll.not_suggestions' | translate}}\"\n keyCode=\"BankCode\" keyName=\"BankNameI18n\"\n itemSelect=\"bank\" name=\"bank\"\n [form]=\"bankAccountFormGroup\"\n (onSelect)=\"onSelectBank()\"\n (onClear)=\"onClearBank()\"\n id=\"ta-bankName\"></input-rest-auto-complete>\n <s-control-errors [control]=\"bankAccountFormGroup.get('bank')\"\n [errorMessages]=\"{ required: 'hcm.payroll.required' | translate }\">\n </s-control-errors>\n </div>\n <!--Ag\u00EAncia-->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label>{{'hcm.payroll.historical_bank_account_label_bank_branch'|translate}}</label>\n <input-rest-auto-complete [dropdown]=\"true\" table=\"BankBranch\"\n [order]=\"['BankBranchCode']\"\n [fields]=\"['BankBranchCode','BankBranchNameI18n']\"\n placeholder=\"{{'hcm.payroll.suggestions' | translate}}\"\n emptyMessage=\"{{'hcm.payroll.not_suggestions' | translate}}\"\n keyCode=\"BankBranchCode\" keyName=\"BankBranchNameI18n\"\n itemSelect=\"bankBranch\" name=\"bankBranch\"\n [conditions]=\"[{ 'fields': ['BankBranchBank'], 'expression' : 'EQUAL', 'value': getBankTableId() }]\"\n [form]=\"bankAccountFormGroup\"\n (onSelect)=\"beforeSetBankAccountValidator()\"\n (onClear)=\"onClearBankBranch()\"\n id=\"ta-bankBranch\">\n </input-rest-auto-complete>\n <s-control-errors [control]=\"bankAccountFormGroup.get('bankBranch')\"\n [errorMessages]=\"{ required: 'hcm.payroll.required' | translate }\">\n </s-control-errors>\n </div>\n <!-- Tipo conta -->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label>{{'hcm.payroll.employees_addition_account_type'|translate}}</label>\n <input-rest-auto-complete-enum [dropdown]=\"true\" server=\"payroll\"\n enumeration=\"AccountType\"\n placeholder=\"{{'hcm.payroll.select' | translate}}\"\n name=\"accountType\" [form]=\"bankAccountFormGroup\"\n (onSelect)=\"beforeSetBankAccountValidator()\"\n (onClear)=\"onClearBankBranch()\"\n id=\"ta-accountType\"></input-rest-auto-complete-enum>\n <s-control-errors [control]=\"bankAccountFormGroup.get('accountType')\"\n [errorMessages]=\"{ required: 'hcm.payroll.required' | translate }\">\n </s-control-errors>\n </div>\n <!--N\u00FAmero conta-->\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label>{{'hcm.payroll.historical_bank_account_label_account_form' |\n translate}}</label>\n <input pInputText id=\"ta-bankAccount\" name=\"bankAccount\" only-number\n formControlName=\"bankAccount\"/>\n <s-control-errors [control]=\"bankAccountFormGroup.get('bankAccount')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n bankAccountDuplicate: 'hcm.payroll.historical_bank_account_label_bank_account_duplicate' | translate,\n maxlength: 'hcm.payroll.error_max_length' | translate: { value: '12' }\n }\">\n </s-control-errors>\n </div>\n <div class=\"ui-md-6 ui-sm-12\">\n <label>{{'hcm.payroll.historical_bank_account_label_digit'|translate}}</label>\n <!--D\u00EDgito-->\n <input pInputText id=\"ta-digit\" name=\"digit\" only-number formControlName=\"digit\"/>\n <s-control-errors [control]=\"bankAccountFormGroup.get('digit')\"\n [errorMessages]=\"{ maxlength: 'hcm.payroll.error_max_length' | translate: { value: '3' } }\">\n </s-control-errors>\n </div>\n <div class=\"ui-md-6 ui-sm-12 required\">\n <label id=\"lb-percentage\"\n for=\"ff-percentage\">{{ 'hcm.payroll.historical_bank_account_label_percentage' | translate }}</label>\n <div class=\"ui-inputgroup\">\n <span class=\"ui-inputgroup-addon\">%</span>\n <input pInputText id=\"ff-percentage\" name=\"percentage\"\n formControlName=\"percentage\"\n currencyMask\n [options]=\"optionsPercentage\"\n [placeholder]=\"percentagePlaceholder\"/>\n </div>\n <s-control-errors [control]=\"bankAccountFormGroup.get('percentage')\"\n [errorMessages]=\"{\n required: 'hcm.payroll.required' | translate,\n maxlength: 'hcm.payroll.error_max_length' | translate: { value: '6' },\n max: 'hcm.payroll.error_max_value_number' | translate: { value: maxValuePercentage },\n min: 'hcm.payroll.error_min_value_number' | translate: { value: '0,01' }\n }\">\n </s-control-errors>\n </div>\n <div class=\"ui-g-12\">\n <p-fieldset\n legend=\"{{ 'hcm.payroll.custom_fields' | translate }}\"\n [attr.data-hidden]=\"!customFields || !customFields.fields.length\"\n >\n <s-custom-fields\n domain=\"hcm\"\n service=\"{{customService}}\"\n entity=\"{{customEntity}}\"\n formControlName=\"customFields\"\n [invalidErrorLabel]=\"'hcm.payroll.employees_invalid_field' | translate\"\n >\n </s-custom-fields>\n </p-fieldset>\n </div>\n </div>\n </div>\n </form>\n\n <div [ngClass]=\"withSideBar ? 'footer' : 'footer-s-border'\">\n <div class=\"form-group\">\n <s-button id=\"btn-save\" label=\"{{ labelBtnAdd | translate}}\" priority=\"primary\"\n (onClick)=\"addItem()\" *ngIf=\"visibleBtnSave && !this.isView\"></s-button>\n <s-button *ngIf=\"withSideBar\" id=\"btn-close\" label=\"{{'hcm.payroll.cancel'|translate}}\" priority=\"secondary\"\n priority=\"link\" (onClick)=\"close()\"></s-button>\n </div>\n </div>\n</div>\n",
|
|
328
|
+
styles: [".refresh{width:100%!important}#table-annuity .col-default-s{width:10%}#table-annuity .col-default-m{width:12%}#table-annuity .col-default-l{width:16%}#table-annuity .col-action{width:10%}#table-annuity .icon-warning{text-align:center!important;color:#ff6d00c7!important}@media screen and (max-width:612px){#table-annuity .col-default-1,#table-annuity .col-default-2{width:16%}#table-annuity .col-default-3{width:26%}#table-annuity .col-icon{width:10%}#table-annuity .col-action{width:27%}}#main{display:-webkit-box;display:flex;height:100%;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}#main form{height:100%}#main .footer{border-top:1px solid #ccc;padding-top:15px;margin-top:15px;flex-shrink:0;margin-bottom:-18px}#main .footer-s-border{padding-left:7px;flex-shrink:0;margin-bottom:-18px}"]
|
|
329
|
+
})
|
|
330
|
+
], HistoricalBankAccountFormComponent);
|
|
331
|
+
export { HistoricalBankAccountFormComponent };
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1iYW5rLWFjY291bnQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvaGlzdG9yaWNhbC1iYW5rLWFjY291bnQvaGlzdG9yaWNhbC1iYW5rLWFjY291bnQtZm9ybS9oaXN0b3JpY2FsLWJhbmstYWNjb3VudC1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxhQUFhLEVBQ2IsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixpQkFBaUIsR0FDcEIsTUFBTSxxQkFBcUIsQ0FBQztBQU83QixJQUFhLGtDQUFrQyxHQUEvQyxNQUFhLGtDQUFrQztJQWtDM0MsWUFDWSxTQUEyQixFQUMzQixXQUF3QixFQUN4QixLQUFxQixFQUNyQixFQUFxQjtRQUhyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtR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QUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNKLENBQUE7O1lBblQwQixnQkFBZ0I7WUFDZCxXQUFXO1lBQ2pCLGNBQWM7WUFDakIsaUJBQWlCOztBQXBDakM7SUFEQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7d0VBQ2Y7QUFHcEM7SUFEQyxLQUFLLEVBQUU7b0VBQzZCO0FBRXJDO0lBREMsS0FBSyxFQUFFO3dFQUNvQjtBQUU1QjtJQURDLEtBQUssRUFBRTt5RUFDcUI7QUFFN0I7SUFEQyxLQUFLLEVBQUU7dUVBQzJCO0FBRW5DO0lBREMsS0FBSyxFQUFFO3NFQUMyQjtBQUduQztJQURDLE1BQU0sRUFBRTt5RUFDaUU7QUFFMUU7SUFEQyxNQUFNLEVBQUU7aUZBQ2lFO0FBNkgxRTtJQURDLEtBQUssRUFBRTtpRUFHUDtBQVFEO0lBREMsS0FBSyxFQUFFOzRFQWVQO0FBNkVEO0lBREMsS0FBSyxFQUFFOzRFQU9QO0FBdUZEO0lBREMsS0FBSyxFQUFFO29FQUtQO0FBclZRLGtDQUFrQztJQUw5QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsY0FBYztRQUN4QiwyZ1JBQTREOztLQUUvRCxDQUFDO0dBQ1csa0NBQWtDLENBc1Y5QztTQXRWWSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTnVtYmVyTG9jYWxlT3B0aW9ucywgQ3VzdG9tRmllbGRzQ29tcG9uZW50IH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtcbiAgICB2ZXJpZnlWYWxpZGF0aW9uc0Zvcm0sXG4gICAgY2xlYXJWYWx1ZXMsXG4gICAgY29uZmlnRW5hYmxlZEZpZWxkcyxcbiAgICBtb3VudEN1c3RvbVRvU2hvdyxcbn0gZnJvbSBcIi4uLy4uL3V0aWxzL2hlbHBlcnNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiYmFuay1hY2NvdW50XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9oaXN0b3JpY2FsLWJhbmstYWNjb3VudC1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuLi9oaXN0b3JpY2FsLWJhbmstYWNjb3VudC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBIaXN0b3JpY2FsQmFua0FjY291bnRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoQ3VzdG9tRmllbGRzQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRzQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VycmVuY3k6IE51bWJlckxvY2FsZU9wdGlvbnM7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tRW50aXR5OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tU2VydmljZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdpdGhTaWRlQmFyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0VkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBiYW5rQWNjb3VudEl0ZW1Ub0xpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwcml2YXRlIF92aXNpYmxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBlbXBsb3llZUlkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBiYW5rQWNjb3VudExpc3Q6IG9iamVjdFtdO1xuICAgIHByaXZhdGUgaW5pdGlhbFZhbGlkYXRvck9mUGVyY2VudGFnZTogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwLjAxKV07XG4gICAgcHJpdmF0ZSBpbml0aWFsVmFsaWRhdG9yT2ZCYW5rQWNjb3VudDogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMildO1xuXG5cbiAgICBwdWJsaWMgbGFiZWxCdG5BZGQ6IHN0cmluZyA9IFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZFwiO1xuICAgIHB1YmxpYyBiYW5rQWNjb3VudEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBtYXhWYWx1ZVBlcmNlbnRhZ2U6IG51bWJlciA9IDEwMC4wMDtcbiAgICBwdWJsaWMgdmlzaWJsZUJ0blNhdmU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHB1YmxpYyBpc1ZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclN1YmplY3RzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTcOpdG9kbyB2YWxpZGEgc2UgbyBuw7ptZXJvIGF0dWFsIGluZm9ybWFkbyBuYSBjb250YSBwYXJhIG8gbWVzbW8gYmFuY28sIGFnZW5jaWEgZSB0aXBvIGrDoSBmb2kgaW5zZXJpZG8gZW0gb3V0cm8gcmVnaXN0cm8gZGEgdGFiZWxhLlxuICAgICAqIENhc28gZXN0YSBjb250YSBqw6EgZXN0ZWphIGVtIHVzbyBwb3Igb3V0cm8gcmVnaXN0cm8sIHJldG9ybmEgXCJiYW5rQWNjb3VudER1cGxpY2F0ZVwiID0gdHJ1ZS5cbiAgICAgKiBAcGFyYW0gbGlzdENvbXBhcmVcbiAgICAgKiBAcGFyYW0gYWNjb3VudFR5cGVWYWx1ZVxuICAgICAqIEBwYXJhbSBiYW5rVmFsdWVcbiAgICAgKiBAcGFyYW0gYmFua0JyYW5jaFZhbHVlXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUR1cGxpY2F0ZUJhbmtBY2NvdW50KFxuICAgICAgICBsaXN0Q29tcGFyZTogb2JqZWN0W10sXG4gICAgICAgIGFjY291bnRUeXBlVmFsdWU6IHN0cmluZyxcbiAgICAgICAgYmFua1ZhbHVlOiBzdHJpbmcsXG4gICAgICAgIGJhbmtCcmFuY2hWYWx1ZTogc3RyaW5nKSB7XG5cbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0b3JzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbCAmJiBjb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgbGV0IGNvbmRpdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgbGlzdENvbXBhcmUuZmlsdGVyKChpdGVtLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9IGl0ZW1bXCJpbmRleFwiXSAmJiB2YWx1ZSAmJiBpdGVtW1wiYmFua1wiXSAmJiBpdGVtW1wiYmFua1wiXS50YWJsZUlkID09PSBiYW5rVmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgaXRlbVtcImJhbmtCcmFuY2hcIl0gJiYgaXRlbVtcImJhbmtCcmFuY2hcIl0udGFibGVJZCA9PT0gYmFua0JyYW5jaFZhbHVlICYmXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1bXCJhY2NvdW50VHlwZVwiXSAmJiBpdGVtW1wiYWNjb3VudFR5cGVcIl0ua2V5ID09PSBhY2NvdW50VHlwZVZhbHVlICYmXG4gICAgICAgICAgICAgICAgICAgIE51bWJlcihpdGVtW1wiYmFua0FjY291bnRcIl0pID09PSBOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25kaXRpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgYmFua0FjY291bnREdXBsaWNhdGU6IHRydWUgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyU3ViamVjdHMoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFua0FjY291bnRGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICBpbmRleDogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgZW1wbG95ZWU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiB7IHRhYmxlSWQ6IG51bGwgfSwgZGlzYWJsZWQ6IHRydWUgfSksXG4gICAgICAgICAgICBkYXRlV2hlbjogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgZGlzcGxheURhdGVXaGVuOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICBiYW5rOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICBiYW5rQnJhbmNoOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICBhY2NvdW50VHlwZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICAgICAgYmFua0FjY291bnQ6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoWy4uLnRoaXMuaW5pdGlhbFZhbGlkYXRvck9mQmFua0FjY291bnRdKSksXG4gICAgICAgICAgICBkaWdpdDogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpKSxcbiAgICAgICAgICAgIHBlcmNlbnRhZ2U6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5pdGlhbFZhbGlkYXRvck9mUGVyY2VudGFnZSxcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLm1heFZhbHVlUGVyY2VudGFnZSksXG4gICAgICAgICAgICBdKSksXG4gICAgICAgICAgICBjdXN0b21GaWVsZHM6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9ucyBCYW5rXG4gICAgcHVibGljIG9uU2VsZWN0QmFuaygpIHtcbiAgICAgICAgdGhpcy5jbGVhbkJhbmtJbmZvcm1hdGlvbigpO1xuICAgICAgICB0aGlzLmJlZm9yZVNldEJhbmtBY2NvdW50VmFsaWRhdG9yKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xlYXJCYW5rKCkge1xuICAgICAgICB0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLmdldChcImJhbmtcIikucmVzZXQoKTtcbiAgICAgICAgdGhpcy5jbGVhbkJhbmtJbmZvcm1hdGlvbigpO1xuICAgICAgICB0aGlzLmJlZm9yZVNldEJhbmtBY2NvdW50VmFsaWRhdG9yKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhbkJhbmtJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGRzID0gW1wiYmFua0JyYW5jaFwiXTtcbiAgICAgICAgY2xlYXJWYWx1ZXModGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cCwgZmllbGRzKTtcbiAgICB9XG5cbiAgICAvLyBBY3Rpb25zIEJhbmtCcmFuY2hcbiAgICBwdWJsaWMgb25DbGVhckJhbmtCcmFuY2goKSB7XG4gICAgICAgIHRoaXMuYmFua0FjY291bnRGb3JtR3JvdXAuZ2V0KFwiYmFua0JyYW5jaFwiKS5yZXNldCgpO1xuICAgICAgICB0aGlzLmJlZm9yZVNldEJhbmtBY2NvdW50VmFsaWRhdG9yKCk7XG4gICAgfVxuXG4gICAgLy8gQWN0aW9ucyBCYW5rQnJhbmNoXG4gICAgcHVibGljIG9uQ2xlYXJBY2NvdW50VHlwZSgpIHtcbiAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJhY2NvdW50VHlwZVwiKS5yZXNldCgpO1xuICAgICAgICB0aGlzLmJlZm9yZVNldEJhbmtBY2NvdW50VmFsaWRhdG9yKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMudmlzaWJsZSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzRWRpdEFuZFZpZXdWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICAgIHRoaXMudmlzaWJsZUJ0blNhdmUgPSB0cnVlO1xuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY3VycmVudEl0ZW0gJiYgT2JqZWN0LmtleXModmFsdWUuY3VycmVudEl0ZW0pLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29udmVydERUT1RvU2hvd1dpdGhDdXN0b21GaWVsZHMoey4uLnZhbHVlLmN1cnJlbnRJdGVtfSkpO1xuICAgICAgICAgICAgdGhpcy5sYWJlbEJ0bkFkZCA9IFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX3VwZGF0ZVwiO1xuICAgICAgICAgICAgdGhpcy5zZXRWYWxpZGF0b3JzQWNjb3JkaW5nTGlzdCh2YWx1ZS5saXN0RGF0YSwgdmFsdWUuY3VycmVudEl0ZW1bXCJpbmRleFwiXSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNWaWV3KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWdFbmFibGVGaWVsZHModmFsdWUgJiYgdmFsdWVbXCJpc0VkaXRNb2RlXCJdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWxCdG5BZGQgPSBcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRcIjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgcHVibGljIGNvbnZlcnREVE9Ub1Nob3dXaXRoQ3VzdG9tRmllbGRzKGRhdGE6IG9iamVjdCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IG9iaiA9IHsuLi4gZGF0YX07XG4gICAgICAgIG9ialtcImN1c3RvbUZpZWxkc1wiXSA9IG1vdW50Q3VzdG9tVG9TaG93KG9ialtcImN1c3RvbUZpZWxkc1wiXSk7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maWdFbmFibGVGaWVsZHMoaXNFZGl0TW9kZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnZpc2libGVCdG5TYXZlID0gaXNFZGl0TW9kZTtcbiAgICAgICAgY29uZmlnRW5hYmxlZEZpZWxkcyh0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLCBpc0VkaXRNb2RlLCBbXG4gICAgICAgICAgICBcImJhbmtcIixcbiAgICAgICAgICAgIFwiYmFua0JyYW5jaFwiLFxuICAgICAgICAgICAgXCJhY2NvdW50VHlwZVwiLFxuICAgICAgICAgICAgXCJiYW5rQWNjb3VudFwiLFxuICAgICAgICAgICAgXCJkaWdpdFwiLFxuICAgICAgICAgICAgXCJwZXJjZW50YWdlXCIsXG4gICAgICAgICAgICBcImN1c3RvbUZpZWxkc1wiLFxuICAgICAgICBdLCBbXSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHZlcmlmeVZhbGlkYXRpb25zRm9ybS5jYWxsKHRoaXMuYmFua0FjY291bnRGb3JtR3JvdXApO1xuXG4gICAgICAgIGlmICh0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLnZhbGlkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5lbXBsb3llZUlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJlbXBsb3llZVwiKS5zZXRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICAgIHRhYmxlSWQ6IHRoaXMuZW1wbG95ZWVJZCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYmFua0FjY291bnRJdGVtVG9MaXN0LmVtaXQodGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldEZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFua0FjY291bnRGb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgICAgdGhpcy5sYWJlbEJ0bkFkZCA9IFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZFwiO1xuICAgICAgICBpZiAodGhpcy5jdXN0b21GaWVsZHMgJiYgdGhpcy5jdXN0b21GaWVsZHMuZm9ybUdyb3VwKSB0aGlzLmN1c3RvbUZpZWxkcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QmFua1RhYmxlSWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLmNvbnRyb2xzLmJhbmsudmFsdWVcbiAgICAgICAgICAgID8gYCckeyB0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLmNvbnRyb2xzLmJhbmsudmFsdWUudGFibGVJZCB9J2BcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBnZXQgcGVyY2VudGFnZVBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgMCR7IHRoaXMuY3VycmVuY3kgJiYgdGhpcy5jdXJyZW5jeS5kZWNpbWFsU2VwYXJhdG9yIH0wMGA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zUGVyY2VudGFnZSgpOiBvYmplY3Qge1xuICAgICAgICByZXR1cm4geyAuLi50aGlzLmdldE9wdGlvbnMoKSwgcHJlY2lzaW9uOiAyIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcHRpb25zKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICAgICAgICB0aG91c2FuZHM6IHRoaXMuY3VycmVuY3kudGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgZGVjaW1hbDogdGhpcy5jdXJyZW5jeS5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE8gSW5wdXQgcXVlIHJlY2ViZSBhIGxpc3RhIGRvIGNvbXBvbmVudCBwYWkgZSBjaGFtYSBvIG3DqXRvZG8gZGUgdmFsaWRhw6fDo28gcGFzc2FuZG8gYSBsaXN0YSByZWNlYmlkYS5cbiAgICAgKiBAcGFyYW0gYmFua0FjY291bnRMaXN0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGdldExpc3RCYW5rQWNjb3VudChiYW5rQWNjb3VudExpc3Q6IG9iamVjdFtdKSB7XG4gICAgICAgIGlmIChiYW5rQWNjb3VudExpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsaWRhdG9yc0FjY29yZGluZ0xpc3QoYmFua0FjY291bnRMaXN0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWNlYmUgYSBsaXN0YSBkZSByZWdpc3Ryb3MgasOhIGluc2VyaWRvcyBuYSB0YWJlbGEgYWRpY2lvbmEgZW0gdW1hIHZhcmnDoXZlbCBvcyB2YWxvcmVzIHF1ZSBzZXLDo28gdXNhZG9zIHBhcmFcbiAgICAgKiBhIHZhbGlkYcOnw6NvIGRvcyBjYW1wb3MgXCJwZXJjZW50YWdlXCIgZSBcImJhbmtBY2NvdW50XCIuXG4gICAgICogUXVhbmRvIHRlbSBpbmRleCBzaWduaWZpY2EgcXVlIGVzdMOhIGVtIHVtYSBlZGnDp8Ojbywgb3MgdmFsb3JlcyBuYSBwb3Npw6fDo28gZG8gcmVnaXN0cm8gZGEgZWRpw6fDo28gKGluZGV4KSBuw6NvIHNlcsOjbyBhZGljaW9uYWRvc1xuICAgICAqIG5vIGFycmF5IGRlIGNvbXBhcmHDp8OjbyBkb3MgdmFsaWRhdG9ycy5cbiAgICAgKiBAcGFyYW0gYmFua0FjY291bnRMaXN0XG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRWYWxpZGF0b3JzQWNjb3JkaW5nTGlzdChiYW5rQWNjb3VudExpc3Q6IG9iamVjdFtdLCBpbmRleDogbnVtYmVyID0gbnVsbCkge1xuICAgICAgICB0aGlzLmJhbmtBY2NvdW50TGlzdCA9IGJhbmtBY2NvdW50TGlzdCAmJiBiYW5rQWNjb3VudExpc3QubGVuZ3RoID8gWy4uLmJhbmtBY2NvdW50TGlzdF0gOiBbXTtcblxuICAgICAgICBjb25zdCBwZXJjZW50YWdlSW5jbHVkZWQgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5iYW5rQWNjb3VudExpc3QgJiYgdGhpcy5iYW5rQWNjb3VudExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmJhbmtBY2NvdW50TGlzdC5maWx0ZXIoKGZpZWxkLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGRbXCJwZXJjZW50YWdlXCJdICYmIGtleSAhPSBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBwZXJjZW50YWdlSW5jbHVkZWQucHVzaChmaWVsZFtcInBlcmNlbnRhZ2VcIl0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5iZWZvcmVTZXRCYW5rQWNjb3VudFZhbGlkYXRvcigpO1xuICAgICAgICB0aGlzLnZhbGlkYXRlUGVyY2VudGFnZVZhbGlkKHBlcmNlbnRhZ2VJbmNsdWRlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW50ZXMgZGUgc2V0YXIgbyB2YWxpZGF0b3IgcHJlcGFyYSBhcyB2YXJpw6F2ZWlzIG5lY2Vzc8OhcmlhIHBhcmEgcXVlIHNlamEgZmVpdGEgYSB2YWxpZGHDp8OjbyBkbyBjYW1wby5cbiAgICAgKi9cbiAgICBwdWJsaWMgYmVmb3JlU2V0QmFua0FjY291bnRWYWxpZGF0b3IoKSB7XG4gICAgICAgIGNvbnN0IGJhbmtBY2NvdW50ID0gdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJiYW5rQWNjb3VudFwiKTtcblxuICAgICAgICBjb25zdCBhY2NvdW50VHlwZVZhbHVlID0gdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJhY2NvdW50VHlwZVwiKSAmJlxuICAgICAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJhY2NvdW50VHlwZVwiKS52YWx1ZSAmJlxuICAgICAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJhY2NvdW50VHlwZVwiKS52YWx1ZVtcImtleVwiXTtcblxuICAgICAgICBjb25zdCBiYW5rVmFsdWUgPSB0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLmdldChcImJhbmtcIikgJiZcbiAgICAgICAgICAgIHRoaXMuYmFua0FjY291bnRGb3JtR3JvdXAuZ2V0KFwiYmFua1wiKS52YWx1ZSAmJlxuICAgICAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJiYW5rXCIpLnZhbHVlW1widGFibGVJZFwiXTtcblxuICAgICAgICBjb25zdCBiYW5rQnJhbmNoVmFsdWUgPSB0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLmdldChcImJhbmtCcmFuY2hcIikgJiZcbiAgICAgICAgICAgIHRoaXMuYmFua0FjY291bnRGb3JtR3JvdXAuZ2V0KFwiYmFua0JyYW5jaFwiKS52YWx1ZSAmJlxuICAgICAgICAgICAgdGhpcy5iYW5rQWNjb3VudEZvcm1Hcm91cC5nZXQoXCJiYW5rQnJhbmNoXCIpLnZhbHVlW1widGFibGVJZFwiXTtcblxuICAgICAgICBpZiAoYmFua1ZhbHVlICYmXG4gICAgICAgICAgICBiYW5rQnJhbmNoVmFsdWUgJiZcbiAgICAgICAgICAgIGFjY291bnRUeXBlVmFsdWUgJiZcbiAgICAgICAgICAgIHRoaXMuYmFua0FjY291bnRMaXN0ICYmXG4gICAgICAgICAgICB0aGlzLmJhbmtBY2NvdW50TGlzdC5sZW5ndGgpIHtcblxuICAgICAgICAgICAgYmFua0FjY291bnRcbiAgICAgICAgICAgICAgICAuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmluaXRpYWxWYWxpZGF0b3JPZkJhbmtBY2NvdW50LFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlRHVwbGljYXRlQmFua0FjY291bnQodGhpcy5iYW5rQWNjb3VudExpc3QsIGFjY291bnRUeXBlVmFsdWUsIGJhbmtWYWx1ZSwgYmFua0JyYW5jaFZhbHVlKSxcbiAgICAgICAgICAgICAgICBdKSk7XG4gICAgICAgICAgICBiYW5rQWNjb3VudC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBiYW5rQWNjb3VudFxuICAgICAgICAgICAgICAgIC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5pdGlhbFZhbGlkYXRvck9mQmFua0FjY291bnQsXG4gICAgICAgICAgICAgICAgXSkpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFc3RlIG3DqXRvZG8gY2FsY3VsYSBhcyBwYXJjZW50YWdlbnMgcXVlIGrDoSBmb3JhbSBpbnNlcmlkYXMsIGUgc2V0YSBhIGRpZmVyZW7Dp2EgcGFyYSBjaGVnYXIgZW1cbiAgICAgKiAxMDAlIG5hIHZhbGlkYcOnw6NvIGRvIGNhbXBvIFwicGVyY2VudGFnZVwiIGNvbW8gdW0gbm92byBtYXhWYWx1ZTtcbiAgICAgKiBAcGFyYW0gbGlzdFZhbHVlXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZVBlcmNlbnRhZ2VWYWxpZChsaXN0VmFsdWU6IG51bWJlcltdKSB7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSB0aGlzLmJhbmtBY2NvdW50Rm9ybUdyb3VwLmdldChcInBlcmNlbnRhZ2VcIik7XG4gICAgICAgIHRoaXMubWF4VmFsdWVQZXJjZW50YWdlID0gbGlzdFZhbHVlXG4gICAgICAgICAgICAucmVkdWNlKChjdXJyZW50VmFsdWUsIHRvdGFsKSA9PiBjdXJyZW50VmFsdWUgLSB0b3RhbCxcbiAgICAgICAgICAgICAgICAxMDAuMDAsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHBlcmNlbnRhZ2VcbiAgICAgICAgICAgIC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5pbml0aWFsVmFsaWRhdG9yT2ZQZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4VmFsdWVQZXJjZW50YWdlKSxcbiAgICAgICAgICAgIF0pKTtcbiAgICAgICAgcGVyY2VudGFnZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzVmlld01vZGUoY29uZGl0aW9uOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNWaWV3ID0gISEoY29uZGl0aW9uICYmICF0aGlzLndpdGhTaWRlQmFyKTtcbiAgICAgICAgdGhpcy5jb25maWdFbmFibGVGaWVsZHMoIXRoaXMuaXNWaWV3KTtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmlldykgdGhpcy5yZXNldEZvcm0oKTtcbiAgICB9XG59XG4iXX0=
|