{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/Views/Account/change-password/change-password.component.html","./src/app/Views/Account/change-password/insert-password-modal/insert-password-modal.component.html","./src/app/Views/Account/change-temp-password/change-temp-password.component.html","./src/app/Views/Account/update-security-questions/update-security-questions.component.html","./src/app/Views/Admin/access-control/access-control-modal.component.html","./src/app/Views/Admin/access-control/access-control.component.html","./src/app/Views/Admin/access-control/extraction-list/extraction-permission-list.component.html","./src/app/Views/Admin/access-control/state-list/state-permission-table.component.html","./src/app/Views/Admin/groups/group-list.component.html","./src/app/Views/Admin/groups/group-modal.component.html","./src/app/Views/Admin/ldap/ldap.component.html","./src/app/Views/Admin/profiles/profile-list.component.html","./src/app/Views/Admin/profiles/profile-modal.component.html","./src/app/Views/Admin/security-configuration/userSecurityConfig.component.html","./src/app/Views/Admin/users/user-list.component.html","./src/app/Views/Admin/users/user-modal.component.html","./src/app/Views/Batch/management/batch-management-modal/batch-management-modal.component.html","./src/app/Views/Batch/management/batch-management.component.html","./src/app/Views/Batch/template-configuration/batch-template-modal/batch-template-modal.component.html","./src/app/Views/Batch/template-configuration/template-configuration.component.html","./src/app/Views/Configuration/common/edit-queue-color-modal/edit-queue-color-modal.component.html","./src/app/Views/Configuration/common/edit-queue-column-modal/edit-queue-column-modal.component.html","./src/app/Views/Configuration/common/edit-queue-metadata-modal/edit-queue-metadata-modal.component.html","./src/app/Views/Configuration/common/edit-queue-overflow-modal/edit-queue-overflow-modal.component.html","./src/app/Views/Configuration/common/queue-columns-preview-modal/queue-columns-preview-modal.component.html","./src/app/Views/Configuration/custom-interaction-queue-config-list/custom-interaction-queue-config-list.component.html","./src/app/Views/Configuration/custom-interaction-queue-config/custom-interaction-queue-config.component.html","./src/app/Views/Configuration/data-extraction-layout/data-extraction-layout.component.html","./src/app/Views/Configuration/data-extraction-layout/extraction-layout-modal/extraction-layout-modal.component.html","./src/app/Views/Configuration/distribution-custom-interaction/distribution-custom-interaction.component.html","./src/app/Views/Configuration/driver-update-list/driver-update-list.component.html","./src/app/Views/Configuration/global-variable-groups/global-variable-group-modal/global-variable-group-modal.component.html","./src/app/Views/Configuration/global-variable-groups/global-variable-groups.component.html","./src/app/Views/Configuration/global-variables/global-variable-modal/global-variable-modal.component.html","./src/app/Views/Configuration/global-variables/global-variables.component.html","./src/app/Views/Configuration/interaction-queue-config/interaction-queue-config.component.html","./src/app/Views/Configuration/metadata-structure-list/metadata-structure-list.component.html","./src/app/Views/Configuration/metadata-structure-list/metadata-structure-modal/metadata-structure-modal.component.html","./src/app/Views/Configuration/pools/pools-modal/pools-modal.component.html","./src/app/Views/Configuration/pools/pools.component.html","./src/app/Views/Configuration/scheduling/extraction-scheduling-modal/extraction-scheduling-modal.component.html","./src/app/Views/Configuration/scheduling/scheduling.component.html","./src/app/Views/Configuration/service-configuration-api/service-configuration-api.component.html","./src/app/Views/Configuration/service-configuration-batcher/service-configuration-batcher.component.html","./src/app/Views/Configuration/service-configuration-inMemory/service-configuration-inMemory.component.html","./src/app/Views/Configuration/service-configuration-list/service-configuration-list.component.html","./src/app/Views/Configuration/service-configuration-runtime/service-configuration-runtime.component.html","./src/app/Views/Configuration/service-configuration-scheduler/service-configuration-scheduler.component.html","./src/app/Views/Configuration/service-configuration-webClient/service-configuration-webClient.component.html","./src/app/Views/Configuration/system-flow/system-flow-import/system-flow-import.component.html","./src/app/Views/Configuration/system-flow/system-flow-modal/system-flow-modal.component.html","./src/app/Views/Configuration/system-flow/system-flow.component.html","./src/app/Views/Configuration/task-monitoring/error-message-modal/error-message-modal.component.html","./src/app/Views/Configuration/task-monitoring/task-monitoring.component.html","./src/app/Views/Configuration/user-metadata-admin/user-metadata-admin-modal/user-metadata-admin-modal.component.html","./src/app/Views/Configuration/user-metadata-admin/user-metadata-admin.component.html","./src/app/Views/HumanInteraction/business-process-invoke-filter/business-process-invoke-filter.component.html","./src/app/Views/HumanInteraction/business-process-invoke-list/business-process-invoke-list.component.html","./src/app/Views/HumanInteraction/business-process-suspended-list/business-process-suspended-list.component.html","./src/app/Views/HumanInteraction/custom-interaction-queue/custom-interaction-queue.component.html","./src/app/Views/HumanInteraction/custom-interaction-queue/totals-per-agreements-modal/totals-per-agreements-modal.component.html","./src/app/Views/HumanInteraction/interaction-filter-modal/interaction-filter-modal.component.html","./src/app/Views/HumanInteraction/queue components/queue-card-list/queue-card-list.component.html","./src/app/Views/HumanInteraction/queue components/queue-card/queue-card.component.html","./src/app/Views/HumanInteraction/queue components/queue-grid/queue-grid.component.html","./src/app/Views/HumanInteraction/sequential-allocation/sequential-allocation.component.html","./src/app/Views/Runtime/administration/business-process-instance-override/business-process-instance-override.component.html","./src/app/Views/Runtime/administration/business-process-instance-override/schedule-modal/schedule-modal.component.html","./src/app/Views/Runtime/administration/business-process-instance-override/tab-intance-override/tab-intance-override.component.html","./src/app/Views/Runtime/administration/business-process-queue-manager/business-process-queue-manager.component.html","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-action-modal/queue-action-modal.component.html","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-manager-filter/queue-manager-filter.component.html","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-shift-modal/queue-shift-modal.component.html","./src/app/Views/Runtime/business-process/business-process-detail/business-process-detail.component.html","./src/app/Views/Runtime/business-process/business-process-detail/graph-detail/graph-detail.component.html","./src/app/Views/Runtime/business-process/business-process-detail/library-item-details/library-item-details.component.html","./src/app/Views/Runtime/business-process/business-process-list.component.html","./src/app/Views/Runtime/business-process/consolidation-modal/consolidation-modal.component.html","./src/app/Views/Runtime/business-process/field-detail/field-detail.component.html","./src/app/Views/Runtime/business-process/fields-management/fields-management.component.html","./src/app/Views/Runtime/business-process/fields-management/fields-multiple-edition/fields-multiple-edition.component.html","./src/app/Views/Runtime/business-process/history-report-visibility/history-report-visibility.component.html","./src/app/Views/Runtime/business-process/import/import.component.html","./src/app/Views/Runtime/business-process/manage-locked-elements/manage-locked-elements.component.html","./src/app/Views/Runtime/business-process/recover-version/recover-version-change-log.component.html","./src/app/Views/Runtime/business-process/recover-version/recover-version.component.html","./src/app/Views/Runtime/business-process/related-business-process-configuration/related-business-process-configuration.component.html","./src/app/Views/Runtime/business-process/state-detail/state-detail.component.html","./src/app/Views/Runtime/instance/businessProcessStartList.component.html","./src/app/Views/Runtime/reports/business-process-instance-history/business-process-instance-history.component.html","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/field-value-details/field-value-detail.component.html","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/history-timeline/history-timeline.component.html","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/instance-history-details.component.html","./src/app/Views/Runtime/reports/business-process-instance-history/view-instance-report/view-instance-report.component.html","./src/app/Views/Runtime/reports/instance-history-stateLifeCycle/instance-history-result-modal/instance-history-result-modal.component.html","./src/app/Views/Runtime/reports/instance-history-stateLifeCycle/instance-history-stateLifeCycle.component.html","./src/app/Views/Runtime/reports/instance-override-report/instance-override-report.component.html","./src/app/Views/Runtime/reports/timing-analysis-report/result-template/result-template.component.html","./src/app/Views/Runtime/reports/timing-analysis-report/timing-analysis-report.component.html","./src/app/Views/home/home.component.html","./src/app/app.component.html","./src/app/common/checkbox-list/checkbox-list.component.html","./src/app/common/context-menu/context-menu.component.html","./src/app/common/dropdown-multiselect/dropdown-multiselect.component.html","./src/app/common/filter/filter.component.html","./src/app/common/reports-filter/instance-history-result/instance-history-result.component.html","./src/app/common/reports-filter/reports-filter.component.html","./src/app/common/table-sort/table-sort.component.html","./src/app/common/table-sort/wf-table.component.html","./src/app/generic-modal/generic-input-modal/generic-input-modal.component.html","./src/app/generic-modal/generic-modal.component.html","./src/app/generic-modal/generic-select-modal/generic-select-modal.component.html","./src/app/master/components/footer-menu/footer-menu.component.html","./src/app/master/components/header-menu/header-menu.component.html","./src/app/master/components/login/Login.html","./src/app/master/components/nav-menu/nav-menu.component.html","./src/app/master/components/not-found-page/not-found-page.component.html","./src/app/master/masterpage.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/Models/contextMenu.ts","./src/app/Models/elementLock.ts","./src/app/Models/enum/dataExtractionIntervalType.ts","./src/app/Models/enum/dataExtractionType.ts","./src/app/Models/enum/dateExibitionFormat.ts","./src/app/Models/enum/designElementType.ts","./src/app/Models/enum/enumTranslator.ts","./src/app/Models/enum/fieldDomainType.ts","./src/app/Models/enum/fieldEditType.ts","./src/app/Models/enum/fieldMaskType.ts","./src/app/Models/enum/fieldType.ts","./src/app/Models/enum/fieldValidator.ts","./src/app/Models/enum/interactionQueueType.ts","./src/app/Models/enum/libraryItemType.ts","./src/app/Models/enum/lockStatus.ts","./src/app/Models/enum/metadataEditingType.ts","./src/app/Models/enum/metadataType.ts","./src/app/Models/enum/nodeConfigurationType.ts","./src/app/Models/enum/overrideDefinitionType.ts","./src/app/Models/enum/paginationEngine.ts","./src/app/Models/enum/securableObjectType.ts","./src/app/Models/enum/stateLifeCycle.ts","./src/app/Models/enum/taskLogStatus.ts","./src/app/Models/enum/trusteeType.ts","./src/app/Models/human-interaction/cardInfo.ts","./src/app/Models/menuComponentFromTo.ts","./src/app/Models/menuItem.ts","./src/app/Views/Account/account.module.ts","./src/app/Views/Account/account.routing.ts","./src/app/Views/Account/change-password/change-password.component.css","./src/app/Views/Account/change-password/change-password.component.ts","./src/app/Views/Account/change-password/insert-password-modal/insert-password-modal.component.css","./src/app/Views/Account/change-password/insert-password-modal/insert-password-modal.component.ts","./src/app/Views/Account/change-temp-password/change-temp-password.component.css","./src/app/Views/Account/change-temp-password/change-temp-password.component.ts","./src/app/Views/Account/update-security-questions/update-security-questions.component.css","./src/app/Views/Account/update-security-questions/update-security-questions.component.ts","./src/app/Views/Admin/access-control/access-control-modal.component.css","./src/app/Views/Admin/access-control/access-control-modal.component.ts","./src/app/Views/Admin/access-control/access-control.component.css","./src/app/Views/Admin/access-control/access-control.component.ts","./src/app/Views/Admin/access-control/extraction-list/extraction-permission-list.component.ts","./src/app/Views/Admin/access-control/state-list/state-permission-table.component.ts","./src/app/Views/Admin/admin.module.ts","./src/app/Views/Admin/groups/group-list.component.css","./src/app/Views/Admin/groups/group-list.component.ts","./src/app/Views/Admin/groups/group-modal.component.css","./src/app/Views/Admin/groups/group-modal.component.ts","./src/app/Views/Admin/ldap/ldap.component.css","./src/app/Views/Admin/ldap/ldap.component.ts","./src/app/Views/Admin/profiles/profile-list.component.css","./src/app/Views/Admin/profiles/profile-list.component.ts","./src/app/Views/Admin/profiles/profile-modal.component.css","./src/app/Views/Admin/profiles/profile-modal.component.ts","./src/app/Views/Admin/security-configuration/userSecurityConfig.component.css","./src/app/Views/Admin/security-configuration/userSecurityConfig.component.ts","./src/app/Views/Admin/users/user-list.component.css","./src/app/Views/Admin/users/user-list.component.ts","./src/app/Views/Admin/users/user-modal.component.css","./src/app/Views/Admin/users/user-modal.component.ts","./src/app/Views/Batch/batch.module.ts","./src/app/Views/Batch/management/batch-management-modal/batch-management-modal.component.css","./src/app/Views/Batch/management/batch-management-modal/batch-management-modal.component.ts","./src/app/Views/Batch/management/batch-management.component.css","./src/app/Views/Batch/management/batch-management.component.ts","./src/app/Views/Batch/template-configuration/batch-template-modal/batch-template-modal.component.css","./src/app/Views/Batch/template-configuration/batch-template-modal/batch-template-modal.component.ts","./src/app/Views/Batch/template-configuration/template-configuration.component.css","./src/app/Views/Batch/template-configuration/template-configuration.component.ts","./src/app/Views/Configuration/common/edit-queue-color-modal/edit-queue-color-modal.component.css","./src/app/Views/Configuration/common/edit-queue-color-modal/edit-queue-color-modal.component.ts","./src/app/Views/Configuration/common/edit-queue-column-modal/edit-queue-column-modal.component.css","./src/app/Views/Configuration/common/edit-queue-column-modal/edit-queue-column-modal.component.ts","./src/app/Views/Configuration/common/edit-queue-metadata-modal/edit-queue-metadata-modal.component.css","./src/app/Views/Configuration/common/edit-queue-metadata-modal/edit-queue-metadata-modal.component.ts","./src/app/Views/Configuration/common/edit-queue-overflow-modal/edit-queue-overflow-modal.component.css","./src/app/Views/Configuration/common/edit-queue-overflow-modal/edit-queue-overflow-modal.component.ts","./src/app/Views/Configuration/common/queue-columns-preview-modal/queue-columns-preview-modal.component.css","./src/app/Views/Configuration/common/queue-columns-preview-modal/queue-columns-preview-modal.component.ts","./src/app/Views/Configuration/configuration.module.ts","./src/app/Views/Configuration/configuration.routing.ts","./src/app/Views/Configuration/custom-interaction-queue-config-list/custom-interaction-queue-config-list.component.css","./src/app/Views/Configuration/custom-interaction-queue-config-list/custom-interaction-queue-config-list.component.ts","./src/app/Views/Configuration/custom-interaction-queue-config/custom-interaction-queue-config.component.css","./src/app/Views/Configuration/custom-interaction-queue-config/custom-interaction-queue-config.component.ts","./src/app/Views/Configuration/data-extraction-layout/data-extraction-layout.component.css","./src/app/Views/Configuration/data-extraction-layout/data-extraction-layout.component.ts","./src/app/Views/Configuration/data-extraction-layout/extraction-layout-modal/extraction-layout-modal.component.css","./src/app/Views/Configuration/data-extraction-layout/extraction-layout-modal/extraction-layout-modal.component.ts","./src/app/Views/Configuration/distribution-custom-interaction/distribution-custom-interaction.component.css","./src/app/Views/Configuration/distribution-custom-interaction/distribution-custom-interaction.component.ts","./src/app/Views/Configuration/driver-update-list/driver-update-list.component.css","./src/app/Views/Configuration/driver-update-list/driver-update-list.component.ts","./src/app/Views/Configuration/global-variable-groups/global-variable-group-modal/global-variable-group-modal.component.css","./src/app/Views/Configuration/global-variable-groups/global-variable-group-modal/global-variable-group-modal.component.ts","./src/app/Views/Configuration/global-variable-groups/global-variable-groups.component.css","./src/app/Views/Configuration/global-variable-groups/global-variable-groups.component.ts","./src/app/Views/Configuration/global-variables/global-variable-modal/global-variable-modal.component.css","./src/app/Views/Configuration/global-variables/global-variable-modal/global-variable-modal.component.ts","./src/app/Views/Configuration/global-variables/global-variables.component.css","./src/app/Views/Configuration/global-variables/global-variables.component.ts","./src/app/Views/Configuration/interaction-queue-config/interaction-queue-config.component.css","./src/app/Views/Configuration/interaction-queue-config/interaction-queue-config.component.ts","./src/app/Views/Configuration/metadata-structure-list/metadata-structure-list.component.css","./src/app/Views/Configuration/metadata-structure-list/metadata-structure-list.component.ts","./src/app/Views/Configuration/metadata-structure-list/metadata-structure-modal/metadata-structure-modal.component.css","./src/app/Views/Configuration/metadata-structure-list/metadata-structure-modal/metadata-structure-modal.component.ts","./src/app/Views/Configuration/pools/pools-modal/pools-modal.component.css","./src/app/Views/Configuration/pools/pools-modal/pools-modal.component.ts","./src/app/Views/Configuration/pools/pools.component.css","./src/app/Views/Configuration/pools/pools.component.ts","./src/app/Views/Configuration/scheduling/extraction-scheduling-modal/extraction-scheduling-modal.component.css","./src/app/Views/Configuration/scheduling/extraction-scheduling-modal/extraction-scheduling-modal.component.ts","./src/app/Views/Configuration/scheduling/scheduling.component.css","./src/app/Views/Configuration/scheduling/scheduling.component.ts","./src/app/Views/Configuration/service-configuration-api/service-configuration-api.component.css","./src/app/Views/Configuration/service-configuration-api/service-configuration-api.component.ts","./src/app/Views/Configuration/service-configuration-batcher/service-configuration-batcher.component.css","./src/app/Views/Configuration/service-configuration-batcher/service-configuration-batcher.component.ts","./src/app/Views/Configuration/service-configuration-inMemory/service-configuration-inMemory.component.css","./src/app/Views/Configuration/service-configuration-inMemory/service-configuration-inMemory.component.ts","./src/app/Views/Configuration/service-configuration-list/service-configuration-list.component.css","./src/app/Views/Configuration/service-configuration-list/service-configuration-list.component.ts","./src/app/Views/Configuration/service-configuration-runtime/service-configuration-runtime.component.css","./src/app/Views/Configuration/service-configuration-runtime/service-configuration-runtime.component.ts","./src/app/Views/Configuration/service-configuration-scheduler/service-configuration-scheduler.component.css","./src/app/Views/Configuration/service-configuration-scheduler/service-configuration-scheduler.component.ts","./src/app/Views/Configuration/service-configuration-webClient/service-configuration-webClient.component.css","./src/app/Views/Configuration/service-configuration-webClient/service-configuration-webClient.component.ts","./src/app/Views/Configuration/system-flow/system-flow-import/system-flow-import.component.css","./src/app/Views/Configuration/system-flow/system-flow-import/system-flow-import.component.ts","./src/app/Views/Configuration/system-flow/system-flow-modal/system-flow-modal.component.css","./src/app/Views/Configuration/system-flow/system-flow-modal/system-flow-modal.component.ts","./src/app/Views/Configuration/system-flow/system-flow.component.css","./src/app/Views/Configuration/system-flow/system-flow.component.ts","./src/app/Views/Configuration/task-monitoring/error-message-modal/error-message-modal.component.css","./src/app/Views/Configuration/task-monitoring/error-message-modal/error-message-modal.component.ts","./src/app/Views/Configuration/task-monitoring/task-monitoring.component.css","./src/app/Views/Configuration/task-monitoring/task-monitoring.component.ts","./src/app/Views/Configuration/user-metadata-admin/user-metadata-admin-modal/user-metadata-admin-modal.component.css","./src/app/Views/Configuration/user-metadata-admin/user-metadata-admin-modal/user-metadata-admin-modal.component.ts","./src/app/Views/Configuration/user-metadata-admin/user-metadata-admin.component.css","./src/app/Views/Configuration/user-metadata-admin/user-metadata-admin.component.ts","./src/app/Views/HumanInteraction/business-process-invoke-filter/business-process-invoke-filter.component.css","./src/app/Views/HumanInteraction/business-process-invoke-filter/business-process-invoke-filter.component.ts","./src/app/Views/HumanInteraction/business-process-invoke-list/business-process-invoke-list.component.css","./src/app/Views/HumanInteraction/business-process-invoke-list/business-process-invoke-list.component.ts","./src/app/Views/HumanInteraction/business-process-suspended-list/business-process-suspended-list.component.css","./src/app/Views/HumanInteraction/business-process-suspended-list/business-process-suspended-list.component.ts","./src/app/Views/HumanInteraction/custom-interaction-queue/custom-interaction-queue.component.css","./src/app/Views/HumanInteraction/custom-interaction-queue/custom-interaction-queue.component.ts","./src/app/Views/HumanInteraction/custom-interaction-queue/totals-per-agreements-modal/totals-per-agreements-modal.component.css","./src/app/Views/HumanInteraction/custom-interaction-queue/totals-per-agreements-modal/totals-per-agreements-modal.component.ts","./src/app/Views/HumanInteraction/human-interaction.module.ts","./src/app/Views/HumanInteraction/interaction-filter-modal/interaction-filter-modal.component.css","./src/app/Views/HumanInteraction/interaction-filter-modal/interaction-filter-modal.component.ts","./src/app/Views/HumanInteraction/queue components/queue-card-list/queue-card-list.component.css","./src/app/Views/HumanInteraction/queue components/queue-card-list/queue-card-list.component.ts","./src/app/Views/HumanInteraction/queue components/queue-card/queue-card.component.css","./src/app/Views/HumanInteraction/queue components/queue-card/queue-card.component.ts","./src/app/Views/HumanInteraction/queue components/queue-grid/queue-grid.component.css","./src/app/Views/HumanInteraction/queue components/queue-grid/queue-grid.component.ts","./src/app/Views/HumanInteraction/sequential-allocation/sequential-allocation.component.css","./src/app/Views/HumanInteraction/sequential-allocation/sequential-allocation.component.ts","./src/app/Views/Runtime/administration/business-process-instance-override/business-process-instance-override.component.css","./src/app/Views/Runtime/administration/business-process-instance-override/business-process-instance-override.component.ts","./src/app/Views/Runtime/administration/business-process-instance-override/schedule-modal/schedule-modal.component.css","./src/app/Views/Runtime/administration/business-process-instance-override/schedule-modal/schedule-modal.component.ts","./src/app/Views/Runtime/administration/business-process-instance-override/tab-intance-override/tab-intance-override.component.ts","./src/app/Views/Runtime/administration/business-process-queue-manager/business-process-queue-manager.component.css","./src/app/Views/Runtime/administration/business-process-queue-manager/business-process-queue-manager.component.ts","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-action-modal/queue-action-modal.component.css","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-action-modal/queue-action-modal.component.ts","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-manager-filter/queue-manager-filter.component.css","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-manager-filter/queue-manager-filter.component.ts","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-shift-modal/queue-shift-modal.component.css","./src/app/Views/Runtime/administration/business-process-queue-manager/queue-shift-modal/queue-shift-modal.component.ts","./src/app/Views/Runtime/business-process/business-process-detail/business-process-detail.component.css","./src/app/Views/Runtime/business-process/business-process-detail/business-process-detail.component.ts","./src/app/Views/Runtime/business-process/business-process-detail/graph-detail/graph-detail.component.css","./src/app/Views/Runtime/business-process/business-process-detail/graph-detail/graph-detail.component.ts","./src/app/Views/Runtime/business-process/business-process-detail/library-item-details/library-item-details.component.css","./src/app/Views/Runtime/business-process/business-process-detail/library-item-details/library-item-details.component.ts","./src/app/Views/Runtime/business-process/business-process-list.component.css","./src/app/Views/Runtime/business-process/business-process-list.component.ts","./src/app/Views/Runtime/business-process/business-process.routing.ts","./src/app/Views/Runtime/business-process/consolidation-modal/consolidation-modal.component.css","./src/app/Views/Runtime/business-process/consolidation-modal/consolidation-modal.component.ts","./src/app/Views/Runtime/business-process/field-detail/field-detail.component.css","./src/app/Views/Runtime/business-process/field-detail/field-detail.component.ts","./src/app/Views/Runtime/business-process/fields-management/fields-management.component.css","./src/app/Views/Runtime/business-process/fields-management/fields-management.component.ts","./src/app/Views/Runtime/business-process/fields-management/fields-multiple-edition/fields-multiple-edition.component.css","./src/app/Views/Runtime/business-process/fields-management/fields-multiple-edition/fields-multiple-edition.component.ts","./src/app/Views/Runtime/business-process/history-report-visibility/history-report-visibility.component.css","./src/app/Views/Runtime/business-process/history-report-visibility/history-report-visibility.component.ts","./src/app/Views/Runtime/business-process/import/import.component.css","./src/app/Views/Runtime/business-process/import/import.component.ts","./src/app/Views/Runtime/business-process/manage-locked-elements/manage-locked-elements.component.css","./src/app/Views/Runtime/business-process/manage-locked-elements/manage-locked-elements.component.ts","./src/app/Views/Runtime/business-process/recover-version/recover-version-change-log.component.css","./src/app/Views/Runtime/business-process/recover-version/recover-version-change-log.component.ts","./src/app/Views/Runtime/business-process/recover-version/recover-version.component.css","./src/app/Views/Runtime/business-process/recover-version/recover-version.component.ts","./src/app/Views/Runtime/business-process/related-business-process-configuration/related-business-process-configuration.component.css","./src/app/Views/Runtime/business-process/related-business-process-configuration/related-business-process-configuration.component.ts","./src/app/Views/Runtime/business-process/state-detail/state-detail.component.css","./src/app/Views/Runtime/business-process/state-detail/state-detail.component.ts","./src/app/Views/Runtime/instance/businessProcessStartList.component.css","./src/app/Views/Runtime/instance/businessProcessStartList.component.ts","./src/app/Views/Runtime/reports/business-process-instance-history/business-process-instance-history.component.css","./src/app/Views/Runtime/reports/business-process-instance-history/business-process-instance-history.component.ts","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/field-value-details/field-value-detail.component.css","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/field-value-details/field-value-detail.component.ts","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/history-timeline/history-timeline.component.css","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/history-timeline/history-timeline.component.ts","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/instance-history-details.component.css","./src/app/Views/Runtime/reports/business-process-instance-history/instance-history-details/instance-history-details.component.ts","./src/app/Views/Runtime/reports/business-process-instance-history/view-instance-report/view-instance-report.component.css","./src/app/Views/Runtime/reports/business-process-instance-history/view-instance-report/view-instance-report.component.ts","./src/app/Views/Runtime/reports/instance-history-stateLifeCycle/instance-history-result-modal/instance-history-result-modal.component.css","./src/app/Views/Runtime/reports/instance-history-stateLifeCycle/instance-history-result-modal/instance-history-result-modal.component.ts","./src/app/Views/Runtime/reports/instance-history-stateLifeCycle/instance-history-stateLifeCycle.component.css","./src/app/Views/Runtime/reports/instance-history-stateLifeCycle/instance-history-stateLifeCycle.component.ts","./src/app/Views/Runtime/reports/instance-override-report/instance-override-report.component.css","./src/app/Views/Runtime/reports/instance-override-report/instance-override-report.component.ts","./src/app/Views/Runtime/reports/reports.routing.ts","./src/app/Views/Runtime/reports/timing-analysis-report/result-template/result-template.component.css","./src/app/Views/Runtime/reports/timing-analysis-report/result-template/result-template.component.ts","./src/app/Views/Runtime/reports/timing-analysis-report/timing-analysis-report.component.css","./src/app/Views/Runtime/reports/timing-analysis-report/timing-analysis-report.component.ts","./src/app/Views/Runtime/runtime.module.ts","./src/app/Views/home/home.component.css","./src/app/Views/home/home.component.ts","./src/app/app.component.ts","./src/app/app.config.ts","./src/app/app.module.ts","./src/app/auth/authorizationCheck.ts","./src/app/common/_directives/file-upload-drag-drop.directive.ts","./src/app/common/_directives/show-by-required-permission.directive.ts","./src/app/common/checkbox-list/checkbox-list.component.css","./src/app/common/checkbox-list/checkbox-list.component.ts","./src/app/common/common.module.ts","./src/app/common/context-menu/context-menu.component.css","./src/app/common/context-menu/context-menu.component.ts","./src/app/common/dropdown-multiselect/dropdown-multiselect.component.css","./src/app/common/dropdown-multiselect/dropdown-multiselect.component.ts","./src/app/common/filter/filter.component.ts","./src/app/common/reports-filter/instance-history-result/instance-history-result.component.css","./src/app/common/reports-filter/instance-history-result/instance-history-result.component.ts","./src/app/common/reports-filter/reports-filter.component.css","./src/app/common/reports-filter/reports-filter.component.ts","./src/app/common/table-sort/table-sort.component.css","./src/app/common/table-sort/table-sort.component.ts","./src/app/common/table-sort/wf-table.component.css","./src/app/common/table-sort/wf-table.component.ts","./src/app/generic-modal/generic-input-modal/generic-input-modal.component.ts","./src/app/generic-modal/generic-modal.component.css","./src/app/generic-modal/generic-modal.component.ts","./src/app/generic-modal/generic-select-modal/generic-select-modal.component.ts","./src/app/interceptor/errorInterceptor.ts","./src/app/interceptor/httpInterceptor.ts","./src/app/master/components/footer-menu/footer-menu.component.css","./src/app/master/components/footer-menu/footer-menu.component.ts","./src/app/master/components/header-menu/header-menu.component.css","./src/app/master/components/header-menu/header-menu.component.ts","./src/app/master/components/login/login.component.css","./src/app/master/components/login/login.component.ts","./src/app/master/components/nav-menu/nav-menu.component.css","./src/app/master/components/nav-menu/nav-menu.component.ts","./src/app/master/components/not-found-page/not-found-page.component.css","./src/app/master/components/not-found-page/not-found-page.component.ts","./src/app/master/master.module.ts","./src/app/master/masterpage.component.css","./src/app/master/masterpage.component.ts","./src/app/services/access-control.service.ts","./src/app/services/admin.service.ts","./src/app/services/authentication.service.ts","./src/app/services/batch.service.ts","./src/app/services/bp-administration.service.ts","./src/app/services/business-process.service.ts","./src/app/services/change-password.service.ts","./src/app/services/configuration/driver.service.ts","./src/app/services/configuration/extraction.service.ts","./src/app/services/configuration/global-variable.service.ts","./src/app/services/configuration/instanceDistributionConfig.service.ts","./src/app/services/configuration/metadata.service.ts","./src/app/services/configuration/node-configuration.service.ts","./src/app/services/configuration/pools.service.ts","./src/app/services/configuration/system-flow.service.ts","./src/app/services/configuration/web-client-configuration.service.ts","./src/app/services/custom-validator.ts","./src/app/services/date-time.service.ts","./src/app/services/dynamic-menu.service.ts","./src/app/services/edit-fields.service.ts","./src/app/services/encodings.ts","./src/app/services/enumTranslate-service.ts","./src/app/services/forms-validator.service.ts","./src/app/services/generic-modal.service.ts","./src/app/services/human-interaction.service.ts","./src/app/services/interaction-queue-config.service.ts","./src/app/services/pipes/br-dateTime.pipe.ts","./src/app/services/pipes/br-decimal.pipe.ts","./src/app/services/pipes/file-size.pipe.ts","./src/app/services/pipes/local-datetime.pipe.ts","./src/app/services/pipes/safe-html.pipe.ts","./src/app/services/reports-service.ts","./src/app/services/style-builder.ts","./src/app/services/upload-files.service.ts","./src/app/services/utils.ts","./src/app/styles/business-process-configuration.css","./src/app/styles/modals.css","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main-es2015.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Usuário: \\r\\n {{ user.logon }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Obrigatório
\\r\\n Caso não deseje mudar a senha, deixe os dois campos em branco.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Campo obrigatório.
\\r\\n Caso não deseje mudar a senha, deixe os dois campos em branco.\\r\\n
\\r\\n
\\r\\n Os campos \\\"Nova senha\\\" e \\\"Redigite a senha\\\" devem ser iguais.
\\r\\n Caso não deseje mudar a senha, deixe os dois campos em branco.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Se você informou uma senha para o usuário do crivo, deve também informar um usuário
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Obrigatório
\\r\\n \\r\\n Se você está adicionando um usuário do crivo nesta operação, os campos \\\"Nova senha Crivo\\\" e \\\"Redigite a senha do Crivo\\\" são obrigatórios.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Os campos \\\"Nova senha Crivo\\\" e \\\"Redigite a senha do Crivo\\\" devem ser iguais.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Caso não deseje mudar a senha do Crivo, deixe os dois campos em branco.\\r\\n \\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{modalTitle}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Redefinição de senha

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido no máximo 100 caracteres
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido no máximo 100 caracteres
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Os campos \\\"Nova senha\\\" e \\\"Confirmar nova senha\\\" devem ser iguais.
\\r\\n
Permitido no máximo 100 caracteres
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
Senha alterada com sucesso!
\\r\\n
Aguarde... redirecionando para o Login
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Questionário de segurança

\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n {{ title }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 150 caracteres
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{error}}
\\r\\n
Controle de acesso salvo com sucesso
\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

Filtro

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{error}}
\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
0\\\">\\r\\n
{{deleteError}}
\\r\\n
Exclusão realizada com sucesso
\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
10\\\">\\r\\n
{{deleteError}}
\\r\\n
Exclusão realizada com sucesso
\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Nenhuma registro encontrado

\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Processo de NegócioUsuários / Grupos
\\r\\n \\r\\n {{ item.businessProcessName }}{{ item.trusteeName }}
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Processo de Negócio Estado Usuários / Grupos Permissão atribuída
\\r\\n \\r\\n {{ item.businessProcessName }}{{ item.securableObjectName }}{{ item.trusteeName }}\\r\\n {{ insertSpacesPermissionName(item.accessControlPermissionName) }}\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n 0\\\" class=\\\"table table-hover\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NomeAtivo/Inativo
{{ item.name }}{{ toLiteral(item.enabled) }}
\\r\\n
\\r\\n

Nenhum grupo encontrado

\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 300 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{error}}
\\r\\n
Grupo salvo com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n Configurar informações do servidor\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Deve ser um número positivo
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ testConnectionError }}\\r\\n
\\r\\n
\\r\\n {{ testConnectionMessage }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Mapeamento dos grupos\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Visualizar\\r\\n
\\r\\n
\\r\\n
\\r\\n {{previewSearchGroupError}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
Aguarde...
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Sincronização\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Deve ser um número positivo
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
Aguarde...
\\r\\n
\\r\\n\\r\\n
\\r\\n Configuração salva com sucesso!\\r\\n
\\r\\n\\r\\n
\\r\\n {{saveConfigurationError}}\\r\\n
\\r\\n\\r\\n
\\r\\n {{errorMessage}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
{{ errorMessage }}
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ item.name }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n

Nenhum perfil encontrado

\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Direitos
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Menu
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{hoveredMenuItem.name}}. {{hoveredMenuItem.description}}\\r\\n
\\r\\n
0\\\" class=\\\"requiredRights\\\">\\r\\n Requer: \\r\\n {{ i > 0 && ', ' || '' }}{{ r.translatedName }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
Perfil salvo com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Parâmetros de senha

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Deve ser um número positivo
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Deve ser um número positivo
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Deve ser um número positivo
\\r\\n
A quantidade máxima deve ser menor ou igual a 5
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Deve ser um número positivo
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Questionário de segurança

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Deve ser um número positivo
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n
\\r\\n {{errorMessage}}\\r\\n
\\r\\n
\\r\\n Configuração salva com sucesso!\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n Logon\\r\\n Nome\\r\\n Sobrenome\\r\\n E-mail\\r\\n Situação\\r\\n LDAP\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n {{ item.logon }}\\r\\n {{ item.firstName }}\\r\\n {{ item.lastName }}\\r\\n {{ item.email }}\\r\\n {{ item.enabled ? 'Ativo' : 'Inativo' }}\\r\\n {{ item.isLdap ? 'Sim' : 'Não' }}\\r\\n \\r\\n \\r\\n\\r\\n

Nenhum usuário encontrado

\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
As senhas não coincidem
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
E-mail inválido
\\r\\n
Permitido até 255 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
E-mail inválido
\\r\\n
Permitido até 255 dígitos
\\r\\n
E-mail não coincide
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
As senhas não coincidem
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{error}}
\\r\\n
Usuário salvo com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
O nome deve conter até 100 caracteres
\\r\\n
O nome possui caracteres inválidos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Carregando...
\\r\\n
Não foi possível carregar os layouts
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Carregando...
\\r\\n
Não foi possível carregar os serviços.
\\r\\n\\r\\n
\\r\\n 0\\\">\\r\\n
Não há serviços de processamento de lote definidos.
\\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Selecione pelo menos um arquivo\\r\\n
\\r\\n
0 && !validateFileQueue()\\\" class=\\\"invalid-feedback\\\" style=\\\"display: block;\\\">Todos os arquivos selecionados não foram transferidos.
\\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhum arquivo selecionado\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ f.name }}{{ f.size | filesize }}\\r\\n
0\\\">\\r\\n
{{ f.progressBarFile }} %
\\r\\n
\\r\\n
\\r\\n \\r\\n Não transferido\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Excluir
\\r\\n
Remover
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ fileErrorMessage }}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n Condição de término\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n Após-conclusão do lote\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n Preparando o filtro, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Filtro

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n até\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Data inicial não deve ser maior que a data final
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n
0\\\" class=\\\"form-row table-responsive instance-history-table-list\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
LoteCriaçãoStatusLidoFinalizadoCom erro
{{ item.name }}{{ utilsFunctions.zoneAndDateParse(item.creationDate, 'DD/MM/YYYY hh:mm:ss') }}\\r\\n \\r\\n
\\r\\n {{item.batchSubmissionLifeCycleDescription}}\\r\\n
\\r\\n
Aguardando atualização de status
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{generatePercentLabel(item.deliveredRecords, item.totalRecords)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{generatePercentLabel(item.finishedRecords, item.totalRecords)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{generatePercentLabel(item.failedRecords, item.totalRecords)}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0 && searchDone\\\" align=\\\"center\\\" class=\\\"alert alert-info\\\" id=\\\"noResultMessage\\\">\\r\\n Não há registro para o filtro utilizado.\\r\\n
\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 100 caracteres
\\r\\n
O nome contém caracteres inválidos
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Formatação\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Separadores\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
Campos
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Disponíveis\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Selecione um processo de negócio\\r\\n
\\r\\n\\r\\n
\\r\\n Carregando campos...\\r\\n
\\r\\n\\r\\n
    \\r\\n \\r\\n
  1. \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{field.name}}\\r\\n
    \\r\\n
    \\r\\n
  2. \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Selecionados\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
    \\r\\n \\r\\n
  1. \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    {{selectedField.name}}
    \\r\\n
    \\r\\n
  2. \\r\\n
    \\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
{{errorMessage}}
\\r\\n
Layout salvo com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n Processo de negócio \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ template.name }}\\r\\n {{ template.businessProcessName }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
\\r\\n {{ successMessage }} \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\t\\t\\t\\r\\n
\\r\\n
Obrigatório informar os campos do processo de negócio
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{fieldError}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Campos do Processo de Negócio\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Processo de negócio\\r\\n Campo\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{field.businessProcessName}}\\r\\n
Id: {{ field.businessProcessField.businessProcessId }}\\r\\n \\r\\n \\r\\n {{field.fieldDisplayName}}\\r\\n
Id: {{ field.businessProcessField.fieldId }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n Tipo: {{ metadataType }} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Valores do Metadado\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{ invalidMetadataValueError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Insira um valor de metadado\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{metadata}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Já existe a ordem {{ formData.order.value }} cadastrada!
\\r\\n
\\r\\n
\\r\\n
Deve ser um número positivo
\\r\\n
Deve ser um número maior que 0
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Visão: Card\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Visão: Grid\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ column.name }}\\r\\n
\\r\\n xxxxxxxxx\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

Filtro

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Carregando a lista de filas... Por favor aguarde.

\\r\\n

Não há filas cadastradas no sistema.

\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Id\\r\\n Fila\\r\\n Processo de Negócio\\r\\n Estado\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ row.id }}\\r\\n {{ row.name }}\\r\\n {{ row.businessProcessName }}\\r\\n {{ row.stateName }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Fila\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
O nome da fila possui caracteres inválidos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Colunas / Células\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n \\r\\n
  1. \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    {{column.name}}
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
  2. \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Faixas de cores\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Não existe faixa de cor cadastrada\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CorTempoAções
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Transbordo da fila\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Só é possível existir filas de transbordo se a quantidade máxima de propostas na fila for maior que 0
\\r\\n
\\r\\n
\\r\\n
Deve ser um número positivo
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Não existe valor de transbordo cadastrado\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
FilaOrdemAções
\\r\\n {{overflow.overflowCustomInteractionQueueConfigName}}\\r\\n {{ overflow.order }}\\r\\n \\r\\n \\r\\n  \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Metadado da fila\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Não existe valor de metadado cadastrado\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
MetadadoValorAções
{{metadata.structure.name}} [ {{ metadata.values.join(', ') }} ]\\r\\n \\r\\n \\r\\n  \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Ordenação\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n
{{successMessage}}
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n Processo de negócio \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ layout.name }}
\\r\\n \\r\\n {{ layout.description }}\\r\\n \\r\\n \\r\\n {{ layout.businessProcessName }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Nenhum layout encontrado

\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
\\r\\n {{ successMessage }} \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
O nome contém caracteres inválidos
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Formatação\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Decimais\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n O número de casas decimais deve estar entre 1 e 8\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cabeçalho\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Campos
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Disponíveis\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Selecione um processo de negócio\\r\\n
\\r\\n\\r\\n
\\r\\n Carregando campos...\\r\\n
\\r\\n\\r\\n
    \\r\\n \\r\\n
  1. \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{field.name}}\\r\\n
    \\r\\n
    \\r\\n
  2. \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Selecionados\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
    \\r\\n \\r\\n
  1. \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    {{selectedField.name}}
    \\r\\n
    \\r\\n
  2. \\r\\n
    \\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n
Layout salvo com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Adicionar Regra\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
    \\r\\n \\r\\n
  1. \\r\\n
    \\r\\n
    {{expr}}
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
  2. \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Não há regras cadastradas.

\\r\\n\\r\\n
{{errorMessage}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n Aguarde...\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Driver \\r\\n Versão instalada \\r\\n Versão disponível \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ driver.name }}\\r\\n {{ driver.installedVersion }}\\r\\n {{ driver.availableVersion }}\\r\\n\\r\\n \\r\\n \\r\\n
driver.installedVersion\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
0 && driver.availableVersion > driver.installedVersion\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 30 caracteres
\\r\\n
Nome contém caracteres inválidos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n

\\r\\n Nenhuma variável global encontrada\\r\\n

\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Variável \\r\\n Valor padrão \\r\\n Valor \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ globalVariable.globalVariableName }}
\\r\\n \\r\\n {{ globalVariable.description }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
Grupo salvo com sucesso
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ globalVariableGroup.name }}
\\r\\n \\r\\n {{ globalVariableGroup.description }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Nenhum grupo de variável global encontrado\\r\\n

\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 30 caracteres
\\r\\n
Nome deve ser iniciado por letra e deve ser composto somente por letras, números e underscore
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
Variável global salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Variável \\r\\n Valor \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ globalVariable.globalVariableName }}
\\r\\n \\r\\n {{ globalVariable.description }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Nenhuma variável global encontrada\\r\\n

\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Colunas / Células\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n \\r\\n
  1. \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    {{column.name}}
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
  2. \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Ordenação\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Faixas de cores\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Não existe faixa de cor cadastrada\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CorTempoProcesso de negócioEstadoAções
\\r\\n \\r\\n {{itemColor.initialSeconds}}''\\r\\n {{getBpName(itemColor.businessProcessId)}}\\r\\n
Id: {{ itemColor.businessProcessId }}\\r\\n
\\r\\n {{getStateName(itemColor.businessProcessId, itemColor.stateId)}}\\r\\n
Id: {{ itemColor.stateId }}\\r\\n
\\r\\n \\r\\n \\r\\n  \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Ações\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{error}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n Editável por \\r\\n Tipo \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ metadata.name }}
\\r\\n \\r\\n {{ metadata.description }}\\r\\n \\r\\n \\r\\n \\r\\n {{ metadata.editingTypeDescription }}
\\r\\n \\r\\n \\r\\n {{ metadata.typeDescription }}
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Nenhuma estrutura de metadado encontrada\\r\\n

\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 30 caracteres
\\r\\n
Nome deve ser iniciado por letra e deve ser composto somente por letras, números e underscore
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Domínio\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Já existe um domínio com este valor
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{domainVal}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
Estrutura de metadado salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 100 caracteres
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n Usuário não tem direito de executar essa ação.\\r\\n

\\r\\n
\\r\\n
\\r\\n

\\r\\n Não foram criados metadados de pool.\\r\\n

\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Metadado\\r\\n Valores\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{ translateMetadataStructureType(metadata.structure.type) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ invalidMetadataValues }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ successMessage }} \\r\\n
\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
Usuário não tem direito de efetuar esta ação.
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ pool.name }}
\\r\\n \\r\\n {{ pool.description }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Nenhum pool encontrado\\r\\n

\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
\\r\\n {{ successMessage }} \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Extração
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
O nome contém caracteres inválidos
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Data inicial não deve ser maior que a data final
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n O valor de tempo de intervalo retroativo deve estar entre 1 e 999\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
Agendamento
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n dia(s)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n O valor da frequência diária deve estar entre 1 e 999
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
0\\\" class=\\\"form-group col-md-6\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
{{errorMessage}}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n Nenhum agendamento encontrado.\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n Tipo de extração \\r\\n Tipo de Intervalo \\r\\n Situação \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ definition.name }}
\\r\\n 100 ? definition.description : ''\\\">\\r\\n {{\\r\\n definition.description.length > 100 ?\\r\\n definition.description.substring(0, 100) + ' ...' :\\r\\n definition.description\\r\\n }}\\r\\n \\r\\n \\r\\n {{ definition.descriptionType }}\\r\\n {{ definition.descriptionIntervalType }}\\r\\n {{ definition.enabledDescription }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
\\r\\n {{ successMessage }} \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ config.hostName }}
\\r\\n
{{ config.machineId }}
\\r\\n
\\r\\n
\\r\\n
{{ config.version }}
\\r\\n
{{ config.isActive ? \\\"Ativo\\\":\\\"Inativo\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Centralizador de Dados\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Login\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Drivers\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Outros\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Filas MSMQ\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
{{error}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ config.hostName }}
\\r\\n
{{ config.machineId }}
\\r\\n
\\r\\n
\\r\\n
{{ config.version }}
\\r\\n
{{ config.isActive ? \\\"Ativo\\\":\\\"Inativo\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Diretório\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{error}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ config.hostName }}
\\r\\n
{{ config.machineId }}
\\r\\n
\\r\\n
\\r\\n
{{ config.version }}
\\r\\n
{{ config.isActive ? \\\"Ativo\\\":\\\"Inativo\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Outros\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Comunicação de Dados\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
{{error}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome do computador \\r\\n Identificação do computador \\r\\n Tipo \\r\\n Versão \\r\\n Status \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ config.hostName }}\\r\\n {{ config.machineId }}\\r\\n {{ config.typeDescription }}\\r\\n {{ config.version }}\\r\\n {{ config.isActive ? \\\"Ativo\\\":\\\"Inativo\\\" }}\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ config.hostName }}
\\r\\n
{{ config.machineId }}
\\r\\n
\\r\\n
\\r\\n
{{ config.version }}
\\r\\n
{{ config.isActive ? \\\"Ativo\\\":\\\"Inativo\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Outros\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Quantidade de Threads\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Centralizador de Dados\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Tempo de frequência\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Filas MSMQ\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{error}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ config.hostName }}
\\r\\n
{{ config.machineId }}
\\r\\n
\\r\\n
\\r\\n
{{ config.version }}
\\r\\n
{{ config.isActive ? \\\"Ativo\\\":\\\"Inativo\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Outros\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Extração\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
{{error}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ config.hostName }}
\\r\\n
{{ config.machineId }}
\\r\\n
\\r\\n
\\r\\n
{{ config.version }}
\\r\\n
{{ config.isActive ? \\\"Ativo\\\":\\\"Inativo\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Outros\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Fila de interação humana\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Crivo\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de 1 até 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Aparência
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Layout\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Interação humana\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de até 2147483647
\\r\\n
\\r\\n Informe valor maior ou igual a 950\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor de até 2147483647
\\r\\n
\\r\\n Informe valor maior ou igual a 28\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
{{error}}
\\r\\n
Configuração salva com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Nenhum arquivo selecionado ainda

\\r\\n\\r\\n 0\\\" class=\\\"table table-hover\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NomeTamanho
{{ file.name }}{{ formatBytes(file.size) }}\\r\\n {{ filesStatus[i] ? filesStatus[i].message : ''}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 100 caracteres
\\r\\n
Nome deve ser iniciado por letra e deve ser composto somente por letras, números e underscore
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n
Pools Associados
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
IdPool
{{ pool.poolId }}{{ pool.name }}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
Fluxo salvo com sucesso
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome \\r\\n Erros de validação \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ flow.name }}
\\r\\n \\r\\n {{ flow.description }}\\r\\n \\r\\n \\r\\n {{ flow.validationDescription }}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Nenhum fluxo encontrado\\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
Erro
\\r\\n \\r\\n
\\r\\n
\\r\\n
Ocorreu o seguinte erro:
\\r\\n
\\r\\n {{ objInitialState }}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

Filtro

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n até\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Data inicial não deve ser maior que a data final
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Não foram encontrados registros para o filtro utilizado.

\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Nome\\r\\n Status\\r\\n Início\\r\\n Final\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ row.taskName }}\\r\\n \\r\\n 0 ? 'Extração finalizada com sucesso.' : 'Nenhum registro foi coletado.'\\\">\\r\\n \\r\\n {{ translateEnum.getEnumTaskLogStatus(row.status) }}\\r\\n \\r\\n \\r\\n \\r\\n {{ translateEnum.getEnumTaskLogStatus(row.status) }}\\r\\n \\r\\n
\\r\\n \\r\\n {{ translateEnum.getEnumTaskLogStatus(row.status) }}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{generatePercentLabel(row.taskProgress, row.taskSize)}}\\r\\n
\\r\\n \\r\\n {{ utils.formatDate(row.startTime, 'DD/MM/YYYY HH:mm:ss') }}\\r\\n {{ row.endTime !== null ? utils.formatDate(row.endTime, 'DD/MM/YYYY HH:mm:ss') : '' }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\nPágina atualizada em {{ utils.formatDate(refreshTime, 'DD/MM/YYYY HH:mm:ss') }}\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Deve ser um número válido
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
Valor de metadado salvo com sucesso
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }} \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Metadado \\r\\n Valor \\r\\n Tipo \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ metadata.structure.name }}
\\r\\n \\r\\n {{ metadata.structure.description }}\\r\\n \\r\\n \\r\\n \\r\\n {{ metadata.value }}
\\r\\n \\r\\n \\r\\n {{ metadata.value | brdatetime }}
\\r\\n \\r\\n \\r\\n {{ metadata.value | brdecimal}}
\\r\\n \\r\\n \\r\\n {{ metadata.typeDescription }}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Nenhuma estrutura de metadado encontrada\\r\\n

\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

Filtro

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
Não é permitido inserir apenas espaços em branco
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.name}}={{item.value}}x\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
Data inicial não deve ser maior que a Data final
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n até\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Nenhum resultado encontrado para o filtro pesquisado.\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Usuário não tem direito para visualização da fila
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Total: {{ totalLeft.waiting + totalLeft.interacting }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Total: {{ totalRight.waiting + totalRight.interacting }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnLeft\\\"\\r\\n [uniqueId]=\\\"'leftQueueLocked'\\\"\\r\\n [queueConfig] = \\\"leftQueueConfig\\\"\\r\\n [title]=\\\"'Minhas instâncias'\\\"\\r\\n [filter]=\\\"leftFilter.interacting\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'left', 'locked')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n Selecione uma fila para visualização.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhuma fila encontrada.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnLeft\\\"\\r\\n [uniqueId]=\\\"'leftQueueWaiting'\\\"\\r\\n [queueConfig] = \\\"leftQueueConfig\\\"\\r\\n [title]=\\\"'Fila'\\\"\\r\\n [filter]=\\\"leftFilter.waiting\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'left', 'waiting')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnRight\\\"\\r\\n [uniqueId]=\\\"'rightQueueLocked'\\\"\\r\\n [queueConfig] = \\\"rightQueueConfig\\\"\\r\\n [title]=\\\"'Minhas instâncias'\\\"\\r\\n [filter]=\\\"rightFilter.interacting\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'right', 'locked')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n Selecione uma fila para visualização.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhuma fila encontrada.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnRight\\\"\\r\\n [uniqueId]=\\\"'rightQueueWaiting'\\\"\\r\\n [queueConfig] = \\\"rightQueueConfig\\\"\\r\\n [title]=\\\"'Fila'\\\"\\r\\n [filter]=\\\"rightFilter.waiting\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'right', 'waiting')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnLeft\\\"\\r\\n [interactionQueueLabel]=\\\"'Minhas instâncias'\\\"\\r\\n [filter]=\\\"leftFilter.interacting\\\"\\r\\n [queueConfig]=\\\"leftQueueConfig\\\"\\r\\n [queueType]=\\\"1\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'left', 'locked')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n Selecione uma fila para visualização.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhuma fila encontrada.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnLeft\\\"\\r\\n [interactionQueueLabel]=\\\"'Fila'\\\"\\r\\n [filter]=\\\"leftFilter.waiting\\\"\\r\\n [queueConfig]=\\\"leftQueueConfig\\\"\\r\\n [queueType]=\\\"0\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'left', 'waiting')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnRight\\\"\\r\\n [interactionQueueLabel]=\\\"'Minhas instâncias'\\\"\\r\\n [filter]=\\\"rightFilter.interacting\\\"\\r\\n [queueConfig]=\\\"rightQueueConfig\\\"\\r\\n [queueType]=\\\"1\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'right', 'locked')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n Selecione uma fila para visualização.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhuma fila encontrada.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n 0 && !noQueueSelectedOnRight\\\"\\r\\n [interactionQueueLabel]=\\\"'Fila'\\\"\\r\\n [filter]=\\\"rightFilter.waiting\\\"\\r\\n [queueConfig]=\\\"rightQueueConfig\\\"\\r\\n [queueType]=\\\"0\\\"\\r\\n [customQueue]=\\\"true\\\"\\r\\n [columnPropertyName]=\\\"'fieldColumns'\\\"\\r\\n [pageConfig]=\\\"pageConfig\\\"\\r\\n (searchDone)=\\\"getTotal($event, 'right', 'waiting')\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{ error }}\\r\\n
\\r\\n\\r\\n
\\r\\n Não existem instâncias com tempo de espera excedido.\\r\\n
\\r\\n\\r\\n
\\r\\n Não existe faixa de cor cadastrada.\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CorTempoQuantidade
\\r\\n \\r\\n {{ transformTime(item.initialSeconds) }}{{ item.total }}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
Filtro Rápido
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

{{interactionQueueLabel}}:

\\r\\n
\\r\\n
\\r\\n \\r\\n Total: {{paginationConfig.totalItems}}\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n Não existem instâncias neste status.\\r\\n
\\r\\n
\\r\\n {{errorMessage}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
0 && !pleaseWait\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Interagir\\r\\n
\\r\\n Visualizar\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ queueInfo[columnPropertyName][0].name + ':' }}\\r\\n {{getValue(queueInfo[columnPropertyName][0])}} \\r\\n
\\r\\n\\r\\n
\\r\\n {{ queueInfo[columnPropertyName][3]? queueInfo[columnPropertyName][3].name + ':' : \\\" \\\" }}\\r\\n {{getValue(queueInfo[columnPropertyName][3])}} \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{ queueInfo[columnPropertyName][1]? queueInfo[columnPropertyName][1].name + ':' : \\\" \\\" }}\\r\\n {{getValue(queueInfo[columnPropertyName][1])}} \\r\\n
\\r\\n\\r\\n
\\r\\n {{ queueInfo[columnPropertyName][4]? queueInfo[columnPropertyName][4].name + ':' : \\\" \\\" }}\\r\\n {{getValue(queueInfo[columnPropertyName][4])}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ queueInfo[columnPropertyName][2]? queueInfo[columnPropertyName][2].name + ':' : \\\" \\\" }}\\r\\n {{getValue(queueInfo[columnPropertyName][2])}} \\r\\n
\\r\\n\\r\\n
\\r\\n {{ queueInfo[columnPropertyName][5]? queueInfo[columnPropertyName][5].name + ':' : \\\" \\\" }}\\r\\n {{getValue(queueInfo[columnPropertyName][5])}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n {{ title }}:\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Não existem instâncias neste status.\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ column.name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ checkValue(value) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n Usuário não tem direito para alocação sequencial\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n\\r\\n
\\r\\n Acione o botão Iniciar interação para alocar uma das instâncias de processo de negócio disponíveis.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Loading...\\r\\n
\\r\\n
{{progressAllocationMessage}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n Acione o botão Iniciar interação para alocar uma das instâncias de processo de negócio disponíveis nas filas nomeadas.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Loading...\\r\\n
\\r\\n
{{progressCustomAllocationMessage}}
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
{{ errorMessage }}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Não existem registros de agendamento.
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Agendamento\\r\\n Inicio\\r\\n Situação\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ item['overrideDefinition']['name'] }}\\r\\n {{ utils.zoneAndDateParse(item['schedulingInfo']['start'], 'DD/MM/YYYY HH:mm:ss', localTimeZone) }}\\r\\n {{ item['schedulingInfo']['enabled'] ? 'Ativo' : 'Inativo' }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ objInitialState.overrideDefinition.typeDescription }}
\\r\\n
\\r\\n {{ objInitialState.overrideDefinition.businessProcessInstanceId }} \\r\\n
\\r\\n
\\r\\n {{ objInitialState.overrideDefinition.businessProcessName }} (id: {{ objInitialState.overrideDefinition.businessProcessId }})
\\r\\n
\\r\\n {{ lifeCycle }} \\r\\n
\\r\\n
\\r\\n {{ objInitialState.overrideDefinition.fromStateName }} \\r\\n
\\r\\n
\\r\\n {{ objInitialState.overrideDefinition.toStateName }} \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ utils.formatDate(objInitialState.overrideDefinition.initialDate, 'DD/MM/YYYY HH:mm:ss') }} até {{ utils.formatDate(objInitialState.overrideDefinition.finalDate, 'DD/MM/YYYY HH:mm:ss') }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{ objInitialState.overrideDefinition.backDays }} \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 50 dígitos
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Informe um valor válido\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n dia(s)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Obrigatório\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Obrigatório\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Informe um valor válido\\r\\n
\\r\\n
Permitido até 50 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n até\\r\\n \\r\\n
\\r\\n
Data inicial não deve ser maior que a Data final
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Informe um valor válido\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ pleaseWait }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n Usuário não tem direito de efetuar esta ação.\\r\\n
\\r\\n
\\r\\n\\r\\n 0\\\" #bpQueueManagerTabs>\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Não há registro para o filtro utilizado.

\\r\\n
0 && !pleaseWait\\\">\\r\\n \\r\\n
\\r\\n
0 && !pleaseWait\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Id\\r\\n Processo de negócio\\r\\n Data de criação\\r\\n Data de modificação\\r\\n Em Fila\\r\\n Estado\\r\\n Alocado para\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ item.businessProcessInstanceId }}\\r\\n {{ item.businessProcessName }}\\r\\n {{ dateTimeService.toLocalStringDateTime(item.creationDate) }}\\r\\n {{ dateTimeService.toLocalStringDateTime(item.stateModifyDate) }}\\r\\n {{ getTimeInQueue(dateTimeService.toLocalStringDateTime(item.stateModifyDate)) }}\\r\\n {{ item.stateDisplayName }}\\r\\n \\r\\n {{ item.labelUserName }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n

Não há registro para o filtro utilizado.

\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Id\\r\\n Processo de negócio\\r\\n Fila Nomeada\\r\\n Estado\\r\\n Alocado para\\r\\n Data de criação\\r\\n Data de modificação\\r\\n Tempo em Fila\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ item.businessProcessInstanceId }}\\r\\n {{ item.businessProcessName }}\\r\\n {{ item.customInteractionQueueName }}\\r\\n {{ item.stateDisplayName }}\\r\\n {{ item.lockedTo }}\\r\\n {{ item.creationDate }}\\r\\n {{ item.stateModifyDate }}\\r\\n {{ item.sla }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{customErrorMessage}}
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Não há usuários disponíveis para alocação

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ messageSuccess }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

Filtro

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Aguarde... Carregando filtros.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Não existem filas nomeadas para este processo de negócio\\r\\n
\\r\\n
\\r\\n
Necessário informar um processo de negócio ou fila nomeada
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ customQueueColumnsError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n = this.searchForLimit) || (isCustom && !allowedColumnOnCustomQueue)\\\">\\r\\n
Não é permitido inserir apenas espaços em branco
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.name}}={{item.value}}x\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n até\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
Data inicial não deve ser maior que a data final
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ messageError }}
\\r\\n
{{ messageSuccess }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 300 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor entre 1 e 2147482
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor entre 1 e 999
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{ bpId }}
\\r\\n
{{ bpInfo.version }}
\\r\\n
{{ bpInfo.originalVersion === 0 ? '-' : bpInfo.originalVersion }}
\\r\\n
{{ utilsFunction.zoneAndDateParse(bpInfo.creationDate, 'DD/MM/YYYY HH:mm:ss') }}
\\r\\n
{{ utilsFunction.zoneAndDateParse(bpInfo.modifiedDate, 'DD/MM/YYYY HH:mm:ss') }}
\\r\\n
{{ bpInfo.modifiedBy }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n O processo de negócio está bloqueado para o usuário {{ lockingUserLogon }}\\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Nenhum estado por enquanto.
\\r\\n 0\\\" #dataTableStates [rows]=\\\"bpInfo.states\\\" [columnsTemplate]=\\\"columnsStateTemplate\\\" [rowsTemplate]=\\\"rowsStateTemplate\\\" headFixed=\\\"true\\\" showSort=\\\"true\\\">\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Id\\r\\n Versão\\r\\n Nome\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ item.stateId }}\\r\\n {{ item.version }}\\r\\n {{ item.name }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Nenhum campo por enquanto.
\\r\\n 0\\\" #dataTableFields [rows]=\\\"bpInfo.fields\\\" [columnsTemplate]=\\\"columnsFieldTemplate\\\" [rowsTemplate]=\\\"rowsFieldTemplate\\\" headFixed=\\\"true\\\" showSort=\\\"true\\\">\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Id\\r\\n Versão\\r\\n Nome\\r\\n Tipo\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ item.fieldId }}\\r\\n {{ item.version }}\\r\\n {{ item.name }}\\r\\n {{ item.typeDescription }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
180}\\\">\\r\\n {{ errorMessageFlow }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"float-right mt-2 mr-1\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhum fluxo por enquanto.\\r\\n
\\r\\n\\r\\n 0\\\" id=\\\"dataTableFlows\\\" #dataTableFlows [rows]=\\\"filterFlow()\\\"\\r\\n [columnsTemplate]=\\\"columnsFlowTemplate\\\" [rowsTemplate]=\\\"rowsFlowTemplate\\\" headFixed=\\\"false\\\" showSort=\\\"true\\\">\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Id\\r\\n Tipo\\r\\n Nome\\r\\n Bloqueado para\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ item.libraryItemId }}\\r\\n {{ item.flowTypeDescription }}\\r\\n \\r\\n \\r\\n \\r\\n {{ item.blockingUserLogon }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
180}\\\">\\r\\n {{ errorMessageLayout }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"float-right mt-2 mr-1\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhum layout por enquanto.\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n 0\\\" id=\\\"dataTableLayouts\\\" #dataTableLayouts [rows]=\\\"filterLayout()\\\"\\r\\n [columnsTemplate]=\\\"columnsLayoutTemplate\\\" [rowsTemplate]=\\\"rowsLayoutTemplate\\\" headFixed=\\\"true\\\" showSort=\\\"true\\\">\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Id\\r\\n Tipo\\r\\n Nome\\r\\n Bloqueado para\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ item.libraryItemId }}\\r\\n {{ item.humanInteractionEngineDescription }}\\r\\n \\r\\n \\r\\n \\r\\n {{ item.blockingUserLogon }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
180}\\\">\\r\\n {{ errorMessageView }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"float-right mt-2 mr-1\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Nenhuma visão por enquanto.\\r\\n
\\r\\n\\r\\n 0\\\" id=\\\"dataTableViews\\\" #dataTableViews [rows]=\\\"filterView()\\\"\\r\\n [columnsTemplate]=\\\"columnsViewTemplate\\\" [rowsTemplate]=\\\"rowsViewTemplate\\\" headFixed=\\\"true\\\" showSort=\\\"true\\\">\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Id\\r\\n Nome\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ item.libraryItemId }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n Nenhum estado por enquanto.\\r\\n
\\r\\n
\\r\\n {{errorMessageGraph}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
180}\\\">\\r\\n {{ errorMessageValidation }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
Nenhum erro.
\\r\\n 0\\\" #dataTableErrors\\r\\n [rows]=\\\"businessProcessErrorList\\\" [columnsTemplate]=\\\"columnsErrorTemplate\\\" [rowsTemplate]=\\\"rowsErrorTemplate\\\" headFixed=\\\"true\\\" showSort=\\\"true\\\">\\r\\n \\r\\n \\r\\n \\r\\n Tipo\\r\\n Nome\\r\\n Erro\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ item.type }}\\r\\n {{ item.name }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{filterTextCount}} estado
\\r\\n
1\\\">{{filterTextCount}} estados
\\r\\n
Nada foi encontrado
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{node.title}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{node.text.value}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Estados associados
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
IdNomeBloqueado para
{{ item.stateId }}{{ item.name }}{{ item.blockingUserLogon !== '' ? item.blockingUserLogon : '-' }}
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Id \\r\\n Nome \\r\\n Validade \\r\\n Versão \\r\\n Versão publicada \\r\\n Data de publicação \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ bp.businessProcessId }}\\r\\n {{ bp.name }}\\r\\n {{ formatStatus(bp.validity) }}\\r\\n {{ bp.version }}\\r\\n \\r\\n {{ bp.publishedVersion }}\\r\\n \\r\\n \\r\\n {{ utilsFunctions.formatDate(bp.publishedDate) }}, por {{ bp.modifiedBy }} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n  \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Configurar busca por instâncias relacionadas\\r\\n Configurar busca por instâncias relacionadas\\r\\n \\r\\n \\r\\n Configurar visibilidade de campos e estados\\r\\n Configurar visibilidade de campos e estados\\r\\n \\r\\n\\r\\n Gerenciar elementos bloqueados\\r\\n Recuperar versões anteriores\\r\\n Exportar\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n

Nenhum processo de negócio encontrado

\\r\\n\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Processo de Negócio: \\r\\n {{ businessProcessDescription }}\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TipoUsuárioDataAção
{{ item.elementTypeDesc }}{{ item.userLogon }}{{ dateTimeService.toLocalStringDateTime(item.recordDate, false) }}
\\r\\n
\\r\\n
\\r\\n
Não existem novas mudanças para consolidar o processo de negócio.
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Permitido até 500 dígitos
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{ submitted }}
\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 100 dígitos
\\r\\n
Obrigatório
\\r\\n
Possui caracteres inválidos
\\r\\n
É uma palavra reservada
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ fieldId }}
\\r\\n
{{ fieldInfo.version }}
\\r\\n
{{ utils.zoneAndDateParse(fieldInfo.creationDate, 'DD/MM/YYYY HH:mm:ss') }}
\\r\\n
{{ utils.zoneAndDateParse(fieldInfo.modifiedDate, 'DD/MM/YYYY HH:mm:ss') }}
\\r\\n
{{ fieldInfo.modifiedBy }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor até 4000
\\r\\n
\\r\\n Informe valor numérico entre 1 e 4000\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 4000 dígitos
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n O estado está bloqueado para o usuário {{ lockingUserLogon }}\\r\\n
\\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Processo de negócio
\\r\\n
{{ bpId }}
\\r\\n\\r\\n
{{bpInfo.name}}
\\r\\n
{{fields.length}}
\\r\\n
{{countSelectedFields()}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{blockFieldsError}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
Nenhum campo por enquanto.
\\r\\n 0\\\" #dataTableFields [rows]=\\\"fields\\\" [columnsTemplate]=\\\"columnsFieldTemplate\\\" [rowsTemplate]=\\\"rowsFieldTemplate\\\" headFixed=\\\"true\\\" showSort=\\\"true\\\">\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Status\\r\\n Bloqueio\\r\\n Nome\\r\\n Exibição\\r\\n Tipo\\r\\n Validador\\r\\n Obrigatório\\r\\n Rastreável\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ item.name }}\\r\\n {{ item.displayName }}\\r\\n \\r\\n {{getFieldTypeEnumTranslated(item.type)}}\\r\\n ({{item.length}})\\r\\n ({{getItemValue(item.dateExibitionFormat, dateExibitionFormats)}})\\r\\n {{getItemValue(item.maskType, fieldFloatingMasks)}} \\r\\n {{getItemValue(item.maskType, fieldTextMasks)}} \\r\\n \\r\\n {{ getItemValue(item.validator, fieldValidators) }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

0\\\">Nenhum campo encontrado

\\r\\n
\\r\\n\\r\\n
Alterações salvas com sucesso
\\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{saveFieldsError}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Os valores selecionados neste diálogo serão aplicados em {{countSelectedFields}} campos.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Informe valor até 4000
\\r\\n
\\r\\n Informe valor numérico maior que a 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
{{ bpId }}
\\r\\n
{{ bpName }}
\\r\\n
{{ bpDescription }}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
O campo nome do processo de negócio é obrigatório.
\\r\\n
Já existe um processo de negócio com o mesmo nome.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
{{ bpId }}
\\r\\n
{{ bpName }}
\\r\\n
{{ bpVersion }}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Id do ElementoTipoNomeData do BloqueioUsuário
\\r\\n \\r\\n {{ lockedElementsData[i].elementId }}{{ lockedElementsData[i].elementTypeDesc }}{{ lockedElementsData[i].name }}{{ utilsFunction.formatDate(lockedElementsData[i].changeDate, 'DD/MM/YYYY HH:mm:ss') }}{{ lockedElementsData[i].user.logon }}
\\r\\n

Não existem itens bloqueados

\\r\\n\\r\\n
Elementos bloqueados pelo usuário logado serão desbloqueados.
\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{ bpId }}
\\r\\n
{{ bpName }}
\\r\\n
{{ bpDescription }}
\\r\\n
{{ bpVersion }}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Nenhum resultado encontrado

\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TipoUsuárioDataAção
{{ action.elementTypeDesc }}{{ action.userLogon }}{{ utilsFunctions.zoneAndDateParse(action.recordDate, 'DD/MM/YYYY HH:mm:ss', localTimeZone) }}
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{error}}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
{{ bpId }}
\\r\\n
{{ bpName }}
\\r\\n
{{ bpDescription }}
\\r\\n
{{ bpVersion }}
\\r\\n
{{ bpOriginVersion }}
\\r\\n
{{ utilsFunctions.zoneAndDateParse(bpPublicationDate, 'DD/MM/YYYY HH:mm:ss', localTimeZone) }}, por {{ bpModifiedBy }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
VersãoNomeData de modificaçãoData de publicaçãoVersão de origem
{{ item.version }}{{ item.name }}{{ utilsFunctions.zoneAndDateParse(item.modifiedDate, 'DD/MM/YYYY HH:mm:ss', localTimeZone) }}{{ item.publicationDate === null ? '' : utilsFunctions.zoneAndDateParse(item.publicationDate, 'DD/MM/YYYY HH:mm:ss', localTimeZone) + ', por ' + item.publishedBy}}{{ item.originalVersion === 0 ? '' : item.originalVersion }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n

O Processo de Negócio não possui versões anteriores

\\r\\n

Não existem versões publicadas para este processo de negócio.

\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
{{ bpId }}
\\r\\n
{{ bpName }}
\\r\\n
{{ bpDescription }}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 100 dígitos
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 100 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Permitido até 300 dígitos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ stateId }}
\\r\\n
{{ stateInfo.version }}
\\r\\n
{{ stateInfo.creationDate ? utilsFunction.zoneAndDateParse(stateInfo.creationDate, 'DD/MM/YYYY HH:mm:ss') : '' }}
\\r\\n
{{ stateInfo.modifiedDate ? utilsFunction.zoneAndDateParse(stateInfo.modifiedDate, 'DD/MM/YYYY HH:mm:ss') : '' }}
\\r\\n
{{ stateInfo.modifiedBy }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{flowStateError}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor até 2147482
\\r\\n
\\r\\n Informe valor numérico maior ou igual a 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Utilidades
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Próximos estados
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{pageLayoutError}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{flowPageError}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor até 300
\\r\\n
\\r\\n Informe valor numérico maior que 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor até 2147482
\\r\\n
\\r\\n Informe valor numérico maior ou igual a 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor até 100
\\r\\n
\\r\\n Informe valor numérico maior ou igual a 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor até 2147482
\\r\\n
\\r\\n É obrigatório informar tempo limite de interação quando o cronômetro é visível e regressivo\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor até 2147482
\\r\\n
\\r\\n Informe valor numérico maior que 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n É obrigatório informar estado de destino quando estado possui tempo limite de permanência\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Informe valor até 2147482
\\r\\n
\\r\\n É obrigatório informar alerta de limite de tempo quando o cronômetro é visível\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n
{{alertStart}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n
{{ successMessage }}
\\r\\n
\\r\\n O estado está bloqueado para o usuário {{ lockingUserLogon }}\\r\\n
\\r\\n
\\r\\n Por favor, aguarde...\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NomeData de publicação
\\r\\n \\r\\n {{ item.name }}{{ utilsFunctions.zoneAndDateParse(item.publishedDate, 'DD/MM/YYYY HH:mm') }}, por {{ item.modifiedBy }}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
Carregando informações...
\\r\\n
\\r\\n Erro ao carregar o relatório: {{errorMessage}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Histórico de Execução da Instância

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Processo de negócio: 
\\r\\n
{{ instanceHistoryDetail.businessProcessName }} (Id: {{ instanceHistoryDetail.businessProcessId }}, versão: {{ instanceHistoryDetail.businessProcessVersion }})
\\r\\n
Id da instância: 
\\r\\n
{{ bpInstanceId }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Visualizar anexos\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Última situação\\r\\n
\\r\\n
\\r\\n \\r\\n Todo o histórico\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Legenda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{state.name}}\\r\\n
\\r\\n {{ translateStateLifeCycleValue(lifeCycle.kind)}}\\r\\n
    \\r\\n
  • {{ lifeCycle.modifiedBy }}
  • \\r\\n
  • {{ lifeCycle.runtimeHostName }}
  • \\r\\n
  • {{ lifeCycle.modifyDate | localdatetime }}
  • \\r\\n
\\r\\n
\\r\\n {{ field.shortName }}
\\r\\n
\\r\\n
\\r\\n {{fieldValue.shortenedValue}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Legenda
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
 Campo não rastreável
Mudança de valor do campo
Linha do tempo
Janela de exibição da linha do tempo
Imposição de Estado
Transição de Estado
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
Anexos
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NomeCriado emModificado porEstadoTamanho
\\r\\n {{ file.name }}\\r\\n
{{ file.description }}
\\r\\n
{{ file.creationDate | localdatetime:false }}{{ file.modifiedBy }}\\r\\n {{ file.stateName }}\\r\\n
{{ file.stateLifeCycle }}
\\r\\n
{{ file.contentSize | filesize }}\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Instâncias no estado {{stateName}}, ciclo de vida {{lifeCycleName}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n
0\\\" align=\\\"center\\\" class=\\\"alert alert-warning\\\" id=\\\"noViewMessage\\\">\\r\\n A quantidade de instâncias por ciclo de vida estará sujeita à alteração durante a consulta.\\r\\n
\\r\\n
\\r\\n Nenhum resultado encontrado para o filtro pesquisado.\\r\\n
\\r\\n
\\r\\n {{resultError}}\\r\\n
\\r\\n
0\\\" class=\\\"table-responsive p-0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Processo de negócioEstado{{lifeCycle.translatedName}}
\\r\\n {{ item.businessProcessName }}\\r\\n
Id: {{item.businessProcessId}}
\\r\\n
\\r\\n {{ item.stateName }}\\r\\n
Id: {{item.stateId}}
\\r\\n
\\r\\n {{ item.summary[lifeCycle.value] }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n Nenhum resultado encontrado para o filtro pesquisado.\\r\\n
\\r\\n
\\r\\n {{resultError}}\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Id da InstânciaData de solicitaçãoData de modificaçãoSituação atual da imposição
\\r\\n \\r\\n \\r\\n {{ item.creationDate | localdatetime : false }}\\r\\n \\r\\n {{ item.modifiedDate | localdatetime : false}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0\\\"\\r\\n (click)=\\\"setSubLevelVisibility(item)\\\" />\\r\\n \\r\\n
{{ adjustGroupingLabelExibition(item.groupingLabel) }}
\\r\\n
\\r\\n
\\r\\n
{{ item['rangeTotal'] }}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n Nenhum resultado encontrado para o filtro pesquisado.\\r\\n
\\r\\n
{{ errorMessage }}
\\r\\n\\r\\n
0\\\" style=\\\"max-width: 1200px; min-width: 360px; overflow-x: auto;\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Agrupamento\\r\\n \\r\\n Quantidade\\r\\n \\r\\n Total\\r\\n \\r\\n Percentual\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n

{{ username }}, seja bem-vindo(a)!

\\r\\n
\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

{{settings.listTitle}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ menuItem.name }}\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n Aguarde...\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Id da instânciaProcesso de NegócioEstadoCiclo de vidaUsuário
\\r\\n \\r\\n {{ getBusinessProcessName(item.businessProcessId) }}
\\r\\n {{ 'Id: ' + item.businessProcessId }} | {{ 'Versão: ' + item.businessProcessVersion }}
{{ item.state.displayName }}
\\r\\n {{ 'Id: ' + item.state.stateId }}
{{ getLifeCycleName(item.stateLifeCycle) }}
\\r\\n {{ 'em ' + utilsFunctions.zoneAndDateParse(item.stateLifeCycleModifyDate, 'DD/MM/YYYY HH:mm:ss', localTimeZone) }}
{{ item.stateLifeCycleModifiedBy }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Nenhum resultado encontrado para o filtro pesquisado.\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n Preparando o filtro, aguarde...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Filtro

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n O campo Id da instância deve conter apenas números\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n até\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Data inicial não deve ser maior que a data final
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Valor inválido
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Valor inválido
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
Valor inválido
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Intervalo inválido. Os valores devem ser inseridos em ordem crescente, de 0 a 99999
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ fieldValuesData.composition.value === 'all' ? 'E' : 'OU' }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \" \\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{modalTitle}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ patternErrorMessage }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{ modalTitle }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{modalTitle}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Selecione um layout de visualização\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n Copyright © {{ currentYear }}.\\r\\n TransUnion Brasil. Todos os direitos reservados\\r\\n
\\r\\n
\\r\\n\"","export default \" \\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Início

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Obrigatório
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Esqueci minha senha\\r\\n Esqueci minha senha\\r\\n
\\r\\n
Aguarde...
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n

404

\\r\\n

Página não encontrada

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ this.pageTitle }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export class ContextMenuOptions{\r\n items: Array;\r\n}\r\n\r\nexport class ContextMenuItem {\r\n id: string;\r\n name: string;\r\n icon: string;\r\n hasHr: boolean;\r\n callback;\r\n}\r\n","import {DesignElementType} from './enum/designElementType';\r\nimport {LockStatus} from './enum/lockStatus';\r\nimport {User} from './user';\r\n\r\nexport class ElementLock {\r\n changeDate: Date;\r\n elementId: number;\r\n elementType: DesignElementType;\r\n lockStatus: LockStatus;\r\n name: string;\r\n user: User;\r\n}\r\n\r\nexport class ElementLockScreen extends ElementLock {\r\n elementTypeDesc?: string;\r\n checkRight?: boolean;\r\n}\r\n\r\n\r\n","export enum DataExtractionIntervalType {\r\n none = 0,\r\n fixedRange = 1,\r\n incremental = 2,\r\n retroactive = 3\r\n}\r\n","export enum DataExtractionType {\r\n none = 0,\r\n fixed = 1,\r\n fileLayout = 2,\r\n batchFileLayout = 3\r\n}\r\n","export enum DateExibitionFormat {\r\n dateTime = 0,\r\n dateOnly = 1,\r\n monthYear = 3\r\n}\r\n","export enum DesignElementType {\r\n Unknown = 0,\r\n BusinessProcess = 1,\r\n State = 2,\r\n Field = 3,\r\n Flow = 4,\r\n Layout = 5,\r\n View = 6\r\n}\r\n\r\n\r\n","export class EnumTranslator {\r\n static getEnumValueTranslated(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'boolean': return 'Booleano';\r\n case 'correlationkey': return 'Chave de correlação';\r\n case 'date': return 'Data';\r\n case 'floating': return 'Ponto flutuante';\r\n case 'integer': return 'Inteiro';\r\n case 'none': return 'Nenhum';\r\n case 'text': return 'Texto';\r\n default: return `Não identificado (${enumName})`;\r\n }\r\n }\r\n\r\n static getEnumDateType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'datetime': return 'Data e Hora';\r\n case 'dateonly': return 'Apenas Data';\r\n case 'monthyear': return 'Mês e Ano';\r\n default: return `Não identificado (${enumName})`;\r\n }\r\n }\r\n\r\n static getEnumFieldDomainType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'none': return 'Nenhum';\r\n case 'fixed': return 'Fixo';\r\n case 'dynamic': return 'Dinâmico';\r\n case 'definedinflow': return 'Fluxo de Tela';\r\n default: return `Não identificado (${enumName})`;\r\n }\r\n }\r\n\r\n static getEnumFieldValidator(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'nenhum': return 'Nenhum';\r\n case 'aomenos2palavras': return 'AOMENOS2PALAVRAS';\r\n case 'beneficioprevidencia': return 'BeneficioPrevidencia';\r\n case 'cep': return 'CEP';\r\n case 'chassi': return 'CHASSI';\r\n case 'cmc7': return 'CMC7';\r\n case 'cnpj': return 'CNPJ';\r\n case 'cpf': return 'CPF';\r\n case 'data': return 'DATA';\r\n case 'datafutura': return 'DataFutura';\r\n case 'inscricaoestadual': return 'InscricaoEstadual';\r\n case 'letraenumero': return 'LetraENumero';\r\n case 'longpositivo': return 'LONGPOSITIVO';\r\n case 'modulo11': return 'MODULO11';\r\n case 'numautorizacaoanvisa': return 'NumAutorizacaoAnvisa';\r\n case 'placa': return 'PLACA';\r\n case 'renavam': return 'RENAVAM';\r\n case 'somentealgarismo': return 'SOMENTEALGARISMO';\r\n default: return `Não identificado (${enumName})`;\r\n }\r\n }\r\n\r\n static getEnumMaskType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'none': return 'Nenhum';\r\n case 'cpf': return 'CPF';\r\n case 'cnpj': return 'CNPJ';\r\n case 'twodecimalplaces': return '2 Casas Decimais';\r\n case 'fourdecimalplaces': return '4 Casas Decimais';\r\n case 'eightdecimalplaces': return '8 Casas Decimais';\r\n case 'phonenumber': return 'Telefone';\r\n default: return `Não identificado (${enumName})`;\r\n }\r\n }\r\n\r\n static getEnumNodeType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'none': return 'Nenhum';\r\n case 'agent': return 'Agent';\r\n case 'runtime': return 'Runtime';\r\n case 'api': return 'Api';\r\n case 'webclient': return 'Web Client';\r\n case 'ldap': return 'Ldap';\r\n case 'batchwatcher': return 'Monitor de lote';\r\n case 'scheduler': return 'Agendador';\r\n case 'inmemory': return 'Centralizador de Dados';\r\n case 'batcher': return 'Batcher';\r\n default: return enumName;\r\n }\r\n }\r\n\r\n static getEnumMetadataType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'integer': return 'Inteiro';\r\n case 'date': return 'Data';\r\n case 'text': return 'Texto';\r\n case 'floating': return 'Ponto flutuante';\r\n default: return enumName;\r\n }\r\n }\r\n\r\n static getEnumMetadataEditingType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'flow': return 'Fluxo de sistema';\r\n case 'user': return 'Usuário';\r\n case 'pool': return 'Pool';\r\n default: return enumName;\r\n }\r\n }\r\n \r\n static getEnumDataExtractionType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'none': return 'Nenhum';\r\n case 'fixed': return 'Fixo';\r\n case 'filelayout': return 'Layout de arquivo';\r\n // case 'batchFileLayout': return '';\r\n default: return enumName;\r\n }\r\n }\r\n \r\n static getEnumDataExtractionIntervalType(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'none': return 'Nenhum';\r\n case 'fixedrange': return 'Período Fixo';\r\n case 'incremental': return 'Incremental';\r\n case 'retroactive': return 'Retroativo';\r\n default: return enumName;\r\n }\r\n }\r\n\r\n static getEnumTaskLogStatus(enumName: string) {\r\n switch (enumName.toLowerCase()) {\r\n case 'none': return 'Nenhum';\r\n case 'succeeded': return 'Finalizado';\r\n case 'canceled': return 'Cancelado';\r\n case 'failed': return 'Falha';\r\n case 'running': return 'Executando';\r\n default: return enumName;\r\n }\r\n }\r\n}\r\n","export enum FieldDomainType {\r\n none = 0,\r\n fixed = 1,\r\n dynamic = 2,\r\n definedInFlow = 3\r\n}\r\n","export enum FieldEditType {\r\n single,\r\n multiple\r\n}\r\n","export enum FieldMaskType {\r\n none = 0,\r\n cpf = 1,\r\n cnpj = 2,\r\n twoDecimalPlaces = 3,\r\n fourDecimalPlaces = 4,\r\n eightDecimalPlaces = 5,\r\n phoneNumber = 6\r\n}\r\n","export enum FieldType {\r\n none = 0,\r\n integer = 1,\r\n date = 2,\r\n text = 3,\r\n floating = 4,\r\n boolean = 5,\r\n correlationKey = 6\r\n}\r\n","export enum FieldValidator {\r\n nenhum = 0,\r\n aoMenos2Palavras = 1,\r\n beneficioPrevidencia = 2,\r\n cep = 3,\r\n chassi = 4,\r\n cmc7 = 5,\r\n cnpj = 6,\r\n cpf = 7,\r\n data = 8,\r\n dataFutura = 9,\r\n inscricaoEstadual = 10,\r\n letraENumero = 11,\r\n lONGPOSITIVO = 12,\r\n modulo11 = 13,\r\n numAutorizacaoAnvisa = 14,\r\n placa = 15,\r\n renavam = 16,\r\n somenteAlgarismo = 17\r\n}\r\n","export enum InteractionQueueType{\r\n WaitingForHumanInteraction,\r\n Locked\r\n}\r\n","export enum LibraryItemType {\r\n unknown = 0,\r\n flow = 1,\r\n pageLayout = 2,\r\n view = 3\r\n}\r\n","export enum LockStatus {\r\n unknown = 0,\r\n checkedIn = 1,\r\n checkedOut = 2,\r\n alreadyCheckedOut = 3\r\n}\r\n","export enum MetadataEditingType {\r\n flow = 0,\r\n user = 1,\r\n pool = 3\r\n}\r\n","export enum MetadataType {\r\n none = 0,\r\n integer = 1,\r\n date = 2,\r\n text = 3,\r\n floating = 4\r\n}\r\n","export enum NodeConfigurationType {\r\n Agent = -1,\r\n None = 0,\r\n Runtime = 1,\r\n Api = 2,\r\n WebClient = 3,\r\n Ldap = 4,\r\n TestsClient = 5,\r\n BatchWatcher = 6,\r\n Scheduler = 7,\r\n Tracer = 8,\r\n InMemory = 9,\r\n Batcher = 10,\r\n InstanceRepair = 11\r\n}\r\n","export enum OverrideDefinitionType {\r\n byInstance = 1,\r\n byPeriod = 2,\r\n retroactive = 3\r\n}\r\n","export enum PaginationEngine {\r\n client,\r\n server\r\n}\r\n","export enum SecurableObjectType {\r\n none = 0,\r\n state = 1,\r\n interactionQueueColumn = 2,\r\n businessProcess = 3\r\n}\r\n","export enum StateLifeCycle {\r\n unknown = 0,\r\n pending = 1,\r\n working = 2,\r\n finished = 3,\r\n waitingForResponse = 4,\r\n error = 5,\r\n timeout = 6,\r\n waitingForHumanInteraction = 7,\r\n lockedForHumanInteraction = 8,\r\n scheduledForExecution = 9,\r\n overriden = 10,\r\n interacting = 11,\r\n overridenByTimeout = 12,\r\n canceled = 13,\r\n warning = 14,\r\n suspended = 15,\r\n pendingTimeout = 16\r\n}\r\n","export enum TaskLogStatus {\r\n none = 0,\r\n succeeded = 1,\r\n canceled = 2,\r\n failed = 3,\r\n running = 4\r\n}\r\n","export enum TrusteeType {\r\n none = 0,\r\n user = 1,\r\n group = 2\r\n}\r\n","// export class CardInfo {\r\n// instanceId: number;\r\n// businessProcessId: number;\r\n// stateId: number;\r\n// queueId: number;\r\n// stateLifeCycle: number;\r\n// fieldColumns: [];\r\n// cardFields: [];\r\n// }\r\n\r\nexport class CardInfo {\r\n businessProcessId: number;\r\n businessProcessInstanceId: number;\r\n businessProcessName: string;\r\n captionText: string;\r\n color: string;\r\n creationDate: Date;\r\n customInteractionQueueConfigId: number;\r\n detailsText: string;\r\n fontColor: string;\r\n interactionSymbolInfo: string;\r\n modifiedBy: string;\r\n stateDisplayName: string;\r\n stateExecutionOrder: number;\r\n stateId: number;\r\n stateLifeCycle: number;\r\n stateModifyDate: Date;\r\n values: string[]\r\n}\r\n\r\nexport class InteractionQueue\r\n{\r\n orderDirection:number;\r\n orderByColumn;\r\n columns: InteractionQueueColumn[];\r\n colors;\r\n}\r\n\r\nexport class InteractionQueueColumn\r\n{\r\n public id:number;\r\n public name:string;\r\n public columnOrder: number;\r\n public isEnabled: boolean;\r\n public type: number;\r\n public systemField;\r\n public businessProcessFields:[];\r\n}\r\n","import { Type } from '@angular/core';\r\nimport { BusinessProcessStartListComponent } from '../Views/Runtime/instance/businessProcessStartList.component';\r\nimport { GroupListComponent } from '../Views/Admin/groups/group-list.component';\r\nimport { UserListComponent } from '../Views/Admin/users/user-list.component';\r\nimport { LdapComponent } from '../Views/Admin/ldap/ldap.component';\r\nimport { UserSecurityConfigComponent } from '../Views/Admin/security-configuration/userSecurityConfig.component';\r\nimport { ProfileListComponent } from '../Views/Admin/profiles/profile-list.component';\r\nimport { AccessControlComponent } from '../Views/Admin/access-control/access-control.component';\r\nimport { BusinessProcessListComponent } from '../Views/Runtime/business-process/business-process-list.component';\r\nimport { BusinessProcessInstanceHistoryComponent } from '../Views/Runtime/reports/business-process-instance-history/business-process-instance-history.component';\r\nimport { BusinessProcessInstanceOverrideComponent } from '../Views/Runtime/administration/business-process-instance-override/business-process-instance-override.component';\r\nimport { InstanceHistoryStateLifeCycleComponent } from '../Views/Runtime/reports/instance-history-stateLifeCycle/instance-history-stateLifeCycle.component';\r\nimport { TimingAnalysisReportComponent } from '../Views/Runtime/reports/timing-analysis-report/timing-analysis-report.component';\r\nimport { ServiceConfigurationListComponent } from '../Views/Configuration/service-configuration-list/service-configuration-list.component';\r\nimport { InstanceOverrideReportComponent } from '../Views/Runtime/reports/instance-override-report/instance-override-report.component';\r\nimport { BusinessProcessInvokeListComponent } from '../Views/HumanInteraction/business-process-invoke-list/business-process-invoke-list.component';\r\nimport { CustomInteractionQueueComponent } from '../Views/HumanInteraction/custom-interaction-queue/custom-interaction-queue.component';\r\nimport { BusinessProcessSuspendedListComponent } from '../Views/HumanInteraction/business-process-suspended-list/business-process-suspended-list.component';\r\nimport { SequentialAllocationComponent } from '../Views/HumanInteraction/sequential-allocation/sequential-allocation.component';\r\nimport {InteractionQueueConfigComponent} from '../Views/Configuration/interaction-queue-config/interaction-queue-config.component';\r\nimport {CustomInteractionQueueConfigListComponent} from '../Views/Configuration/custom-interaction-queue-config-list/custom-interaction-queue-config-list.component';\r\nimport {GlobalVariablesComponent} from '../Views/Configuration/global-variables/global-variables.component';\r\nimport {DriverUpdateListComponent} from '../Views/Configuration/driver-update-list/driver-update-list.component';\r\nimport {GlobalVariableGroupsComponent} from '../Views/Configuration/global-variable-groups/global-variable-groups.component';\r\nimport {MetadataStructureListComponent} from '../Views/Configuration/metadata-structure-list/metadata-structure-list.component';\r\nimport {UserMetadataAdminComponent} from '../Views/Configuration/user-metadata-admin/user-metadata-admin.component';\r\nimport {DistributionCustomInteractionComponent} from '../Views/Configuration/distribution-custom-interaction/distribution-custom-interaction.component';\r\nimport {PoolsComponent} from '../Views/Configuration/pools/pools.component';\r\nimport {SystemFlowComponent} from '../Views/Configuration/system-flow/system-flow.component';\r\nimport {BusinessProcessQueueManagerComponent} from '../Views/Runtime/administration/business-process-queue-manager/business-process-queue-manager.component';\r\nimport {BatchManagementComponent} from '../Views/Batch/management/batch-management.component';\r\nimport {TemplateConfigurationComponent} from '../Views/Batch/template-configuration/template-configuration.component';\r\nimport {DataExtractionLayoutComponent} from '../Views/Configuration/data-extraction-layout/data-extraction-layout.component';\r\nimport {SchedulingComponent} from '../Views/Configuration/scheduling/scheduling.component';\r\nimport {TaskMonitoringComponent} from '../Views/Configuration/task-monitoring/task-monitoring.component';\r\n\r\nexport enum LinkType {\r\n fromNavMenu = 0,\r\n fromPage = 1\r\n}\r\n\r\nexport const menuComponentFromTo: MenuModelFromTo[] = [\r\n {\r\n urlMenu: '/Runtime/BusinessProcessStartList.aspx',\r\n routeMenu: 'instance',\r\n componentMenu: BusinessProcessStartListComponent\r\n },\r\n {\r\n urlMenu: '/Admin/AccessControl/LdapV2.aspx',\r\n routeMenu: 'ldap',\r\n componentMenu: LdapComponent\r\n },\r\n {\r\n urlMenu: '/Admin/AccessControl/GroupList.aspx',\r\n routeMenu: 'groups',\r\n componentMenu: GroupListComponent\r\n },\r\n {\r\n urlMenu: '/Admin/AccessControl/UserList.aspx',\r\n routeMenu: 'userList',\r\n componentMenu: UserListComponent\r\n },\r\n {\r\n urlMenu: '/Configuration/UserSecurityConfiguration.aspx',\r\n routeMenu: 'userSecurityConfig',\r\n componentMenu: UserSecurityConfigComponent\r\n },\r\n {\r\n urlMenu: '/Admin/AccessControl/ProfileList.aspx',\r\n routeMenu: 'profileList',\r\n componentMenu: ProfileListComponent\r\n },\r\n {\r\n urlMenu: '/BusinessProcessAccessControl.aspx',\r\n routeMenu: 'extractionAccessControl',\r\n componentMenu: AccessControlComponent,\r\n title: 'Controle de Acesso de Extração'\r\n },\r\n {\r\n urlMenu: '/StateAccessControl.aspx',\r\n routeMenu: 'stateAccessControl',\r\n componentMenu: AccessControlComponent,\r\n title: 'Controle de Acesso de Estado(s)'\r\n },\r\n {\r\n urlMenu: '/BusinessProcessList.aspx',\r\n routeMenu: 'businessProcessList',\r\n componentMenu: BusinessProcessListComponent\r\n },\r\n {\r\n urlMenu: '/Reports/Runtime/BusinessProcessInstanceHistoryReport.aspx',\r\n routeMenu: 'Reports/BusinessProcessInstanceHistoryReport',\r\n componentMenu: BusinessProcessInstanceHistoryComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Reports/Runtime/BusinessProcessInstancesReport.aspx',\r\n routeMenu: 'Reports/InstanceHistoryStateLifeCycle',\r\n componentMenu: InstanceHistoryStateLifeCycleComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Runtime/BusinessProcessInstanceOverrideV2.aspx',\r\n routeMenu: 'businessProcessInstanceOverride',\r\n componentMenu: BusinessProcessInstanceOverrideComponent,\r\n title: 'Imposição de Instâncias'\r\n },\r\n {\r\n routeMenu: 'historyReportVisibilityComponent',\r\n title: 'Configurar Visibilidade de Campos e Estados para o Histórico de Execução',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'relatedBusinessProcessConfiguration',\r\n title: 'Configurar Buscas por Instâncias Relacionadas',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'manageLockedElements',\r\n title: 'Elementos Bloqueados',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'businessProcessRecoverVersion',\r\n title: 'Recuperar Versões Anteriores',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'state',\r\n title: 'Editar Estado',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'newState',\r\n title: 'Cadastrar Estado',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'businessProcess',\r\n title: 'Editar Processo de Negócio',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'newBusinessProcess',\r\n title: 'Cadastrar Processo de Negócio',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'fieldsManagement',\r\n title: 'Edição Múltipla de Campos',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'instanceHistoryDetails',\r\n title: 'Histórico de Execução da Instância',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'customInstanceView',\r\n title: 'Visualização da Instância através de um layout',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n urlMenu: '/Reports/Runtime/BusinessProcessInstanceOverrideReport.aspx',\r\n routeMenu: 'Reports/InstanceOverrideReport',\r\n componentMenu: InstanceOverrideReportComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Reports/Runtime/TimingAnalysisReport.aspx',\r\n routeMenu: 'timingAnalysisReport',\r\n componentMenu: TimingAnalysisReportComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Runtime/BusinessProcessInvokeList.aspx',\r\n routeMenu: 'businessProcessInvokeList',\r\n componentMenu: BusinessProcessInvokeListComponent,\r\n title: 'Fila de Instâncias'\r\n },\r\n {\r\n urlMenu: '/Configuration/WorkflowConfiguration.aspx',\r\n routeMenu: 'serviceConfigurationList',\r\n componentMenu: ServiceConfigurationListComponent,\r\n title: 'Configuração de Componentes do Sistema'\r\n },\r\n {\r\n urlMenu: '/Runtime/CustomInteractionQueue.aspx',\r\n routeMenu: 'customInteractionQueue',\r\n componentMenu: CustomInteractionQueueComponent\r\n },\r\n {\r\n urlMenu: '/Runtime/BusinessProcessSuspendedList.aspx',\r\n routeMenu: 'instanceSuspendedList',\r\n componentMenu: BusinessProcessSuspendedListComponent,\r\n title: 'Fila de Instâncias Adiadas',\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Runtime/CustomInteractionQueueSuspendedList.aspx',\r\n routeMenu: 'instanceSuspendedList',\r\n componentMenu: BusinessProcessSuspendedListComponent,\r\n title: 'Fila de Instâncias Adiadas',\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Runtime/SequentialAllocation.aspx',\r\n routeMenu: 'sequentialAllocation',\r\n componentMenu: SequentialAllocationComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Runtime/CustomInteractionQueueSequencialAllocation.aspx',\r\n routeMenu: 'sequentialAllocation',\r\n componentMenu: SequentialAllocationComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/HumanInteractionQueueConfiguration.aspx',\r\n routeMenu: 'interactionQueueConfig',\r\n componentMenu: InteractionQueueConfigComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/NewInteractionQueueConfiguration.aspx',\r\n routeMenu: 'customInteractionQueueConfig',\r\n componentMenu: CustomInteractionQueueConfigListComponent,\r\n title: 'Lista de Filas',\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n routeMenu: 'configCustomQueue',\r\n title: 'Editar informações da fila',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n routeMenu: 'newConfigCustomQueue',\r\n title: 'Nova fila',\r\n linkType: LinkType.fromPage\r\n },\r\n {\r\n urlMenu: '/Configuration/GlobalVariables/GlobalVariables.aspx',\r\n routeMenu: 'globalVariables',\r\n title: 'Variáveis Globais',\r\n componentMenu: GlobalVariablesComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Drivers/DriverUpdate.aspx',\r\n routeMenu: 'driverUpdateList',\r\n title: 'Atualização de Drivers',\r\n componentMenu: DriverUpdateListComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/GlobalVariables/GlobalVariableGroups.aspx',\r\n routeMenu: 'globalVariablesGroups',\r\n title: 'Grupos de variáveis globais',\r\n componentMenu: GlobalVariableGroupsComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/Metadata/Metadata.aspx',\r\n routeMenu: 'metadataStructureList',\r\n title: 'Estrutura de Metadados',\r\n componentMenu: MetadataStructureListComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/Metadata/UserMetadataAdmin.aspx',\r\n routeMenu: 'userMetadataAdmin',\r\n title: 'Metadados de Usuários',\r\n componentMenu: UserMetadataAdminComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/Distribution/CustomInteractionDistribution.aspx',\r\n routeMenu: 'customInteractionDistribution',\r\n title: 'Regras de distribuição',\r\n componentMenu: DistributionCustomInteractionComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/Pools/Pools.aspx',\r\n routeMenu: 'pools',\r\n title: 'Lista de Pools',\r\n componentMenu: PoolsComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/SystemFlow/SystemFlow.aspx',\r\n routeMenu: 'systemFlow',\r\n componentMenu: SystemFlowComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Runtime/BusinessProcessQueueManager.aspx',\r\n routeMenu: 'businessProcessQueueManager',\r\n componentMenu: BusinessProcessQueueManagerComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Batch/BatchManagement.aspx',\r\n routeMenu: 'batchManager',\r\n title: 'Administração de Lote',\r\n componentMenu: BatchManagementComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/Batch/BatchTemplatesConfiguration.aspx',\r\n routeMenu: 'batchTemplateList',\r\n title: 'Layouts de Lote',\r\n componentMenu: TemplateConfigurationComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/DataExtraction/DataExtractionFileLayoutList.aspx',\r\n routeMenu: 'dataExtractionFileLayoutList',\r\n title: 'Layouts de Extração',\r\n componentMenu: DataExtractionLayoutComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/Configuration/Scheduling/Scheduling.aspx',\r\n routeMenu: 'scheduling',\r\n title: 'Agendamentos',\r\n componentMenu: SchedulingComponent,\r\n linkType: LinkType.fromNavMenu\r\n },\r\n {\r\n urlMenu: '/TaskMonitoring/TaskMonitoring.aspx',\r\n routeMenu: 'taskMonitoring',\r\n title: 'Acompanhamento de Extração',\r\n componentMenu: TaskMonitoringComponent,\r\n linkType: LinkType.fromNavMenu\r\n }\r\n];\r\n\r\nexport interface MenuModelFromTo {\r\n urlMenu?: string;\r\n routeMenu?: string;\r\n componentMenu?: Type;\r\n title?: string;\r\n linkType?: LinkType;\r\n}\r\n\r\n","import {Right} from './profile';\r\n\r\nexport class MenuItem {\r\n id: number;\r\n parentId: number;\r\n name: string;\r\n description: string;\r\n itemIcon: string;\r\n itemOrder: number;\r\n url: string;\r\n children: MenuItem[];\r\n requiredRights: number[];\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UpdateSecurityQuestionsComponent } from './update-security-questions/update-security-questions.component';\r\nimport {accountRouting} from './account.routing';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { ChangeTempPasswordComponent } from './change-temp-password/change-temp-password.component';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport {ModalModule} from 'ngx-bootstrap/modal';\r\nimport {TabsModule} from 'ngx-bootstrap/tabs';\r\nimport { InsertPasswordModalComponent } from './change-password/insert-password-modal/insert-password-modal.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n UpdateSecurityQuestionsComponent,\r\n ChangeTempPasswordComponent,\r\n ChangePasswordComponent,\r\n InsertPasswordModalComponent\r\n ],\r\n entryComponents: [\r\n UpdateSecurityQuestionsComponent,\r\n ChangeTempPasswordComponent,\r\n ChangePasswordComponent,\r\n InsertPasswordModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n accountRouting,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n TabsModule.forRoot(),\r\n ]\r\n})\r\nexport class AccountModule { }\r\n","import {RouterModule, Routes} from '@angular/router';\r\nimport {MasterPageComponent} from '../../master/masterpage.component';\r\nimport {AuthorizationCheck} from '../../auth/authorizationCheck';\r\nimport {ModuleWithProviders} from '@angular/core';\r\nimport {UpdateSecurityQuestionsComponent} from './update-security-questions/update-security-questions.component';\r\nimport {ChangeTempPasswordComponent} from './change-temp-password/change-temp-password.component';\r\n\r\nconst Config_Routes: Routes = [\r\n {\r\n path: 'updateSecurityQuestions',\r\n component: UpdateSecurityQuestionsComponent\r\n },\r\n {\r\n path: 'changeTempPassword',\r\n component: ChangeTempPasswordComponent\r\n }\r\n];\r\n\r\nexport const accountRouting: ModuleWithProviders = RouterModule.forRoot(Config_Routes);\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FjY291bnQvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuY3NzIn0= */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {TabsetComponent} from 'ngx-bootstrap/tabs';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {ChangePasswordService} from '../../../services/change-password.service';\r\nimport {throwError} from 'rxjs';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {InsertPasswordModalComponent} from './insert-password-modal/insert-password-modal.component';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css', '../../../styles/modals.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n @ViewChild('passTabs', { static: false }) passTabs: TabsetComponent;\r\n modalTitle;\r\n changePassForm: FormGroup;\r\n errorMessage = '';\r\n successMessage = '';\r\n user;\r\n hasCrivoUserConfigured = false;\r\n\r\n get formData() { return this.changePassForm.controls; }\r\n get formDataWorkflow() { return this.formData.workflowPasswordFields['controls']; }\r\n get formDataCrivo() { return this.formData.crivoPasswordFields['controls']; }\r\n\r\n constructor(private formBuilder: FormBuilder, public bsModalRef: BsModalRef, private changePassService: ChangePasswordService,\r\n private modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.loadUserConfig();\r\n }\r\n\r\n createForm() {\r\n this.changePassForm = this.formBuilder.group({\r\n workflowPasswordFields: this.formBuilder.group({ passwordHash: '', passwordRetype: '' }),\r\n crivoPasswordFields: this.formBuilder.group({ crivoUser: this.user.crivoUser, crivoPassword: '', crivoPasswordRetype: '' })\r\n })\r\n }\r\n\r\n loadUserConfig() {\r\n this.changePassService.loadUserConfig()\r\n .subscribe(result => {\r\n result.crivoUser = result.crivoUser || '';\r\n this.user = { userId: result.userId, logon: result.logon, crivoUser: result.crivoUser, isLdap: result.isLdap };\r\n this.hasCrivoUserConfigured = this.user.crivoUser !== '';\r\n this.createForm();\r\n });\r\n }\r\n\r\n setWorkflowRequiredField(element) {\r\n const val = element.target.value;\r\n if (val !== '') {\r\n this.formDataWorkflow.passwordHash.setValidators([ Validators.required, Validators.maxLength(100) ]);\r\n this.formDataWorkflow.passwordRetype.setValidators([ Validators.required, Validators.maxLength(100) ]);\r\n this.changePassForm.controls['workflowPasswordFields'].setValidators(CustomValidator.validatePassword('passwordHash', 'passwordRetype'));\r\n } else {\r\n // verificar se o outro campo está em branco tb\r\n const passwordHash = this.formDataWorkflow.passwordHash.value;\r\n const passwordRetype = this.formDataWorkflow.passwordRetype.value;\r\n if (passwordHash == '' && passwordRetype == '') {\r\n this.formDataWorkflow.passwordHash.clearValidators();\r\n this.formDataWorkflow.passwordRetype.clearValidators();\r\n this.changePassForm.controls['workflowPasswordFields'].clearValidators();\r\n }\r\n }\r\n this.formDataWorkflow.passwordHash.updateValueAndValidity();\r\n this.formDataWorkflow.passwordRetype.updateValueAndValidity();\r\n this.changePassForm.updateValueAndValidity();\r\n }\r\n\r\n setUserCrivoValidations(element) {\r\n const val = element.target.value;\r\n\r\n // se está cadastrando por aqui...\r\n if (val !== '' && !this.hasCrivoUserConfigured) {\r\n this.setCrivoPasswordValidators();\r\n } else {\r\n const passwordHash = this.formDataCrivo.crivoPassword.value;\r\n const passwordRetype = this.formDataCrivo.crivoPasswordRetype.value;\r\n\r\n // se algum campo de senha está preenchido, o usuário crivo é obrigatório e não devo remover a obrigatoriedade dos campos de senha\r\n if (passwordHash !== '' || passwordRetype !== '') {\r\n this.setCrivoUserValidators();\r\n } else {\r\n this.setCrivoUserValidators(false);\r\n this.setCrivoPasswordValidators(false);\r\n }\r\n }\r\n }\r\n\r\n setCrivoPasswordRequiredField(element) {\r\n const crivoUser = this.formDataCrivo.crivoUser.value;\r\n const val = element.target.value;\r\n // se não tiver cadastrado na base o usuário crivo e tiver preenchido o campo, as senhas do crivo são obrigatórias\r\n if (val !== '' || (!this.hasCrivoUserConfigured && crivoUser !== '')) {\r\n this.setCrivoPasswordValidators();\r\n this.setCrivoUserValidators();\r\n } else {\r\n const passwordHash = this.formDataCrivo.crivoPassword.value;\r\n const passwordRetype = this.formDataCrivo.crivoPasswordRetype.value;\r\n\r\n // se as duas senhas estão preenchidas... deixa de ser obrigatório o campo, caso o campo usuário crivo esteja preenchido e não tenha o usuário configurado\r\n if (passwordHash == '' && passwordRetype == '') { // && crivoUser == '' && !this.hasCrivoUserConfigured\r\n if (crivoUser !== '' && this.hasCrivoUserConfigured) {\r\n this.setCrivoPasswordValidators(false);\r\n } else if (crivoUser == '') {\r\n this.setCrivoPasswordValidators(false);\r\n this.setCrivoUserValidators(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setCrivoUserValidators(enableValidators = true) {\r\n if (enableValidators) {\r\n this.formDataCrivo.crivoUser.setValidators([ Validators.required, Validators.maxLength(100) ]);\r\n } else {\r\n this.formDataCrivo.crivoUser.clearValidators();\r\n }\r\n this.formDataCrivo.crivoUser.updateValueAndValidity();\r\n }\r\n\r\n setCrivoPasswordValidators(enableValidators = true) {\r\n if (enableValidators) {\r\n this.formDataCrivo.crivoPassword.setValidators([ Validators.required, Validators.maxLength(100) ]);\r\n this.formDataCrivo.crivoPasswordRetype.setValidators([ Validators.required, Validators.maxLength(100) ]);\r\n this.changePassForm.controls['crivoPasswordFields'].setValidators(CustomValidator.validatePassword('crivoPassword', 'crivoPasswordRetype'));\r\n } else {\r\n this.formDataCrivo.crivoPassword.clearValidators();\r\n this.formDataCrivo.crivoPasswordRetype.clearValidators();\r\n this.changePassForm.controls['crivoPasswordFields'].clearValidators();\r\n }\r\n this.formDataCrivo.crivoPassword.updateValueAndValidity();\r\n this.formDataCrivo.crivoPasswordRetype.updateValueAndValidity();\r\n this.changePassForm.updateValueAndValidity();\r\n }\r\n\r\n onSave() {\r\n\r\n const modalComponent: any = InsertPasswordModalComponent;\r\n const result$ = this.modalService.showObjModal(modalComponent,\r\n 'Informe a senha', { values: this.changePassForm.getRawValue(), user: this.user }, 'modal-md');\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n isAuth => {\r\n if (isAuth) {\r\n this.ngOnInit();\r\n this.passTabs.tabs[0].active = true;\r\n }\r\n }\r\n );\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FjY291bnQvY2hhbmdlLXBhc3N3b3JkL2luc2VydC1wYXNzd29yZC1tb2RhbC9pbnNlcnQtcGFzc3dvcmQtbW9kYWwuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {Subject} from 'rxjs';\r\nimport {ChangePasswordService} from '../../../../services/change-password.service';\r\n\r\n@Component({\r\n selector: 'app-insert-password-modal',\r\n templateUrl: './insert-password-modal.component.html',\r\n styleUrls: ['./insert-password-modal.component.css']\r\n})\r\nexport class InsertPasswordModalComponent implements OnInit {\r\n\r\n @Input() modalTitle;\r\n objInitialState;\r\n\r\n passwordForm: FormGroup;\r\n itemSaved: Subject;\r\n\r\n errorMessage = '';\r\n successMessage = '';\r\n\r\n submitted = false;\r\n\r\n get formData() { return this.passwordForm.controls; }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private changePwdService: ChangePasswordService) { }\r\n\r\n ngOnInit() {\r\n this.itemSaved = new Subject();\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.passwordForm = this.formBuilder.group({\r\n passwordHash: [null, [Validators.required, Validators.maxLength(100)]]\r\n })\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n const param = {\r\n username: this.objInitialState.user.logon,\r\n currentPassword: this.formData.passwordHash.value,\r\n newPassword: this.objInitialState.values.workflowPasswordFields.passwordHash,\r\n confirmNewPassword: this.objInitialState.values.workflowPasswordFields.passwordRetype,\r\n crivoUser: this.objInitialState.values.crivoPasswordFields.crivoUser || '',\r\n crivoPassword: this.objInitialState.values.crivoPasswordFields.crivoPassword,\r\n crivoPasswordRetype: this.objInitialState.values.crivoPasswordFields.crivoPasswordRetype\r\n };\r\n\r\n this.changePwdService.savePassword(param).subscribe(res=> {\r\n this.successMessage = 'Alteração realizada com sucesso!';\r\n this.itemSaved.next(true);\r\n this.passwordForm.reset();\r\n this.passwordForm.disable();\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.bsModalRef.hide();\r\n }, 2000);\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.submitted = false;\r\n }\r\n );\r\n }\r\n\r\n onCloseOrCancel() {\r\n this.bsModalRef.hide();\r\n this.itemSaved.next(false);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FjY291bnQvY2hhbmdlLXRlbXAtcGFzc3dvcmQvY2hhbmdlLXRlbXAtcGFzc3dvcmQuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {Router} from '@angular/router';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {AuthenticationService} from '../../../services/authentication.service';\r\nimport {first} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-change-temp-password',\r\n templateUrl: './change-temp-password.component.html',\r\n styleUrls: ['./change-temp-password.component.css']\r\n})\r\nexport class ChangeTempPasswordComponent implements OnInit {\r\n\r\n changeTempPassForm: FormGroup;\r\n errorMessage = '';\r\n successMessage = false;\r\n redirectMessage = false;\r\n changeTempPassLogin = '';\r\n loginHandleAnswerQuiz = '';\r\n submit = false;\r\n\r\n get formData() {\r\n return this.changeTempPassForm.controls;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private router: Router, private authService: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n if (history.state.changeTempPassLogin == undefined) {\r\n this.onBack();\r\n return;\r\n } else {\r\n this.changeTempPassLogin = history.state.changeTempPassLogin;\r\n\r\n if (history.state.loginHandleAnswerQuiz !== undefined) {\r\n this.loginHandleAnswerQuiz = history.state.loginHandleAnswerQuiz;\r\n }\r\n this.createForm();\r\n }\r\n\r\n }\r\n\r\n createForm() {\r\n this.changeTempPassForm = this.formBuilder.group({\r\n currentPassword: '',\r\n newPassword: ['', [Validators.required, Validators.maxLength(100)]],\r\n confirmNewPassword: ['', [Validators.required, Validators.maxLength(100)]]\r\n }, { validators: [\r\n CustomValidator.validatePassword('newPassword', 'confirmNewPassword')\r\n ]});\r\n\r\n if (this.loginHandleAnswerQuiz == '') {\r\n this.changeTempPassForm.get('currentPassword').setValidators([Validators.required, Validators.maxLength(100)]);\r\n }\r\n }\r\n\r\n onSave() {\r\n this.submit = true;\r\n this.errorMessage = '';\r\n\r\n const filter = this.changeTempPassForm.getRawValue();\r\n this.authService.saveTempPassword(this.loginHandleAnswerQuiz, this.changeTempPassLogin,\r\n filter.currentPassword, filter.newPassword, filter.confirmNewPassword)\r\n .pipe(first())\r\n .subscribe(data => {\r\n this.successMessage = true;\r\n\r\n setTimeout(() => {\r\n this.successMessage = false;\r\n this.redirectMessage = true;\r\n }, 1500);\r\n\r\n setTimeout(() => {\r\n this.authService.logout()\r\n .subscribe(\r\n (data) => {\r\n this.onBack();\r\n },\r\n (err) => console.log(err)\r\n );\r\n\r\n }, 4000)\r\n }, error1 => {\r\n this.submit = false;\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onBack() {\r\n this.router.navigate(['/login']);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FjY291bnQvdXBkYXRlLXNlY3VyaXR5LXF1ZXN0aW9ucy91cGRhdGUtc2VjdXJpdHktcXVlc3Rpb25zLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport {AuthenticationService} from '../../../services/authentication.service';\r\nimport {first} from 'rxjs/operators';\r\nimport {Router} from '@angular/router';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {Utils} from '../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-update-security-questions',\r\n templateUrl: './update-security-questions.component.html',\r\n styleUrls: ['./update-security-questions.component.css']\r\n})\r\nexport class UpdateSecurityQuestionsComponent implements OnInit {\r\n\r\n title;\r\n username;\r\n userSecurityQuestions = [];\r\n errorMessage = '';\r\n showCheckBox = false;\r\n isAnswer = false;\r\n securityQuestionsForm: FormGroup = new FormGroup({});\r\n submit = false;\r\n selectedQuestions = [];\r\n formControlNameList = [];\r\n token = '';\r\n\r\n get formData() { return this.securityQuestionsForm.controls; }\r\n\r\n constructor(private authService: AuthenticationService, private router: Router, private formBuilder: FormBuilder) {}\r\n\r\n ngOnInit() {\r\n this.username = history.state.username;\r\n\r\n if (history.state.isAnswer == undefined) {\r\n // se deu refresh na pagina, perco o histórico... portanto, devo retornar para o login.\r\n this.onBack();\r\n return;\r\n } else {\r\n this.isAnswer = history.state.isAnswer;\r\n }\r\n\r\n if (this.isAnswer) {\r\n this.title = 'Por favor, responda as perguntas de segurança abaixo para continuar';\r\n this.loadPage(this.username);\r\n } else {\r\n if (history.state.token !== undefined) {\r\n this.token = history.state.token;\r\n }\r\n this.title = 'Por favor, selecione e responda a 3 perguntas dentre as listadas abaixo';\r\n this.loadPage();\r\n }\r\n }\r\n\r\n loadPage(login = '') {\r\n this.authService.getUserSecurityQuestions(login, this.token)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.userSecurityQuestions = data.map(m => ({ id: m.id, question: m.question }));\r\n this.userSecurityQuestions.forEach(x => {\r\n let formControlName = `question${x.id}`;\r\n\r\n this.securityQuestionsForm.addControl(formControlName, new FormControl('', [ Validators.maxLength(150) ]));\r\n this.formControlNameList.push(formControlName);\r\n\r\n if (login !== '') {\r\n this.securityQuestionsForm.get(formControlName).setValidators([ Validators.required ]);\r\n } else {\r\n this.securityQuestionsForm.get(formControlName).disable();\r\n }\r\n });\r\n\r\n this.showCheckBox = false;\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n });\r\n }\r\n\r\n selectQuestion(selected, formControlName) {\r\n if (selected.target.checked && this.selectedQuestions.length <= 3) {\r\n this.securityQuestionsForm.get(formControlName).setValidators([Validators.required, Validators.maxLength(150)]);\r\n this.securityQuestionsForm.get(formControlName).enable();\r\n\r\n this.selectedQuestions.push(formControlName);\r\n } else {\r\n this.securityQuestionsForm.get(formControlName).clearValidators();\r\n this.securityQuestionsForm.get(formControlName).disable();\r\n this.securityQuestionsForm.get(formControlName).setValue('');\r\n\r\n this.selectedQuestions = this.selectedQuestions.filter(f => f !== formControlName);\r\n }\r\n\r\n let unselectedFormControl = this.formControlNameList.filter(f => this.selectedQuestions.indexOf(f) == -1);\r\n unselectedFormControl.forEach(item => {\r\n const chk = document.getElementById(item);\r\n chk.disabled = this.selectedQuestions.length == 3;\r\n });\r\n\r\n this.securityQuestionsForm.updateValueAndValidity();\r\n }\r\n\r\n onSave() {\r\n this.submit = true;\r\n let frontFilter = this.securityQuestionsForm.getRawValue();\r\n let result: { answer: string, questionId: number }[] = [];\r\n\r\n if (this.isAnswer) {\r\n // esqueci minha senha\r\n this.userSecurityQuestions.forEach(q => {\r\n result.push({ answer: frontFilter[`question${q.id}`], questionId: q.id });\r\n });\r\n\r\n } else {\r\n // cadastrar perguntas\r\n let answers = this.userSecurityQuestions.filter(f => this.selectedQuestions.indexOf(`question${f.id}`) !== -1);\r\n answers.forEach(q => {\r\n result.push({ answer: frontFilter[`question${q.id}`], questionId: q.id })\r\n })\r\n }\r\n\r\n let login = this.username || '';\r\n\r\n this.authService.saveQuestions(result, login, this.isAnswer, this.userSecurityQuestions, this.token)\r\n .pipe(first())\r\n .subscribe(data => {\r\n if (data) {\r\n this.router.navigate(['/changeTempPassword'],\r\n { state: { changeTempPassLogin: this.username, loginHandleAnswerQuiz: data['token'] } });\r\n } else {\r\n this.router.navigate(['/changeTempPassword'],\r\n { state: { changeTempPassLogin: this.username, loginHandleAnswerQuiz: '' } });\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.securityQuestionsForm, formControlName);\r\n }\r\n\r\n onBack() {\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vYWNjZXNzLWNvbnRyb2wvYWNjZXNzLWNvbnRyb2wtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FkbWluL2FjY2Vzcy1jb250cm9sL2FjY2Vzcy1jb250cm9sLW1vZGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport {take} from 'rxjs/operators';\r\nimport {BusinessProcess} from '../../../Models/businessProcess';\r\nimport {BusinessProcessService} from '../../../services/business-process.service';\r\nimport {SecurableObjectType} from '../../../Models/enum/securableObjectType';\r\nimport {DropDownContent} from '../../../Models/dropDownContent';\r\nimport {AdminService} from '../../../services/admin.service';\r\nimport {AccessControlService} from '../../../services/access-control.service';\r\nimport {TrusteeType} from '../../../Models/enum/trusteeType';\r\nimport {FormsValidatorService} from '../../../services/forms-validator.service';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-access-control-modal',\r\n templateUrl: './access-control-modal.component.html',\r\n styleUrls: ['./access-control.component.css', './access-control-modal.component.css']\r\n})\r\nexport class AccessControlModalComponent implements OnInit {\r\n\r\n @ViewChild('selectStates', { static: false }) selectElemStates;\r\n @ViewChild('selectPermissions', { static: false }) selectElemPermissions;\r\n @ViewChild('selectTrustees', { static: false }) selectElemTrustees;\r\n\r\n @Input() modalTitle: string;\r\n\r\n objId: number; // verificar se a modal foi aberta pela tela de Estado ou Business Process (SecurableObjectType).\r\n securableObjectAccessForm: FormGroup;\r\n itemSaved: Subject;\r\n submitted = false;\r\n error = '';\r\n pleaseWait = false;\r\n\r\n availableBusinessProcess: Observable;\r\n availableStates: Observable;\r\n availableTrustees: Observable;\r\n availablePermissions: Observable;\r\n availablePermissionsBpList: DropDownContent[];\r\n\r\n bpName: string;\r\n acesToAppend = [];\r\n eSecurableObjectType = SecurableObjectType;\r\n\r\n get formData() { return this.securableObjectAccessForm.controls; }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private bpService: BusinessProcessService,\r\n private admService: AdminService, private accessControl: AccessControlService) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n this.loadDropdowns();\r\n this.itemSaved = new Subject();\r\n if (this.objId === this.eSecurableObjectType.businessProcess) {\r\n FormsValidatorService.removeValidator(this.securableObjectAccessForm, 'securableObjects');\r\n FormsValidatorService.removeValidator(this.securableObjectAccessForm, 'permissions');\r\n }\r\n }\r\n\r\n createForm() {\r\n this.securableObjectAccessForm = this.formBuilder.group({\r\n businessProcessId: [0, CustomValidator.singleDropdown],\r\n businessProcessName: [[]],\r\n securableObjects: [[], this.validateMultiSelectDropdown],\r\n trustees: [[], Validators.required],\r\n permissions: [[], Validators.required],\r\n securableObjectType: []\r\n });\r\n }\r\n\r\n validateMultiSelectDropdown(input: FormControl) {\r\n return input.value.length === 0 ? {emptyMultDropDown: true} : null;\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.submitted = false;\r\n\r\n const securableObjects = this.securableObjectAccessForm.getRawValue();\r\n securableObjects.securableObjectType = this.objId;\r\n\r\n this.getBusinessProcessName();\r\n let secObjects = [];\r\n if (this.objId === this.eSecurableObjectType.businessProcess) {\r\n securableObjects.securableObjects = [parseFloat(securableObjects.businessProcessId)];\r\n securableObjects.permissions = this.availablePermissionsBpList.filter(f => {\r\n return f.id !== 13;\r\n });\r\n secObjects.push({ id: securableObjects.businessProcessId, name: this.bpName });\r\n\r\n } else if (this.objId === this.eSecurableObjectType.state) {\r\n secObjects = this.getSecurableObject();\r\n }\r\n\r\n this.pleaseWait = true;\r\n\r\n const filter = {\r\n businessProcessId: securableObjects.businessProcessId,\r\n businessProcessName: this.bpName,\r\n securableObjectType: this.objId as SecurableObjectType,\r\n securableObjects: secObjects,\r\n users: [],\r\n groups: [],\r\n permissions: []\r\n };\r\n\r\n this.error = '';\r\n\r\n // buscar as permissoes atribuidas\r\n this.accessControl.getAccessControlEntries(filter)\r\n .subscribe(result => {\r\n this.appendEntries(securableObjects, result);\r\n if (this.acesToAppend.length > 0) {\r\n\r\n // salvar os acessos atribuidos\r\n this.accessControl.addAccessControlEntries(this.acesToAppend)\r\n .pipe(take(1))\r\n .subscribe(\r\n () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n this.pleaseWait = false;\r\n setTimeout(() => {\r\n // this.submitted = false;\r\n this.bsModalRef.hide();\r\n }, 3000);\r\n }, error => {\r\n this.error = error;\r\n console.error(error);\r\n });\r\n } else {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n this.pleaseWait = false;\r\n setTimeout(() => {\r\n // this.submitted = false;\r\n this.bsModalRef.hide();\r\n }, 2000);\r\n }\r\n }, error => {\r\n this.pleaseWait = false;\r\n\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n\r\n this.error = err;\r\n console.error(error);\r\n });\r\n }\r\n\r\n appendEntries(securableObjects, result) {\r\n securableObjects.securableObjects.forEach(securableObject => { // foreach Estado / Business Process\r\n\r\n securableObjects.trustees.forEach(trustee => { // Usuário / Grupo\r\n\r\n securableObjects.permissions.forEach(permission => { // Permissoes\r\n let permissionId = 0;\r\n if (this.objId === this.eSecurableObjectType.state) {\r\n permissionId = permission;\r\n } else {\r\n permissionId = permission.id;\r\n }\r\n\r\n const foundACE = result.filter(f => {\r\n return f.trusteeId === trustee.id &&\r\n f.trusteeType === trustee.message &&\r\n f.accessControlPermissionId === permissionId;\r\n });\r\n if (foundACE.length === 0) { // se permissao nao foi encontrada na base, devo inseri-la no array\r\n\r\n let aceName = '';\r\n if (this.objId === this.eSecurableObjectType.state) {\r\n aceName = this.getPermissionName(permissionId);\r\n } else {\r\n aceName = permission.name;\r\n }\r\n\r\n this.acesToAppend.push({\r\n trusteeId: trustee.id,\r\n trusteeType: trustee.message === 'User' ? TrusteeType.user : TrusteeType.group,\r\n securableObjectId: securableObject,\r\n securableObjectType: this.objId,\r\n accessControlPermissionId: permissionId,\r\n accessControlPermissionName: aceName\r\n });\r\n\r\n }\r\n }); // Permissoes - fim\r\n\r\n }); // Usuário / Grupo - fim\r\n\r\n }); // Estado / Business Process - fim\r\n }\r\n\r\n getSecurableObject() {\r\n // tratar o array de estados para enviar corretamente para a api\r\n const arrSecurableObject = [];\r\n\r\n if (this.objId === this.eSecurableObjectType.state) {\r\n const options = this.selectElemStates.nativeElement.options;\r\n for (let i = 0; i < options.length; i++) {\r\n if (options[i].selected) {\r\n arrSecurableObject.push({ id: options[i].value.split(':')[1].trim(), name: options[i].label});\r\n }\r\n }\r\n }\r\n return arrSecurableObject;\r\n }\r\n\r\n getPermissionName(permissionId) {\r\n const opt = this.selectElemPermissions.nativeElement.options;\r\n for (let i = 0; i < opt.length; i++) {\r\n const value = parseFloat(opt[i].value.split(':')[1].trim());\r\n if (value === permissionId) {\r\n return opt[i].label;\r\n }\r\n }\r\n }\r\n\r\n loadStates() {\r\n // limpar a lista de estados para não existir resquicios dos dados anteriores.\r\n this.securableObjectAccessForm.patchValue({\r\n securableObjects: []\r\n });\r\n this.getBusinessProcessName();\r\n this.availableStates = this.bpService.getStatesByBusinessProcessName(this.bpName);\r\n }\r\n\r\n loadDropdowns() {\r\n this.availableBusinessProcess = this.bpService.getAllBusinessProcesses();\r\n this.availableTrustees = this.admService.loadDropdownContent('api/accessControl/loadAllTrustees');\r\n this.availablePermissions = this.accessControl.getSecurableObjectPermissions(this.objId); // objId = SecurableObjectType\r\n this.availablePermissions.subscribe(res => {\r\n this.availablePermissionsBpList = res;\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n console.error(error1);\r\n });\r\n }\r\n\r\n getBusinessProcessName() {\r\n const bp = (document.getElementById('businessProcessModal')) as HTMLSelectElement;\r\n this.bpName = bp.options[bp.selectedIndex].text;\r\n }\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.disabledTrustee {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n\\r\\n.card-header {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n:host ::ng-deep .dropdown-list {\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vYWNjZXNzLWNvbnRyb2wvYWNjZXNzLWNvbnRyb2wuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtFQUM5QixnQkFBZ0I7QUFDbEI7OztBQUdBO0VBQ0UsZ0VBQWdFO0FBQ2xFOzs7QUFHQTtFQUNFLDJCQUEyQjtBQUM3Qjs7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7OztBQUVBO0VBQ0UsV0FBVztBQUNiOzs7QUFFQTtFQUNFLGVBQWU7QUFDakI7OztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQWRtaW4vYWNjZXNzLWNvbnRyb2wvYWNjZXNzLWNvbnRyb2wuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImxhYmVsIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSArIDE1cHgpIGNlbnRlcjtcclxufVxyXG5cclxuXHJcbi5jYXJkLXRpdGxle1xyXG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5kaXNhYmxlZFRydXN0ZWUge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4uY2FyZC1oZWFkZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5kcm9wZG93bi1saXN0IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiJdfQ== */\"","import {AfterViewChecked, Component, OnInit, ViewChild} from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\n\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { User } from '../../../Models/user';\r\n\r\nimport { BusinessProcess } from '../../../Models/businessProcess';\r\nimport { DropDownContent } from '../../../Models/dropDownContent';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\nimport { AccessControlService } from '../../../services/access-control.service';\r\nimport { SecurableObjectType } from '../../../Models/enum/securableObjectType';\r\nimport { SecurableObjectAcessControlEntry } from '../../../Models/SecurableObjectAcessControlEntry';\r\n\r\nimport { TrusteeType } from '../../../Models/enum/trusteeType';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { AccessControlModalComponent } from './access-control-modal.component';\r\nimport {FormsValidatorService} from '../../../services/forms-validator.service';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {DropdownMultiselectComponent} from '../../../common/dropdown-multiselect/dropdown-multiselect.component';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-state-access-control',\r\n templateUrl: './access-control.component.html',\r\n styleUrls: ['./access-control.component.css']\r\n})\r\nexport class AccessControlComponent implements OnInit, AfterViewChecked {\r\n\r\n @ViewChild('childPermissionDropDown', {static: false}) childPermissionDropDown: DropdownMultiselectComponent;\r\n @ViewChild('childStateDropDown', {static: false}) childStateDropDown: DropdownMultiselectComponent;\r\n @ViewChild('childUsersDropDown', {static: false}) childUsersDropDown: DropdownMultiselectComponent;\r\n @ViewChild('childGroupsDropDown', {static: false}) childGroupsDropDown: DropdownMultiselectComponent;\r\n\r\n bpName: string;\r\n rota = this.router.url;\r\n availableStates: DropDownContent[];\r\n selectedItemsStates = [];\r\n\r\n availablePermissions: DropDownContent[];\r\n dmAvailablePermissions = [];\r\n selectedPermissions = [];\r\n\r\n availableUsers: DropDownContent[];\r\n selectedUsers = [];\r\n\r\n availableGroups: DropDownContent[];\r\n selectedGroups = [];\r\n\r\n availableBusinessProcess: Observable;\r\n\r\n securableObjectAccessControlEntries: SecurableObjectAcessControlEntry[];\r\n securableObjectAccessForm: FormGroup;\r\n\r\n error = '';\r\n deleteError = '';\r\n deletePleaseWait = false;\r\n searchPleaseWait = false;\r\n submitted = false;\r\n haveRecords = false;\r\n onInit = true;\r\n public disableBtn = true;\r\n destComponent: any = AccessControlModalComponent;\r\n\r\n get formData() { return this.securableObjectAccessForm.controls; }\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private bpService: BusinessProcessService,\r\n private accessControl: AccessControlService,\r\n private modalService: GenericModalService,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.onInit = true;\r\n this.createForm();\r\n this.loadDropDowns();\r\n this.availableBusinessProcess = this.bpService.getAllBusinessProcesses();\r\n if (this.rota === '/extractionAccessControl') {\r\n FormsValidatorService.removeValidator( this.securableObjectAccessForm, 'securableObjects');\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n const listItems = >document.getElementsByClassName('ng-option');\r\n if (this.availableGroups) {\r\n this.changeColorData(listItems, this.availableGroups);\r\n }\r\n\r\n if (this.availableUsers) {\r\n this.changeColorData(listItems, this.availableUsers);\r\n }\r\n }\r\n\r\n changeColorData(listItems: HTMLCollectionOf, availableItems: DropDownContent[]) {\r\n availableItems.forEach( item => {\r\n for (let i = 0 ; i < listItems.length ; i++ ) {\r\n if ( !item.enabled && item.name === (listItems[i].children[0]).innerText ) {\r\n let item = listItems[i].children[0];\r\n item.style.color = '#ccc';\r\n }\r\n }\r\n });\r\n }\r\n\r\n loadDropDowns() {\r\n this.loadPermissions();\r\n this.loadUsersDropdown();\r\n this.loadGroupsDropdown();\r\n }\r\n\r\n loadUsersDropdown() {\r\n this.admService.loadDropdownContent('api/admin/loadAllUsersDropDown')\r\n .subscribe(result => this.availableUsers = result, error => this.error = error);\r\n }\r\n\r\n loadGroupsDropdown() {\r\n this.admService.loadDropdownContent('api/loadAllGroupsDropdown')\r\n .subscribe(result => this.availableGroups = result, error => this.error = error);\r\n }\r\n\r\n loadStates() {\r\n // this.childStateDropDown.reset();\r\n this.selectedItemsStates = [];\r\n const bp = (document.getElementById('businessProcess')) as HTMLSelectElement;\r\n this.bpName = bp.options[bp.selectedIndex].text;\r\n this.bpService.getStatesByBusinessProcessName(this.bpName)\r\n .subscribe(result => {\r\n this.availableStates = result;\r\n if (result.length > 0) {\r\n this.securableObjectAccessForm.get('securableObjects').enable();\r\n } else {\r\n this.securableObjectAccessForm.get('securableObjects').disable();\r\n }\r\n\r\n }, error => this.error = error\r\n );\r\n }\r\n\r\n loadPermissions() {\r\n this.accessControl.getSecurableObjectPermissions(SecurableObjectType.state)\r\n .subscribe(result => {\r\n this.availablePermissions = result;\r\n this.dmAvailablePermissions = result.map(m => ({ id: m.id, label: m.name }));\r\n }, error => console.error(error)\r\n );\r\n }\r\n\r\n createForm() {\r\n this.securableObjectAccessForm = this.formBuilder.group({\r\n businessProcessId: [0, CustomValidator.singleDropdown],\r\n businessProcessName: [[]],\r\n securableObjects: [{ value: [], disabled: true}, Validators.required],\r\n users: [[]],\r\n groups: [[]],\r\n permissions: [[]],\r\n securableObjectType: []\r\n });\r\n }\r\n\r\n resetFilter() {\r\n // reset dos campos do form deste component.\r\n this.securableObjectAccessForm.reset();\r\n\r\n // desabilitar o estado até que seja selecionado um processo de negócio.\r\n this.securableObjectAccessForm.get('securableObjects').disable();\r\n\r\n // limpar os estados para que seja carregado novamente ao selecionar um processo de negócio.\r\n this.availableStates = [];\r\n\r\n // reset dos elementos genericos\r\n this.resetCustomDropdown();\r\n }\r\n\r\n resetCustomDropdown() {\r\n // chamar o reset do form do dropdown generico para limpar a seleção\r\n this.childUsersDropDown.reset();\r\n this.childGroupsDropDown.reset();\r\n\r\n // necessario para limpar os itens selecionados\r\n this.selectedUsers = [];\r\n this.selectedGroups = [];\r\n\r\n if (this.rota === '/stateAccessControl') {\r\n this.childPermissionDropDown.reset();\r\n this.selectedPermissions = [];\r\n }\r\n }\r\n\r\n getFilteredData(filter: any[], availableItems: DropDownContent[]) {\r\n return availableItems.filter(f => filter.indexOf(f.id) > -1).map(m => ({ id: m.id, name: m.name }));\r\n }\r\n\r\n search() {\r\n // nao eh mais inicializacao\r\n this.onInit = false;\r\n\r\n // exibir a mensagem de Aguarde\r\n this.searchPleaseWait = true;\r\n\r\n const filter = this.securableObjectAccessForm.getRawValue();\r\n\r\n if (this.rota === '/stateAccessControl') {\r\n filter.securableObjectType = SecurableObjectType.state;\r\n filter.securableObjects = !filter.securableObjects ? [] : this.getFilteredData(filter.securableObjects, this.availableStates);\r\n } else {\r\n filter.securableObjectType = SecurableObjectType.businessProcess;\r\n filter.securableObjects = [{\r\n id: filter.businessProcessId as number,\r\n name: this.bpName\r\n }];\r\n }\r\n // filter.users = !filter.users ? [] : this.getFilteredData(filter.users, this.availableUsers);\r\n filter.users = this.getFilteredData(this.selectedUsers, this.availableUsers);\r\n // filter.groups = !filter.groups ? [] : this.getFilteredData(filter.groups, this.availableGroups);\r\n filter.groups = this.getFilteredData(this.selectedGroups, this.availableGroups);\r\n // filter.permissions = !filter.permissions ? [] : this.getFilteredData(filter.permissions, this.availablePermissions);\r\n filter.permissions = this.getFilteredData(this.selectedPermissions, this.availablePermissions);\r\n\r\n filter.businessProcessName = this.bpName;\r\n\r\n this.deleteError = '';\r\n this.error = '';\r\n this.accessControl.getAccessControlEntries(filter)\r\n .subscribe(result => {\r\n this.securableObjectAccessControlEntries = result;\r\n\r\n this.haveRecords = result.length > 0;\r\n\r\n // recolher os filtros, para melhor visualização do resultado\r\n document.getElementById('cardFilter').classList.add('collapsed-card');\r\n document.getElementById('bodyFilter').style.display = 'none';\r\n document.getElementById('footerFilter').style.display = 'none';\r\n\r\n // ocultar a mensagem de Aguarde\r\n this.searchPleaseWait = false;\r\n\r\n // fechar o filtro\r\n const collapseFilter = document.getElementById('collapseFilter');\r\n collapseFilter.classList.add('fa-plus');\r\n collapseFilter.classList.remove('fa-minus');\r\n\r\n }, error => {\r\n // ocultar a mensagem de Aguarde\r\n this.searchPleaseWait = true;\r\n\r\n this.error = error;\r\n console.error(error);\r\n });\r\n\r\n }\r\n\r\n public selectAll(element) {\r\n const selectAllChecked = element.target.checked;\r\n this.disableBtn = !selectAllChecked;\r\n\r\n const aCheckBox = document.getElementsByClassName('checkbox-selection');\r\n for (let i = 0; i < aCheckBox.length; i++) {\r\n const item = document.getElementById(aCheckBox[i].id);\r\n item.checked = selectAllChecked;\r\n }\r\n }\r\n\r\n public chkActions(element) {\r\n // verificar se deve habilitar ou desabilitar os botões de excluir.\r\n this.disableBtnDelete();\r\n }\r\n\r\n disableBtnDelete() {\r\n let btn = false;\r\n const aCheckBox = document.getElementsByClassName('checkbox-selection');\r\n for (let i = 0; i < aCheckBox.length; i++) {\r\n const item = document.getElementById(aCheckBox[i].id);\r\n if (item.checked) {\r\n btn = true;\r\n break;\r\n }\r\n }\r\n this.disableBtn = !btn;\r\n }\r\n\r\n removeAccessControlEntries() {\r\n this.deleteError = '';\r\n this.submitted = false;\r\n // exibir a mensagem de Aguarde\r\n this.deletePleaseWait = true;\r\n\r\n const params = this.getCheckedItems();\r\n\r\n this.accessControl.deleteAccessControlEntries(params).subscribe(result => {\r\n // ocultar a mensagem de Aguarde\r\n this.deletePleaseWait = false;\r\n\r\n // exibir a mensagem de Exclusão realizada com sucesso.\r\n this.submitted = true;\r\n\r\n this.disableBtn = true;\r\n setTimeout(() => {\r\n this.submitted = false;\r\n this.search();\r\n const selectAll = document.getElementById('checkbox-selectAll');\r\n selectAll.checked = false;\r\n }, 2000);\r\n }, error => {\r\n // ocultar a mensagem de Aguarde\r\n this.deletePleaseWait = false;\r\n\r\n this.deleteError = error;\r\n console.error(error);\r\n });\r\n }\r\n\r\n getCheckedItems() {\r\n const aCheckBox = document.getElementsByClassName('checkbox-selection');\r\n const arr = [];\r\n\r\n for (let i = 0; i < aCheckBox.length; i++) {\r\n const item = document.getElementById(aCheckBox[i].id);\r\n if (item.checked) {\r\n const accessControlEntryId = parseFloat(item.getAttribute('data-accessControlEntryId'));\r\n // buscar no resultado da pesquisa, os itens pelo accessControlEntryId\r\n const result = this.securableObjectAccessControlEntries.filter((f) => f.accessControlEntryId === accessControlEntryId)[0];\r\n\r\n arr.push({\r\n accessControlEntryId: result.accessControlEntryId,\r\n trusteeId: result.trusteeId,\r\n trusteeType: (result.trusteeType === 'User' ? TrusteeType.user : TrusteeType.group) as TrusteeType,\r\n securableObjectId: result.securableObjectId,\r\n securableObjectType:\r\n (this.rota === '/stateAccessControl' ? SecurableObjectType.state : SecurableObjectType.businessProcess) as SecurableObjectType,\r\n accessControlPermissionId: result.accessControlPermissionId,\r\n accessControlPermissionName: result.accessControlPermissionName\r\n });\r\n }\r\n }\r\n return arr;\r\n }\r\n\r\n onAddNew() {\r\n let securableObjectTitle = 'Conceder novo acesso ';\r\n let securableObjectType = 0;\r\n\r\n if (this.rota === '/stateAccessControl') {\r\n securableObjectTitle += 'de Estado';\r\n securableObjectType = SecurableObjectType.state;\r\n } else {\r\n securableObjectTitle += 'de Extração';\r\n securableObjectType = SecurableObjectType.businessProcess;\r\n }\r\n\r\n const result$ = this.modalService.showModal(this.destComponent, securableObjectTitle, securableObjectType);\r\n }\r\n\r\n onSelectAll(availableItems: DropDownContent[], path: string, formGroup: FormGroup) {\r\n const selected = availableItems.map(item => item.id);\r\n formGroup.get(path).patchValue(selected);\r\n }\r\n\r\n onClearAll(path: string, formGroup: FormGroup) {\r\n formGroup.get(path).patchValue([]);\r\n }\r\n\r\n getSelectedStates(element) {\r\n this.selectedItemsStates = element;\r\n }\r\n\r\n getSelectedPermissions(element) {\r\n this.selectedPermissions = element;\r\n }\r\n\r\n getSelectedUsers(element) {\r\n this.selectedUsers = element;\r\n }\r\n\r\n getSelectedGroups(element) {\r\n this.selectedGroups = element;\r\n }\r\n\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { DropDownContent } from '../../../../Models/dropDownContent';\r\nimport { BusinessProcess } from '../../../../Models/businessProcess';\r\nimport { SecurableObjectAcessControlEntry } from '../../../../Models/SecurableObjectAcessControlEntry';\r\nimport {AdminService} from '../../../../services/admin.service';\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\nimport {AccessControlService} from '../../../../services/access-control.service';\r\nimport {SecurableObjectType} from '../../../../Models/enum/securableObjectType';\r\nimport {AccessControlComponent} from '../access-control.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-extraction-permission-list',\r\n templateUrl: './extraction-permission-list.component.html',\r\n styleUrls: ['../access-control.component.css']\r\n})\r\nexport class ExtractionPermissionListComponent implements OnInit {\r\n\r\n @Input()\r\n extractionAccessControlEntries: SecurableObjectAcessControlEntry[];\r\n\r\n constructor(private accessControl: AccessControlComponent) { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { SecurableObjectAcessControlEntry } from '../../../../Models/SecurableObjectAcessControlEntry';\r\nimport { AccessControlComponent } from '../access-control.component';\r\nimport {WfTableComponent} from '../../../../common/table-sort/wf-table.component';\r\n\r\n@Component({\r\n selector: 'app-state-table',\r\n templateUrl: './state-permission-table.component.html',\r\n styleUrls: ['../access-control.component.css']\r\n})\r\n\r\nexport class StatePermissionTableComponent {\r\n\r\n @Input()\r\n stateAccessControlEntries: SecurableObjectAcessControlEntry[];\r\n\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(private accessControl: AccessControlComponent) { }\r\n\r\n insertSpacesPermissionName(permissionName: string) {\r\n const permissionNames = permissionName.match(/[[A-Z][a-zà-ú]+/g);\r\n return permissionNames.join(' ');\r\n }\r\n\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\n\r\nimport { GroupListComponent } from './groups/group-list.component';\r\nimport { GroupModalComponent } from './groups/group-modal.component';\r\nimport { UserListComponent } from './users/user-list.component';\r\nimport { UserModalComponent } from './users/user-modal.component';\r\nimport { LdapComponent } from './ldap/ldap.component';\r\nimport { UserSecurityConfigComponent } from './security-configuration/userSecurityConfig.component';\r\nimport { ProfileListComponent } from './profiles/profile-list.component';\r\nimport { ProfileModalComponent } from './profiles/profile-modal.component';\r\nimport { AccessControlComponent } from './access-control/access-control.component';\r\nimport { ExtractionPermissionListComponent } from './access-control/extraction-list/extraction-permission-list.component';\r\nimport { StatePermissionTableComponent } from './access-control/state-list/state-permission-table.component';\r\nimport { AccessControlModalComponent } from './access-control/access-control-modal.component';\r\nimport {CommonComponentsModule} from '../../common/common.module';\r\nimport {NgSelectModule} from '@ng-select/ng-select';\r\nimport {DropdownMultiselectComponent} from '../../common/dropdown-multiselect/dropdown-multiselect.component';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n GroupListComponent,\r\n GroupModalComponent,\r\n UserModalComponent,\r\n UserListComponent,\r\n LdapComponent,\r\n UserSecurityConfigComponent,\r\n ProfileListComponent,\r\n ProfileModalComponent,\r\n ExtractionPermissionListComponent,\r\n AccessControlComponent,\r\n StatePermissionTableComponent,\r\n AccessControlModalComponent\r\n ],\r\n entryComponents: [\r\n GroupListComponent,\r\n GroupModalComponent,\r\n UserModalComponent,\r\n UserListComponent,\r\n LdapComponent,\r\n UserSecurityConfigComponent,\r\n ProfileListComponent,\r\n ProfileModalComponent,\r\n ExtractionPermissionListComponent,\r\n AccessControlComponent,\r\n AccessControlModalComponent,\r\n DropdownMultiselectComponent\r\n ],\r\n imports: [\r\n CommonComponentsModule,\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n ModalModule.forRoot(),\r\n TabsModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n NgxPaginationModule,\r\n NgSelectModule\r\n ],\r\n exports: [\r\n GroupListComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\r\n})\r\n\r\nexport class AdminModule { }\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vZ3JvdXBzL2dyb3VwLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FkbWluL2dyb3Vwcy9ncm91cC1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Group } from '../../../Models/group';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {GroupModalComponent} from './group-modal.component';\r\n\r\n@Component({\r\n selector: 'app-groups',\r\n templateUrl: './group-list.component.html',\r\n styleUrls: ['./group-list.component.css']\r\n})\r\n\r\nexport class GroupListComponent implements OnInit {\r\n\r\n groupList: Group[];\r\n filterText: string;\r\n onlyEnabled: boolean;\r\n destComponent: any = GroupModalComponent;\r\n errorMessage = '';\r\n\r\n constructor(\r\n private admService: AdminService,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder) {\r\n }\r\n\r\n ngOnInit() {\r\n this.admService.loadGroupList()\r\n .subscribe(result => this.groupList = result, error => this.errorMessage = error);\r\n }\r\n\r\n filterData() {\r\n const emptyFilter = (this.groupList && this.groupList.length === 0) || this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter && !this.onlyEnabled) {\r\n return this.groupList;\r\n }\r\n if (emptyFilter && this.onlyEnabled) {\r\n return this.groupList.filter((v) => {\r\n return v.enabled;\r\n });\r\n }\r\n if (!emptyFilter && this.onlyEnabled) {\r\n return this.groupList.filter((v) => {\r\n return (v.name.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 && v.enabled);\r\n });\r\n }\r\n if (!emptyFilter && !this.onlyEnabled) {\r\n return this.groupList.filter((v) => {\r\n return (v.name.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0);\r\n });\r\n }\r\n }\r\n\r\n toLiteral(bool: boolean) {\r\n return (bool ? 'Ativo' : 'Inativo');\r\n }\r\n\r\n onAddNew() {\r\n const result$ = this.modalService.showModal(this.destComponent, 'Novo Grupo');\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n this.ngOnInit();\r\n }\r\n );\r\n }\r\n\r\n onEdit(groupId) {\r\n const result$ = this.modalService.showModal(this.destComponent, 'Editar Grupo', groupId);\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n this.ngOnInit();\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vZ3JvdXBzL2dyb3VwLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7QUFDaEMiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9BZG1pbi9ncm91cHMvZ3JvdXAtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\"","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\n\r\nimport { Group } from '../../../Models/group';\r\nimport { Profile } from '../../../Models/profile';\r\nimport { User } from '../../../Models/user';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n\r\n@Component({\r\n selector: 'app-group-modal',\r\n templateUrl: './group-modal.component.html',\r\n styleUrls: ['./group-modal.component.css', '../../../styles/modals.css']\r\n})\r\n\r\nexport class GroupModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n\r\n itemSaved: Subject;\r\n\r\n availableUsers: User[];\r\n dmSelectedUsers = [];\r\n selectedUsers = [];\r\n availableProfiles: Observable;\r\n\r\n groupForm: FormGroup;\r\n objId: number;\r\n submitted = false;\r\n submitClick = false;\r\n oldGroupData: Group;\r\n oldGroupUsers: User[];\r\n groupParam: GroupParam;\r\n error = '';\r\n initialGroupEnabledStatus: boolean;\r\n\r\n get formData() { return this.groupForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.admService.loadUserList()\r\n .subscribe(result => { this.availableUsers = result\r\n .filter((user) => {\r\n return user.enabled;\r\n });\r\n\r\n if (this.objId !== 0) {\r\n this.onEditGroup();\r\n }\r\n }, error => {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.error = err;\r\n console.error(err);\r\n }\r\n );\r\n this.createForm();\r\n this.availableProfiles = this.admService.loadProfiles();\r\n this.itemSaved = new Subject();\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n const group = this.groupForm.getRawValue();\r\n\r\n group.users = this.availableUsers.filter(item => {\r\n return (this.selectedUsers.indexOf(item.userId) > -1);\r\n });\r\n\r\n if (this.objId !== 0) {\r\n this.oldGroupData.users = this.oldGroupUsers;\r\n }\r\n\r\n this.groupParam = {\r\n groupId: this.objId,\r\n group: group,\r\n oldGroup: this.oldGroupData\r\n };\r\n\r\n this.submitted = false;\r\n this.error = '';\r\n this.submitClick = true;\r\n\r\n if (this.isDeactivation()) {\r\n this.admService.countGroupRelatedBPInstances(this.objId)\r\n .subscribe( count => {\r\n // Se não existe nenhuma instância alocada para o grupo, salva o grupo direto\r\n if (count === 0) {\r\n this.saveGroup();\r\n // Se existe, então exibe o modal de confirmação\r\n } else {\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Inativação de grupo',\r\n 'Instâncias associadas ao grupo permanecerão inacessíveis na fila de interação humana. Deseja continuar?'\r\n );\r\n\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.saveGroup();\r\n } else {\r\n this.submitClick = false;\r\n }\r\n });\r\n }\r\n }, error1 => {\r\n this.error += 'Não foi possível determinar se o grupo está vinculado a instâncias de processos de negócio. ';\r\n this.error += 'Evite salvar as alterações nesta tela enquanto este problema continuar a acontecer. ';\r\n this.error += error1;\r\n if (error1.toString().indexOf('Unauthorized') > -1) {\r\n this.error = 'Falha de autenticação. Realize o login novamente.';\r\n this.onClose();\r\n }\r\n this.submitClick = false;\r\n });\r\n } else {\r\n this.saveGroup();\r\n }\r\n }\r\n\r\n saveGroup() {\r\n this.error = '';\r\n this.admService.saveGroup(this.groupParam)\r\n .pipe(take(1))\r\n .subscribe(resp => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error => {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.error = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n createForm() {\r\n this.groupForm = this.formBuilder.group({\r\n groupId: { value: 0, disabled: true },\r\n name: [ '', Validators.compose( [ Validators.required, Validators.maxLength(100) ]) ],\r\n profileId: [0, this.validateProfile],\r\n enabled: [true],\r\n isLdap: [false],\r\n description: [ '', Validators.maxLength(300)],\r\n users: [\r\n []\r\n ]\r\n });\r\n }\r\n\r\n onEditGroup() {\r\n this.error = '';\r\n this.admService.loadGroupById(this.objId)\r\n .subscribe(result => {\r\n if (result) {\r\n this.groupForm.patchValue({\r\n groupId: result.groupId,\r\n name: result.name,\r\n description: result.description,\r\n profileId: result.profileId,\r\n enabled: result.enabled,\r\n isLdap: result.isLdap\r\n });\r\n this.initialGroupEnabledStatus = result.enabled;\r\n this.oldGroupData = Object.assign({}, result) as Group;\r\n }\r\n }, error1 => this.error = error1);\r\n\r\n this.admService.loadGroupUsers(this.objId)\r\n .subscribe(result => {\r\n if (result) {\r\n this.dmSelectedUsers = result.map(m => m.userId);\r\n this.selectedUsers = this.dmSelectedUsers;\r\n this.oldGroupUsers = result;\r\n }\r\n }, error1 => this.error = error1);\r\n }\r\n\r\n validateProfile(input: FormControl) {\r\n return input.value === 0 ? { emptyProfile: true } : null;\r\n }\r\n\r\n isDeactivation() {\r\n // Se o grupo já iniciou inativo, retorno falso pois não é uma desativação\r\n if (!this.initialGroupEnabledStatus) {\r\n return false;\r\n }\r\n // Se o grupo não iniciou inativo, quer dizer que ele iniciou ativo\r\n // Se ele iniciou ativo e agora o checkbox = false : retorno verdadeiro (is a deactivation)\r\n // Se ele iniciou ativo e agora o chechbox = true : retorno falso (is not a deactivation)\r\n return !this.groupForm.controls.enabled.value;\r\n }\r\n\r\n onSelectAll(availableItems: any[], path: string, formGroup: FormGroup) {\r\n const selected = availableItems.map(item => item.userId);\r\n formGroup.get(path).patchValue(selected);\r\n }\r\n\r\n onClearAll(path: string, formGroup: FormGroup) {\r\n formGroup.get(path).patchValue([]);\r\n }\r\n\r\n getSelectedUsers(element) {\r\n this.selectedUsers = element;\r\n }\r\n\r\n}\r\n\r\nexport class GroupParam {\r\n groupId: number;\r\n group: Group;\r\n oldGroup: Group;\r\n}\r\n","export default \".button-row {\\r\\n padding-bottom: 20px\\r\\n}\\r\\n\\r\\n.btn-secondary-toogle {\\r\\n font-weight: normal!important;\\r\\n}\\r\\n\\r\\n.timeline-message {\\r\\n margin-left: 55px;\\r\\n}\\r\\n\\r\\n.time-label-pointer {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vbGRhcC9sZGFwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTtBQUNGOztBQUVBO0VBQ0UsNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FkbWluL2xkYXAvbGRhcC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1yb3cge1xyXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4XHJcbn1cclxuXHJcbi5idG4tc2Vjb25kYXJ5LXRvb2dsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50aW1lbGluZS1tZXNzYWdlIHtcclxuICBtYXJnaW4tbGVmdDogNTVweDtcclxufVxyXG5cclxuLnRpbWUtbGFiZWwtcG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiJdfQ== */\"","import {Component, OnInit} from '@angular/core';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport {AbstractControl, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {isNumeric} from 'rxjs/internal-compatibility';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\ndeclare const $;\r\nwindow['$'] = window['jQuery'] = $;\r\n\r\n@Component({\r\n selector: 'app-ldap',\r\n templateUrl: './ldap.component.html',\r\n styleUrls: ['./ldap.component.css']\r\n})\r\nexport class LdapComponent implements OnInit {\r\n\r\n ldapForm: FormGroup;\r\n oldLdapConfiguration: LdapConfiguration;\r\n testConnectionSucess: boolean;\r\n previewSearchGroupSucess: boolean;\r\n previewSearchUserSucess: boolean;\r\n previewSearchUserProgress: boolean;\r\n saveConfigurationSucess: boolean;\r\n saveConfigurationProgress: boolean;\r\n showMapGroup: boolean;\r\n showMapUser: boolean;\r\n showSyncInfo: boolean;\r\n testConnectionError: string;\r\n previewSearchGroupError: string;\r\n testConnectionMessage: string;\r\n groupSearchEscopeResult;\r\n groupAttributeNames;\r\n userAttributeNames;\r\n userSearchEscopeResult;\r\n saveConfigurationError: string;\r\n errorMessage = '';\r\n\r\n get formData() { return this.ldapForm.controls; }\r\n\r\n constructor(private admService: AdminService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.testConnectionSucess = false;\r\n this.previewSearchGroupSucess = false;\r\n this.previewSearchUserSucess = false;\r\n this.saveConfigurationProgress = false;\r\n this.saveConfigurationSucess = false;\r\n this.previewSearchUserProgress = false;\r\n this.showMapGroup = false;\r\n this.showMapUser = false;\r\n this.showSyncInfo = false;\r\n this.oldLdapConfiguration = null;\r\n this.createForm();\r\n this.onChanges();\r\n this.getLdapConfiguration();\r\n }\r\n\r\n\r\n createForm() {\r\n this.ldapForm = new FormGroup({\r\n server: new FormControl('',Validators.required),\r\n port: new FormControl('',[CustomValidator.numeric]),\r\n logon: new FormControl('',Validators.required),\r\n password: new FormControl('',Validators.required),\r\n useSsl: new FormControl(false),\r\n groupBaseDn: new FormControl(''),\r\n groupSearchFilter: new FormControl(),\r\n groupSearchEscope: new FormControl(1),\r\n groupSearchEscopeString: new FormControl(\"1\"),\r\n groupNameAttrib: new FormControl(''),\r\n groupDescriptionAttrib: new FormControl(''),\r\n groupUsersAttrib: new FormControl(''),\r\n groupProfileAttrib: new FormControl(''),\r\n\r\n userBaseDn: new FormControl(''),\r\n userDomain: new FormControl(''),\r\n userSearchAdditionalFilter: new FormControl(''),\r\n userLogonAttrib: new FormControl(''),\r\n userProfileAttrib: new FormControl(''),\r\n userFirstNameAttrib: new FormControl(''),\r\n userLastNameAttrib: new FormControl(''),\r\n userEmailAttrib: new FormControl(''),\r\n crivoUserAttrib: new FormControl(''),\r\n\r\n syncWorkflowUser: new FormControl(''),\r\n syncWorkflowPassword: new FormControl(''),\r\n synchronizationInterval: new FormControl(0),\r\n\r\n } as LdapConfigurationControls) as LdapConfigurationFormGroup;\r\n }\r\n\r\n onChanges(): void {\r\n this.formData.groupSearchEscopeString.valueChanges.subscribe(x => {\r\n let stringValue = this.formData.groupSearchEscopeString.value;\r\n if (isNumeric(stringValue)) {\r\n this.formData.groupSearchEscope.setValue(Number(stringValue))\r\n }\r\n });\r\n }\r\n\r\n cleanGroupMapValidators(){\r\n this.ldapForm.get('groupNameAttrib').setValidators(null);\r\n this.ldapForm.get('groupUsersAttrib').setValidators(null);\r\n\r\n this.ldapForm.get('groupNameAttrib').updateValueAndValidity();\r\n this.ldapForm.get('groupUsersAttrib').updateValueAndValidity();\r\n }\r\n\r\n setGroupMapValidators(){\r\n this.ldapForm.controls.groupNameAttrib.setValidators([Validators.required]);\r\n this.ldapForm.controls.groupUsersAttrib.setValidators([Validators.required]);\r\n\r\n this.ldapForm.controls.groupNameAttrib.updateValueAndValidity();\r\n this.ldapForm.controls.groupUsersAttrib.updateValueAndValidity();\r\n }\r\n\r\n setUserMapValidators(){\r\n this.ldapForm.controls.userLogonAttrib.setValidators([Validators.required]);\r\n this.ldapForm.controls.syncWorkflowUser.setValidators([Validators.required]);\r\n this.ldapForm.controls.syncWorkflowPassword.setValidators([Validators.required]);\r\n this.ldapForm.controls.synchronizationInterval.setValidators([Validators.required, Validators.min(0)]);\r\n\r\n this.ldapForm.controls.userLogonAttrib.updateValueAndValidity();\r\n this.ldapForm.controls.syncWorkflowUser.updateValueAndValidity();\r\n this.ldapForm.controls.syncWorkflowPassword.updateValueAndValidity();\r\n this.ldapForm.controls.synchronizationInterval.updateValueAndValidity();\r\n }\r\n\r\n getLdapConfiguration() {\r\n this.errorMessage = '';\r\n this.admService.getLdapConfiguration()\r\n .subscribe(config => {\r\n if (config && config.server) {\r\n config.groupSearchEscopeString = config.groupSearchEscope.toString();\r\n this.ldapForm.setValue(config);\r\n this.oldLdapConfiguration = Object.assign({}, config) as LdapConfiguration;\r\n this.testConnectionSucess = true;\r\n this.onPreviewSearchGroup(true);\r\n }\r\n }, error1 => { this.errorMessage = error1; });\r\n }\r\n\r\n\r\n onTestConnection() {\r\n let ldapConfig = this.ldapForm.value as LdapConfiguration;\r\n this.testConnectionSucess = false;\r\n this.testConnectionError = \"\";\r\n this.testConnectionMessage = \"\";\r\n\r\n\r\n this.admService.testConnection(ldapConfig)\r\n .subscribe(resp => {\r\n if (resp && resp.result && resp.result.indexOf(\"sucesso\") > -1){\r\n this.testConnectionSucess = true;\r\n this.testConnectionMessage = resp.result;\r\n this.showMapGroup = true;\r\n } else {\r\n this.testConnectionSucess = false;\r\n this.testConnectionError = resp.result;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onPreviewSearchGroup(loadPreviewSearchUser) {\r\n let ldapConfig = this.ldapForm.value as LdapConfiguration;\r\n\r\n this.previewSearchGroupSucess = false;\r\n this.previewSearchGroupError = '';\r\n\r\n this.admService.findGroups(ldapConfig)\r\n .subscribe(resp => {\r\n if (resp){\r\n this.previewSearchGroupSucess = true;\r\n this.groupSearchEscopeResult = resp;\r\n\r\n this.admService.getGroupAttributeNames(resp)\r\n .subscribe(attr => {\r\n if (attr){\r\n this.groupAttributeNames = attr;\r\n this.previewSearchGroupSucess = true;\r\n this.setGroupMapValidators();\r\n if (loadPreviewSearchUser){\r\n this.onPreviewSearchUser();\r\n } else {\r\n this.showMapUser = true;\r\n this.showSyncInfo = true;\r\n }\r\n } else {\r\n this.previewSearchGroupSucess = false;\r\n }\r\n }, err =>{\r\n this.previewSearchGroupError = err;\r\n this.previewSearchGroupSucess = false;\r\n });\r\n } else {\r\n this.previewSearchGroupSucess = false;\r\n }\r\n },err =>{\r\n this.previewSearchGroupError = err;\r\n this.previewSearchGroupSucess = false;\r\n });\r\n }\r\n\r\n onPreviewSearchUser() {\r\n this.previewSearchUserSucess = false;\r\n this.previewSearchUserProgress = true;\r\n let ldapConfig = this.ldapForm.value as LdapConfiguration;\r\n\r\n let entriesByMemberAttribute = this.getEntriesByMemberAttribute(ldapConfig.groupUsersAttrib);\r\n let userSearchEscopeResult = this.getUsersPreviewByMemberAttribute(entriesByMemberAttribute, ldapConfig.groupUsersAttrib);\r\n\r\n let requestParams = { configuration: ldapConfig, groupEntries: entriesByMemberAttribute };\r\n\r\n this.errorMessage = '';\r\n this.admService.getUserAttributeNames(requestParams).subscribe(resp => {\r\n if (resp){\r\n this.previewSearchUserSucess = true;\r\n this.userAttributeNames = resp;\r\n this.userSearchEscopeResult = userSearchEscopeResult;\r\n this.setUserMapValidators();\r\n } else {\r\n this.previewSearchUserSucess = false;\r\n }\r\n this.previewSearchUserProgress = false;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n getEntriesByMemberAttribute = function(groupMemberAttribute){\r\n var entries = [];\r\n this.groupSearchEscopeResult.forEach(entry => {\r\n let entryAttributeDtos = entry.entryAttributeDtos;\r\n\r\n let exists = entryAttributeDtos.some(function (dto, index, _ary) {\r\n return dto.name == groupMemberAttribute;\r\n });\r\n\r\n if (exists){\r\n entries.push(entry);\r\n }\r\n });\r\n return entries;\r\n };\r\n\r\n getUsersPreviewByMemberAttribute = function (entriesByMemberAttribute, groupMemberAttribute){\r\n var members = [];\r\n if (entriesByMemberAttribute){\r\n entriesByMemberAttribute.forEach(function(entry){\r\n\r\n entry.entryAttributeDtos.forEach(function(dto){\r\n if (dto.name == groupMemberAttribute && members.indexOf(dto.value) == -1){\r\n members.push(dto.value);\r\n }\r\n });\r\n });\r\n }\r\n return members;\r\n };\r\n\r\n onSave() {\r\n let ldapConfig = this.ldapForm.value as LdapConfiguration;\r\n this.saveConfigurationError = '';\r\n\r\n if (!this.testConnectionSucess){\r\n var error = {message: 'Para salvar a configuração, é necessário realizar o teste de conexão com sucesso.'}\r\n return;\r\n }\r\n this.saveConfigurationProgress = true;\r\n this.saveConfigurationSucess = false;\r\n\r\n let requestParams = { configuration: ldapConfig, oldConfiguration: this.oldLdapConfiguration };\r\n\r\n this.admService.saveLdapConfig(requestParams).subscribe(resp => {\r\n this.saveConfigurationProgress = false;\r\n this.saveConfigurationSucess = true;\r\n }, err =>{\r\n this.saveConfigurationError = err;\r\n this.saveConfigurationProgress = false;\r\n this.saveConfigurationSucess = false;\r\n });\r\n }\r\n\r\n\r\n clearSelectedValue(control: AbstractControl) {\r\n control.setValue('');\r\n control.updateValueAndValidity();\r\n }\r\n}\r\n\r\n// Controls in a form group that would emit a LdapConfiguration as it's value\r\ntype LdapConfigurationControls = { [key in keyof LdapConfiguration]: AbstractControl };\r\ntype LdapConfigurationFormGroup = FormGroup & { value: LdapConfiguration, controls: LdapConfigurationControls };\r\n\r\nexport class LdapConfiguration {\r\n server: string;\r\n port: number;\r\n logon: string;\r\n password: string;\r\n useSsl: boolean ;\r\n groupBaseDn: string;\r\n groupSearchFilter: string;\r\n\r\n groupSearchEscope: number;\r\n groupSearchEscopeString: string;\r\n\r\n groupNameAttrib: string;\r\n groupDescriptionAttrib: string;\r\n groupUsersAttrib: string;\r\n groupProfileAttrib: string;\r\n\r\n userBaseDn: string;\r\n userDomain: string;\r\n userSearchAdditionalFilter: string;\r\n userLogonAttrib: string;\r\n userProfileAttrib: string;\r\n userFirstNameAttrib: string;\r\n userLastNameAttrib: string;\r\n userEmailAttrib: string;\r\n crivoUserAttrib: string;\r\n\r\n syncWorkflowUser: string;\r\n syncWorkflowPassword: string;\r\n synchronizationInterval: number;\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vcHJvZmlsZXMvcHJvZmlsZS1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9BZG1pbi9wcm9maWxlcy9wcm9maWxlLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiJdfQ== */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {Profile} from '../../../Models/profile';\r\nimport {ProfileModalComponent} from './profile-modal.component';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\n\r\n@Component({\r\n selector: 'app-profile-list',\r\n templateUrl: './profile-list.component.html',\r\n styleUrls: ['./profile-list.component.css']\r\n})\r\n\r\nexport class ProfileListComponent implements OnInit {\r\n\r\n profileList: Profile[];\r\n profileModal: any = ProfileModalComponent;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n errorMessage = '';\r\n\r\n constructor(private admService: AdminService, private modalService: GenericModalService, private formBuilder: FormBuilder) {\r\n }\r\n\r\n ngOnInit() {\r\n this.admService.loadProfiles()\r\n .subscribe(result => this.profileList = result, error => this.errorMessage = error);\r\n }\r\n\r\n onAddProfile() {\r\n const result$ = this.modalService.showXlModal(this.profileModal, 'Novo Perfil', 0, 'modal-profile');\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(result => {\r\n this.ngOnInit();\r\n }\r\n );\r\n }\r\n }\r\n\r\n onEdit(profileId: number) {\r\n const result$ = this.modalService.showXlModal(this.profileModal, 'Editar Perfil', profileId,'modal-profile');\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n this.ngOnInit();\r\n }\r\n );\r\n }\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n font-size: small;\\r\\n}\\r\\n\\r\\n.menu-card-body{\\r\\n height: 300px;\\r\\n padding: 0;\\r\\n background-color: #EEE;\\r\\n background-image: url(data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAVSURBVHjaYmBgYDBmwAOMCXMAAgwAGioAzfZchtMAAAAASUVORK5CYII=);\\r\\n}\\r\\n\\r\\n.menu-item-parent {\\r\\n font-size: small;\\r\\n display: -webkit-box !important;\\r\\n}\\r\\n\\r\\n.modal-content {\\r\\n background: #f7f7f7;\\r\\n}\\r\\n\\r\\n.rightsContainer{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nul.rightsContainer {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\nul.rightsContainer li {\\r\\n list-style-type: none;\\r\\n display: table-cell;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.dropdown-item {\\r\\n font-size: small;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n height: 1.73rem;\\r\\n}\\r\\n\\r\\n.form-check {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n/*.form-check-label {\\r\\n cursor: pointer;\\r\\n}*/\\r\\n\\r\\n.custom-control-label {\\r\\n font-size: small !important;\\r\\n}\\r\\n\\r\\nhr{\\r\\n margin: 0.4rem;\\r\\n}\\r\\n\\r\\n.hovered {\\r\\n color: blue;\\r\\n border-bottom: 1px dotted blue;\\r\\n }\\r\\n\\r\\n::ng-deep .modal-profile{\\r\\n max-width: 1500px !important;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.menuItemInfo {\\r\\n height: 65px;\\r\\n font-size: small;\\r\\n margin-bottom: 0.3em;\\r\\n}\\r\\n\\r\\n.menu-dark {\\r\\n color: #fff !important;\\r\\n background-color: #343a40 !important;\\r\\n border-color: #4b545c;\\r\\n}\\r\\n\\r\\n.dropdown-item{\\r\\n color:#fff !important;\\r\\n}\\r\\n\\r\\n.dropdown-item:disabled{\\r\\n background-color:red !important;\\r\\n}\\r\\n\\r\\n.dropdown-item:hover,\\r\\n.dropdown-item:active,\\r\\n.dropdown-item:focus {\\r\\n color: black !important;\\r\\n background-color: #a8afb9 !important;\\r\\n}\\r\\n\\r\\n.dropdown-submenu > a::after {\\r\\n border-top: 0.4em solid transparent;\\r\\n border-bottom: 0.4em solid transparent;\\r\\n height: 0.5rem;\\r\\n}\\r\\n\\r\\n.btn.btn-heart {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.btn.btn-heart:hover,\\r\\n.btn.btn-heart:active,\\r\\n.btn.btn-heart:focus\\r\\n{\\r\\n color: #212529;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vcHJvZmlsZXMvcHJvZmlsZS1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsOEJBQThCO0VBQzlCLGdCQUFnQjtFQUNoQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsVUFBVTtFQUNWLHNCQUFzQjtFQUN0QiwrTkFBK047QUFDak87O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsU0FBUztFQUNULFVBQVU7RUFDVixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsbUJBQW1CO0VBQ25CLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsOEJBQThCO0VBQzlCLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLDJCQUEyQjtBQUM3Qjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7R0FDRyxXQUFXO0dBQ1gsOEJBQThCO0NBQ2hDOztBQUVEO0VBQ0UsNEJBQTRCO0VBQzVCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLG9DQUFvQztFQUNwQyxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSwrQkFBK0I7QUFDakM7O0FBRUE7OztFQUdFLHVCQUF1QjtFQUN2QixvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxtQ0FBbUM7RUFDbkMsc0NBQXNDO0VBQ3RDLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7Ozs7RUFJRSxjQUFjO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQWRtaW4vcHJvZmlsZXMvcHJvZmlsZS1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGZvbnQtc2l6ZTogc21hbGw7XHJcbn1cclxuXHJcbi5tZW51LWNhcmQtYm9keXtcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS94LXBuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFRQUFBQUVDQVlBQUFDcDhaNStBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMFUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUFWU1VSQlZIamFZbUJnWURCbXdBT01DWE1BQWd3QUdpb0F6ZlpjaHRNQUFBQUFTVVZPUks1Q1lJST0pO1xyXG59XHJcblxyXG4ubWVudS1pdGVtLXBhcmVudCB7XHJcbiAgZm9udC1zaXplOiBzbWFsbDtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcclxufVxyXG5cclxuLnJpZ2h0c0NvbnRhaW5lcntcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxudWwucmlnaHRzQ29udGFpbmVyIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuXHJcbnVsLnJpZ2h0c0NvbnRhaW5lciBsaSB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmRyb3Bkb3duLWl0ZW0ge1xyXG4gIGZvbnQtc2l6ZTogc21hbGw7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEuNzNyZW07XHJcbn1cclxuXHJcbi5mb3JtLWNoZWNrIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4vKi5mb3JtLWNoZWNrLWxhYmVsIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn0qL1xyXG5cclxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICBmb250LXNpemU6IHNtYWxsICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmhye1xyXG4gIG1hcmdpbjogMC40cmVtO1xyXG59XHJcblxyXG4uaG92ZXJlZCB7XHJcbiAgIGNvbG9yOiBibHVlO1xyXG4gICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIGJsdWU7XHJcbiB9XHJcblxyXG46Om5nLWRlZXAgLm1vZGFsLXByb2ZpbGV7XHJcbiAgbWF4LXdpZHRoOiAxNTAwcHggIWltcG9ydGFudDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm1lbnVJdGVtSW5mbyB7XHJcbiAgaGVpZ2h0OiA2NXB4O1xyXG4gIGZvbnQtc2l6ZTogc21hbGw7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC4zZW07XHJcbn1cclxuXHJcbi5tZW51LWRhcmsge1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogIzRiNTQ1YztcclxufVxyXG5cclxuLmRyb3Bkb3duLWl0ZW17XHJcbiAgY29sb3I6I2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZHJvcGRvd24taXRlbTpkaXNhYmxlZHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOnJlZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZHJvcGRvd24taXRlbTpob3ZlcixcclxuLmRyb3Bkb3duLWl0ZW06YWN0aXZlLFxyXG4uZHJvcGRvd24taXRlbTpmb2N1cyB7XHJcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E4YWZiOSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZHJvcGRvd24tc3VibWVudSA+IGE6OmFmdGVyIHtcclxuICBib3JkZXItdG9wOiAwLjRlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAwLjRlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBoZWlnaHQ6IDAuNXJlbTtcclxufVxyXG5cclxuLmJ0bi5idG4taGVhcnQge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uYnRuLmJ0bi1oZWFydDpob3ZlcixcclxuLmJ0bi5idG4taGVhcnQ6YWN0aXZlLFxyXG4uYnRuLmJ0bi1oZWFydDpmb2N1c1xyXG57XHJcbiAgY29sb3I6ICMyMTI1Mjk7XHJcbn1cclxuXHJcbiJdfQ== */\"","import {Component, ElementRef, Input, OnInit, QueryList, ViewChild, ViewChildren} from '@angular/core';\r\nimport {AbstractControl, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport {Profile, Right} from '../../../Models/profile';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport {AuthenticationService} from '../../../services/authentication.service';\r\nimport {MenuItem} from '../../../Models/menuItem';\r\nimport {Subject} from 'rxjs';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-profile-modal',\r\n templateUrl: './profile-modal.component.html',\r\n styleUrls: ['./profile-modal.component.css']\r\n})\r\n\r\nexport class ProfileModalComponent implements OnInit {\r\n\r\n get formData() { return this.profileForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private admService: AdminService,\r\n private authenticationService: AuthenticationService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n @Input() modalTitle: string;\r\n\r\n profileForm: FormGroup;\r\n objId: number;\r\n oldProfile: Profile;\r\n errorMessage = '';\r\n saveProgress;\r\n saveSuccess;\r\n isLoadingEditProfile;\r\n\r\n availableRights: Right[];\r\n rightColumns = [];\r\n menu: MenuItem[];\r\n lastHoveredItems: HTMLElement[];\r\n selectedRights: Right[];\r\n selectedMenuItems: MenuItem[];\r\n irregularMenuItems: MenuItem[];\r\n hoveredMenuItem: MenuItem;\r\n hoveredRights: Right[];\r\n itemSaved: Subject;\r\n\r\n @ViewChildren('rightCheckboxes') rightCheckboxes: QueryList;\r\n @ViewChildren('checkboxes') checkboxes: QueryList;\r\n\r\n ngOnInit() {\r\n this.itemSaved = new Subject();\r\n this.isLoadingEditProfile = true;\r\n this.oldProfile = null;\r\n this.lastHoveredItems = [];\r\n this.selectedRights = [];\r\n this.selectedMenuItems = [];\r\n this.irregularMenuItems = [];\r\n this.createForm();\r\n this.loadRights();\r\n this.loadMenu();\r\n }\r\n\r\n\r\n createForm() {\r\n this.profileForm = new FormGroup({\r\n profileId: new FormControl({value: 0, disabled: true}, Validators.required),\r\n name: new FormControl('', [Validators.required, Validators.maxLength(255)]),\r\n rights: new FormControl(),\r\n menuItems: new FormControl(),\r\n favoritePage: new FormControl()\r\n } as ProfileControls) as ProfileFormGroup;\r\n }\r\n\r\n loadRights() {\r\n this.errorMessage = '';\r\n this.admService.getRights()\r\n .subscribe((rights: Right[]) => {\r\n if (rights) {\r\n this.availableRights = rights;\r\n this.rightColumns = [];\r\n\r\n let numberOfItemsPerColumn = Math.ceil(rights.length / 4);\r\n\r\n for (let i = 0; i != rights.length; i++) {\r\n let column = Math.floor(i / numberOfItemsPerColumn);\r\n if (!this.rightColumns[column]) {\r\n this.rightColumns[column] = [];\r\n }\r\n\r\n this.rightColumns[column].push(rights[i]);\r\n }\r\n }\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n });\r\n }\r\n\r\n loadMenu() {\r\n this.errorMessage = '';\r\n this.admService.getAllMenuItens()\r\n .subscribe((items: MenuItem[]) => {\r\n if (items) {\r\n this.menu = items.map(obj => Object.assign(new MenuItem(), obj));\r\n }\r\n if (this.objId !== 0) {\r\n this.onEdit();\r\n } else {\r\n this.isLoadingEditProfile = false;\r\n }\r\n\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onEdit() {\r\n this.errorMessage = '';\r\n this.admService.getProfile(this.objId)\r\n .subscribe((profile: Profile) => {\r\n if (profile) {\r\n this.profileForm.setValue(profile);\r\n this.oldProfile = Object.assign({}, profile) as Profile;\r\n this.onEditRights(profile);\r\n\r\n this.selectedMenuItems = profile.menuItems;\r\n profile.menuItems.forEach(item => {\r\n let checkBox = this.checkboxes.filter(element => element.nativeElement.id === 'chk_item_' + item.id);\r\n if (checkBox && checkBox.length == 1) {\r\n checkBox[0].nativeElement.checked = true;\r\n this.onCheckMenuItemChild(true, item);\r\n }\r\n });\r\n }\r\n this.isLoadingEditProfile = false;\r\n }, error1 => this.errorMessage = error1);\r\n\r\n }\r\n\r\n onEditRights(profile: Profile){\r\n this.selectedRights = [];\r\n profile.rights.forEach(right => {\r\n let r = this.availableRights.filter(a => a.value === right);\r\n if (r && r.length == 1) {\r\n this.selectedRights.push(r[0]);\r\n }\r\n let checkBox = this.rightCheckboxes.filter(element => element.nativeElement.id === 'chk_right_' + right);\r\n if (checkBox && checkBox.length == 1) {\r\n checkBox[0].nativeElement.checked = true;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n if (!this.saveSuccess){\r\n this.itemSaved.next(false);\r\n }\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n let alertMessage = '';\r\n this.errorMessage = '';\r\n this.saveProgress = true;\r\n this.saveSuccess = false;\r\n\r\n let profile = this.profileForm.value;\r\n profile.profileId = this.objId;\r\n profile.rights = this.selectedRights.map(r => r.value);\r\n profile.menuItems = this.selectedMenuItems;\r\n\r\n this.getIrregularMenuItems();\r\n\r\n if (profile.rights.length === 0) { // confirmNoRights\r\n alertMessage = 'O usuário com este perfil não terá acesso ao sistema. Deseja continuar?';\r\n } else if (this.irregularMenuItems.length > 0) { // preSave\r\n alertMessage = 'Existem itens de menu selecionados que não correspondem ao direito. Deseja continuar?';\r\n } else if (profile.menuItems.length === 0) { // confirmEmptyMenu\r\n alertMessage = 'O usuário com este perfil não terá acesso aos menus do sistema. Deseja continuar?';\r\n }\r\n\r\n if (alertMessage !== '') {\r\n const alertNoRights = this.modalService\r\n .showConfirmModal('Atenção', alertMessage);\r\n alertNoRights.then((result) => {\r\n if (result.value) {\r\n this.save(profile);\r\n } else {\r\n this.saveProgress = false;\r\n this.saveSuccess = false;\r\n }\r\n });\r\n } else {\r\n this.save(profile);\r\n }\r\n }\r\n\r\n\r\n save(profile) {\r\n this.errorMessage = '';\r\n this.admService.saveProfile(profile, this.oldProfile)\r\n .subscribe(\r\n resp => {\r\n this.saveProgress = false;\r\n this.saveSuccess = true;\r\n this.itemSaved.next(true);\r\n },\r\n err => {\r\n let error = err;\r\n if (err.indexOf('401') !== -1) {\r\n error = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = error;\r\n this.saveProgress = false;\r\n this.saveSuccess = false;\r\n });\r\n }\r\n\r\n /* Rights Section */\r\n onSelectRight(right: Right) {\r\n if (!this.selectedRights) {\r\n this.selectedRights = [];\r\n }\r\n let r = this.selectedRights.filter(s => s.value === right.value);\r\n\r\n if (r && r.length === 1) {\r\n this.selectedRights.splice(this.selectedRights.indexOf(r[0]), 1);\r\n } else {\r\n this.selectedRights.push(right);\r\n }\r\n }\r\n /* End Rights Section */\r\n\r\n /* #Menu Section */\r\n getLIClass(menuItem: MenuItem) {\r\n if (this.hasChildren(menuItem) && menuItem.parentId){\r\n return 'dropdown-submenu dropdown-hover'\r\n } else if (menuItem.url) {\r\n return '';\r\n } else {\r\n // return `nav-item ${menuItem.children.length > 0 ? 'dropdown dropdown-hover' : 'd-none d-sm-inline-block'}`;\r\n return `nav-item ${menuItem.children.length > 0 ? 'dropdown' : 'd-none d-sm-inline-block'}`;\r\n }\r\n\r\n }\r\n\r\n getElementId(menuItem: MenuItem) {\r\n let id = menuItem.name;\r\n if (!menuItem.parentId) {\r\n id += 'Parent'; // ' ' + menuItem.name;\r\n }\r\n return id.normalize('NFD').replace(/[\\u0300-\\u036f( )+]/g, '');\r\n }\r\n\r\n onCheck(event, item: MenuItem) {\r\n event.stopPropagation();\r\n let checkValue = event.currentTarget.checked;\r\n this.updateChildren(checkValue, item);\r\n this.onCheckMenuItemChild(checkValue, item);\r\n }\r\n\r\n updateChildren(checkValue, item: MenuItem){\r\n if (this.hasChildren(item)){\r\n item.children.forEach(child => {\r\n this.updateMenuItemCheckbox(checkValue, child);\r\n this.updateChildren(checkValue, child);\r\n });\r\n }\r\n }\r\n\r\n onCheckMenuItemChild(checkValue, item: MenuItem) {\r\n this.updateSelectedMenuItems(checkValue, item);\r\n if (!checkValue) {\r\n return;\r\n }\r\n if (item.parentId) {\r\n let parent = this.findMenuItem(this.menu, item.parentId);\r\n if (parent) {\r\n this.updateMenuItemCheckbox(checkValue, parent);\r\n this.onCheckMenuItemChild(checkValue, parent);\r\n }\r\n }\r\n }\r\n\r\n findMenuItem(list, id) {\r\n for (let i =0; i < list.length; i++) {\r\n let item = list[i];\r\n if (item.id === id) {\r\n return item;\r\n } else if (this.hasChildren(item)) {\r\n let child = this.findMenuItem(item.children, id);\r\n if (child) {\r\n return child;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n updateMenuItemCheckbox(checkValue: boolean, item: MenuItem) {\r\n let checkBox = this.checkboxes.filter(element => element.nativeElement.id === 'chk_item_' + item.id);\r\n if ( checkBox && checkBox.length == 1 && (this.isLoadingEditProfile || !checkBox[0].nativeElement.disabled)){\r\n checkBox[0].nativeElement.checked = checkValue;\r\n this.updateSelectedMenuItems(checkValue, item);\r\n }\r\n }\r\n\r\n updateSelectedMenuItems(checkValue: boolean, item: MenuItem) {\r\n if (this.hasChildren(item)) { return; }\r\n const r = this.selectedMenuItems.filter(s => s.id === item.id);\r\n if (checkValue && r.length == 0) {\r\n this.selectedMenuItems.push(item);\r\n } else if (!checkValue && r.length == 1) {\r\n // se a url for a que estiver nos favoritos, removo\r\n if (r[0].url === this.profileForm.controls['favoritePage'].value) {\r\n this.profileForm.patchValue(\r\n { favoritePage: null }\r\n );\r\n }\r\n // depois removo do vetor de itens selecionados\r\n this.selectedMenuItems.splice(this.selectedMenuItems.indexOf(r[0]), 1);\r\n }\r\n }\r\n\r\n hasMissingRights(item: MenuItem) {\r\n const isBelowThreshold = (currentValue) => {\r\n let r = this.selectedRights.filter(s => s.value === currentValue);\r\n return r && r.length == 1;\r\n };\r\n\r\n let hasAllRequiredRights = item.requiredRights.every(isBelowThreshold);\r\n\r\n return !hasAllRequiredRights;\r\n }\r\n\r\n hasAnySelectedDescendentWithMissingRights(item: MenuItem){\r\n var result = true;\r\n if (this.hasChildren(item)) {\r\n item.children.forEach(child => {\r\n var childHasMissingRights = this.hasMissingRights(child);\r\n if (!childHasMissingRights) {\r\n result = false;\r\n }\r\n if (!this.hasAnySelectedDescendentWithMissingRights(child)){\r\n result = false;\r\n }\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n hasChildren(item: MenuItem): boolean {\r\n return item.children && item.children.length > 0;\r\n }\r\n\r\n hoverRights(item: MenuItem) {\r\n this.clearHovers();\r\n this.lastHoveredItems = [];\r\n this.hoveredRights = [];\r\n this.hoveredMenuItem = item;\r\n\r\n if (item.requiredRights && item.requiredRights.length > 0){\r\n item.requiredRights.forEach(right => {\r\n let labelRight = document.getElementById('label_right_'+right);\r\n if (labelRight){\r\n labelRight.classList.add('hovered');\r\n this.lastHoveredItems.push(labelRight);\r\n }\r\n let r = this.availableRights.filter(a => a.value === right);\r\n if (r && r.length == 1){\r\n this.hoveredRights.push(r[0]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n clearHovers() {\r\n this.hoveredMenuItem = null;\r\n this.lastHoveredItems.forEach(item => {\r\n item.classList.remove('hovered');\r\n });\r\n }\r\n\r\n getIrregularMenuItems() {\r\n let irregulars = [];\r\n this.irregularMenuItems = [];\r\n const selectedRights = this.selectedRights.map(r => r.value);\r\n this.selectedMenuItems.forEach(function(menu) {\r\n const menuRequiredRights = menu.requiredRights;\r\n const intersectionBetweenRequiredRightsAndSelectedRights = menuRequiredRights.filter(item => selectedRights.includes(item) );\r\n // console.log('intersectionBetweenRequiredRightsAndSelectedRights', intersectionBetweenRequiredRightsAndSelectedRights);\r\n if (menuRequiredRights.length !== intersectionBetweenRequiredRightsAndSelectedRights.length) {\r\n irregulars.push(menu);\r\n }\r\n });\r\n this.irregularMenuItems = irregulars;\r\n }\r\n\r\n onHeartClick(pageUrl) {\r\n if (this.formData.favoritePage.value === pageUrl) {\r\n this.profileForm.patchValue({\r\n favoritePage: null\r\n });\r\n } else {\r\n this.profileForm.patchValue({\r\n favoritePage: pageUrl\r\n });\r\n }\r\n }\r\n\r\n checkRelatedCheckbox(checkboxId) {\r\n const checkBox = this.checkboxes.filter(element => element.nativeElement.id === checkboxId);\r\n if (checkBox && checkBox.length == 1) {\r\n return checkBox[0].nativeElement.checked;\r\n }\r\n }\r\n /* #End Menu Section */\r\n\r\n}\r\n\r\ntype ProfileControls = { [key in keyof Profile]: AbstractControl };\r\ntype ProfileFormGroup = FormGroup & { value: Profile, controls: ProfileControls };\r\n\r\n","export default \".input-number-column {\\r\\n margin-left: -7px\\r\\n}\\r\\n\\r\\nlabel {\\r\\n font-weight: normal !important;\\r\\n}\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vc2VjdXJpdHktY29uZmlndXJhdGlvbi91c2VyU2VjdXJpdHlDb25maWcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFO0FBQ0Y7O0FBRUE7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSwyQkFBMkI7QUFDN0IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9BZG1pbi9zZWN1cml0eS1jb25maWd1cmF0aW9uL3VzZXJTZWN1cml0eUNvbmZpZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmlucHV0LW51bWJlci1jb2x1bW4ge1xyXG4gIG1hcmdpbi1sZWZ0OiAtN3B4XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jYXJkLXRpdGxle1xyXG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","import {Component, OnInit} from '@angular/core';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport {AbstractControl, FormControl, FormGroup, ValidatorFn, Validators} from '@angular/forms';\r\nimport {UserSecurityConfig} from '../../../Models/userSecurityConfig';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-userSecurityConfig',\r\n templateUrl: './userSecurityConfig.component.html',\r\n styleUrls: ['./userSecurityConfig.component.css']\r\n})\r\nexport class UserSecurityConfigComponent implements OnInit {\r\n\r\n securityForm: FormGroup;\r\n saveConfigurationProgress: boolean;\r\n saveConfigurationSucess: boolean;\r\n errorMessage: string;\r\n\r\n\r\n get formData() { return this.securityForm.controls; }\r\n\r\n constructor(private admService: AdminService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.saveConfigurationProgress = false;\r\n this.saveConfigurationSucess = false;\r\n this.errorMessage = '';\r\n this.createForm();\r\n this.loadConfig();\r\n }\r\n\r\n\r\n\r\n createForm() {\r\n this.securityForm = new FormGroup({\r\n userSecurityConfigId: new FormControl(Validators.required),\r\n passwordExpirationTime: new FormControl(0,[CustomValidator.numeric, Validators.max(9223372036854775807)]),\r\n minNumberChar: new FormControl(0, [CustomValidator.numeric, Validators.max(9223372036854775807)]),\r\n hasUppercaseChar: new FormControl(),\r\n hasLowercaseChar: new FormControl(),\r\n hasNumericChar: new FormControl(),\r\n hasSpecialChar: new FormControl(),\r\n numberPasswordAttempt: new FormControl(0,[CustomValidator.numeric, Validators.max(9223372036854775807)]),\r\n numberQuizAttempt: new FormControl(0,[CustomValidator.numeric, Validators.max(9223372036854775807)]),\r\n numberRecentPassword: new FormControl(0,[CustomValidator.numeric, Validators.max(5)]),\r\n notHasLoginInPassword: new FormControl(),\r\n hasSecurityQuiz: new FormControl(),\r\n hasAnyPasswordRule: new FormControl(),\r\n stringRules: new FormControl()\r\n } as UserSecurityConfigControls) as UserSecurityConfigFormGroup;\r\n }\r\n\r\n positiveNumberValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n const isNotOk = Number(control.value) < 0;\r\n return isNotOk ? { nonPositive: { value: control.value } } : null;\r\n };\r\n }\r\n\r\n\r\n private loadConfig() {\r\n this.errorMessage = '';\r\n this.admService.getUserSecurityConfig()\r\n .subscribe((config : UserSecurityConfig) => {\r\n if (config) {\r\n this.securityForm.setValue(config);\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n save() {\r\n this.saveConfigurationProgress = true;\r\n this.saveConfigurationSucess = false;\r\n this.errorMessage = '';\r\n var config = this.securityForm.value;\r\n\r\n this.admService.udpateUserSecurityConfig(config)\r\n .subscribe(\r\n resp => {\r\n this.saveConfigurationProgress = false;\r\n this.saveConfigurationSucess = true;\r\n },\r\n err =>{\r\n this.errorMessage = err;\r\n this.saveConfigurationProgress = false;\r\n this.saveConfigurationSucess = false;\r\n });\r\n }\r\n}\r\n\r\ntype UserSecurityConfigControls = { [key in keyof UserSecurityConfig]: AbstractControl };\r\ntype UserSecurityConfigFormGroup = FormGroup & { value: UserSecurityConfig, controls: UserSecurityConfigControls };\r\n\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.page-link {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQWRtaW4vdXNlcnMvdXNlci1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQWRtaW4vdXNlcnMvdXNlci1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnBhZ2UtbGluayB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiJdfQ== */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\n\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport { User } from '../../../Models/user';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { UserModalComponent } from './user-modal.component';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.css']\r\n})\r\n\r\nexport class UserListComponent implements OnInit {\r\n\r\n userList: User[] = null;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n public config: PaginationInstance;\r\n\r\n filterText: string;\r\n onlyEnabled: boolean;\r\n destComponent: any = UserModalComponent;\r\n errorMessage = '';\r\n\r\n constructor(\r\n private admin: AdminService,\r\n private modalService: GenericModalService,\r\n private webClientConfig: WebClientConfigurationService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getPaginationConfig();\r\n this.admin.loadUserList()\r\n .subscribe(q => this.userList = q, e => this.errorMessage = e);\r\n }\r\n\r\n filterData() {\r\n const emptyFilter = (this.userList && this.userList.length === 0) || this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter && !this.onlyEnabled) {\r\n return this.userList;\r\n }\r\n if (emptyFilter && this.onlyEnabled) {\r\n return this.userList.filter((v) => {\r\n return v.enabled;\r\n });\r\n }\r\n\r\n if (!emptyFilter && this.onlyEnabled) {\r\n return this.userList.filter((v) => {\r\n return (\r\n ( v.logon.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 ||\r\n v.firstName && v.firstName.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 ||\r\n v.lastName && v.lastName.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 ||\r\n v.email && v.email.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0)\r\n && v.enabled\r\n );\r\n });\r\n }\r\n if (!emptyFilter && !this.onlyEnabled) {\r\n return this.userList.filter((v) => {\r\n return ( v.logon.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 ||\r\n v.firstName && v.firstName.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 ||\r\n v.lastName && v.lastName.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 ||\r\n v.email && v.email.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0);\r\n });\r\n }\r\n }\r\n\r\n onAddNew() {\r\n const result$ = this.modalService.showModal(this.destComponent, 'Novo Usuário');\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n this.ngOnInit();\r\n }\r\n );\r\n }\r\n\r\n onEdit(userId, logon) {\r\n const result$ = this.modalService.showModal(this.destComponent, 'Editar Usuário', userId, logon);\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n this.ngOnInit();\r\n }\r\n );\r\n }\r\n\r\n getPaginationConfig() {\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n this.config = {\r\n id: 'custom',\r\n itemsPerPage: item,\r\n currentPage: 1\r\n };\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0FkbWluL3VzZXJzL3VzZXItbW9kYWwuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\n\r\nimport { Group } from '../../../Models/group';\r\nimport { Profile } from '../../../Models/profile';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { GlobalVariableGroup } from '../../../Models/globalVariableGroup';\r\nimport { User } from '../../../Models/user';\r\nimport { take } from 'rxjs/operators';\r\nimport {until} from 'selenium-webdriver';\r\nimport elementTextContains = until.elementTextContains;\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {GlobalVariableService} from '../../../services/configuration/global-variable.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-user-modal',\r\n templateUrl: './user-modal.component.html',\r\n styleUrls: ['./user-modal.component.css', '../../../styles/modals.css']\r\n})\r\n\r\nexport class UserModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n @ViewChild('userTabs', { static: false }) userTabs: TabsetComponent;\r\n\r\n itemSaved: Subject;\r\n\r\n availableGroups: Group[];\r\n dmSelectedGroups = [];\r\n selectedGroups = [];\r\n availableProfiles: Observable;\r\n availableGVGroups: Observable;\r\n\r\n userForm: FormGroup;\r\n objId: number;\r\n objMessage: string;\r\n submitted = false;\r\n submitClick = false;\r\n oldUserData: User;\r\n userParam: UserParam;\r\n error = '';\r\n\r\n get formData() { return this.userForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private globalVariableService: GlobalVariableService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.admService.loadGroupList()\r\n .subscribe(result => { this.availableGroups = result\r\n .filter((group) => {\r\n return group.enabled;\r\n });\r\n if (this.objId !== 0) {\r\n this.onEditUser();\r\n }\r\n },\r\n error => {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.error = err;\r\n console.error(error);\r\n }\r\n );\r\n this.createForm();\r\n this.availableProfiles = this.admService.loadProfiles();\r\n this.availableGVGroups = this.admService.loadGlobalVariablesGroups();\r\n this.itemSaved = new Subject();\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.submitted = false;\r\n this.error = '';\r\n this.submitClick = true;\r\n\r\n if (this.formData.globalVariableGroupId.value !== 0) {\r\n this.globalVariableService.getGlobalVariableGroup(this.formData.globalVariableGroupId.value).subscribe(\r\n res => {\r\n if (res !== null) {\r\n this.saveUser();\r\n } else {\r\n this.availableGVGroups = this.admService.loadGlobalVariablesGroups();\r\n this.userForm.patchValue({ globalVariableGroupId: 0 });\r\n this.error = 'O grupo de variáveis globais foi excluído por outro usuário. Se necessário, selecione um novo grupo';\r\n this.submitClick = false;\r\n }\r\n }\r\n );\r\n } else {\r\n this.saveUser();\r\n }\r\n }\r\n\r\n saveUser() {\r\n const user = this.userForm.getRawValue();\r\n user.groups = this.availableGroups.filter(item => {\r\n return (this.selectedGroups.indexOf(item.groupId) > -1);\r\n });\r\n this.createUserParam(this.objMessage, this.objId, user, this.oldUserData);\r\n this.admService.saveUser(this.userParam)\r\n .pipe(take(1))\r\n .subscribe(resp => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => {\r\n this.submitted = false;\r\n this.bsModalRef.hide();\r\n }, 2000);\r\n },\r\n error => {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.error = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.formBuilder.group({\r\n userId: { value: 0, disabled: true },\r\n logon: [ '', Validators.compose( [ Validators.required, Validators.maxLength(100) ]) ],\r\n firstName: ['', Validators.maxLength(100)],\r\n lastName: ['', Validators.maxLength(100)],\r\n profileId: [0, this.validateProfile],\r\n globalVariableGroupId: [0],\r\n enabled: [true],\r\n isLdap: [false],\r\n isSystemUser: [false],\r\n email: [null, Validators.compose( [Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$'), Validators.maxLength(255)] )],\r\n emailRetype: [null, Validators.compose( [\r\n Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$'), Validators.maxLength(255)] ) ],\r\n crivoUser: [''],\r\n groups: [\r\n []\r\n ],\r\n crivoPassword: [''],\r\n crivoPasswordRetype: [''],\r\n passwordHash: ['', Validators.required],\r\n passwordRetype: ['', Validators.required ]\r\n }, {validators: [\r\n CustomValidator.validatePassword('passwordHash', 'passwordRetype'),\r\n CustomValidator.validatePassword('crivoPassword', 'crivoPasswordRetype' ),\r\n this.validateEmail('email', 'emailRetype')]});\r\n }\r\n\r\n validateProfile(input: FormControl) {\r\n return input.value === 0 ? { emptyProfile: true } : null;\r\n }\r\n\r\n validateEmail(email: string, confirmEmail: string) {\r\n return (formGroup: FormGroup) => {\r\n const emailControl = formGroup.controls[email];\r\n const confirmEmailControl = formGroup.controls[confirmEmail];\r\n if (!emailControl || !confirmEmailControl) {\r\n return null;\r\n }\r\n if (confirmEmailControl.errors && !confirmEmailControl.errors.emailMismatch) {\r\n return null;\r\n }\r\n if (emailControl.value !== confirmEmailControl.value) {\r\n confirmEmailControl.setErrors({ emailMismatch: true });\r\n } else {\r\n confirmEmailControl.setErrors(null);\r\n }\r\n };\r\n }\r\n\r\n onEditUser() {\r\n this.createUserParam(this.objMessage, this.objId);\r\n this.admService.loadUserById(this.userParam)\r\n .subscribe(result => {\r\n if (result) {\r\n this.userForm.controls.logon.disable();\r\n\r\n // remover obrigatoriedade dos campos de senha quando está no modo edição.\r\n this.removeValidator('passwordHash');\r\n this.removeValidator('passwordRetype');\r\n\r\n this.dmSelectedGroups = result.groups.map(m => m.groupId);\r\n this.selectedGroups = this.dmSelectedGroups;\r\n // console.log(options);\r\n\r\n this.userForm.patchValue({\r\n userId: result.userId,\r\n logon: result.logon,\r\n firstName: result.firstName,\r\n lastName: result.lastName,\r\n profileId: result.profileId,\r\n globalVariableGroupId: result.globalVariableGroupId,\r\n enabled: result.enabled,\r\n isLdap: result.isLdap,\r\n isSystemUser: result.isSystemUser,\r\n email: result.email,\r\n emailRetype: result.email,\r\n crivoUser: result.crivoUser,\r\n });\r\n this.oldUserData = Object.assign({}, result) as User;\r\n }\r\n }, error1 => {\r\n console.error(error1);\r\n });\r\n }\r\n\r\n removeValidator(path: string) {\r\n this.userForm.get(path).clearValidators();\r\n this.userForm.get(path).updateValueAndValidity();\r\n }\r\n\r\n private createUserParam(userLogon: string = null, userId: number, user: User = null, oldUser: User = null) {\r\n this.userParam = {\r\n userLogon: userLogon,\r\n userId: userId,\r\n user: user,\r\n oldUser: oldUser\r\n };\r\n }\r\n\r\n onSelectAll(availableItems: any[], path: string, formGroup: FormGroup) {\r\n const selected = availableItems.map(item => item.groupId);\r\n formGroup.get(path).patchValue(selected);\r\n }\r\n\r\n onClearAll(path: string, formGroup: FormGroup) {\r\n formGroup.get(path).patchValue([]);\r\n }\r\n\r\n getSelectedGroups(element) {\r\n this.selectedGroups = element;\r\n }\r\n\r\n}\r\n\r\nexport class UserParam {\r\n userLogon: string;\r\n userId: number;\r\n user: User;\r\n oldUser: User;\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\n\r\nimport { CommonComponentsModule } from '../../common/common.module';\r\nimport { BatchManagementComponent } from './management/batch-management.component';\r\nimport { TemplateConfigurationComponent } from './template-configuration/template-configuration.component';\r\nimport { BatchManagementModalComponent } from './management/batch-management-modal/batch-management-modal.component';\r\nimport { BatchTemplateModalComponent } from './template-configuration/batch-template-modal/batch-template-modal.component';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { NgxFilesizeModule } from 'ngx-filesize';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n BatchManagementComponent,\r\n TemplateConfigurationComponent,\r\n BatchManagementModalComponent,\r\n BatchTemplateModalComponent\r\n ],\r\n entryComponents: [\r\n BatchManagementComponent,\r\n TemplateConfigurationComponent,\r\n BatchManagementModalComponent,\r\n BatchTemplateModalComponent\r\n ],\r\n imports: [\r\n CommonComponentsModule,\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n ModalModule.forRoot(),\r\n TabsModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n NgxPaginationModule,\r\n DragDropModule,\r\n NgxFilesizeModule\r\n ],\r\n exports: [\r\n\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\r\n})\r\n\r\nexport class BatchModule { }\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.dropzone {\\r\\n display: table;\\r\\n width: 100%;\\r\\n border: solid 1px #ccc;\\r\\n border-top-left-radius: 5px;\\r\\n border-top-right-radius: 5px;\\r\\n}\\r\\n\\r\\n.divFiles {\\r\\n width: 100%;\\r\\n /*border: solid 1px #ccc;*/\\r\\n border-top: solid 1px #ccc;\\r\\n height: 150px;\\r\\n overflow-y: scroll;\\r\\n /*border-bottom-left-radius: 5px;*/\\r\\n /*border-bottom-right-radius: 5px;*/\\r\\n}\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 149px;\\r\\n}\\r\\n\\r\\ninput[type='file'] {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.hrSubTitle {\\r\\n margin-top: 1px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n/*ng2 swtyles*/\\r\\n\\r\\n.ng2-dropzone {\\r\\n width: 100%;\\r\\n border: dotted 1px #ccc;\\r\\n border-radius: 5px;\\r\\n height: 70px;\\r\\n}\\r\\n\\r\\n.ng2-centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 69px;\\r\\n}\\r\\n\\r\\n.nv-file-over { border: dashed 3px #aba5ab; }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQmF0Y2gvbWFuYWdlbWVudC9iYXRjaC1tYW5hZ2VtZW50LW1vZGFsL2JhdGNoLW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtFQUM5QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLHNCQUFzQjtFQUN0QiwyQkFBMkI7RUFDM0IsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsV0FBVztFQUNYLDBCQUEwQjtFQUMxQiwwQkFBMEI7RUFDMUIsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixrQ0FBa0M7RUFDbEMsbUNBQW1DO0FBQ3JDOztBQUVBO0VBR0UsYUFBYTtFQUdiLHVCQUF1QjtFQUd2QixtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGtCQUFrQjtBQUNwQjs7QUFHQSxjQUFjOztBQUNkO0VBQ0UsV0FBVztFQUNYLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsWUFBWTtBQUNkOztBQUVBO0VBR0UsYUFBYTtFQUdiLHVCQUF1QjtFQUd2QixtQkFBbUI7RUFDbkIsWUFBWTtBQUNkOztBQUVBLGdCQUFnQiwwQkFBMEIsRUFBRSIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0JhdGNoL21hbmFnZW1lbnQvYmF0Y2gtbWFuYWdlbWVudC1tb2RhbC9iYXRjaC1tYW5hZ2VtZW50LW1vZGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJsYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5kcm9wem9uZSB7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLmRpdkZpbGVzIHtcclxuICB3aWR0aDogMTAwJTtcclxuICAvKmJvcmRlcjogc29saWQgMXB4ICNjY2M7Ki9cclxuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NjYztcclxuICBoZWlnaHQ6IDE1MHB4O1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAvKmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsqL1xyXG4gIC8qYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsqL1xyXG59XHJcblxyXG4uY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDE0OXB4O1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdmaWxlJ10ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5oclN1YlRpdGxlIHtcclxuICBtYXJnaW4tdG9wOiAxcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG5cclxuLypuZzIgc3d0eWxlcyovXHJcbi5uZzItZHJvcHpvbmUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogZG90dGVkIDFweCAjY2NjO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBoZWlnaHQ6IDcwcHg7XHJcbn1cclxuXHJcbi5uZzItY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDY5cHg7XHJcbn1cclxuXHJcbi5udi1maWxlLW92ZXIgeyBib3JkZXI6IGRhc2hlZCAzcHggI2FiYTVhYjsgfVxyXG4iXX0= */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {Subject} from 'rxjs';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {Encodings} from '../../../../services/encodings';\r\nimport {BatchService} from '../../../../services/batch.service';\r\nimport {NodeConfigurationType} from '../../../../Models/enum/nodeConfigurationType';\r\nimport {DateTimeService} from '../../../../services/date-time.service';\r\nimport {UploadFilesService} from '../../../../services/upload-files.service';\r\nimport {HttpEventType} from '@angular/common/http';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\nimport {until} from 'selenium-webdriver';\r\nimport elementTextContains = until.elementTextContains;\r\n\r\n@Component({\r\n selector: 'app-batch-management-modal',\r\n templateUrl: './batch-management-modal.component.html',\r\n styleUrls: ['./batch-management-modal.component.css']\r\n})\r\nexport class BatchManagementModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objInitialState;\r\n fileErrorMessage = '';\r\n fileErrorTimer;\r\n errorMessage = '';\r\n successMessage = '';\r\n submitClick = false;\r\n batchManagementForm: FormGroup;\r\n itemSaved: Subject = new Subject();\r\n layouts: {list: any[], loading: boolean, loadError: string} = { list: null, loading: false, loadError: '' };\r\n serviceNodes: {list: any[], loading: boolean, loadError: string} = { list: null, loading: false, loadError: ''};\r\n finalStates = [];\r\n executingUsers = [];\r\n postBatchBusinessProcesses = [];\r\n encodings = Encodings.list;\r\n files: any[] = [];\r\n minDate = this.dateTimeService.formatDateTimePickerFormat(new Date());\r\n sessionId;\r\n\r\n get formData() {\r\n return this.batchManagementForm.controls;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private bsModalRef: BsModalRef, private batchService: BatchService,\r\n private dateTimeService: DateTimeService, private fileUploadService: UploadFilesService,\r\n private sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.loadBatchLayoutList();\r\n this.loadBatchServiceNodeList();\r\n if (this.objInitialState) {\r\n this.sessionId = this.objInitialState;\r\n }\r\n }\r\n\r\n createForm() {\r\n this.batchManagementForm = this.formBuilder.group({\r\n name: ['', [ Validators.required, Validators.maxLength(100), CustomValidator.onlyStringAndNumbersAccepted ]],\r\n layoutId: [null, [ Validators.required ]],\r\n executionUserLogon: [ { value: null, disabled: true }, [ Validators.required ]],\r\n batchServiceAgentName: [null, [ Validators.required ]],\r\n fileEncoding: ['us-ascii', [ Validators.required ]],\r\n finalStateName: [ { value: null, disabled: true } ],\r\n finishedBatchBusinessProcessName: [ { value: null, disabled: true } ],\r\n scheduleDate: null\r\n })\r\n }\r\n\r\n fileChange(element){\r\n const pFileList: File[] = element.target.files;\r\n\r\n this.fileErrorMessage = '';\r\n clearTimeout(this.fileErrorTimer);\r\n\r\n // recuperando os arquivos\r\n let selectedNewFiles = Object.keys(pFileList).map(key => pFileList[key]);\r\n\r\n // verificar geral se o(s) arquivo(s) já existe(m)\r\n const existFiles = selectedNewFiles.filter(f => this.files.map(m => m.name).indexOf(f.name) !== -1 );\r\n if (existFiles.length > 0) {\r\n const filesName = existFiles.map(m => m.name).join(', ');\r\n if (existFiles.length > 1) {\r\n this.fileErrorMessage = `Os arquivos ${filesName} já foram adicionados.`;\r\n } else {\r\n this.fileErrorMessage = `O arquivo ${filesName} já foi adicionado.`;\r\n }\r\n\r\n // manter somente os novos arquivos no array\r\n selectedNewFiles = selectedNewFiles.filter(f => this.files.map(m => m.name).indexOf(f.name) === -1 );\r\n this.fileErrorTimer = setTimeout(() => { this.fileErrorMessage = ''; }, 10000);\r\n }\r\n\r\n // verificar se são arquivos com extensões aceitas\r\n const acceptableExt = ['txt', 'xls', 'xlsx', 'csv'];\r\n let invalidFiles = [];\r\n\r\n // aqui terá somente os arquivos novos...\r\n selectedNewFiles.forEach(( item, index ) => {\r\n item.isUploading = false;\r\n if (acceptableExt.indexOf(item.name.split('.').pop()) < 0) {\r\n invalidFiles.push(item.name);\r\n } else {\r\n const objURL = window.URL.createObjectURL(item);\r\n const sanitizedFile = this.sanitizer.bypassSecurityTrustUrl(objURL);\r\n\r\n\r\n this.fileUploadService.uploadFile(this.sessionId, item)\r\n .subscribe(res => {\r\n switch (res.type) {\r\n case HttpEventType.Sent:\r\n break;\r\n case HttpEventType.UploadProgress:\r\n var eventTotal = res.total ? res.total : 0;\r\n item.isUploading = true;\r\n item.progressBarFile = Math.round(res.loaded / eventTotal * 100);\r\n break;\r\n case HttpEventType.Response:\r\n const responseEncoding = res.headers.get('encoding');\r\n item.encoding = responseEncoding;\r\n default:\r\n item.isUploading = false;\r\n item.canDelete = true;\r\n setTimeout(() => {\r\n item.progressBarFile = 0;\r\n }, 1500);\r\n break;\r\n }\r\n },\r\n error1 => {\r\n // se deu erro, devo inserir um status\r\n item.fileError = true;\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.fileErrorMessage = err;\r\n console.log(err);\r\n });\r\n }\r\n });\r\n\r\n if (this.files.length == 0){\r\n this.files = Object.keys(pFileList).map(key => pFileList[key]);\r\n } else {\r\n this.files = this.files.concat(selectedNewFiles);\r\n }\r\n\r\n this.setInvalidFiles(invalidFiles);\r\n element.target.value = '';\r\n\r\n }\r\n\r\n setInvalidFiles(invalidFiles) {\r\n if (invalidFiles.length > 0) {\r\n const splitedFiles = invalidFiles.join(', ');\r\n\r\n if (invalidFiles.length > 1) {\r\n this.fileErrorMessage = `Arquivos não permitidos ${splitedFiles}`;\r\n } else {\r\n this.fileErrorMessage = `Arquivo não permitido ${splitedFiles}`;\r\n }\r\n\r\n this.fileErrorTimer = setTimeout(() => { this.fileErrorMessage = ''; }, 10000);\r\n this.files = this.files.filter(f => invalidFiles.indexOf(f.name) === -1);\r\n }\r\n }\r\n\r\n deletionInfo(fileName, isExclusion = true) {\r\n this.fileErrorMessage = '';\r\n if (isExclusion) {\r\n this.fileUploadService.deleteFile(this.sessionId, fileName).subscribe(res => {\r\n if (res) {\r\n this.files = this.files.filter(f => f.name !== fileName);\r\n }\r\n }, error1 => this.fileErrorMessage = error1);\r\n } else {\r\n this.files = this.files.filter(f => f.name !== fileName);\r\n }\r\n }\r\n\r\n layoutChange(element) {\r\n if (element !== undefined) {\r\n this.loadUsers(element.batchTemplateId);\r\n this.loadStatesByBusinessProcess(element.businessProcessId);\r\n } else {\r\n this.executingUsers = [];\r\n this.finalStates = [];\r\n this.setEnableField('executionUserLogon', false);\r\n this.setEnableField('finalStateName', false);\r\n }\r\n }\r\n\r\n setEnableField(formControlName: string, enable: boolean) {\r\n if (enable) {\r\n this.batchManagementForm.get(formControlName).enable();\r\n } else {\r\n this.batchManagementForm.get(formControlName).setValue(null);\r\n this.batchManagementForm.get(formControlName).disable();\r\n }\r\n }\r\n\r\n userChange(element) {\r\n if (element !== undefined) {\r\n this.loadPostBatchBusinessProcesses(element.logon);\r\n } else {\r\n this.postBatchBusinessProcesses = [];\r\n this.setEnableField('finishedBatchBusinessProcessName', false);\r\n }\r\n }\r\n\r\n loadBatchLayoutList() {\r\n this.layouts = {\r\n list: null,\r\n loading: true,\r\n loadError: ''\r\n };\r\n\r\n this.batchService.getAllBatchTemplates().subscribe(res => {\r\n this.layouts.list = res;\r\n this.layouts.loading = false;\r\n }, error1 => {\r\n this.layouts.loadError = error1;\r\n this.layouts.loading = false;\r\n });\r\n }\r\n\r\n loadBatchServiceNodeList() {\r\n this.serviceNodes = {\r\n list: null,\r\n loading: true,\r\n loadError: ''\r\n };\r\n\r\n this.batchService.getAllConfigurationNodesByType(NodeConfigurationType.Batcher)\r\n .subscribe(res => {\r\n this.serviceNodes.list = res;\r\n if (this.serviceNodes.list.length > 0) {\r\n this.serviceNodes.list.forEach(item => {\r\n item.label = `${item.machineId} em ${item.hostName}`;\r\n });\r\n }\r\n this.serviceNodes.loading = false;\r\n }, error1 => {\r\n this.serviceNodes.loadError = error1;\r\n this.serviceNodes.loading = false;\r\n });\r\n\r\n }\r\n\r\n loadUsers(batchTemplateId: number) {\r\n this.errorMessage = '';\r\n this.batchManagementForm.get('executionUserLogon').disable();\r\n this.batchService.getUsersByBatchTemplateBusinessProcess(batchTemplateId)\r\n .subscribe(res => {\r\n this.executingUsers = res;\r\n this.batchManagementForm.get('executionUserLogon').enable();\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n loadStatesByBusinessProcess(businessProcessId: number) {\r\n this.errorMessage = '';\r\n this.batchManagementForm.get('finalStateName').disable();\r\n this.batchService.getStatesByPublishedBusinessProcess(businessProcessId)\r\n .subscribe(res => {\r\n this.finalStates = res;\r\n this.setEnableField('finalStateName', true);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n loadPostBatchBusinessProcesses(userLogon: string) {\r\n this.errorMessage = '';\r\n this.batchManagementForm.get('finishedBatchBusinessProcessName').disable();\r\n this.batchService.getBusinessProcessesForStartByUser(userLogon)\r\n .subscribe(res => {\r\n this.postBatchBusinessProcesses = res;\r\n this.setEnableField('finishedBatchBusinessProcessName', true);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n validateFileQueue() {\r\n const totalFiles = this.files.length;\r\n var countErrors = this.files.filter(f => f.fileError).length;\r\n if (totalFiles == countErrors) {\r\n return false;\r\n }\r\n\r\n return totalFiles !== countErrors;\r\n }\r\n\r\n adjustDate() {\r\n const dateNow = this.dateTimeService.formatDateTimePickerFormat(new Date());\r\n let scheduleDate = this.formData.scheduleDate.value;\r\n\r\n if (scheduleDate !== null && scheduleDate !== '') {\r\n scheduleDate = this.dateTimeService.formatDateTimePickerFormat(scheduleDate);\r\n\r\n if (scheduleDate < dateNow) {\r\n this.formData.scheduleDate.setValue(dateNow);\r\n }\r\n }\r\n\r\n }\r\n\r\n onSave() {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n this.submitClick = true;\r\n this.adjustDate();\r\n const parameters = this.batchManagementForm.getRawValue();\r\n parameters.scheduleDate = parameters.scheduleDate == '' ? null : this.dateTimeService.toUTC(parameters.scheduleDate);\r\n\r\n this.batchService.submitBatch(parameters, this.sessionId).subscribe(res => {\r\n this.submitClick = false;\r\n this.itemSaved.next(true);\r\n this.successMessage = 'Lote criado com sucesso.';\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.bsModalRef.hide();\r\n }, 2000)\r\n\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.card-title {\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n.graphContainer .ranges\\r\\n{\\r\\n display: table;\\r\\n}\\r\\n\\r\\n.graphCell {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n.graphContainer .ranges .graphCell .graphBar {\\r\\n overflow: hidden;\\r\\n font-size: 0.9em;\\r\\n font-weight: bold;\\r\\n text-align: center;\\r\\n color: black;\\r\\n white-space: nowrap;\\r\\n text-overflow: clip;\\r\\n padding: 0.2em 0;\\r\\n background-color: #009933;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQmF0Y2gvbWFuYWdlbWVudC9iYXRjaC1tYW5hZ2VtZW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCOztBQUVBOztFQUVFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtBQUMzQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0JhdGNoL21hbmFnZW1lbnQvYmF0Y2gtbWFuYWdlbWVudC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uY2FyZC10aXRsZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3JhcGhDb250YWluZXIgLnJhbmdlc1xyXG57XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuXHJcbi5ncmFwaENlbGwge1xyXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbn1cclxuXHJcbi5ncmFwaENvbnRhaW5lciAucmFuZ2VzIC5ncmFwaENlbGwgLmdyYXBoQmFyIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiBibGFjaztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGNsaXA7XHJcbiAgcGFkZGluZzogMC4yZW0gMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5OTMzO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BatchService } from '../../../services/batch.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CustomValidator } from '../../../services/custom-validator';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport { DateTimeService } from '../../../services/date-time.service';\r\nimport { Utils } from '../../../services/utils';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { BatchManagementModalComponent } from './batch-management-modal/batch-management-modal.component';\r\n\r\n@Component({\r\n selector: 'app-batch-management',\r\n templateUrl: './batch-management.component.html',\r\n styleUrls: ['./batch-management.component.css']\r\n})\r\nexport class BatchManagementComponent implements OnInit {\r\n\r\n searchDone = false;\r\n filterReportForm: FormGroup;\r\n errorMessage = '';\r\n pleaseWait = false;\r\n batches = [];\r\n config: PaginationInstance;\r\n p = 1;\r\n total: number;\r\n utilsFunctions = Utils;\r\n inProcess = false;\r\n lastPageIndex: number;\r\n batchSubmissionLifeCycle = [\r\n {id: 0, description: 'Nenhum'},\r\n {id: 1, description: 'Criado'},\r\n {id: 2, description: 'Processando'},\r\n {id: 4, description: 'Finalizado'},\r\n {id: 8, description: 'Pausado automaticamente'},\r\n {id: 16, description: 'Pausado por usuário'},\r\n {id: 32, description: 'Cancelado automaticamente'},\r\n {id: 64, description: 'Cancelado por usuário'},\r\n ];\r\n private _hilo = 0;\r\n\r\n get formData() { return this.filterReportForm.controls; }\r\n get sessionId() { return `batch${new Date().getTime()}@${++this._hilo}`}\r\n\r\n constructor(\r\n private batchService: BatchService,\r\n private formBuilder: FormBuilder,\r\n private webClientConfig: WebClientConfigurationService,\r\n private dateTimeService: DateTimeService,\r\n private genericModalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.filterReportForm = this.formBuilder.group({\r\n batchName: '',\r\n initialCreationDate: [ this.currentDayInterval().start, [Validators.required] ],\r\n finalCreationDate: [ this.currentDayInterval().end, [Validators.required] ],\r\n batchSubmissionLifeCycle: [0, [Validators.required]],\r\n pageIndex: 1\r\n });\r\n this.filterReportForm.setValidators(CustomValidator.validateDatetime('initialCreationDate', 'finalCreationDate'));\r\n }\r\n\r\n currentDayInterval = function() {\r\n const now = new Date();\r\n return {\r\n start: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0)).toISOString()\r\n .substr(0, 16),\r\n end: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59)).toISOString()\r\n .substr(0, 16)\r\n };\r\n };\r\n\r\n search(page: number) {\r\n this.lastPageIndex = page;\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n const filter = this.filterReportForm.getRawValue();\r\n filter.pageIndex = page;\r\n filter.initialCreationDate = this.dateTimeService.toUTC(filter.initialCreationDate);\r\n filter.finalCreationDate = this.dateTimeService.toUTC(filter.finalCreationDate);\r\n this.batchService.searchPagedBatchSubmission(filter)\r\n .subscribe( result => {\r\n this.total = result.total;\r\n this.p = 1;\r\n this.getPaginationConfig(page, result.total);\r\n this.batches = result.items;\r\n this.pleaseWait = false;\r\n this.searchDone = true;\r\n this.collapseFilter(true);\r\n },\r\nerror1 => {\r\n this.errorMessage = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageSizeConfig()\r\n .subscribe(item => {\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n showValidationError(error: any) {\r\n const errorObject = JSON.parse(error);\r\n this.genericModalService.showInfoMessage(errorObject['Exception'].Message, true, 12000, 'Erro');\r\n }\r\n\r\n generatePercentGraph(specific, total) {\r\n let html = '
';\r\n const percent = (specific / total) * 100;\r\n const width = this.getPercentBasedWidth(percent);\r\n if (percent > 0) {\r\n html += `
\r\n
\r\n
`;\r\n }\r\n html += '
';\r\n return html;\r\n }\r\n\r\n generatePercentLabel(specific, total) {\r\n const percent = (specific / total) * 100;\r\n let label = percent.toFixed(2).replace('.', ',');\r\n if (label.toString().indexOf(',00') > -1) {\r\n label = label.replace(',00', '');\r\n }\r\n return `${label}%`;\r\n }\r\n\r\n getPercentBasedWidth(item) {\r\n return (item / 100) * parseInt('100', 10) || 100;\r\n }\r\n\r\n downloadCsv(batchSubmissionId: number, batchSubmissionName: string) {\r\n this.errorMessage = '';\r\n this.batchService.getErrorBatchItems(batchSubmissionId)\r\n .subscribe(data => {\r\n const fileName = `${batchSubmissionName}_ErrorItems.csv`;\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n a.download = encodeURIComponent(fileName);\r\n a.href = URL.createObjectURL(data);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n },\r\n err => {\r\n this.errorMessage = err;\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n continueBatch(batchSubmissionId: number) {\r\n this.errorMessage = '';\r\n this.inProcess = true;\r\n this.batchService.continueBatchSubmission(batchSubmissionId)\r\n .subscribe( () => { this.search(this.lastPageIndex); this.inProcess = false; },\r\n error1 => this.errorMessage = error1 );\r\n }\r\n\r\n pauseBatch(batchSubmissionId: number) {\r\n this.errorMessage = '';\r\n this.inProcess = true;\r\n this.batchService.pauseBatchSubmission(batchSubmissionId)\r\n .subscribe( () => { this.search(this.lastPageIndex); this.inProcess = false; },\r\n error1 => this.errorMessage = error1 );\r\n }\r\n\r\n cancelBatch(batchSubmissionId: number) {\r\n this.errorMessage = '';\r\n this.inProcess = true;\r\n this.batchService.cancelSubmission(batchSubmissionId)\r\n .subscribe( () => { this.search(this.lastPageIndex); this.inProcess = false; },\r\n error1 => this.errorMessage = error1 );\r\n }\r\n\r\n finishBatch(batchSubmissionId: number) {\r\n this.errorMessage = '';\r\n this.inProcess = true;\r\n this.batchService.finishBatchSubmission(batchSubmissionId)\r\n .subscribe( () => { this.search(this.lastPageIndex); this.inProcess = false; },\r\n error1 => this.errorMessage = error1 );\r\n }\r\n\r\n isDisabledByOption(option: string, lifeCycle: number): boolean {\r\n let isDisable: boolean;\r\n switch (option) {\r\n case 'cancel':\r\n case 'pause': isDisable = lifeCycle !== 2;\r\n break;\r\n case 'resume': isDisable = lifeCycle !== 16;\r\n break;\r\n case 'finish': isDisable = lifeCycle !== 16 && lifeCycle !== 2;\r\n break;\r\n }\r\n return isDisable;\r\n }\r\n\r\n collapseFilter(collapse: boolean) {\r\n if (collapse) {\r\n // @ts-ignore\r\n $('#cardFilter').CardWidget('collapse');\r\n } else {\r\n // @ts-ignore\r\n $('#cardFilter').CardWidget('expand');\r\n }\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n\r\n newBatch() {\r\n const destComponent: any = BatchManagementModalComponent;\r\n const objInitialState = this.sessionId;\r\n const result$ = this.genericModalService.showObjModal(destComponent, 'Novo Lote', objInitialState, 'modal-lg');\r\n if (result$) {\r\n result$.asObservable()\r\n .subscribe(\r\n result => {\r\n if (result) {\r\n // realizar a pesquisa do dia...\r\n this.search(1);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.list-group-item {\\r\\n padding: 0.5rem 0.8rem;\\r\\n font-size: 90%;\\r\\n /*border-radius: 0;*/\\r\\n}\\r\\n\\r\\n.overflow-list {\\r\\n overflow: auto;\\r\\n height: 300px;\\r\\n border: 1px solid rgba(0, 0, 0, 0.125);\\r\\n}\\r\\n\\r\\n.list-group-item .field-is-required {\\r\\n color: #dc3545;\\r\\n padding-right: 2.25rem;\\r\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: right calc(0.375em + 0.1875rem) center;\\r\\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\r\\n}\\r\\n\\r\\n.list-is-invalid {\\r\\n border: 1px solid #dc3545;\\r\\n}\\r\\n\\r\\n.cdk-drag-preview {\\r\\n z-index: 9000 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQmF0Y2gvdGVtcGxhdGUtY29uZmlndXJhdGlvbi9iYXRjaC10ZW1wbGF0ZS1tb2RhbC9iYXRjaC10ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLGNBQWM7RUFDZCxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsYUFBYTtFQUNiLHNDQUFzQztBQUN4Qzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxzQkFBc0I7RUFDdEIsNFVBQTRVO0VBQzVVLDRCQUE0QjtFQUM1QiwyREFBMkQ7RUFDM0QsZ0VBQWdFO0FBQ2xFOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0Usd0JBQXdCO0FBQzFCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQmF0Y2gvdGVtcGxhdGUtY29uZmlndXJhdGlvbi9iYXRjaC10ZW1wbGF0ZS1tb2RhbC9iYXRjaC10ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgcGFkZGluZzogMC41cmVtIDAuOHJlbTtcclxuICBmb250LXNpemU6IDkwJTtcclxuICAvKmJvcmRlci1yYWRpdXM6IDA7Ki9cclxufVxyXG5cclxuLm92ZXJmbG93LWxpc3Qge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGhlaWdodDogMzAwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XHJcbn1cclxuXHJcbi5saXN0LWdyb3VwLWl0ZW0gLmZpZWxkLWlzLXJlcXVpcmVkIHtcclxuICBjb2xvcjogI2RjMzU0NTtcclxuICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyB2aWV3Qm94PScwIDAgMTIgMTInJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pO1xyXG59XHJcblxyXG4ubGlzdC1pcy1pbnZhbGlkIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGMzNTQ1O1xyXG59XHJcblxyXG4uY2RrLWRyYWctcHJldmlldyB7XHJcbiAgei1pbmRleDogOTAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuIl19 */\"","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\r\nimport { BatchService } from '../../../../services/batch.service';\r\nimport { Utils } from '../../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-batch-template-modal',\r\n templateUrl: './batch-template-modal.component.html',\r\n styleUrls: ['./batch-template-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class BatchTemplateModalComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n layoutForm: FormGroup;\r\n objInitialState: any;\r\n submitted = false;\r\n submitClick = false;\r\n errorMessage = '';\r\n separators = [',', '.'];\r\n businessProcesses$: Observable;\r\n fields: any[] = [];\r\n selectedFields: any[] = [];\r\n fieldsDone = false;\r\n isNew: boolean;\r\n pleaseWait = false;\r\n\r\n get formData() { return this.layoutForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder,\r\n private businessProcessService: BusinessProcessService,\r\n private batchService: BatchService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.isNew = this.objInitialState.batchTemplateId === undefined;\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getAllBusinessProcesses();\r\n }\r\n\r\n createForm() {\r\n this.layoutForm = this.formBuilder.group({\r\n name: [ '', Validators.compose( [\r\n Validators.required,\r\n Validators.maxLength(100),\r\n Validators.pattern('^[^<>]+$')]) ],\r\n batchTemplateId: 0,\r\n fieldsSeparator: ['', Validators.required ],\r\n positiveBoolean: ['', Validators.required ],\r\n negativeBoolean: ['', Validators.required ],\r\n decimalSeparator: ',',\r\n groupSeparator: '.',\r\n dateFormats: ['', Validators.required ],\r\n businessProcessId: [0, Validators.required ],\r\n fieldColumns: [\r\n []\r\n ]\r\n });\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.submitClick = true;\r\n this.errorMessage = '';\r\n const layout = this.layoutForm.getRawValue();\r\n layout.name = layout.name.trim();\r\n const array = [];\r\n this.selectedFields.forEach( field => {\r\n array.push({\r\n batchTemplateId: layout.batchTemplateId,\r\n businessProcessId: layout.businessProcessId,\r\n fieldColumnOrder: this.selectedFields.indexOf(field),\r\n fieldId: field.fieldId\r\n });\r\n });\r\n layout.fieldColumns = array;\r\n if (layout.dateFormats) {\r\n layout.dateFormats = layout.dateFormats.split('\\n');\r\n }\r\n if (this.isNew) {\r\n this.createLayout(layout);\r\n } else {\r\n this.editLayout(layout);\r\n }\r\n }\r\n\r\n createLayout(layout: any) {\r\n this.errorMessage = '';\r\n this.batchService.createBatchTemplate(layout)\r\n .subscribe( newLayoutId => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n editLayout(layout: any) {\r\n this.errorMessage = '';\r\n this.batchService.updateBatchTemplate(layout)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n getAllBusinessProcesses() {\r\n this.errorMessage = '';\r\n this.businessProcesses$ = this.businessProcessService.getAllBusinessProcessesPublished();\r\n this.businessProcesses$.subscribe(\r\n result => {\r\n if (result.length > 0 && this.isNew) {\r\n this.layoutForm.patchValue(\r\n { businessProcessId: result[0].businessProcessId }\r\n );\r\n this.getBusinessProcessFields(result[0].businessProcessId);\r\n }\r\n if (!this.isNew) {\r\n this.layoutForm.patchValue(\r\n { businessProcessId: this.objInitialState.businessProcessId }\r\n );\r\n this.getBusinessProcessFields(this.objInitialState.businessProcessId);\r\n this.patchValues();\r\n }\r\n this.pleaseWait = false;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n getBusinessProcessFields(businessProcessId: number) {\r\n this.errorMessage = '';\r\n this.fieldsDone = false;\r\n this.fields = [];\r\n this.selectedFields = [];\r\n let businessProcess;\r\n this.businessProcesses$.subscribe(\r\n result => {\r\n businessProcess = result.find( bp => bp.businessProcessId == businessProcessId);\r\n this.fields = businessProcess.fields.sort( (a, b) => {\r\n if (a.name.toUpperCase() < b.name.toUpperCase()) { return -1; }\r\n if (a.name.toUpperCase() > b.name.toUpperCase()) { return 1; }\r\n return 0;\r\n });\r\n this.fieldsDone = true;\r\n if (!this.isNew && businessProcessId == this.objInitialState.businessProcessId) {\r\n this.organizeFieldLists();\r\n }\r\n }, error1 => this.errorMessage = error1\r\n );\r\n }\r\n\r\n patchValues() {\r\n this.layoutForm.patchValue({\r\n name: this.objInitialState.name,\r\n batchTemplateId: this.objInitialState.batchTemplateId,\r\n fieldsSeparator: this.objInitialState.fieldsSeparator,\r\n positiveBoolean: this.objInitialState.positiveBoolean,\r\n negativeBoolean: this.objInitialState.negativeBoolean,\r\n decimalSeparator: this.objInitialState.decimalSeparator,\r\n groupSeparator: this.objInitialState.groupSeparator,\r\n dateFormats: this.objInitialState.dateFormats.join('\\n'),\r\n businessProcessId: this.objInitialState.businessProcessId\r\n });\r\n }\r\n\r\n organizeFieldLists() {\r\n this.selectedFields = [];\r\n this.objInitialState.fieldColumns.forEach( fieldColumn => {\r\n delete fieldColumn.extensionData;\r\n });\r\n\r\n const fieldsIds = this.objInitialState.fieldColumns.sort(\r\n (a, b) => { return a.fieldColumnOrder - b.fieldColumnOrder;\r\n }).map( f => f.fieldId);\r\n\r\n for (let i = 0; i < this.objInitialState.fieldColumns.length; i++) {\r\n if (fieldsIds.includes(this.objInitialState.fieldColumns[i].fieldId)) {\r\n this.selectedFields[i] = this.fields\r\n .find( f => f.fieldId === this.objInitialState.fieldColumns[i].fieldId);\r\n }\r\n }\r\n\r\n this.selectedFields.forEach( sf => {\r\n this.fields.splice(this.fields.indexOf(sf), 1);\r\n });\r\n }\r\n\r\n onSelectAll() {\r\n for (let i = 0; this.fields.length !== 0; i++) {\r\n transferArrayItem(this.fields, this.selectedFields, 0, this.selectedFields.length);\r\n }\r\n }\r\n\r\n onDeselectAll() {\r\n for (let i = 0; this.selectedFields.length !== 0; i++) {\r\n transferArrayItem(this.selectedFields, this.fields, 0, this.fields.length);\r\n }\r\n }\r\n\r\n drop(event) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n }\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.layoutForm, formControlName);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0JhdGNoL3RlbXBsYXRlLWNvbmZpZ3VyYXRpb24vdGVtcGxhdGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuY3NzIn0= */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\nimport {BatchService} from '../../../services/batch.service';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {BatchTemplateModalComponent} from './batch-template-modal/batch-template-modal.component';\r\n\r\n@Component({\r\n selector: 'app-template-configuration',\r\n templateUrl: './template-configuration.component.html',\r\n styleUrls: ['./template-configuration.component.css']\r\n})\r\nexport class TemplateConfigurationComponent implements OnInit {\r\n\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n templateList: any[];\r\n pleaseWait = true;\r\n successMessage = '';\r\n errorMessage = '';\r\n modalComponent: any = BatchTemplateModalComponent;\r\n\r\n constructor(private batchService: BatchService, private modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.loadList();\r\n }\r\n\r\n loadList() {\r\n this.batchService.getAllBatchTemplates()\r\n .subscribe(res => {\r\n this.pleaseWait = false;\r\n setTimeout(() => this.templateList = res, 1);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onDeleteBatch(template) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Aviso de exclusão', `Confirma a exclusão do layout ${template.name}?`);\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.batchService.deleteBatchTemplate(template.batchTemplateId)\r\n .subscribe( () => {\r\n this.successMessage = `Layout ${template.name} excluído com sucesso.`;\r\n this.ngOnInit();\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n }, 2000);\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onAddNew() {\r\n const newLayout = {};\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Cadastrar Layout', newLayout);\r\n if (result$) {\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n });\r\n }\r\n }\r\n\r\n onEditLayout(layout: any) {\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Editar Layout', layout);\r\n if (result$) {\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","export default \".color-shadow{\\r\\n text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jb21tb24vZWRpdC1xdWV1ZS1jb2xvci1tb2RhbC9lZGl0LXF1ZXVlLWNvbG9yLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpRUFBaUU7QUFDbkU7O0FBRUE7RUFDRSxnRUFBZ0U7QUFDbEUiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2NvbW1vbi9lZGl0LXF1ZXVlLWNvbG9yLW1vZGFsL2VkaXQtcXVldWUtY29sb3ItbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb2xvci1zaGFkb3d7XHJcbiAgdGV4dC1zaGFkb3c6IC0xcHggMCBibGFjaywgMCAxcHggYmxhY2ssIDFweCAwIGJsYWNrLCAwIC0xcHggYmxhY2s7XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSArIDE1cHgpIGNlbnRlcjtcclxufVxyXG5cclxuIl19 */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { HumanInteractionService } from '../../../../services/human-interaction.service';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {WfTableComponent} from '../../../../common/table-sort/wf-table.component';\r\nimport {Subject} from 'rxjs';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-edit-queue-color-modal',\r\n templateUrl: './edit-queue-color-modal.component.html',\r\n styleUrls: ['./edit-queue-color-modal.component.css']\r\n})\r\nexport class EditQueueColorModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n error = '';\r\n fieldError = '';\r\n objInitialState: any;\r\n colorForm: FormGroup;\r\n colorInfo;\r\n availableBusinessProcessList;\r\n availableStates;\r\n isCustom = false;\r\n businessProcessFieldList;\r\n itemSaved: Subject = new Subject();\r\n\r\n\r\n\r\n get formData() { return this.colorForm.controls; }\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n get slaColor(){\r\n if (this.formData) {\r\n return this.formData.color.value;\r\n }\r\n return null;\r\n };\r\n set slaColor(value){\r\n this.colorForm.get('color').setValue(value);\r\n };\r\n\r\n constructor(\r\n private humanInteractionService: HumanInteractionService,\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.colorInfo = this.objInitialState.color;\r\n this.availableBusinessProcessList = this.objInitialState.bps;\r\n if (this.objInitialState.isCustom) {\r\n this.isCustom = this.objInitialState.isCustom;\r\n }\r\n this.createForm();\r\n this.loadData();\r\n }\r\n\r\n createForm() {\r\n this.colorForm = this.formBuilder.group({\r\n businessProcessId: [0, Validators.min(1)],\r\n stateId: [0, Validators.min(1)],\r\n initialSeconds: [0, [Validators.min(1), Validators.max(2147482), CustomValidator.numeric]],\r\n color: [null, CustomValidator.trimRequired]\r\n });\r\n\r\n if (this.isCustom) {\r\n this.colorForm.get('businessProcessId').clearValidators();\r\n this.colorForm.get('stateId').clearValidators();\r\n }\r\n }\r\n\r\n loadData() {\r\n if (!this.colorInfo){\r\n return;\r\n }\r\n this.colorForm.patchValue({\r\n businessProcessId: this.colorInfo.businessProcessId,\r\n stateId: this.colorInfo.stateId,\r\n initialSeconds: this.colorInfo.initialSeconds,\r\n color: this.colorInfo.color\r\n });\r\n\r\n if (!this.isCustom) {\r\n this.onBpChange();\r\n this.colorForm.get('businessProcessId').setValue(this.colorInfo.businessProcessId);\r\n this.colorForm.get('stateId').setValue(this.colorInfo.stateId);\r\n this.colorForm.updateValueAndValidity();\r\n }\r\n\r\n //this.refreshBusinessProcessFieldTable();\r\n }\r\n\r\n onBpChange() {\r\n let bpId = this.formData.businessProcessId.value;\r\n let bp = this.availableBusinessProcessList.filter(bp => bp.businessProcessId == bpId);\r\n this.availableStates = bp[0].states;\r\n if (bp[0].states.filter(f => f.stateId == 0).length == 0) {\r\n this.availableStates.push({stateId:0, name:''});\r\n }\r\n this.colorForm.get('stateId').setValue(0);\r\n }\r\n\r\n onClickOk() {\r\n let raw = this.colorForm.getRawValue();\r\n let response = {oldColor: this.colorInfo, newColor:raw}\r\n this.itemSaved.next(response);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","export default \".addButtonCol{\\r\\n /*display: flex;*/\\r\\n display: block;\\r\\n align-items: center;\\r\\n margin-top: 41px;\\r\\n}\\r\\n\\r\\n.row-margin{\\r\\n margin-top: -15px;\\r\\n}\\r\\n\\r\\nthead tr th {\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jb21tb24vZWRpdC1xdWV1ZS1jb2x1bW4tbW9kYWwvZWRpdC1xdWV1ZS1jb2x1bW4tbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFNBQVM7QUFDWDs7QUFFQTtFQUNFLGdFQUFnRTtBQUNsRSIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vY29tbW9uL2VkaXQtcXVldWUtY29sdW1uLW1vZGFsL2VkaXQtcXVldWUtY29sdW1uLW1vZGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWRkQnV0dG9uQ29se1xyXG4gIC8qZGlzcGxheTogZmxleDsqL1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogNDFweDtcclxufVxyXG5cclxuLnJvdy1tYXJnaW57XHJcbiAgbWFyZ2luLXRvcDogLTE1cHg7XHJcbn1cclxuXHJcbnRoZWFkIHRyIHRoIHtcclxuICB0b3A6IC0xcHg7XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSArIDE1cHgpIGNlbnRlcjtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { HumanInteractionService } from '../../../../services/human-interaction.service';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {WfTableComponent} from '../../../../common/table-sort/wf-table.component';\r\nimport {Subject} from 'rxjs';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {Utils} from '../../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-edit-queue-column-modal',\r\n templateUrl: './edit-queue-column-modal.component.html',\r\n styleUrls: ['./edit-queue-column-modal.component.css']\r\n})\r\nexport class EditQueueColumnModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n error = '';\r\n fieldError = '';\r\n objInitialState: any;\r\n columnForm: FormGroup;\r\n columnInfo;\r\n selectedBp;\r\n selectedField;\r\n availableBusinessProcessList;\r\n availableFields;\r\n businessProcessFieldList;\r\n itemSaved: Subject = new Subject();\r\n disableBpList: boolean;\r\n isCustom = false;\r\n\r\n get businessProcessFieldsError() {\r\n if (this.isCustom) {\r\n return this.formData.type.value == '2' && (!this.selectedField || this.selectedField == 0 || this.selectedField == null);\r\n }\r\n return this.formData.type.value == '2' && (!this.businessProcessFieldList || this.businessProcessFieldList.length == 0);\r\n }\r\n\r\n get formData() { return this.columnForm.controls; }\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private humanInteractionService: HumanInteractionService,\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.columnInfo = this.objInitialState.column;\r\n this.availableBusinessProcessList = this.objInitialState.bps;\r\n this.disableBpList = false;\r\n\r\n // manter selecionado o processo de negócio e campo que vieram da configuração de filas nomeadas.\r\n if (this.objInitialState.selectedBp) {\r\n this.selectedBp = this.objInitialState.selectedBp;\r\n this.disableBpList = true; // não permitir alterar o processo de negócio\r\n this.isCustom = true; // desabilitar componentes da tela que não serão necessários\r\n this.onBpChange();\r\n this.selectedField = this.objInitialState.column.businessProcessFieldId;\r\n }\r\n this.createForm();\r\n this.loadData();\r\n }\r\n\r\n createForm() {\r\n this.columnForm = this.formBuilder.group({\r\n id: 0,\r\n name: ['', CustomValidator.trimRequired],\r\n columnOrder: 0,\r\n isEnabled: false,\r\n type: null,\r\n systemField: \"\",\r\n businessProcessFields: []\r\n });\r\n }\r\n\r\n loadData() {\r\n this.columnForm.patchValue({\r\n id: this.columnInfo.id,\r\n name: this.columnInfo.name,\r\n type: this.columnInfo.type ? this.columnInfo.type.toString() : this.columnInfo.type,\r\n columnOrder: this.columnInfo.columnOrder,\r\n isEnabled: this.columnInfo.isEnabled,\r\n systemField: this.columnInfo.systemField,\r\n businessProcessFields: this.columnInfo.businessProcessFields\r\n });\r\n this.updateTypeValidator();\r\n this.refreshBusinessProcessFieldTable();\r\n }\r\n\r\n onBpChange() {\r\n let bpId = this.selectedBp;\r\n let bp = this.availableBusinessProcessList.filter(bp => bp.businessProcessId == bpId);\r\n this.availableFields = bp[0].fields;\r\n }\r\n\r\n refreshBusinessProcessFieldTable(){\r\n if (this.formData.businessProcessFields.value){\r\n this.businessProcessFieldList = [];\r\n this.formData.businessProcessFields.value.forEach(bpf => {\r\n let obj = this.createDisplayFieldValue(bpf);\r\n this.businessProcessFieldList.push(obj);\r\n })\r\n }\r\n }\r\n\r\n createDisplayFieldValue(bpf){\r\n let errorMessage = '';\r\n let fieldDisplayName = '';\r\n let bp = this.availableBusinessProcessList.filter(bp => bp.businessProcessId == bpf.businessProcessId)[0];\r\n let filterResult = bp.fields.filter(f => f.fieldId == bpf.fieldId);\r\n if (!filterResult || filterResult.length != 1){\r\n errorMessage = \"Campo não existe no processo de negócio publicado\";\r\n } else{\r\n let field = filterResult[0];\r\n fieldDisplayName = field.name + (field.displayName != null && field.displayName != '' ? ' (' + field.displayName + ')' : '');\r\n }\r\n let obj = { 'businessProcessField': bpf, 'businessProcessName': bp.name, 'fieldDisplayName': fieldDisplayName, 'error': errorMessage};\r\n return obj;\r\n }\r\n\r\n addBpField(businessProcessId, fieldId) {\r\n let bpFieldList = this.formData.businessProcessFields.value;\r\n if (!bpFieldList) bpFieldList = [];\r\n\r\n let existsBpFieldFilter = bpFieldList.filter(f => f.businessProcessId == businessProcessId && f.fieldId == fieldId);\r\n if (existsBpFieldFilter && existsBpFieldFilter.length >0){\r\n this.fieldError=\"Este campo já foi adicionado\";\r\n return;\r\n }\r\n\r\n let newBpField = {'id': this.businessProcessFieldList.length + 1, 'interactionQueueColumnId': this.formData.id.value, 'businessProcessId': businessProcessId, 'fieldId': fieldId};\r\n bpFieldList.push(newBpField);\r\n this.formData.businessProcessFields.setValue(bpFieldList);\r\n let obj = this.createDisplayFieldValue(newBpField);\r\n this.businessProcessFieldList.push(obj);\r\n }\r\n\r\n onRemoveField(field: any) {\r\n this.businessProcessFieldList.splice(this.businessProcessFieldList.indexOf(field), 1);\r\n\r\n let list = this.businessProcessFieldList.map(function(f){\r\n return f.businessProcessField;\r\n });\r\n this.formData.businessProcessFields.setValue(list);\r\n }\r\n\r\n onTypeChange() {\r\n if (this.formData.type.value == \"1\"){\r\n this.columnForm.get('systemField').setValidators([Validators.required, Validators.min(1)]);\r\n\r\n this.formData.businessProcessFields.setValue([]);\r\n this.businessProcessFieldList = [];\r\n } else {\r\n\r\n this.columnForm.get('systemField').clearValidators();\r\n this.columnForm.patchValue({\r\n systemField: 0\r\n });\r\n }\r\n this.columnForm.updateValueAndValidity();\r\n }\r\n\r\n onChangeIsEnabled() {\r\n this.updateTypeValidator();\r\n this.columnForm.patchValue({\r\n type: 0,\r\n systemField: 0,\r\n businessProcessFields: []\r\n });\r\n }\r\n\r\n updateTypeValidator(){\r\n if (this.formData.isEnabled.value){\r\n this.columnForm.get('type').setValidators([Validators.required]);\r\n if (this.formData.type.value == '0') {\r\n this.columnForm.get('type').setValue('1');\r\n this.onTypeChange();\r\n }\r\n } else {\r\n this.columnForm.get('type').clearValidators();\r\n this.columnForm.get('systemField').clearValidators();\r\n }\r\n this.columnForm.updateValueAndValidity();\r\n }\r\n\r\n onClickOk() {\r\n let raw = this.columnForm.getRawValue();\r\n if (raw.type){\r\n raw.type = Number(raw.type);\r\n }\r\n if (raw.systemField){\r\n raw.systemField = Number(raw.systemField);\r\n }\r\n if (this.isCustom) {\r\n raw.businessProcessFieldId = raw.type == 2 ? this.selectedField : 0;\r\n raw.customInteractionQueueId = this.columnInfo.customInteractionQueueConfigId;\r\n delete raw['businessProcessFields'];\r\n }\r\n\r\n this.columnInfo = raw;\r\n this.itemSaved.next(raw);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.columnForm, formControlName);\r\n }\r\n}\r\n","export default \".legend\\r\\n{\\r\\n font-size: 1em;\\r\\n color: #706d6d;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jb21tb24vZWRpdC1xdWV1ZS1tZXRhZGF0YS1tb2RhbC9lZGl0LXF1ZXVlLW1ldGFkYXRhLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUUsY0FBYztFQUNkLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxnRUFBZ0U7QUFDbEUiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2NvbW1vbi9lZGl0LXF1ZXVlLW1ldGFkYXRhLW1vZGFsL2VkaXQtcXVldWUtbWV0YWRhdGEtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sZWdlbmRcclxue1xyXG4gIGZvbnQtc2l6ZTogMWVtO1xyXG4gIGNvbG9yOiAjNzA2ZDZkO1xyXG59XHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0gKyAxNXB4KSBjZW50ZXI7XHJcbn1cclxuIl19 */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {MetadataService} from '../../../../services/configuration/metadata.service';\r\nimport {EnumTranslator} from '../../../../Models/enum/enumTranslator';\r\nimport {MetadataType} from '../../../../Models/enum/metadataType';\r\nimport {Subject} from 'rxjs';\r\nimport {formatDate} from '@angular/common';\r\nimport {Utils} from '../../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-edit-queue-metadata-modal',\r\n templateUrl: './edit-queue-metadata-modal.component.html',\r\n styleUrls: ['./edit-queue-metadata-modal.component.css']\r\n})\r\nexport class EditQueueMetadataModalComponent implements OnInit {\r\n\r\n @Input() modalTitle;\r\n objInitialState;\r\n metadataForm: FormGroup;\r\n availableMetadata;\r\n metadataType = '';\r\n errorMessage;\r\n invalidMetadataValueError;\r\n invalidMetadataValue = false;\r\n itemSaved: Subject = new Subject();\r\n metadataValue = '';\r\n metadataValueDate = '';\r\n oldStructure;\r\n\r\n get formData() { return this.metadataForm.controls; }\r\n\r\n get validFieldsType() {\r\n /*ng-disabled=\"(Metadata.Structure.Category == 1 && Metadata.Values.length == 1)\r\n || !Metadata.Structure || InvalidMetadataValue || !Metadata.Value\"*/\r\n if (this.availableMetadata) {\r\n const raw = this.metadataForm.getRawValue();\r\n const metadataStructureId = raw.metadataStructureId;\r\n const values = raw.values;\r\n\r\n if (metadataStructureId !== null) {\r\n const item = this.availableMetadata.filter(f => f.metadataStructureId == parseFloat(metadataStructureId))[0];\r\n return (item.category == 1 && values.length == 1) || this.metadataType == '';\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n get validTypeValue() {\r\n if (this.availableMetadata) {\r\n if (this.formData.metadataStructureId.value !== null &&\r\n (this.metadataValue !== undefined && this.metadataValue !== '') ||\r\n (this.metadataValueDate !== null)) {\r\n const metadataStructureId = this.formData.metadataStructureId.value;\r\n const item = this.availableMetadata.filter(f => f.metadataStructureId == parseFloat(metadataStructureId))[0];\r\n switch (item.type) {\r\n case 1: {\r\n this.invalidMetadataValue = !this.isInt(this.metadataValue);\r\n break;\r\n }\r\n case 2: {\r\n // this.invalidMetadataValue = !this.isValidDate(this.metadataValue);\r\n break;\r\n }\r\n case 3: { // texto\r\n this.metadataValue = this.metadataValue.trim();\r\n break;\r\n }\r\n case 4: {\r\n this.invalidMetadataValue = !this.isFloat(this.metadataValue);\r\n break;\r\n }\r\n default: {\r\n return false;\r\n }\r\n }\r\n }\r\n return this.invalidMetadataValue;\r\n }\r\n return false;\r\n }\r\n\r\n get validMinLengthArray() {\r\n return this.formData.values.value.length > 0;\r\n }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private metadataService: MetadataService) { }\r\n\r\n ngOnInit() {\r\n this.metadataValueDate = null; // formatDate(new Date(),'yyyy-MM-ddTHH:mm','pt-BR');\r\n this.createForm();\r\n this.getAllMetadata();\r\n if (this.objInitialState.metadataValues) {\r\n this.metadataForm.patchValue({\r\n metadataStructureId: this.objInitialState.metadataValues.structure.metadataStructureId,\r\n values: this.objInitialState.metadataValues.values\r\n });\r\n }\r\n }\r\n\r\n createForm() {\r\n this.metadataForm = this.formBuilder.group({\r\n metadataStructureId: [null, Validators.required],\r\n values: [[], Validators.required]\r\n });\r\n }\r\n\r\n getAllMetadata() {\r\n this.errorMessage = '';\r\n this.metadataService.getAllMetadataStructures().subscribe(res => {\r\n this.availableMetadata = res;\r\n if (this.objInitialState.metadataValues) {\r\n this.getMetadataType(this.objInitialState.metadataValues.structure.metadataStructureId, true);\r\n this.oldStructure = this.objInitialState.metadataValues.structure;\r\n }\r\n if (this.objInitialState.configuredMetadata) {\r\n this.availableMetadata = res.filter(f => this.objInitialState.configuredMetadata.indexOf(f.metadataStructureId) == -1);\r\n }\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n });\r\n }\r\n\r\n getMetadataType(item, onInit = false) {\r\n const type = this.availableMetadata.filter(f => f.metadataStructureId == parseFloat(item)).map(m => m.type);\r\n this.metadataType = EnumTranslator.getEnumMetadataType(MetadataType[type]);\r\n\r\n // ao mudar o metadado, devo limpar a lista\r\n if (!onInit) {\r\n this.invalidMetadataValueError = '';\r\n this.metadataValue = '';\r\n this.metadataValueDate = null;\r\n this.formData.values.setValue([]);\r\n }\r\n\r\n }\r\n\r\n addMetadataValue(metadataValue) {\r\n const values = this.formData.values.value;\r\n values.push(this.metadataType !== 'Data' ? metadataValue : Utils.formatDate(metadataValue, 'DD/MM/YYYY HH:mm'));\r\n this.formData.values.setValue(values);\r\n this.metadataValue = '';\r\n this.metadataValueDate = null;\r\n }\r\n\r\n removeMetadataValue(metadataValue) {\r\n this.formData.values.value.splice(this.formData.values.value.indexOf(metadataValue), 1);\r\n this.metadataForm.updateValueAndValidity();\r\n }\r\n\r\n onClickOk() {\r\n let raw = this.metadataForm.getRawValue();\r\n let result = {\r\n oldStructure: this.oldStructure,\r\n newStructure: this.availableMetadata.filter(f => f.metadataStructureId == raw.metadataStructureId)[0],\r\n values: raw.values\r\n };\r\n\r\n this.itemSaved.next(result);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(null);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n cleanErrors() {\r\n this.invalidMetadataValue = false;\r\n this.invalidMetadataValueError = '';\r\n }\r\n\r\n validateMetadataText() {\r\n if (this.metadataType == 'Texto') {\r\n this.metadataValue = this.metadataValue.split(' ').filter(f => f !== '').join(' ');\r\n }\r\n }\r\n\r\n isValidDate(dateString) {\r\n var regEx = /^(([0-2]?[0-9])|(3[0-1]))(\\/|-)((0?[1-9])|(1[0-2]))(\\/|-)(\\d{4})\\s*((00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;\r\n if (dateString.match(regEx) == null) {\r\n this.invalidMetadataValueError = 'Data inválida';\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n isFloat(val) {\r\n var floatRegex = /^-?\\d+(?:[,]\\d*?)?$/;\r\n if (!floatRegex.test(val)) {\r\n this.invalidMetadataValueError = 'Ponto flutuante inválido';\r\n return false;\r\n }\r\n\r\n val = parseFloat(val);\r\n if (isNaN(val)) {\r\n this.invalidMetadataValueError = 'Ponto flutuante inválido';\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n isInt(val) {\r\n var intRegex = /^-?\\d+$/;\r\n if (!intRegex.test(val)) {\r\n this.invalidMetadataValueError = 'Número inteiro inválido';\r\n return false;\r\n }\r\n\r\n var intVal = parseInt(val, 10);\r\n if (parseFloat(val) == intVal && !isNaN(intVal)) {\r\n return true;\r\n } else {\r\n this.invalidMetadataValueError = 'Número inteiro inválido';\r\n return false;\r\n }\r\n }\r\n\r\n dateChanged(eventDate: string): Date | null {\r\n return !!eventDate ? new Date(eventDate) : null;\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n\r\n}\r\n","export default \"select.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jb21tb24vZWRpdC1xdWV1ZS1vdmVyZmxvdy1tb2RhbC9lZGl0LXF1ZXVlLW92ZXJmbG93LW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnRUFBZ0U7QUFDbEUiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2NvbW1vbi9lZGl0LXF1ZXVlLW92ZXJmbG93LW1vZGFsL2VkaXQtcXVldWUtb3ZlcmZsb3ctbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbInNlbGVjdC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSArIDE1cHgpIGNlbnRlcjtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {AbstractControl, FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-edit-queue-overflow-modal',\r\n templateUrl: './edit-queue-overflow-modal.component.html',\r\n styleUrls: ['./edit-queue-overflow-modal.component.css']\r\n})\r\nexport class EditQueueOverflowModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objInitialState: any;\r\n overflowForm: FormGroup;\r\n oldOverflowConfig;\r\n itemSaved: Subject = new Subject();\r\n availableConfigs;\r\n existingOrders;\r\n customInteractionQueueId;\r\n\r\n get formData() { return this.overflowForm.controls; }\r\n\r\n get orderError() {\r\n return this.existingOrders.filter(f => f == parseFloat(this.formData.order.value)).length > 0;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if (this.objInitialState) {\r\n this.availableConfigs = this.objInitialState.availableConfig;\r\n if (this.objInitialState.overflow) {\r\n this.oldOverflowConfig = this.objInitialState.overflow;\r\n this.loadContent(this.objInitialState.overflow);\r\n this.customInteractionQueueId = this.oldOverflowConfig.customInteractionQueueConfigId;\r\n }\r\n if (this.objInitialState.customInteractionQueueConfigId) {\r\n this.customInteractionQueueId = this.objInitialState.customInteractionQueueConfigId;\r\n }\r\n\r\n if (this.objInitialState.existingOrders) {\r\n this.existingOrders = this.objInitialState.existingOrders;\r\n }\r\n }\r\n }\r\n\r\n loadContent(item) {\r\n this.overflowForm.patchValue({\r\n overflowCustomInteractionQueueConfigId: item.overflowCustomInteractionQueueConfigId,\r\n order: item.order\r\n });\r\n }\r\n\r\n createForm() {\r\n this.overflowForm = this.formBuilder.group({\r\n overflowCustomInteractionQueueConfigId: [0, this.validateSelectedQueue],\r\n order: [1, [ Validators.min(1), Validators.max(2147483647), CustomValidator.numeric ]]\r\n });\r\n }\r\n\r\n onClickOk() {\r\n let raw = this.overflowForm.getRawValue();\r\n raw.customInteractionQueueConfigId = this.customInteractionQueueId;\r\n raw.overflowCustomInteractionQueueConfigName =\r\n this.availableConfigs.filter(f => f.id == raw.overflowCustomInteractionQueueConfigId)[0].name;\r\n let response = {oldOverflow: this.oldOverflowConfig, newOverflow: raw};\r\n\r\n this.itemSaved.next(response);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n validateSelectedQueue(control: AbstractControl) {\r\n if (control.value == 0 || control.value == undefined) {\r\n return {'requiredQueue' : true}\r\n }\r\n return null;\r\n }\r\n}\r\n","export default \".color-shadow{\\r\\n text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jb21tb24vcXVldWUtY29sdW1ucy1wcmV2aWV3LW1vZGFsL3F1ZXVlLWNvbHVtbnMtcHJldmlldy1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsaUVBQWlFO0FBQ25FIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jb21tb24vcXVldWUtY29sdW1ucy1wcmV2aWV3LW1vZGFsL3F1ZXVlLWNvbHVtbnMtcHJldmlldy1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbG9yLXNoYWRvd3tcclxuICB0ZXh0LXNoYWRvdzogLTFweCAwIGJsYWNrLCAwIDFweCBibGFjaywgMXB4IDAgYmxhY2ssIDAgLTFweCBibGFjaztcclxufVxyXG5cclxuIl19 */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { HumanInteractionService } from '../../../../services/human-interaction.service';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {WfTableComponent} from '../../../../common/table-sort/wf-table.component';\r\nimport {Subject} from 'rxjs';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {CardInfo, InteractionQueue, InteractionQueueColumn} from '../../../../Models/human-interaction/cardInfo';\r\n\r\n@Component({\r\n selector: 'app-queue-columns-preview-modal',\r\n templateUrl: './queue-columns-preview-modal.component.html',\r\n styleUrls: ['./queue-columns-preview-modal.component.css']\r\n})\r\nexport class QueueColumnsPreviewModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n error = '';\r\n objInitialState: any;\r\n cardInfo: CardInfo;\r\n queueConfig: InteractionQueue;\r\n columns;\r\n rows;\r\n\r\n constructor(\r\n private humanInteractionService: HumanInteractionService,\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.columns = this.objInitialState;\r\n this.rows =[];\r\n this.cardInfo = {\r\n businessProcessId: 0,\r\n businessProcessInstanceId: 0,\r\n businessProcessName: '',\r\n captionText: '',\r\n color: '',\r\n creationDate: new Date(),\r\n customInteractionQueueConfigId: 0,\r\n detailsText: '',\r\n fontColor: '',\r\n interactionSymbolInfo: '',\r\n modifiedBy: '',\r\n stateDisplayName: '',\r\n stateExecutionOrder: 0,\r\n stateId: 0,\r\n stateLifeCycle: 0,\r\n stateModifyDate: new Date(),\r\n values: []\r\n }\r\n this.queueConfig = {\r\n orderDirection:0,\r\n orderByColumn:null,\r\n columns: this.columns,\r\n colors: []\r\n }\r\n }\r\n\r\n\r\n\r\n onClickOk() {\r\n\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CommonComponentsModule } from '../../common/common.module';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport {ColorPickerModule} from 'ngx-color-picker';\r\n\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport {BsDatepickerModule} from 'ngx-bootstrap/datepicker';\r\nimport {ServiceConfigurationListComponent} from './service-configuration-list/service-configuration-list.component';\r\nimport {ServiceConfigurationApiComponent} from './service-configuration-api/service-configuration-api.component';\r\nimport {ServiceConfigurationRuntimeComponent} from './service-configuration-runtime/service-configuration-runtime.component';\r\nimport {ServiceConfigurationInMemoryComponent} from './service-configuration-inMemory/service-configuration-inMemory.component';\r\nimport {ServiceConfigurationSchedulerComponent} from './service-configuration-scheduler/service-configuration-scheduler.component';\r\nimport { ServiceConfigurationBatcherComponent } from './service-configuration-batcher/service-configuration-batcher.component';\r\nimport {InteractionQueueConfigComponent} from './interaction-queue-config/interaction-queue-config.component';\r\nimport { CustomInteractionQueueConfigListComponent } from './custom-interaction-queue-config-list/custom-interaction-queue-config-list.component';\r\nimport {EditQueueColorModalComponent} from './common/edit-queue-color-modal/edit-queue-color-modal.component';\r\nimport {EditQueueColumnModalComponent} from './common/edit-queue-column-modal/edit-queue-column-modal.component';\r\nimport {QueueColumnsPreviewModalComponent} from './common/queue-columns-preview-modal/queue-columns-preview-modal.component';\r\nimport {HumanInteractionModule} from '../HumanInteraction/human-interaction.module';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CustomInteractionQueueConfigComponent } from './custom-interaction-queue-config/custom-interaction-queue-config.component';\r\nimport { configRouting } from './configuration.routing';\r\nimport { GlobalVariablesComponent } from './global-variables/global-variables.component';\r\nimport { GlobalVariableModalComponent } from './global-variables/global-variable-modal/global-variable-modal.component';\r\nimport {DriverUpdateListComponent} from './driver-update-list/driver-update-list.component';\r\nimport { GlobalVariableGroupsComponent } from './global-variable-groups/global-variable-groups.component';\r\nimport { GlobalVariableGroupModalComponent } from './global-variable-groups/global-variable-group-modal/global-variable-group-modal.component';\r\nimport {TabsModule} from 'ngx-bootstrap/tabs';\r\nimport {MetadataStructureModalComponent} from './metadata-structure-list/metadata-structure-modal/metadata-structure-modal.component';\r\nimport {MetadataStructureListComponent} from './metadata-structure-list/metadata-structure-list.component';\r\nimport {UserMetadataAdminComponent} from './user-metadata-admin/user-metadata-admin.component';\r\nimport {UserMetadataAdminModalComponent} from './user-metadata-admin/user-metadata-admin-modal/user-metadata-admin-modal.component';\r\nimport {EditQueueOverflowModalComponent} from './common/edit-queue-overflow-modal/edit-queue-overflow-modal.component';\r\nimport {EditQueueMetadataModalComponent} from './common/edit-queue-metadata-modal/edit-queue-metadata-modal.component';\r\nimport {DistributionCustomInteractionComponent} from './distribution-custom-interaction/distribution-custom-interaction.component';\r\nimport { PoolsComponent } from './pools/pools.component';\r\nimport { SystemFlowComponent } from './system-flow/system-flow.component';\r\nimport { SystemFlowModalComponent } from './system-flow/system-flow-modal/system-flow-modal.component';\r\nimport { SystemFlowImportComponent } from './system-flow/system-flow-import/system-flow-import.component';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { PoolsModalComponent } from './pools/pools-modal/pools-modal.component';\r\nimport {ServiceConfigurationWebClientComponent} from './service-configuration-webClient/service-configuration-webClient.component';\r\nimport { DataExtractionLayoutComponent } from './data-extraction-layout/data-extraction-layout.component';\r\nimport { ExtractionLayoutModalComponent } from './data-extraction-layout/extraction-layout-modal/extraction-layout-modal.component';\r\nimport {SchedulingComponent} from './scheduling/scheduling.component';\r\nimport { ExtractionSchedulingModalComponent } from './scheduling/extraction-scheduling-modal/extraction-scheduling-modal.component';\r\nimport {TaskMonitoringComponent} from './task-monitoring/task-monitoring.component';\r\nimport { ErrorMessageModalComponent } from './task-monitoring/error-message-modal/error-message-modal.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ServiceConfigurationListComponent,\r\n ServiceConfigurationApiComponent,\r\n ServiceConfigurationRuntimeComponent,\r\n ServiceConfigurationInMemoryComponent,\r\n ServiceConfigurationSchedulerComponent,\r\n ServiceConfigurationBatcherComponent,\r\n ServiceConfigurationWebClientComponent,\r\n InteractionQueueConfigComponent,\r\n CustomInteractionQueueConfigListComponent,\r\n EditQueueColumnModalComponent,\r\n EditQueueColorModalComponent,\r\n QueueColumnsPreviewModalComponent,\r\n CustomInteractionQueueConfigComponent,\r\n GlobalVariablesComponent,\r\n GlobalVariableModalComponent,\r\n DriverUpdateListComponent,\r\n GlobalVariableGroupsComponent,\r\n GlobalVariableGroupModalComponent,\r\n MetadataStructureListComponent,\r\n MetadataStructureModalComponent,\r\n UserMetadataAdminComponent,\r\n UserMetadataAdminModalComponent,\r\n EditQueueOverflowModalComponent,\r\n EditQueueMetadataModalComponent,\r\n DistributionCustomInteractionComponent,\r\n PoolsComponent,\r\n PoolsModalComponent,\r\n SystemFlowComponent,\r\n SystemFlowModalComponent,\r\n SystemFlowImportComponent,\r\n DataExtractionLayoutComponent,\r\n ExtractionLayoutModalComponent,\r\n SchedulingComponent,\r\n ExtractionSchedulingModalComponent,\r\n TaskMonitoringComponent,\r\n ErrorMessageModalComponent\r\n ],\r\n entryComponents: [\r\n ServiceConfigurationListComponent,\r\n ServiceConfigurationApiComponent,\r\n ServiceConfigurationRuntimeComponent,\r\n ServiceConfigurationInMemoryComponent,\r\n ServiceConfigurationSchedulerComponent,\r\n ServiceConfigurationBatcherComponent,\r\n ServiceConfigurationWebClientComponent,\r\n InteractionQueueConfigComponent,\r\n CustomInteractionQueueConfigListComponent,\r\n EditQueueColumnModalComponent,\r\n EditQueueColorModalComponent,\r\n QueueColumnsPreviewModalComponent,\r\n GlobalVariablesComponent,\r\n GlobalVariableModalComponent,\r\n DriverUpdateListComponent,\r\n GlobalVariableGroupsComponent,\r\n GlobalVariableGroupModalComponent,\r\n MetadataStructureListComponent,\r\n MetadataStructureModalComponent,\r\n UserMetadataAdminComponent,\r\n UserMetadataAdminModalComponent,\r\n EditQueueOverflowModalComponent,\r\n EditQueueMetadataModalComponent,\r\n DistributionCustomInteractionComponent,\r\n PoolsComponent,\r\n PoolsModalComponent,\r\n SystemFlowComponent,\r\n SystemFlowModalComponent,\r\n SystemFlowImportComponent,\r\n DataExtractionLayoutComponent,\r\n ExtractionLayoutModalComponent,\r\n SchedulingComponent,\r\n ExtractionSchedulingModalComponent,\r\n TaskMonitoringComponent,\r\n ErrorMessageModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CommonComponentsModule,\r\n ReactiveFormsModule,\r\n NgxPaginationModule,\r\n BrowserAnimationsModule,\r\n BsDatepickerModule.forRoot(),\r\n FormsModule,\r\n ColorPickerModule,\r\n HumanInteractionModule,\r\n DragDropModule,\r\n configRouting,\r\n TabsModule.forRoot(),\r\n TooltipModule.forRoot()\r\n ]\r\n})\r\nexport class ConfigurationModule { }\r\n","import {RouterModule, Routes} from '@angular/router';\r\nimport {CustomInteractionQueueConfigComponent} from './custom-interaction-queue-config/custom-interaction-queue-config.component';\r\nimport {AuthorizationCheck} from '../../auth/authorizationCheck';\r\nimport {ModuleWithProviders} from '@angular/core';\r\nimport {MasterPageComponent} from '../../master/masterpage.component';\r\n\r\nconst Config_Routes: Routes = [\r\n {\r\n path: 'configCustomQueue/:customId',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: CustomInteractionQueueConfigComponent }],\r\n canActivate: [AuthorizationCheck],\r\n runGuardsAndResolvers: 'always'\r\n },\r\n {\r\n path: 'newConfigCustomQueue',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: CustomInteractionQueueConfigComponent }],\r\n canActivate: [AuthorizationCheck],\r\n runGuardsAndResolvers: 'always'\r\n }\r\n];\r\n\r\nexport const configRouting: ModuleWithProviders = RouterModule.forChild(Config_Routes);\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.disabledTrustee {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n\\r\\n.card-header {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n:host ::ng-deep .dropdown-list {\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n\\r\\n.tabScroll {\\r\\n /* min-height: 20rem; */\\r\\n max-height: 28rem;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jdXN0b20taW50ZXJhY3Rpb24tcXVldWUtY29uZmlnLWxpc3QvY3VzdG9tLWludGVyYWN0aW9uLXF1ZXVlLWNvbmZpZy1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOzs7QUFHQTtFQUNFLGdFQUFnRTtBQUNsRTs7O0FBR0E7RUFDRSwyQkFBMkI7QUFDN0I7OztBQUVBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOzs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOzs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vY3VzdG9tLWludGVyYWN0aW9uLXF1ZXVlLWNvbmZpZy1saXN0L2N1c3RvbS1pbnRlcmFjdGlvbi1xdWV1ZS1jb25maWctbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5cclxuc2VsZWN0LmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtICsgMTVweCkgY2VudGVyO1xyXG59XHJcblxyXG5cclxuLmNhcmQtdGl0bGV7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmRpc2FibGVkVHJ1c3RlZSB7XHJcbiAgY29sb3I6ICNjY2M7XHJcbn1cclxuXHJcbi5jYXJkLWhlYWRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmRyb3Bkb3duLWxpc3Qge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YWJTY3JvbGwge1xyXG4gIC8qIG1pbi1oZWlnaHQ6IDIwcmVtOyAqL1xyXG4gIG1heC1oZWlnaHQ6IDI4cmVtO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport {FormBuilder, FormGroup} from '@angular/forms';\r\nimport {BusinessProcessService} from '../../../services/business-process.service';\r\nimport {HumanInteractionService} from '../../../services/human-interaction.service';\r\nimport {take, tap} from 'rxjs/operators';\r\nimport {PaginationInstance} from 'ngx-pagination';\r\nimport {WebClientConfigurationService} from '../../../services/configuration/web-client-configuration.service';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {InteractionQueueConfigService} from '../../../services/interaction-queue-config.service';\r\nimport {Utils} from '../../../services/utils';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-new-interaction-queue-configuration',\r\n templateUrl: './custom-interaction-queue-config-list.component.html',\r\n styleUrls: ['./custom-interaction-queue-config-list.component.css']\r\n})\r\nexport class CustomInteractionQueueConfigListComponent implements OnInit {\r\n\r\n config: PaginationInstance;\r\n publishedBusinessProcess = [];\r\n customQueueConfigForm: FormGroup;\r\n errorMessage = '';\r\n successMessage = '';\r\n loadingList = false;\r\n customInteractionQueueConfigList: any[];\r\n pageIndex = 1;\r\n totalPagination = 0;\r\n totalCustomQueueListed: number;\r\n isRemoving = false;\r\n isDuplicating = false;\r\n constructor(private formBuilder: FormBuilder, private bpService: BusinessProcessService, private modalService: GenericModalService,\r\n private interactionQueueConfig: InteractionQueueConfigService, private webClientConfig: WebClientConfigurationService,\r\n private router: Router) { }\r\n\r\n get formData() { return this.customQueueConfigForm.controls; }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.getAllBpPublished();\r\n this.getQueueConfig(1, false);\r\n }\r\n\r\n createForm() {\r\n this.customQueueConfigForm = this.formBuilder.group({\r\n queueName: null,\r\n businessProcessId: null\r\n });\r\n }\r\n\r\n getAllBpPublished() {\r\n this.errorMessage = '';\r\n this.bpService.getAllBusinessProcessesPublished().subscribe(s => {\r\n this.publishedBusinessProcess = s;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n resetFilter() {\r\n this.customQueueConfigForm.reset();\r\n }\r\n\r\n getQueueConfig(page: number, hideFilter = true) {\r\n this.errorMessage = '';\r\n const filter = this.customQueueConfigForm.getRawValue();\r\n filter.queueName = filter.queueName === '' ? null : filter.queueName;\r\n page = (this.totalCustomQueueListed == 1 && this.isRemoving && page > 1) ? page - 1 : page;\r\n page = this.isDuplicating ? this.totalPagination : page;\r\n this.isRemoving = false;\r\n this.isDuplicating = false;\r\n\r\n filter.pageIndex = this.pageIndex = page;\r\n\r\n this.customInteractionQueueConfigList = [];\r\n\r\n this.loadingList = true;\r\n this.interactionQueueConfig.getCustomInteractionQueueConfigList(filter)\r\n .pipe(tap( res => {\r\n this.getPaginationConfig(page, res.total);\r\n }))\r\n .subscribe(ret => {\r\n this.customInteractionQueueConfigList = ret.items.sort((n1, n2) => {\r\n if (n1.name > n2.name) {\r\n return 1;\r\n }\r\n\r\n if (n1.name < n2.name) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n if (hideFilter && ret.items.length > 0) {\r\n this.closeFilter();\r\n }\r\n this.totalCustomQueueListed = this.customInteractionQueueConfigList.length;\r\n this.loadingList = false;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n closeFilter() {\r\n // recolher os filtros, para melhor visualização do resultado\r\n document.getElementById('cardFilter').classList.add('collapsed-card');\r\n document.getElementById('bodyFilter').style.display = 'none';\r\n document.getElementById('footerFilter').style.display = 'none';\r\n\r\n // fechar o filtro\r\n const collapseFilter = document.getElementById('collapseFilter');\r\n collapseFilter.classList.add('fa-plus');\r\n collapseFilter.classList.remove('fa-minus');\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n // tratamento para enviar a última pagina quando for nova fila, para que atualize corretamente\r\n let totalPages = Math.ceil(_totalItems / item);\r\n let totalItems = _totalItems / item;\r\n // verificar se o valor sem arredondamento é menor que o valor arredondado\r\n // se for menor, quer dizer que ainda estará nesta página, caso contrário, deverá estar na próxima página\r\n this.totalPagination = totalItems < totalPages ? totalPages : totalPages + 1;\r\n\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n cloneConfig(queue) {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Duplicação da Fila',\r\n `Confirma a duplicação da fila ${queue.name}?`);\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.interactionQueueConfig.cloneCustomInteractionQueueConfig(queue.id).subscribe(r => {\r\n this.successMessage = 'Fila duplicada com sucesso!';\r\n setTimeout(() => {\r\n this.isDuplicating = true;\r\n this.getQueueConfig(this.pageIndex);\r\n this.successMessage = '';\r\n }, 1500);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n }\r\n\r\n deleteConfig(queue) {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n queue = this.removeExtensionData(queue);\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão da Fila',\r\n `Confirma a exclusão da fila ${queue.name}?`);\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.interactionQueueConfig.deleteCustomInteractionQueueConfig(queue).subscribe(r => {\r\n this.successMessage = 'Fila excluída com sucesso!';\r\n setTimeout(() => {\r\n this.isRemoving = true;\r\n this.getQueueConfig(this.pageIndex);\r\n this.successMessage = '';\r\n }, 1500);\r\n }, error1 => {\r\n this.isRemoving = false;\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onCreateOrEdit(id = 0) {\r\n if (id > 0) {\r\n localStorage.setItem('customQueuePageIndex', this.pageIndex.toString());\r\n this.router.navigate(['/configCustomQueue', id]);\r\n } else {\r\n localStorage.setItem('customQueuePageIndex', this.totalPagination.toString());\r\n this.router.navigate(['/newConfigCustomQueue']);\r\n }\r\n }\r\n\r\n removeExtensionData(item) {\r\n const key = 'extensionData';\r\n delete item[key];\r\n if (item['colors'].length > 0) {\r\n item['colors'] = this.getNewArray(item['colors'], [key]);\r\n }\r\n if (item['fieldColumns'].length > 0) {\r\n item['fieldColumns'] = this.getNewArray(item['fieldColumns'], [key]);\r\n }\r\n if (item['groups'].length > 0) {\r\n item['groups'] = this.getNewArray(item['groups'], [key]);\r\n }\r\n if (item['overflowQueues'].length > 0) {\r\n item['overflowQueues'] = this.getNewArray(item['overflowQueues'], [key]);\r\n }\r\n if (item['users'].length > 0) {\r\n item['users'] = this.getNewArray(item['users'], [key]);\r\n }\r\n if (item['orderByColumn']) {\r\n item['orderByColumn'][key] = null;\r\n }\r\n return item;\r\n }\r\n\r\n getNewArray(array, keys = []) {\r\n return array.map(obj => Utils.mapOut(obj, keys));\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.column-disabled {\\r\\n background-color: #f5f0f0;\\r\\n}\\r\\n\\r\\n.button-right{\\r\\n display:flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9jdXN0b20taW50ZXJhY3Rpb24tcXVldWUtY29uZmlnL2N1c3RvbS1pbnRlcmFjdGlvbi1xdWV1ZS1jb25maWcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLFlBQVk7RUFDWix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxnRUFBZ0U7QUFDbEUiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2N1c3RvbS1pbnRlcmFjdGlvbi1xdWV1ZS1jb25maWcvY3VzdG9tLWludGVyYWN0aW9uLXF1ZXVlLWNvbmZpZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb2x1bW4tZGlzYWJsZWQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWYwZjA7XHJcbn1cclxuXHJcbi5idXR0b24tcmlnaHR7XHJcbiAgZGlzcGxheTpmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSArIDE1cHgpIGNlbnRlcjtcclxufVxyXG4iXX0= */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractControl, FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {HumanInteractionService} from '../../../services/human-interaction.service';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {InteractionQueueConfigService} from '../../../services/interaction-queue-config.service';\r\nimport {BusinessProcessService} from '../../../services/business-process.service';\r\nimport {AccessControlService} from '../../../services/access-control.service';\r\nimport {error} from 'selenium-webdriver';\r\nimport {AdminService} from '../../../services/admin.service';\r\nimport {QueueColumnsPreviewModalComponent} from '../common/queue-columns-preview-modal/queue-columns-preview-modal.component';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {DropdownMultiselectComponent} from '../../../common/dropdown-multiselect/dropdown-multiselect.component';\r\nimport {BehaviorSubject, config} from 'rxjs';\r\nimport {moveItemInArray} from '@angular/cdk/drag-drop';\r\nimport {EditQueueColumnModalComponent} from '../common/edit-queue-column-modal/edit-queue-column-modal.component';\r\nimport {take} from 'rxjs/operators';\r\nimport {EditQueueColorModalComponent} from '../common/edit-queue-color-modal/edit-queue-color-modal.component';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {EditQueueOverflowModalComponent} from '../common/edit-queue-overflow-modal/edit-queue-overflow-modal.component';\r\nimport {EditQueueMetadataModalComponent} from '../common/edit-queue-metadata-modal/edit-queue-metadata-modal.component';\r\nimport {Utils} from '../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-custom-interaction-queue-config',\r\n templateUrl: './custom-interaction-queue-config.component.html',\r\n styleUrls: ['./custom-interaction-queue-config.component.css']\r\n})\r\nexport class CustomInteractionQueueConfigComponent implements OnInit {\r\n\r\n // @ViewChild('childUsersDropDown', {static: false}) childUsersDropDown: DropdownMultiselectComponent;\r\n componentForm: FormGroup;\r\n customQueueConfig;\r\n availableBusinessProcess;\r\n availableStates;\r\n availableUsers;\r\n availableGroups;\r\n availableCustomInteractionQueues;\r\n errorMessage = '';\r\n successMessage = '';\r\n submitted;\r\n pleaseWait;\r\n maxLengthName = 30;\r\n hasName = false;\r\n divState = true;\r\n hasColumns = false;\r\n availableColumns;\r\n pageIndex = 1;\r\n\r\n dmSelectedUsers = [];\r\n dmSelectedGroups = [];\r\n disableUserDropdown$ = new BehaviorSubject(true);\r\n disableGroupDropdown$ = new BehaviorSubject(true);\r\n orderDirections = [{ orderId: 1, orderName: 'Crescente' }, { orderId: 2, orderName: 'Decrescente' }];\r\n\r\n isNew = false;\r\n routerLink = this.router.url;\r\n\r\n get formData() { return this.componentForm.controls; }\r\n get overflowError() {\r\n return this.formData.overflowValues.value.length > 0 &&\r\n (this.formData.maxCountInstances.value == 0 || this.formData.maxCountInstances.value == null);\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private interactionQueueConfig: InteractionQueueConfigService, private router: Router,\r\n private admService: AdminService, private accessControl: AccessControlService, private bpService: BusinessProcessService,\r\n private route: ActivatedRoute, private modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.createForm();\r\n this.loadContent();\r\n this.getAllBpPublished();\r\n this.loadGroups();\r\n }\r\n\r\n editingItem(customId) {\r\n this.errorMessage = '';\r\n const filter = { queueName: null, businessProcessId: null, pageIndex: this.pageIndex };\r\n this.interactionQueueConfig.getCustomInteractionQueueConfigList(filter)\r\n .subscribe(result => {\r\n this.customQueueConfig = result.items.filter(f => f.id == customId)[0]; // pego o fieldColumns\r\n const res = result.items.filter(f => f.id == customId)[0];\r\n if (res) {\r\n this.hasName = true;\r\n\r\n this.availableCustomInteractionQueues = result.items.filter(f => f.businessProcessId == res.businessProcessId);\r\n this.getStates(res);\r\n this.setStateValidator(!res.isDefault);\r\n this.divState = !res.isDefault;\r\n\r\n if (!res.isDefault) { // se for default, eu estou carregando dentro de getStates\r\n this.loadUsersOnState(res);\r\n }\r\n\r\n res.fieldColumns = res.fieldColumns.sort(function (a, b) {\r\n return a.columnOrder - b.columnOrder;\r\n });\r\n\r\n for (let i = 0; i < res.fieldColumns.length; i++) {\r\n res.fieldColumns[i].isEnabled = true;\r\n }\r\n\r\n this.complementFieldColumns(res.fieldColumns);\r\n\r\n if (res.users) {\r\n this.dmSelectedUsers = res.users.map(m => m.userId);\r\n }\r\n this.dmSelectedGroups = res.groups.map(m => m.groupId);\r\n\r\n this.componentForm.patchValue({\r\n id: res.id,\r\n name: res.name,\r\n businessProcessId: res.businessProcessId,\r\n stateId: res.stateId,\r\n isDefault: res.isDefault,\r\n columns: res.fieldColumns,\r\n colors: res.colors,\r\n maxCountInstances: res.maxCountInstances,\r\n orderByColumn: res.orderByColumn,\r\n orderByColumnId: res.orderByColumn ? res.orderByColumn.id : 0,\r\n orderDirection: res.orderDirection,\r\n hasOrdering: res.orderByColumn && res.orderDirection !== 0 && res.fieldColumns.length > 0\r\n });\r\n\r\n this.hasColumns = res.fieldColumns.filter(f => f.isEnabled == true).length > 0;\r\n // this.hasOrdering = res.orderByColumn && res.orderDirection !== 0 && res.fieldColumns.length > 0;\r\n this.availableColumns = res.fieldColumns.filter(f => f.isEnabled == true);\r\n\r\n this.getOverflowCustomIntQueues(res.id);\r\n this.getMetadataValues(res.id);\r\n\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadContent() {\r\n this.route.params.subscribe(params => {\r\n // if (!isNaN(params['pageIndex'])) {\r\n // this.pageIndex = parseInt(params['pageIndex'], 10);\r\n // }\r\n if (localStorage.getItem('customQueuePageIndex')) {\r\n if (!isNaN(parseInt(localStorage.getItem('customQueuePageIndex'), 10))) {\r\n this.pageIndex = parseInt(localStorage.getItem('customQueuePageIndex'), 10);\r\n } else {\r\n this.errorMessage = 'Ocorreu um erro ao carregar as informações';\r\n return;\r\n }\r\n }\r\n\r\n if (this.routerLink.indexOf('/configCustomQueue/') > -1) {\r\n if (!isNaN(params['customId'])) {\r\n this.isNew = params['customId'] === 0;\r\n if (params['customId'] !== 0 ) {\r\n // editando\r\n this.editingItem(params['customId']);\r\n } else {\r\n this.errorMessage = 'O parâmetro informado não é válido.';\r\n }\r\n } else {\r\n this.errorMessage = 'O parâmetro informado não é válido.';\r\n }\r\n } else if (this.routerLink == '/newConfigCustomQueue') {\r\n // nova fila\r\n this.isNew = true;\r\n this.hasColumns = true;\r\n\r\n const systemFields = [\r\n { name: 'Id da instância', type: 1 }, { name: 'Usuário', type: 8 }, { name: 'Tempo em fila', type: 5 }\r\n ];\r\n\r\n this.formData.columns.setValue([]);\r\n const fields = [];\r\n\r\n for (let i = 0; i < systemFields.length; i++) {\r\n\r\n const field = {\r\n id: 0,\r\n name: systemFields[i].name,\r\n columnOrder: i,\r\n customInteractionQueueConfigId: 0,\r\n type: 1,\r\n systemField: systemFields[i].type,\r\n businessProcessFieldId: 0,\r\n isEnabled: true\r\n };\r\n fields.push(field);\r\n }\r\n this.complementFieldColumns(fields);\r\n this.formData.columns.setValue(fields);\r\n this.availableColumns = fields.filter(f => f.isEnabled == true);\r\n }\r\n });\r\n }\r\n\r\n complementFieldColumns(fieldColumns) {\r\n if (fieldColumns.length < 6) {\r\n for (let i = fieldColumns.length; i < 6; i++) {\r\n fieldColumns.push({\r\n businessProcessFieldId: 0,\r\n columnOrder: i,\r\n customInteractionQueueConfigId: 0,\r\n id: 0,\r\n name: `Coluna ${i + 1}`,\r\n systemField: 0,\r\n type: 0,\r\n isEnabled: false\r\n });\r\n }\r\n }\r\n // return fieldColumns;\r\n }\r\n\r\n loadUsersOnState(element) {\r\n this.errorMessage = '';\r\n this.cleanSelectedUser();\r\n this.dmSelectedGroups = [];\r\n this.disableGroupDropdown$.next(true);\r\n\r\n if (element !== undefined) {\r\n this.accessControl.getUsersWithEffectivePermissionOnState([ element.stateId ], 'Interagir').subscribe(users => {\r\n if (users.length > 0) {\r\n this.disableUserDropdown$.next(false);\r\n this.availableUsers = users;\r\n }\r\n this.disableGroupDropdown$.next(false);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n }\r\n\r\n loadUsersOnAnyState(stateIds: number[]) {\r\n this.errorMessage = '';\r\n this.availableUsers = [];\r\n if (this.componentForm.controls.businessProcessId.value !== null) {\r\n this.disableGroupDropdown$.next(false);\r\n }\r\n\r\n this.accessControl.getUsersWithEffectivePermissionOnAnyState(stateIds, 'Interagir')\r\n .subscribe(users => {\r\n if (users.length > 0) {\r\n this.availableUsers = users;\r\n this.disableUserDropdown$.next(false);\r\n } else {\r\n this.disableUserDropdown$.next(true);\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadGroups() {\r\n this.errorMessage = '';\r\n this.admService.loadGroupList().subscribe(groups => {\r\n this.availableGroups = groups.filter(f => f.enabled === true);\r\n this.pleaseWait = false;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n cleanSelectedUser() {\r\n this.availableUsers = [];\r\n this.dmSelectedUsers = [];\r\n this.disableUserDropdown$.next(true);\r\n }\r\n\r\n createForm() {\r\n this.componentForm = this.formBuilder.group({\r\n id: 0,\r\n name: [ null, Validators.compose([ Validators.required, Validators.maxLength(this.maxLengthName), this.validateSpecialChars ])],\r\n businessProcessId: [ null, Validators.required],\r\n stateId: [{ value: 0, disabled: true}],\r\n isDefault: false,\r\n columns: [[]],\r\n colors: [[]],\r\n maxCountInstances: [null, Validators.compose([Validators.max(2147483647), CustomValidator.numericButNotRequired])],\r\n overflowValues: [[]],\r\n metadataValues: [[]],\r\n orderByColumn: [],\r\n orderByColumnId: null,\r\n orderDirection: null,\r\n hasOrdering: false\r\n });\r\n }\r\n\r\n preventChars(e) {\r\n console.log(e);\r\n switch (e.key.toLowerCase()) {\r\n case 'e':\r\n case '-':\r\n case '+': {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n getAllBpPublished() {\r\n this.availableBusinessProcess = null;\r\n this.errorMessage = '';\r\n this.bpService.getAllBusinessProcessesPublished().subscribe(s => {\r\n this.availableBusinessProcess = s;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getOverflowCustomIntQueues(configId) {\r\n this.errorMessage = '';\r\n this.interactionQueueConfig.getOverflowCustomIntQueues(configId).subscribe(res => {\r\n for (let i = 0; i < res.length; i++) {\r\n let queue = this.availableCustomInteractionQueues.filter(f => f.id == res[i].overflowCustomInteractionQueueConfigId)[0];\r\n res[i].overflowCustomInteractionQueueConfigName = queue.name;\r\n }\r\n this.formData.overflowValues.setValue(res);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getMetadataValues(configId) {\r\n this.errorMessage = '';\r\n this.interactionQueueConfig.getAllCustomIntQueueMetadataValues(configId).subscribe(res => {\r\n this.formData.metadataValues.setValue(res);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getStates(element) {\r\n this.errorMessage = '';\r\n this.availableStates = [];\r\n this.componentForm.controls.stateId.setValue(null);\r\n this.cleanSelectedUser();\r\n this.dmSelectedGroups = [];\r\n this.disableGroupDropdown$.next(true);\r\n\r\n if (element !== undefined) {\r\n const filter = { queueName: null, businessProcessId: element.businessProcessId, pageIndex: 1 };\r\n this.interactionQueueConfig.getCustomInteractionQueueConfigList(filter).subscribe(result => {\r\n this.availableCustomInteractionQueues = result.items\r\n .filter(f => f.businessProcessId == element.businessProcessId && f.isDefault == false);\r\n }, error1 => this.errorMessage = error1);\r\n\r\n this.bpService.getStatesByBusinessProcessId(element.businessProcessId).subscribe(result => {\r\n // se for fila padrão, não devo carregar os estados e devo carregar os usuários\r\n // e habilitar novamente os grupos\r\n if (this.formData.isDefault.value) {\r\n this.loadUsersOnAnyState(result.map(m => m.stateId));\r\n this.disableGroupDropdown$.next(false);\r\n } else {\r\n this.availableStates = result;\r\n }\r\n this.setStateValidator(!this.formData.isDefault.value);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n } else {\r\n this.availableCustomInteractionQueues = [];\r\n this.setStateValidator(false);\r\n }\r\n }\r\n\r\n getSelectedUsers(element) {\r\n this.dmSelectedUsers = element;\r\n }\r\n\r\n getSelectedGroups(element) {\r\n this.dmSelectedGroups = element;\r\n }\r\n\r\n enableIsDefaultField() {\r\n const name = this.formData.name.value.toString().trim();\r\n this.hasName = name.length > 0;\r\n }\r\n\r\n setStateValidator(enable: boolean) {\r\n if (enable) {\r\n this.componentForm.get('stateId').setValidators([ Validators.required ]);\r\n this.componentForm.get('stateId').enable();\r\n } else {\r\n this.componentForm.get('stateId').clearValidators();\r\n this.componentForm.get('stateId').disable();\r\n }\r\n this.componentForm.get('stateId').updateValueAndValidity();\r\n }\r\n\r\n checkDefault(element) {\r\n this.errorMessage = '';\r\n let stateIds = [];\r\n if (element.target.checked && this.availableStates && this.availableStates.length > 0) {\r\n stateIds = this.availableStates.map(m => m.stateId);\r\n }\r\n this.availableStates = [];\r\n this.formData.stateId.setValue(null);\r\n\r\n this.divState = !element.target.checked;\r\n\r\n if (element.target.checked) {\r\n this.formData.name.setValue(`${this.formData.name.value}*`);\r\n this.formData.maxCountInstances.setValue(null);\r\n this.formData.metadataValues.setValue([]);\r\n this.formData.overflowValues.setValue([]);\r\n this.setStateValidator(false);\r\n this.loadUsersOnAnyState(stateIds);\r\n } else {\r\n const name = this.formData.name.value;\r\n if (name.substring(name.length - 1) == '*') {\r\n this.formData.name.setValue(name.slice(0, -1));\r\n }\r\n // se eu desmarco o flag de fila padrão, devo recarregar o combo de estados\r\n const filter = { businessProcessId: this.formData.businessProcessId.value, isDefault: element.target.checked};\r\n this.getStates(filter);\r\n }\r\n }\r\n\r\n enableOrdering(element) {\r\n this.errorMessage = '';\r\n if (element.target.checked) {\r\n this.componentForm.get('orderByColumnId').setValidators([ Validators.required ]);\r\n this.componentForm.get('orderDirection').setValidators([ Validators.required ]);\r\n this.formData.orderDirection.setValue('1');\r\n if (this.availableColumns && this.availableColumns.length > 0) {\r\n this.formData.orderByColumnId.setValue('0');\r\n this.formData.orderByColumn.setValue(this.availableColumns.filter(f => f.columnOrder === 0)[0]);\r\n }\r\n } else {\r\n this.componentForm.get('orderByColumnId').clearValidators();\r\n this.componentForm.get('orderDirection').clearValidators();\r\n this.formData.orderByColumnId.setValue(null);\r\n this.formData.orderDirection.setValue(null);\r\n }\r\n this.componentForm.updateValueAndValidity();\r\n }\r\n\r\n onSave() {\r\n this.submitted = true;\r\n this.errorMessage = '';\r\n let raw = this.componentForm.getRawValue();\r\n raw.users = this.availableUsers.filter(item => {\r\n return (this.dmSelectedUsers.indexOf(item.userId) > -1);\r\n });\r\n raw.groups = this.availableGroups.filter(item => {\r\n return (this.dmSelectedGroups.indexOf(item.groupId) > -1);\r\n });\r\n raw = this.removeExtensionData(raw);\r\n const columns = raw.columns.filter(f => f.isEnabled === true);\r\n\r\n for (let i = 0; i < columns.length; i++) {\r\n columns[i].columnOrder = i;\r\n }\r\n\r\n const config = {\r\n id: raw.id,\r\n name: raw.name,\r\n businessProcessId: raw.businessProcessId,\r\n stateId: raw.stateId || 0,\r\n users: raw.users,\r\n groups: raw.groups,\r\n fieldColumns: columns,\r\n colors: raw.colors,\r\n isDefault: raw.isDefault,\r\n orderDirection: raw.hasOrdering ? parseInt(raw.orderDirection, 10) : 0,\r\n orderByColumn: raw.hasOrdering ? raw.orderByColumn : null,\r\n metadataValues: raw.metadataValues,\r\n overflowQueues: raw.overflowValues,\r\n maxCountInstances: raw.maxCountInstances == 0 ? null : raw.maxCountInstances\r\n };\r\n\r\n if (this.isNew) {\r\n delete config.id;\r\n this.interactionQueueConfig.createInteractionQueueConfig(config).subscribe(result => {\r\n this.isNew = false;\r\n this.componentForm.controls.id.setValue(result);\r\n this.editingItem(result);\r\n this.successMessage = 'Configuração criada com sucesso';\r\n setTimeout(() => {\r\n this.submitted = false;\r\n this.successMessage = '';\r\n }, 2000);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.submitted = false;\r\n console.error(error1);\r\n });\r\n } else {\r\n this.interactionQueueConfig.updateInteractionQueueConfig(config).subscribe(result => {\r\n this.successMessage = 'Configuração atualizada com sucesso';\r\n this.editingItem(config.id);\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.submitted = false;\r\n }, 2000);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.submitted = false;\r\n console.error(error1);\r\n });\r\n }\r\n }\r\n\r\n removeExtensionData(item) {\r\n const key = 'extensionData';\r\n delete item[key];\r\n if (item['colors'].length > 0) {\r\n item['colors'] = this.getNewArray(item['colors'], [key]);\r\n }\r\n if (item['columns'].length > 0) {\r\n item['columns'] = this.getNewArray(item['columns'], [key]);\r\n }\r\n if (item['groups'].length > 0) {\r\n item['groups'] = this.getNewArray(item['groups'], [key]);\r\n }\r\n if (item['overflowValues'].length > 0) {\r\n item['overflowValues'] = this.getNewArray(item['overflowValues'], [key]);\r\n }\r\n if (item['users'].length > 0) {\r\n item['users'] = this.getNewArray(item['users'], [key]);\r\n }\r\n if (item['orderByColumn']) {\r\n delete item['orderByColumn'][key];\r\n }\r\n if (item['metadataValues']) {\r\n item['metadataValues'] = this.getNewArray(item['metadataValues'], [key]);\r\n for (let i = 0; i < item['metadataValues'].length; i++) {\r\n delete item['metadataValues'][i].structure.extensionData;\r\n }\r\n }\r\n return item;\r\n }\r\n\r\n getNewArray(array, keys = []) {\r\n return array.map(obj => Utils.mapOut(obj, keys));\r\n }\r\n\r\n updateOrderByColumn() {\r\n this.errorMessage = '';\r\n const id = parseInt(this.formData.orderByColumnId.value, 10);\r\n const column = this.formData.columns.value.filter(f => f.id == id)[0];\r\n\r\n this.formData.orderByColumn.setValue(column);\r\n }\r\n\r\n onBack() {\r\n this.router.navigate(['/customInteractionQueueConfig']);\r\n }\r\n\r\n /* colunas */\r\n columnsPreview: any = QueueColumnsPreviewModalComponent;\r\n openColumnsPreview() {\r\n this.errorMessage = '';\r\n let enabledColumns = this.formData.columns.value.filter(c => c.isEnabled);\r\n this.modalService.showObjModal(this.columnsPreview, 'Pré-visualização', enabledColumns);\r\n }\r\n\r\n drop(event) {\r\n this.errorMessage = '';\r\n let oldColumnOrder = this.formData.columns.value[event.previousIndex].columnOrder;\r\n let newColumnOrder = this.formData.columns.value[event.currentIndex].columnOrder;\r\n\r\n this.formData.columns.value[event.currentIndex].columnOrder = oldColumnOrder;\r\n this.formData.columns.value[event.previousIndex].columnOrder = newColumnOrder;\r\n moveItemInArray(this.formData.columns.value, event.previousIndex, event.currentIndex);\r\n this.availableColumns = this.formData.columns.value.filter(f => f.isEnabled == true);\r\n\r\n }\r\n\r\n destEditColumn: any = EditQueueColumnModalComponent;\r\n editColumn(column) {\r\n this.errorMessage = '';\r\n let param = {bps: this.availableBusinessProcess, column: column, selectedBp: this.formData.businessProcessId.value};\r\n const result$ = this.modalService.showObjModal(this.destEditColumn, 'Configuração da apresentação dos campos', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n let itemIndex = this.formData.columns.value.findIndex(item => item.columnOrder == result.columnOrder);\r\n this.formData.columns.value[itemIndex] = result;\r\n\r\n this.hasColumns = this.formData.columns.value.filter(f => f.isEnabled == true).length > 0;\r\n this.availableColumns = this.formData.columns.value.filter(f => f.isEnabled == true);\r\n if (!this.hasColumns) {\r\n this.formData.hasOrdering.setValue(this.hasColumns);\r\n } else {\r\n // se atualizou o nome da coluna, devo atualizar a célula selecionada\r\n if (this.formData.hasOrdering.value) {\r\n // verificar se a celula selecionada é a mesma da editada... se for, devo atualizar orderByColumn\r\n if (this.formData.orderByColumn.value.id == result.id) {\r\n if (result.isEnabled) {\r\n this.formData.orderByColumn.setValue(result);\r\n } else {\r\n this.formData.orderByColumn.setValue(null);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n /* Faixa de cores */\r\n destEditColor: any = EditQueueColorModalComponent;\r\n editColor(itemColor: any) {\r\n this.errorMessage = '';\r\n let param = {bps: null, color: itemColor, isCustom: true};\r\n const result$ = this.modalService.showObjModal(this.destEditColor, 'Configuração da faixa de cores', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n let itemIndex = this.formData.colors.value\r\n .findIndex(item =>\r\n item.businessProcessId == result.oldColor.businessProcessId &&\r\n item.stateId == result.oldColor.stateId &&\r\n item.color == result.oldColor.color\r\n );\r\n this.formData.colors.value[itemIndex] = result.newColor;\r\n this.componentForm.updateValueAndValidity();\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n removeColor(itemColor: any) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão de Cor',\r\n `Confirma a exclusão da cor?`);\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.formData.colors.value.splice(this.formData.colors.value.indexOf(itemColor), 1);\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n addColor() {\r\n this.errorMessage = '';\r\n let param = {bps: null, color: null, isCustom: true};\r\n const result$ = this.modalService.showObjModal(this.destEditColor, 'Configuração da faixa de cores', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n this.formData.colors.value.push(result.newColor);\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n destEditOverflow: any = EditQueueOverflowModalComponent;\r\n addOverflow() {\r\n\r\n this.errorMessage = '';\r\n let queuesConfigIds: number[] =\r\n this.formData.overflowValues.value.map(m => parseFloat(m.overflowCustomInteractionQueueConfigId));\r\n\r\n let configs = this.getOverflowConfigsParam()\r\n .filter(f => queuesConfigIds.indexOf(f.id) == -1);\r\n\r\n let param = {\r\n availableConfig: configs,\r\n overflow: null,\r\n existingOrders: this.formData.overflowValues.value.map(m => parseFloat(m.order)),\r\n customInteractionQueueConfigId: this.customQueueConfig ? this.customQueueConfig.id : undefined\r\n };\r\n\r\n const result$ = this.modalService.showObjModal(this.destEditOverflow, 'Configuração de transbordo', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n this.formData.overflowValues.value.push(result.newOverflow);\r\n console.log(result.newOverflow);\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n editOverflow(itemOverflow) {\r\n this.errorMessage = '';\r\n let queuesConfigIds: number[] =\r\n this.formData.overflowValues.value.map(m => parseFloat(m.overflowCustomInteractionQueueConfigId))\r\n .filter(f => f !== parseFloat(itemOverflow.overflowCustomInteractionQueueConfigId));\r\n\r\n let configs = this.getOverflowConfigsParam()\r\n .filter(f => queuesConfigIds.indexOf(f.id) == -1);\r\n\r\n let param = {\r\n availableConfig: configs,\r\n overflow: itemOverflow,\r\n existingOrders: this.formData.overflowValues.value\r\n .filter(f =>\r\n parseFloat(f.overflowCustomInteractionQueueConfigId) !== parseFloat(itemOverflow.overflowCustomInteractionQueueConfigId))\r\n .map(m => parseFloat(m.order))\r\n };\r\n\r\n const result$ = this.modalService.showObjModal(this.destEditOverflow, 'Configuração de transbordo', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n let itemIndex = this.formData.overflowValues.value\r\n .findIndex(item => item.overflowCustomInteractionQueueConfigId == result.oldOverflow.overflowCustomInteractionQueueConfigId\r\n && item.order == result.oldOverflow.order);\r\n\r\n this.formData.overflowValues\r\n .value[itemIndex].overflowCustomInteractionQueueConfigId = result.newOverflow.overflowCustomInteractionQueueConfigId;\r\n this.formData.overflowValues\r\n .value[itemIndex].overflowCustomInteractionQueueConfigName = result.newOverflow.overflowCustomInteractionQueueConfigName;\r\n this.formData.overflowValues.value[itemIndex].order = result.newOverflow.order;\r\n this.componentForm.updateValueAndValidity();\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n getOverflowConfigsParam() {\r\n this.errorMessage = '';\r\n const customId = this.customQueueConfig ? this.customQueueConfig.id : undefined;\r\n let configs = this.availableCustomInteractionQueues\r\n .filter(f => f.isDefault == false && f.id !== customId);\r\n\r\n return configs;\r\n }\r\n\r\n removeOverflow(itemOverflow) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão de Transbordo',\r\n `Confirma a exclusão do transbordo?`);\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.formData.overflowValues.value.splice(this.formData.overflowValues.value.indexOf(itemOverflow), 1);\r\n }\r\n });\r\n }\r\n\r\n /*Metadata*/\r\n metadataModalTitle = 'Configuração do metadado';\r\n destEditMetadata: any = EditQueueMetadataModalComponent;\r\n addMetadata() {\r\n this.errorMessage = '';\r\n let configuredMetadata = this.formData.metadataValues.value.map(m => m.structure);\r\n configuredMetadata = configuredMetadata.map(m => m.metadataStructureId);\r\n let param = {\r\n configuredMetadata: configuredMetadata\r\n };\r\n\r\n const result$ = this.modalService.showObjModal(this.destEditMetadata, this.metadataModalTitle, param, 'modal-md');\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.formData.metadataValues.value.push({ structure: result.newStructure, values: result.values });\r\n }\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n editMetadata(itemMetadata) {\r\n this.errorMessage = '';\r\n let configuredMetadata = this.formData.metadataValues.value.map(m => m.structure);\r\n configuredMetadata = configuredMetadata.filter(f => f.metadataStructureId !== itemMetadata.structure.metadataStructureId)\r\n .map(m => m.metadataStructureId);\r\n let param = {metadataValues: itemMetadata, configuredMetadata: configuredMetadata};\r\n\r\n const result$ = this.modalService.showObjModal(this.destEditMetadata, this.metadataModalTitle, param, 'modal-md');\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n let itemIndex = this.formData.metadataValues.value\r\n .findIndex(item => item.structure.metadataStructureId == result.oldStructure.metadataStructureId);\r\n this.formData.metadataValues.value[itemIndex].structure = result.newStructure;\r\n this.formData.metadataValues.value[itemIndex].values = result.values;\r\n this.componentForm.updateValueAndValidity();\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n removeMetadata(itemMetadata) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão de Metadado',\r\n `Confirma a exclusão do Metadado?`);\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.formData.metadataValues.value.splice(this.formData.metadataValues.value.indexOf(itemMetadata), 1);\r\n }\r\n });\r\n }\r\n\r\n validateSpecialChars(control: AbstractControl) {\r\n const val = control.value;\r\n if (/[!@#$%¨&\\(\\)\\[\\]?:;.,<>/=+§]/g.test(val)) { return { 'hasSpecialChars': true }; }\r\n return null;\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.componentForm, formControlName);\r\n }\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n margin-top: 2rem;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9kYXRhLWV4dHJhY3Rpb24tbGF5b3V0L2RhdGEtZXh0cmFjdGlvbi1sYXlvdXQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxnQkFBZ0I7QUFDbEIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2RhdGEtZXh0cmFjdGlvbi1sYXlvdXQvZGF0YS1leHRyYWN0aW9uLWxheW91dC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { WfTableComponent } from '../../../common/table-sort/wf-table.component';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { ExtractionService } from '../../../services/configuration/extraction.service';\r\nimport { ExtractionLayoutModalComponent } from './extraction-layout-modal/extraction-layout-modal.component';\r\n\r\n@Component({\r\n selector: 'app-data-extraction-layout',\r\n templateUrl: './data-extraction-layout.component.html',\r\n styleUrls: ['./data-extraction-layout.component.css']\r\n})\r\nexport class DataExtractionLayoutComponent implements OnInit {\r\n\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n layoutList: any[];\r\n pleaseWait = false;\r\n successMessage = '';\r\n errorMessage = '';\r\n modalComponent: any = ExtractionLayoutModalComponent;\r\n\r\n constructor(\r\n private extractionService: ExtractionService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.loadList();\r\n }\r\n\r\n loadList() {\r\n this.pleaseWait = true;\r\n this.extractionService.getFileLayoutsForDataExtraction()\r\n .subscribe(res => {\r\n this.pleaseWait = false;\r\n setTimeout(() => { this.layoutList = res; }, 1);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onDeleteLayout(layout) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Aviso de exclusão', `Confirma a exclusão do layout ${layout.name}?`);\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.extractionService.deleteDataExtractionFileLayout(layout)\r\n .subscribe( () => {\r\n this.successMessage = `Layout ${layout.name} excluído com sucesso.`;\r\n this.ngOnInit();\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n }, 2000);\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onAddNew() {\r\n const newLayout = {};\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Cadastrar Layout', newLayout);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n });\r\n }\r\n\r\n onEditLayout(layout) {\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Editar Layout', layout);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.list-group-item {\\r\\n padding: 0.5rem 0.8rem;\\r\\n font-size: 90%;\\r\\n /*border-radius: 0;*/\\r\\n}\\r\\n\\r\\n.overflow-list {\\r\\n overflow: auto;\\r\\n height: 300px;\\r\\n border: 1px solid rgba(0, 0, 0, 0.125);\\r\\n}\\r\\n\\r\\n.list-group-item .field-is-required {\\r\\n color: #dc3545;\\r\\n padding-right: 2.25rem;\\r\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: right calc(0.375em + 0.1875rem) center;\\r\\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\r\\n}\\r\\n\\r\\n.list-is-invalid {\\r\\n border: 1px solid #dc3545;\\r\\n}\\r\\n\\r\\n.cdk-drag-preview {\\r\\n z-index: 9000 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9kYXRhLWV4dHJhY3Rpb24tbGF5b3V0L2V4dHJhY3Rpb24tbGF5b3V0LW1vZGFsL2V4dHJhY3Rpb24tbGF5b3V0LW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxhQUFhO0VBQ2Isc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsY0FBYztFQUNkLHNCQUFzQjtFQUN0Qiw0VUFBNFU7RUFDNVUsNEJBQTRCO0VBQzVCLDJEQUEyRDtFQUMzRCxnRUFBZ0U7QUFDbEU7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2RhdGEtZXh0cmFjdGlvbi1sYXlvdXQvZXh0cmFjdGlvbi1sYXlvdXQtbW9kYWwvZXh0cmFjdGlvbi1sYXlvdXQtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gIHBhZGRpbmc6IDAuNXJlbSAwLjhyZW07XHJcbiAgZm9udC1zaXplOiA5MCU7XHJcbiAgLypib3JkZXItcmFkaXVzOiAwOyovXHJcbn1cclxuXHJcbi5vdmVyZmxvdy1saXN0IHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xyXG59XHJcblxyXG4ubGlzdC1ncm91cC1pdGVtIC5maWVsZC1pcy1yZXF1aXJlZCB7XHJcbiAgY29sb3I6ICNkYzM1NDU7XHJcbiAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyM2RjMzU0NScgdmlld0JveD0nMCAwIDEyIDEyJyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlXCIpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcclxufVxyXG5cclxuLmxpc3QtaXMtaW52YWxpZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjMzU0NTtcclxufVxyXG5cclxuLmNkay1kcmFnLXByZXZpZXcge1xyXG4gIHotaW5kZXg6IDkwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbiJdfQ== */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\nimport {moveItemInArray, transferArrayItem} from '@angular/cdk/drag-drop';\r\nimport {Utils} from '../../../../services/utils';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {ExtractionService} from '../../../../services/configuration/extraction.service';\r\n\r\n@Component({\r\n selector: 'app-extraction-layout-modal',\r\n templateUrl: './extraction-layout-modal.component.html',\r\n styleUrls: ['./extraction-layout-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class ExtractionLayoutModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n layoutForm: FormGroup;\r\n objInitialState: any;\r\n submitted = false;\r\n submitClick = false;\r\n errorMessage = '';\r\n businessProcesses$: Observable;\r\n fields: any[] = [];\r\n selectedFields: any[] = [];\r\n fieldsDone = false;\r\n isNew: boolean;\r\n separators = [',', '.'];\r\n types = [{ description: 'Padrão', value: 0 },\r\n { description: 'Lote', value: 1 }];\r\n fileLayout: any;\r\n businessProcessList: any[] = [];\r\n pleaseWait = false;\r\n\r\n get formData() { return this.layoutForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder,\r\n private extractionService: ExtractionService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.isNew = this.objInitialState.businessProcessId === undefined;\r\n this.createForm();\r\n this.getBusinessProcesses();\r\n if (!this.isNew) {\r\n this.getDataExtractionFileLayoutById();\r\n }\r\n }\r\n\r\n createForm() {\r\n this.layoutForm = this.formBuilder.group({\r\n name: [ '', Validators.compose( [\r\n Validators.required,\r\n Validators.maxLength(100),\r\n Validators.pattern('^[^<>]+$')]) ],\r\n fileLayoutId: 0,\r\n description: [ '', Validators.maxLength(400) ],\r\n businessProcessId: [0, Validators.required ],\r\n type: [0, Validators.required ],\r\n positiveBoolean: '',\r\n negativeBoolean: '',\r\n dateFormat: '',\r\n decimalSeparator: ',',\r\n decimalPrecision: '',\r\n showFileHeader: false,\r\n fieldColumns: [\r\n []\r\n ]\r\n });\r\n }\r\n\r\n getDataExtractionFileLayoutById() {\r\n this.extractionService.getDataExtractionFileLayoutById(this.objInitialState.fileLayoutId)\r\n .subscribe( result => {\r\n this.fileLayout = result;\r\n this.layoutForm.patchValue(\r\n {\r\n businessProcessId: result.businessProcessId,\r\n name: result.name,\r\n fileLayoutId: result.fileLayoutId,\r\n description: result.description,\r\n type: result.type,\r\n positiveBoolean: result.positiveBoolean,\r\n negativeBoolean: result.negativeBoolean,\r\n dateFormat: result.dateFormat,\r\n decimalSeparator: result.decimalSeparator,\r\n decimalPrecision: result.decimalPrecision,\r\n showFileHeader: result.showFileHeader,\r\n }\r\n );\r\n if (result.type == 1) {\r\n this.onChangeType(1);\r\n }\r\n this.pleaseWait = false;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n getBusinessProcesses() {\r\n this.businessProcesses$ = this.extractionService.getBusinessProcessesForDataExtraction();\r\n this.businessProcesses$.subscribe(\r\n result => {\r\n this.businessProcessList = result;\r\n if (result.length > 0 && this.isNew) {\r\n this.layoutForm.patchValue(\r\n { businessProcessId: result[0].businessProcessId }\r\n );\r\n this.getBusinessProcessFields(result[0]);\r\n }\r\n if (!this.isNew) {\r\n const currentBusinessProcess = result.find( item => item.businessProcessId === this.objInitialState.businessProcessId);\r\n this.getBusinessProcessFields(currentBusinessProcess);\r\n } else {\r\n this.pleaseWait = false;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onChangeBusinessProcess(businessProcessId) {\r\n const businessProcessObject = this.businessProcessList.find(bp => bp.businessProcessId == businessProcessId);\r\n this.getBusinessProcessFields(businessProcessObject);\r\n }\r\n\r\n getBusinessProcessFields(businessProcess) {\r\n this.errorMessage = '';\r\n this.fieldsDone = false;\r\n this.fields = [];\r\n this.selectedFields = [];\r\n this.extractionService.getFieldsByBusinessProcessSpecificVersion(businessProcess.businessProcessId, businessProcess.version)\r\n .subscribe( result => {\r\n this.fields = result;\r\n this.fieldsDone = true;\r\n if (!this.isNew && businessProcess.businessProcessId == this.objInitialState.businessProcessId) {\r\n this.organizeFieldLists();\r\n }\r\n }, error1 => { this.errorMessage = error1; });\r\n }\r\n\r\n onChangeType(type) {\r\n const affectedControls = ['positiveBoolean', 'negativeBoolean', 'dateFormat', 'decimalPrecision'];\r\n if (type == 1) {\r\n this.layoutForm.patchValue({\r\n showFileHeader: false,\r\n decimalSeparator: ','\r\n });\r\n affectedControls.forEach( control => {\r\n this.layoutForm.get(control).setValidators(Validators.required);\r\n if (control === 'decimalPrecision') { this.layoutForm.get(control).setValidators(\r\n [CustomValidator.numeric, Validators.min(1), Validators.max(8), Validators.required]\r\n ); }\r\n this.layoutForm.get(control).updateValueAndValidity();\r\n });\r\n } else {\r\n this.layoutForm.patchValue({\r\n positiveBoolean: '',\r\n negativeBoolean: '',\r\n dateFormat: '',\r\n showFileHeader: false,\r\n decimalPrecision: ''\r\n });\r\n affectedControls.forEach( control => {\r\n this.layoutForm.get(control).clearValidators();\r\n this.layoutForm.get(control).updateValueAndValidity();\r\n });\r\n }\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n organizeFieldLists() {\r\n this.selectedFields = [];\r\n this.fileLayout.fieldColumns.forEach( fieldColumn => {\r\n delete fieldColumn.extensionData;\r\n });\r\n\r\n const fieldsIds = this.fileLayout.fieldColumns.sort(\r\n (a, b) => { return a.fieldColumnOrder - b.fieldColumnOrder;\r\n }).map( f => f.fieldId);\r\n\r\n for (let i = 0; i < this.fileLayout.fieldColumns.length; i++) {\r\n if (fieldsIds.includes(this.fileLayout.fieldColumns[i].fieldId)) {\r\n this.selectedFields[i] = this.fields\r\n .find( f => f.fieldId === this.fileLayout.fieldColumns[i].fieldId);\r\n }\r\n }\r\n\r\n this.selectedFields.forEach( sf => {\r\n this.fields.splice(this.fields.indexOf(sf), 1);\r\n });\r\n }\r\n\r\n onSelectAll() {\r\n for (let i = 0; this.fields.length !== 0; i++) {\r\n transferArrayItem(this.fields, this.selectedFields, 0, this.selectedFields.length);\r\n }\r\n }\r\n\r\n onDeselectAll() {\r\n for (let i = 0; this.selectedFields.length !== 0; i++) {\r\n transferArrayItem(this.selectedFields, this.fields, 0, this.fields.length);\r\n }\r\n }\r\n\r\n drop(event) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n }\r\n }\r\n\r\n onSave() {\r\n this.submitClick = true;\r\n this.errorMessage = '';\r\n const layout = this.layoutForm.getRawValue();\r\n layout.name = layout.name.trim();\r\n layout.type = Number(layout.type);\r\n if (layout.type !== 1) {\r\n layout.decimalPrecision = null;\r\n layout.positiveBoolean = null;\r\n layout.negativeBoolean = null;\r\n layout.dateFormat = null;\r\n layout.showFileHeader = null;\r\n layout.decimalSeparator = null;\r\n }\r\n const array = [];\r\n let fileLayoutId;\r\n this.isNew ? fileLayoutId = 0 : fileLayoutId = this.fileLayout.fileLayoutId;\r\n this.selectedFields.forEach( field => {\r\n array.push({\r\n fileLayoutId: fileLayoutId,\r\n businessProcessId: layout.businessProcessId,\r\n fieldColumnOrder: this.selectedFields.indexOf(field),\r\n fieldId: field.fieldId\r\n });\r\n });\r\n layout.fieldColumns = array;\r\n if (layout.dateFormats) {\r\n layout.dateFormats = layout.dateFormats.split('\\n');\r\n }\r\n if (this.isNew) {\r\n this.createLayout(layout);\r\n } else {\r\n this.editLayout(layout);\r\n }\r\n }\r\n\r\n createLayout(layout: any) {\r\n this.errorMessage = '';\r\n this.extractionService.createDataExtractionFileLayout(layout)\r\n .subscribe( newLayoutId => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n editLayout(layout: any) {\r\n this.errorMessage = '';\r\n this.extractionService.updateDataExtractionFileLayout(layout)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.layoutForm, formControlName);\r\n }\r\n\r\n}\r\n","export default \".addButtonCol{\\r\\n /*display: flex;*/\\r\\n display: block;\\r\\n align-items: center;\\r\\n margin-top: 34px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9kaXN0cmlidXRpb24tY3VzdG9tLWludGVyYWN0aW9uL2Rpc3RyaWJ1dGlvbi1jdXN0b20taW50ZXJhY3Rpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vZGlzdHJpYnV0aW9uLWN1c3RvbS1pbnRlcmFjdGlvbi9kaXN0cmlidXRpb24tY3VzdG9tLWludGVyYWN0aW9uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWRkQnV0dG9uQ29se1xyXG4gIC8qZGlzcGxheTogZmxleDsqL1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMzRweDtcclxufVxyXG4iXX0= */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {DriverService} from '../../../services/configuration/driver.service';\r\nimport {FormGroup} from '@angular/forms';\r\nimport {MetadataService} from '../../../services/configuration/metadata.service';\r\nimport {InstanceDistributionConfigService} from '../../../services/configuration/instanceDistributionConfig.service';\r\n\r\n@Component({\r\n selector: 'app-distribution-custom-interaction',\r\n templateUrl: './distribution-custom-interaction.component.html',\r\n styleUrls: ['./distribution-custom-interaction.component.css']\r\n})\r\nexport class DistributionCustomInteractionComponent implements OnInit {\r\n\r\n pleaseWait;\r\n componentForm: FormGroup;\r\n metadataStructureList: [];\r\n errorMessage;\r\n submitted;\r\n availableMetadata;\r\n availableOperators=[];\r\n expressions=[];\r\n selectedInstanceMetadata;\r\n selectedOperator;\r\n selectedQueueMetadata;\r\n instanceClassification;\r\n\r\n\r\n constructor(\r\n private metadataService: MetadataService,\r\n private instanceDistributionConfigService: InstanceDistributionConfigService,\r\n private webClientConfig: WebClientConfigurationService, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getAllMetadata();\r\n }\r\n\r\n getAllMetadata() {\r\n this.pleaseWait = true;\r\n this.metadataService.getAllMetadataStructures().subscribe(res => {\r\n this.availableMetadata = res;\r\n this.pleaseWait = false;\r\n this.getInstanceClassification();\r\n }, error => {\r\n this.errorMessage = error;\r\n this.pleaseWait = false;\r\n });\r\n this.availableOperators = [];\r\n this.availableOperators.push({value:'=='});\r\n this.availableOperators.push({value:'!='});\r\n this.availableOperators.push({value:'<'});\r\n this.availableOperators.push({value:'<='});\r\n this.availableOperators.push({value:'>'});\r\n this.availableOperators.push({value:'>='});\r\n this.availableOperators.push({value:'Contains'});\r\n this.availableOperators.push({value:'!Contains'});\r\n this.availableOperators.push({value:'In'});\r\n this.availableOperators.push({value:'!In'});\r\n }\r\n\r\n getInstanceClassification() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.instanceDistributionConfigService.getInstanceClassification().subscribe(res => {\r\n this.instanceClassification = res;\r\n if (this.instanceClassification.predicateExpression){\r\n let exp = this.instanceClassification.predicateExpression;\r\n if (exp.substring(exp.length - 1) == '\\n'){\r\n exp = exp.slice(0, -1)\r\n }\r\n this.expressions = exp.split('\\n');\r\n }\r\n this.pleaseWait = false;\r\n }, error => {\r\n this.errorMessage = error;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n\r\n addRule() {\r\n this.expressions.push(`Instance.Metadata[\"${this.selectedInstanceMetadata}\"] ${this.selectedOperator} Queue.Metadata[\"${this.selectedQueueMetadata}\"]`);\r\n this.selectedInstanceMetadata = null;\r\n this.selectedOperator = null;\r\n this.selectedQueueMetadata = null;\r\n }\r\n\r\n removeRule(expr) {\r\n this.expressions.splice(this.expressions.indexOf(expr), 1);\r\n }\r\n\r\n onSave() {\r\n this.pleaseWait = true;\r\n this.submitted = false;\r\n this.errorMessage = \"\";\r\n\r\n if (this.expressions && this.expressions.length > 0){\r\n this.instanceClassification.predicateExpression = this.expressions.join('\\n')+'\\n';\r\n } else {\r\n this.instanceClassification.predicateExpression = \"\";\r\n }\r\n this.instanceClassification.extensionData= null;\r\n this.instanceDistributionConfigService.updateInstanceClassification(this.instanceClassification).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => {\r\n this.submitted = false;\r\n }, 3000);\r\n }, error => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error;\r\n }\r\n );\r\n }\r\n\r\n showSuccessMessage(){\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => {\r\n this.submitted = false;\r\n }, 3000);\r\n }\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.inactive {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9kcml2ZXItdXBkYXRlLWxpc3QvZHJpdmVyLXVwZGF0ZS1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2RyaXZlci11cGRhdGUtbGlzdC9kcml2ZXItdXBkYXRlLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaW5hY3RpdmUgIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxuIl19 */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {DriverService} from '../../../services/configuration/driver.service';\r\n\r\n@Component({\r\n selector: 'app-driver-update-list',\r\n templateUrl: './driver-update-list.component.html',\r\n styleUrls: ['./driver-update-list.component.css']\r\n})\r\nexport class DriverUpdateListComponent implements OnInit {\r\n\r\n onlyActive: boolean;\r\n driverList: any[];\r\n\r\n filterText: string;\r\n\r\n pleaseWait = false;\r\n isInstalling = false;\r\n errorMessage = '';\r\n config: PaginationInstance;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private driverService: DriverService,\r\n private modalService: GenericModalService,\r\n private webClientConfig: WebClientConfigurationService, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.onlyActive = true;\r\n this.pleaseWait = true;\r\n this.errorMessage = '';\r\n this.driverService.getDriversForUpdate()\r\n .subscribe(list => {\r\n this.driverList = list;\r\n this.pleaseWait = false;\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n onChangelogClick(name, availableVersion) {\r\n this.errorMessage = '';\r\n this.driverService.getChangelog(name, availableVersion)\r\n .subscribe(result => {\r\n this.modalService.showMessage(result.changelog, true, undefined, 'Changelog do driver ' + name);\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n onInstallClick(driver: any) {\r\n driver.extensionData = null;\r\n this.pleaseWait = true;\r\n this.driverService.install(driver)\r\n .subscribe(result => {\r\n this.isInstalling = false;\r\n this.driverList = [];\r\n this.modalService.showSuccessMessage(`Driver ${driver.name} instalado com sucesso`, true, undefined);\r\n this.ngOnInit();\r\n },\r\n error => {\r\n this.modalService.showErrorMessage(`Erro ao tentar instalar o driver ${driver.name}: ${error}`, true);\r\n this.pleaseWait = false;\r\n this.isInstalling = false;\r\n });\r\n }\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.table-responsive.p-0 {\\r\\n font-size: 87%;\\r\\n}\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9nbG9iYWwtdmFyaWFibGUtZ3JvdXBzL2dsb2JhbC12YXJpYWJsZS1ncm91cC1tb2RhbC9nbG9iYWwtdmFyaWFibGUtZ3JvdXAtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL2dsb2JhbC12YXJpYWJsZS1ncm91cHMvZ2xvYmFsLXZhcmlhYmxlLWdyb3VwLW1vZGFsL2dsb2JhbC12YXJpYWJsZS1ncm91cC1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRhYmxlLXJlc3BvbnNpdmUucC0wIHtcclxuICBmb250LXNpemU6IDg3JTtcclxufVxyXG5cclxuLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiJdfQ== */\"","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { GlobalVariableService } from '../../../../services/configuration/global-variable.service';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { WfTableComponent } from '../../../../common/table-sort/wf-table.component';\r\nimport { AdminService } from '../../../../services/admin.service';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { GenericInputModalComponent } from '../../../../generic-modal/generic-input-modal/generic-input-modal.component';\r\nimport { Utils } from '../../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-global-variable-group-modal',\r\n templateUrl: './global-variable-group-modal.component.html',\r\n styleUrls: ['./global-variable-group-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class GlobalVariableGroupModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n globalVariableGroupForm: FormGroup;\r\n filterForm: FormGroup;\r\n objInitialState: any;\r\n submitted = false;\r\n submitClick = false;\r\n errorMessage = '';\r\n pleaseWait = false;\r\n filteredGlobalVariableList = [];\r\n globalVariableList = [];\r\n isNew: boolean;\r\n dmSelectedUsers: any[];\r\n filterSettings = {\r\n placeholder: 'Filtrar',\r\n width: 130,\r\n checkboxLabel: 'Exibir somente valores substituídos',\r\n inputBoolSearchId: 'chkModifiedValues',\r\n showBooleanFilter: true,\r\n booleanConditionPropertyName: 'isDefaultValue',\r\n booleanTrueResult: false\r\n };\r\n selectUserByOptions = [\r\n { value: 0, text: 'Todos os usuários do sistema' },\r\n { value: 1, text: 'Usuários em grupo de variáveis globais' },\r\n { value: 2, text: 'Usuários não associados a grupo de variáveis globais' },\r\n { value: 3, text: 'Usuários em grupo de usuários'}\r\n ];\r\n selectUserBy = 0;\r\n availableUserGroups: any[];\r\n availableUsers = [];\r\n selectedUsers = [];\r\n inputModalComponent: any = GenericInputModalComponent;\r\n @ViewChild('globalVariableTabs', { static: false }) globalVariableTabs: TabsetComponent;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n get formData() { return this.globalVariableGroupForm.controls; }\r\n get filterData() { return this.filterForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder,\r\n private globalVariableService: GlobalVariableService,\r\n private admService: AdminService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isNew = this.objInitialState.globalVariableGroupId === undefined;\r\n this.createForm();\r\n this.onSearchUsers();\r\n if (!this.isNew) {\r\n this.getGlobalVariableGroup();\r\n } else {\r\n this.getGlobalVariableList();\r\n }\r\n }\r\n\r\n getGlobalVariableGroup() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.globalVariableService.getGlobalVariableGroup(this.objInitialState.globalVariableGroupId)\r\n .subscribe( group => {\r\n this.patchVariableGroupValues(group);\r\n this.globalVariableList = group.globalVariables;\r\n this.filteredGlobalVariableList = group.globalVariables;\r\n this.pleaseWait = false;\r\n }, error1 => { this.errorMessage = error1; this.pleaseWait = false; });\r\n }\r\n\r\n createForm() {\r\n this.globalVariableGroupForm = this.formBuilder.group({\r\n globalVariableGroupId: 0,\r\n name: [ '', Validators.compose( [\r\n Validators.required,\r\n Validators.maxLength(50),\r\n Validators.pattern('^[^<>:\\\\\"\\\\\\\\\\\\/|?*[\\\\]{}\\\\$%¨&\\\\(\\\\)\\\\-\\\\+§`ªº\\\\-°\\'\\\\^~¢¬£³²¹]+$') ])\r\n ],\r\n description: ['', [Validators.maxLength(200) ]],\r\n globalVariables: [ [] ],\r\n userIds: [ [] ]\r\n });\r\n this.filterForm = this.formBuilder.group({\r\n groupId: null,\r\n hasGlobalVariableGroup: null\r\n });\r\n }\r\n\r\n patchVariableGroupValues(group) {\r\n const globalVariables = group.globalVariables\r\n .map( globalVariable => {\r\n return delete globalVariable.extensionData;\r\n });\r\n this.globalVariableGroupForm.patchValue({\r\n globalVariableGroupId: group.globalVariableGroupId,\r\n name: group.name,\r\n description: group.description,\r\n globalVariables: group.globalVariables,\r\n userIds: group.userIds\r\n });\r\n this.dmSelectedUsers = group.userIds;\r\n this.selectedUsers = group.userIds;\r\n }\r\n\r\n getGlobalVariableList() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.globalVariableService.getAllOverriddenGlobalVariables()\r\n .subscribe( list => {\r\n this.filteredGlobalVariableList = list;\r\n this.globalVariableList = list;\r\n this.pleaseWait = false;\r\n }, error1 => { this.errorMessage = error1; this.pleaseWait = false; });\r\n }\r\n\r\n getGroupList() {\r\n this.errorMessage = '';\r\n this.admService.loadGroupList()\r\n .subscribe(result => { this.availableUserGroups = result; },\r\n error1 => { this.errorMessage = error1; });\r\n }\r\n\r\n getDefaultGlobalVariable(globalVariable) {\r\n this.errorMessage = '';\r\n this.globalVariableService.getDefaultGlobalVariable(globalVariable)\r\n .subscribe( defaultValue => {\r\n globalVariable.value = defaultValue.value;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n checkValue(globalVariable) {\r\n if (globalVariable.isEncrypted) {\r\n return `Valor criptografado`;\r\n } else {\r\n const length = 150;\r\n if (globalVariable.value.length > length) {\r\n return globalVariable.value.substr(0, length) + '...';\r\n } else {\r\n return globalVariable.value;\r\n }\r\n }\r\n }\r\n\r\n getSelectedUsers(data) {\r\n this.selectedUsers = data;\r\n }\r\n\r\n onChangeOverride(override, globalVariable) {\r\n if (!globalVariable.isDefaultValue && override) {\r\n this.getDefaultGlobalVariable(globalVariable);\r\n }\r\n globalVariable.isDefaultValue = override;\r\n }\r\n\r\n onChangeFilterOption(event) {\r\n if (event.target.value === '3') {\r\n this.filterForm.get('groupId').setValidators(Validators.required);\r\n if (!this.availableUserGroups) { this.getGroupList(); }\r\n } else {\r\n this.filterForm.get('groupId').clearValidators();\r\n this.filterForm.get('groupId').reset();\r\n }\r\n }\r\n\r\n onSearchUsers() {\r\n this.errorMessage = '';\r\n const filterParam = this.filterForm.getRawValue();\r\n switch (Number(this.selectUserBy)) {\r\n case 1:\r\n filterParam.hasGlobalVariableGroup = true;\r\n break;\r\n case 2:\r\n filterParam.hasGlobalVariableGroup = false;\r\n break;\r\n case 3:\r\n filterParam.groupId = (Number(filterParam.groupId));\r\n break;\r\n }\r\n this.admService.getUsersByGlobalVariableGroupUserFilter(filterParam)\r\n .subscribe( users => {\r\n this.availableUsers = users;\r\n }, error1 => { this. errorMessage = error1; });\r\n }\r\n\r\n onFilterList(filteredData: any[]) {\r\n this.filteredGlobalVariableList = filteredData;\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n const data = this.globalVariableGroupForm.getRawValue();\r\n data.userIds = this.selectedUsers;\r\n data.description = data.description ? data.description.trim() : '';\r\n if (this.hasUsersInOtherGroups()) {\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação', 'Existem usuários que pertencem a outros grupos de configurações. Deseja confirmar as novas associações?');\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.saveGroup(data);\r\n }\r\n });\r\n } else {\r\n this.saveGroup(data);\r\n }\r\n }\r\n\r\n saveGroup(data) {\r\n if (this.isNew) {\r\n this.createNewGlobalVariableGroup(data);\r\n } else {\r\n this.updateGlobalVariableGroup(data);\r\n }\r\n }\r\n\r\n onEditGlobalVariable(globalVariable: any) {\r\n const result$ = this.modalService.showInputModal(\r\n this.inputModalComponent,\r\n 'Substituir valor de variável global',\r\n `Insira um novo valor para a variável ${globalVariable.globalVariableName}`,\r\n 'OK', 'Cancelar',\r\n `${globalVariable.value}`,\r\n '', '', 4000, 0, false, false\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n if (result !== null) {\r\n globalVariable.value = result;\r\n }\r\n }\r\n );\r\n }\r\n\r\n createNewGlobalVariableGroup(globalVariableGroup) {\r\n this.errorMessage = '';\r\n this.globalVariableService.createGlobalVariableGroup(globalVariableGroup)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n updateGlobalVariableGroup(globalVariableGroup) {\r\n this.errorMessage = '';\r\n this.globalVariableService.updateGlobalVariableGroup(globalVariableGroup)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n hasUsersInOtherGroups() {\r\n const users = [];\r\n this.selectedUsers.forEach(id => {\r\n users.push(this.availableUsers.find(u => u.id === id));\r\n });\r\n const userInAnotherGroup = users.filter(u => {\r\n return u.globalVariableGroupName && u.globalVariableGroupName !== this.formData.name.value;\r\n }\r\n );\r\n return userInAnotherGroup.length > 0;\r\n }\r\n\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.globalVariableGroupForm, formControlName);\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9nbG9iYWwtdmFyaWFibGUtZ3JvdXBzL2dsb2JhbC12YXJpYWJsZS1ncm91cHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vZ2xvYmFsLXZhcmlhYmxlLWdyb3Vwcy9nbG9iYWwtdmFyaWFibGUtZ3JvdXBzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { GlobalVariableService } from '../../../services/configuration/global-variable.service';\r\nimport { WfTableComponent } from '../../../common/table-sort/wf-table.component';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { GlobalVariableGroupModalComponent } from './global-variable-group-modal/global-variable-group-modal.component';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\n\r\n@Component({\r\n selector: 'app-global-variable-groups',\r\n templateUrl: './global-variable-groups.component.html',\r\n styleUrls: ['./global-variable-groups.component.css']\r\n})\r\nexport class GlobalVariableGroupsComponent implements OnInit {\r\n\r\n errorMessage = '';\r\n pleaseWait = false;\r\n filteredGlobalVariableGroupList = [];\r\n globalVariableGroupList = [];\r\n hasRight: boolean;\r\n filterSettings = {\r\n placeholder: 'Filtrar',\r\n width: 100,\r\n inputTextSearchId: 'txtSearchGlobalVariable',\r\n showBooleanFilter: false,\r\n textFilterPropertyName: 'name',\r\n };\r\n modalComponent: any = GlobalVariableGroupModalComponent;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private globalVariableService: GlobalVariableService,\r\n private modalService: GenericModalService,\r\n private businessProcessService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkRights();\r\n this.getGlobalVariableGroupList();\r\n }\r\n\r\n getGlobalVariableGroupList() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.globalVariableService.getAllGlobalVariableGroups()\r\n .subscribe( list => {\r\n this.filteredGlobalVariableGroupList = list;\r\n this.globalVariableGroupList = list;\r\n this.pleaseWait = false;\r\n }, error1 => { this.errorMessage = error1; this.pleaseWait = false; });\r\n }\r\n\r\n onFilterList(filteredData: any[]) {\r\n this.filteredGlobalVariableGroupList = filteredData;\r\n }\r\n\r\n onAddNew() {\r\n if (this.hasRight) {\r\n const newGlobalVariableGroup = { };\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Cadastrar grupo de variáveis globais', newGlobalVariableGroup);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onEdit(globalVariableGroup: any) {\r\n if (this.hasRight) {\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Editar grupo de variáveis globais', globalVariableGroup);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onDelete(globalVariableGroup: any) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de Exclusão', 'Confirma a exclusão do grupo de variáveis globais?');\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.globalVariableService.removeGlobalVariableGroup(globalVariableGroup)\r\n .subscribe( () => {\r\n this.ngOnInit();\r\n },\r\n error1 => {\r\n this.modalService.showErrorMessage(error1, true);\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkRights() {\r\n this.errorMessage = '';\r\n this.businessProcessService.checkRights(4194304)\r\n .subscribe( rights => {\r\n this.hasRight = rights.length > 0;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9nbG9iYWwtdmFyaWFibGVzL2dsb2JhbC12YXJpYWJsZS1tb2RhbC9nbG9iYWwtdmFyaWFibGUtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQyIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vZ2xvYmFsLXZhcmlhYmxlcy9nbG9iYWwtdmFyaWFibGUtbW9kYWwvZ2xvYmFsLXZhcmlhYmxlLW1vZGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { GlobalVariableService } from '../../../../services/configuration/global-variable.service';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\n\r\n@Component({\r\n selector: 'app-global-variable-modal',\r\n templateUrl: './global-variable-modal.component.html',\r\n styleUrls: ['./global-variable-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class GlobalVariableModalComponent implements OnInit, AfterViewInit {\r\n\r\n get formData() { return this.globalVariableForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder,\r\n private globalVariableService: GlobalVariableService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n globalVariableForm: FormGroup;\r\n objInitialState: any;\r\n submitted = false;\r\n submitClick = false;\r\n errorMessage = '';\r\n isNew: boolean;\r\n globalVariableValue: string;\r\n\r\n ngOnInit() {\r\n this.isNew = this.objInitialState.globalVariableName === undefined;\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.objInitialState.globalVariableName) {\r\n this.patchVariableGroupValues();\r\n }\r\n }\r\n\r\n createForm() {\r\n this.globalVariableForm = this.formBuilder.group({\r\n globalVariableName: [ '', Validators.compose( [\r\n Validators.required,\r\n Validators.maxLength(30),\r\n Validators.pattern('^[a-zA-Z][a-zA-Z0-9_]*') ])\r\n ],\r\n description: ['', [Validators.maxLength(200) ]],\r\n isEncrypted: false,\r\n value: [ '', Validators.maxLength(2000)]\r\n });\r\n }\r\n\r\n patchVariableGroupValues() {\r\n this.globalVariableForm.controls.globalVariableName.disable();\r\n this.objInitialState.isEncrypted ? this.globalVariableValue = '•'.repeat(10)\r\n : this.globalVariableValue = this.objInitialState.value;\r\n this.globalVariableForm.patchValue({\r\n globalVariableName: this.objInitialState.globalVariableName,\r\n description: this.objInitialState.description,\r\n isEncrypted: this.objInitialState.isEncrypted,\r\n value: this.objInitialState.value\r\n });\r\n }\r\n\r\n onSave() {\r\n const globalVariable = this.globalVariableForm.getRawValue();\r\n if (this.isNew) {\r\n globalVariable.value = this.globalVariableValue ? this.globalVariableValue.trim() : '';\r\n this.createNewGlobalVariable(globalVariable);\r\n } else {\r\n if (this.globalVariableValue !== '••••••••••') {\r\n globalVariable.value = this.globalVariableValue ? this.globalVariableValue.trim() : '';\r\n }\r\n this.updateGlobalVariable(globalVariable);\r\n }\r\n }\r\n\r\n onChangeEncryptSettings(currentIsEncrypted: boolean) {\r\n const encryptedSettingsChanged = currentIsEncrypted !== this.objInitialState.isEncrypted;\r\n if (!this.isNew && encryptedSettingsChanged) {\r\n const message = currentIsEncrypted ?\r\n 'O valor da variável será criptografado para todos os grupos de configuração. Deseja continuar?'\r\n : 'O valor da variável deixará de ser criptografado para todos os grupos de configuração e seu valor deverá ser redefinido. Deseja continuar?';\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Mudança na criptografia', message);\r\n alert.then( resp => {\r\n if (resp.value) {\r\n if (!currentIsEncrypted) {\r\n this.globalVariableValue = '';\r\n }\r\n } else {\r\n this.globalVariableForm.patchValue({\r\n isEncrypted: this.objInitialState.isEncrypted\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n createNewGlobalVariable(globalVariable) {\r\n this.errorMessage = '';\r\n this.globalVariableService.saveGlobalVariable(globalVariable)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n updateGlobalVariable(globalVariable) {\r\n this.errorMessage = '';\r\n this.globalVariableService.updateGlobalVariable(globalVariable)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n clean() {\r\n if (this.objInitialState.isEncrypted && this.globalVariableValue === '••••••••••') {\r\n this.globalVariableValue = '';\r\n }\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9nbG9iYWwtdmFyaWFibGVzL2dsb2JhbC12YXJpYWJsZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vZ2xvYmFsLXZhcmlhYmxlcy9nbG9iYWwtdmFyaWFibGVzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { WfTableComponent } from '../../../common/table-sort/wf-table.component';\r\nimport { GlobalVariableService } from '../../../services/configuration/global-variable.service';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { GlobalVariableModalComponent } from './global-variable-modal/global-variable-modal.component';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\n\r\n@Component({\r\n selector: 'app-global-variables',\r\n templateUrl: './global-variables.component.html',\r\n styleUrls: ['./global-variables.component.css']\r\n})\r\nexport class GlobalVariablesComponent implements OnInit {\r\n\r\n globalVariableList: any[];\r\n filteredGlobalVariableList = [];\r\n pleaseWait = false;\r\n errorMessage: string;\r\n modalComponent: any = GlobalVariableModalComponent;\r\n hasRight: boolean;\r\n filterSettings = {\r\n placeholder: 'Filtrar',\r\n width: 100,\r\n checkboxLabel: 'Mostrar somente criptografados',\r\n inputTextSearchId: 'txtSearchGlobalVariable',\r\n inputBoolSearchId: 'showOnlyEncrypted',\r\n showBooleanFilter: true,\r\n textFilterPropertyNames: ['globalVariableName', 'shownValue'],\r\n booleanConditionPropertyName: 'isEncrypted',\r\n booleanTrueResult: true\r\n };\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private globalVariableService: GlobalVariableService,\r\n private modalService: GenericModalService,\r\n private businessProcessService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getGlobalVariableList();\r\n this.checkRights();\r\n }\r\n\r\n getGlobalVariableList() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.globalVariableService.getAllGlobalVariables()\r\n .subscribe( list => {\r\n this.filteredGlobalVariableList = list;\r\n this.globalVariableList = list;\r\n this.pleaseWait = false;\r\n }, error1 => { this.errorMessage = error1; this.pleaseWait = false; });\r\n }\r\n\r\n onAddNew() {\r\n if (this.hasRight) {\r\n const newGlobalVariable = { };\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Criar variável global', newGlobalVariable);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onEditGlobalVariable(globalVariable: any) {\r\n if (this.hasRight) {\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Editar variável global', globalVariable);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onDeleteGlobalVariable(globalVariable: any) {\r\n if (this.hasRight) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de Exclusão', 'Confirma a exclusão da variável global?');\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.globalVariableService.removeGlobalVariable(globalVariable.globalVariableName)\r\n .subscribe( () => {\r\n this.ngOnInit();\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n checkValue(globalVariable) {\r\n if (globalVariable.isEncrypted) {\r\n globalVariable.shownValue = 'Valor criptografado';\r\n return `Valor criptografado`;\r\n } else {\r\n globalVariable.shownValue = globalVariable.value;\r\n const length = 150;\r\n if (globalVariable.value.length > length) {\r\n return globalVariable.value.substr(0, length) + '...';\r\n } else {\r\n return globalVariable.value;\r\n }\r\n }\r\n }\r\n\r\n checkRights() {\r\n this.errorMessage = '';\r\n this.businessProcessService.checkRights(4194304)\r\n .subscribe( rights => {\r\n this.hasRight = rights.length > 0;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onFilterList(filteredData: any[]) {\r\n this.filteredGlobalVariableList = filteredData;\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.column-disabled {\\r\\n background-color: #f5f0f0;\\r\\n}\\r\\n\\r\\n.button-right{\\r\\n display:flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.disable-card {\\r\\n pointer-events: none;\\r\\n opacity: 0.4;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9pbnRlcmFjdGlvbi1xdWV1ZS1jb25maWcvaW50ZXJhY3Rpb24tcXVldWUtY29uZmlnLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxZQUFZO0VBQ1oseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLFlBQVk7QUFDZCIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vaW50ZXJhY3Rpb24tcXVldWUtY29uZmlnL2ludGVyYWN0aW9uLXF1ZXVlLWNvbmZpZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb2x1bW4tZGlzYWJsZWQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWYwZjA7XHJcbn1cclxuXHJcbi5idXR0b24tcmlnaHR7XHJcbiAgZGlzcGxheTpmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlLWNhcmQge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIG9wYWNpdHk6IDAuNDtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {HumanInteractionService} from '../../../services/human-interaction.service';\r\nimport {ServiceConfigurationBatcherComponent} from '../service-configuration-batcher/service-configuration-batcher.component';\r\nimport {EditQueueColumnModalComponent} from '../common/edit-queue-column-modal/edit-queue-column-modal.component';\r\nimport {BusinessProcessService} from '../../../services/business-process.service';\r\nimport {take} from 'rxjs/operators';\r\nimport {EditQueueColorModalComponent} from '../common/edit-queue-color-modal/edit-queue-color-modal.component';\r\nimport {QueueColumnsPreviewModalComponent} from '../common/queue-columns-preview-modal/queue-columns-preview-modal.component';\r\nimport {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\r\n\r\n\r\n@Component({\r\n selector: 'app-interaction-queue-config',\r\n templateUrl: './interaction-queue-config.component.html',\r\n styleUrls: ['./interaction-queue-config.component.css']\r\n})\r\nexport class InteractionQueueConfigComponent implements OnInit {\r\n componentForm: FormGroup;\r\n availableBusinessProcessList: any[];\r\n error;\r\n submitted;\r\n pleaseWait = false;\r\n updateInteractionQueue = true;\r\n get formData() { return this.componentForm.controls; }\r\n\r\n constructor(\r\n private humanInteractionService: HumanInteractionService,\r\n private bpService: BusinessProcessService,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.submitted= false;\r\n this.createForm();\r\n this.loadConfig();\r\n\r\n }\r\n\r\n createForm() {\r\n this.componentForm = this.formBuilder.group({\r\n orderDirection:[0],\r\n orderByColumnId: null,\r\n columns:[[]],\r\n colors:[[]]\r\n });\r\n }\r\n\r\n loadBps() {\r\n this.error = '';\r\n this.pleaseWait = true;\r\n this.bpService.getAllBusinessProcessesPublishedWithStates()\r\n .subscribe(result => {\r\n if (result) {\r\n this.availableBusinessProcessList = result;\r\n this.pleaseWait = false;\r\n\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n loadConfig() {\r\n this.error = '';\r\n this.humanInteractionService.getInteractionQueueForEdit()\r\n .subscribe(result => {\r\n if (result) {\r\n this.componentForm.patchValue({\r\n orderDirection: result.orderDirection,\r\n orderByColumnId: result.orderByColumn? result.orderByColumn.id:0,\r\n columns: result.columns,\r\n colors: result.colors,\r\n });\r\n\r\n this.pleaseWait = false;\r\n this.loadBps();\r\n this.onOrderByColumnChange();\r\n\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n destEditColumn: any = EditQueueColumnModalComponent;\r\n editColumn(column) {\r\n let param = {bps: this.availableBusinessProcessList, column: column};\r\n const result$ = this.modalService.showObjModal(this.destEditColumn, 'Configuração da apresentação dos campos', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n let itemIndex = this.formData.columns.value.findIndex(item => item.id == result.id);\r\n this.formData.columns.value[itemIndex] = result;\r\n });\r\n } else {\r\n this.error = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n columnsPreview: any = QueueColumnsPreviewModalComponent;\r\n openColumnsPreview() {\r\n let enabledColumns = this.formData.columns.value.filter(c => c.isEnabled);\r\n this.modalService.showObjModal(this.columnsPreview, 'Pré-visualização', enabledColumns);\r\n }\r\n\r\n destEditColor: any = EditQueueColorModalComponent;\r\n editColor(itemColor: any) {\r\n let param = {bps: this.availableBusinessProcessList, color: itemColor};\r\n const result$ = this.modalService.showObjModal(this.destEditColor, 'Configuração da faixa de cores', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n let itemIndex = this.formData.colors.value.findIndex(item =>\r\n item.businessProcessId == result.oldColor.businessProcessId &&\r\n item.stateId == result.oldColor.stateId &&\r\n item.color == result.oldColor.color);\r\n this.formData.colors.value[itemIndex] = result.newColor;\r\n this.componentForm.updateValueAndValidity();\r\n });\r\n } else {\r\n this.error = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n removeColor(itemColor: any) {\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão de Cor',\r\n `Confirma a exclusão da cor?`);\r\n alert.then((result) => {\r\n if (result.value){\r\n this.formData.colors.value.splice(this.formData.colors.value.indexOf(itemColor), 1);\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n addColor() {\r\n let param = {bps: this.availableBusinessProcessList, color: null};\r\n const result$ = this.modalService.showObjModal(this.destEditColor, 'Configuração da faixa de cores', param);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n this.formData.colors.value.push(result.newColor);\r\n });\r\n } else {\r\n this.error = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n onOrderByColumnChange() {\r\n if (this.formData.orderByColumnId.value && this.formData.orderByColumnId.value != 0){\r\n this.componentForm.get('orderDirection').setValidators([Validators.required, Validators.min(1)]);\r\n } else {\r\n this.componentForm.get('orderDirection').clearValidators();\r\n this.formData.orderDirection.setValue(0);\r\n }\r\n this.componentForm.updateValueAndValidity();\r\n }\r\n\r\n drop(event) {\r\n let oldColumnOrder = this.formData.columns.value[event.previousIndex].columnOrder;\r\n let newColumnOrder = this.formData.columns.value[event.currentIndex].columnOrder;\r\n\r\n this.formData.columns.value[event.currentIndex].columnOrder = oldColumnOrder;\r\n this.formData.columns.value[event.previousIndex].columnOrder = newColumnOrder;\r\n moveItemInArray(this.formData.columns.value, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n\r\n getBpName(businessProcessId: any) {\r\n if (!this.availableBusinessProcessList) return null;\r\n let bp = this.availableBusinessProcessList.filter(bp => bp.businessProcessId == businessProcessId)[0];\r\n return bp.name;\r\n }\r\n\r\n getStateName(businessProcessId: any, stateId: any) {\r\n if (!this.availableBusinessProcessList) return null;\r\n let bp = this.availableBusinessProcessList.filter(bp => bp.businessProcessId == businessProcessId)[0];\r\n let filterResult = bp.states.filter(f => f.stateId == stateId);\r\n if (!filterResult || filterResult.length != 1){\r\n return \"Estado não existe no processo de negócio publicado\";\r\n }\r\n return filterResult[0].name;\r\n }\r\n\r\n onSave() {\r\n this.pleaseWait = true;\r\n this.submitted = false;\r\n this.error = \"\";\r\n const obj = this.componentForm.getRawValue();\r\n if (obj.orderDirection){\r\n obj.orderDirection = Number(obj.orderDirection);\r\n }\r\n const columns = obj.columns;\r\n for (let i = 0; i < obj.columns.length; i++) {\r\n columns[i].columnOrder = i + 1;\r\n }\r\n obj.columns = columns;\r\n this.humanInteractionService.updateInteractionQueue(obj).subscribe(\r\n () => {\r\n if (this.updateInteractionQueue) {\r\n this.requestRefreshInteractionQueue();\r\n } else {\r\n this.showSuccessMessage();\r\n }\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = error1;\r\n }\r\n );\r\n }\r\n\r\n requestRefreshInteractionQueue(){\r\n this.error = '';\r\n this.humanInteractionService.requestRefreshInteractionQueue().subscribe(() => {\r\n this.showSuccessMessage();\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = \"Erro: Falha ao atualizar registros da fila de interação humana: \" + error1;\r\n });\r\n }\r\n\r\n showSuccessMessage(){\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => {\r\n this.submitted = false;\r\n }, 3000);\r\n }\r\n\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9tZXRhZGF0YS1zdHJ1Y3R1cmUtbGlzdC9tZXRhZGF0YS1zdHJ1Y3R1cmUtbGlzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9tZXRhZGF0YS1zdHJ1Y3R1cmUtbGlzdC9tZXRhZGF0YS1zdHJ1Y3R1cmUtbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { WfTableComponent } from '../../../common/table-sort/wf-table.component';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { MetadataStructureModalComponent } from './metadata-structure-modal/metadata-structure-modal.component';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\nimport {MetadataService} from '../../../services/configuration/metadata.service';\r\nimport {EnumTranslateService} from '../../../services/enumTranslate-service';\r\n\r\n@Component({\r\n selector: 'app-metadata-structure-list',\r\n templateUrl: './metadata-structure-list.component.html',\r\n styleUrls: ['./metadata-structure-list.component.css']\r\n})\r\nexport class MetadataStructureListComponent implements OnInit {\r\n\r\n filteredMetadataList = [];\r\n metadataList: any[];\r\n pleaseWait = false;\r\n errorMessage: string;\r\n modalComponent: any = MetadataStructureModalComponent;\r\n hasRight: boolean;\r\n filterSettings = {\r\n placeholder: 'Filtrar',\r\n width: 100,\r\n inputTextSearchId: 'txtSearchMetadata',\r\n showBooleanFilter: false,\r\n textFilterPropertyNames: ['name', 'typeDescription', 'editingTypeDescription'],\r\n booleanTrueResult: true\r\n };\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private metadataService: MetadataService,\r\n private modalService: GenericModalService,\r\n private businessProcessService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getAllMetadataStructure();\r\n this.checkRights();\r\n }\r\n\r\n getAllMetadataStructure() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.metadataService.getAllMetadataStructures()\r\n .subscribe( list => {\r\n list.forEach(c => {\r\n c.typeDescription = EnumTranslateService.getEnumMetadataType(c.type);\r\n c.editingTypeDescription = EnumTranslateService.getEnumMetadataEditingType(c.editingBy);\r\n });\r\n\r\n this.filteredMetadataList = list;\r\n this.metadataList = list;\r\n this.pleaseWait = false;\r\n }, error1 => { this.errorMessage = error1; this.pleaseWait = false; });\r\n }\r\n\r\n onAddNew() {\r\n if (this.hasRight) {\r\n const newMetadataStructure = { };\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Criar estrutura de metadado', newMetadataStructure);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onEdit(metadataStructure: any) {\r\n if (this.hasRight) {\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Editar estrutura de metadado', metadataStructure);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onDelete(metadataStructure: any) {\r\n if (this.hasRight) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de Exclusão', 'Confirma a exclusão da estrutura de metadado?');\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.metadataService.deleteMetadataStructure(metadataStructure)\r\n .subscribe( () => {\r\n this.ngOnInit();\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n\r\n checkRights() {\r\n this.errorMessage = '';\r\n this.businessProcessService.checkRights(4194304)\r\n .subscribe( rights => {\r\n this.hasRight = rights.length > 0;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onFilterList(filteredData: any[]) {\r\n this.filteredMetadataList = filteredData;\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.addButtonCol{\\r\\n /*display: flex;*/\\r\\n display: block;\\r\\n align-items: center;\\r\\n margin-top: 37px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9tZXRhZGF0YS1zdHJ1Y3R1cmUtbGlzdC9tZXRhZGF0YS1zdHJ1Y3R1cmUtbW9kYWwvbWV0YWRhdGEtc3RydWN0dXJlLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixnQkFBZ0I7QUFDbEIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL21ldGFkYXRhLXN0cnVjdHVyZS1saXN0L21ldGFkYXRhLXN0cnVjdHVyZS1tb2RhbC9tZXRhZGF0YS1zdHJ1Y3R1cmUtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hZGRCdXR0b25Db2x7XHJcbiAgLypkaXNwbGF5OiBmbGV4OyovXHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAzN3B4O1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { GlobalVariableService } from '../../../../services/configuration/global-variable.service';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {MetadataService} from '../../../../services/configuration/metadata.service';\r\nimport {DateTimeService} from '../../../../services/date-time.service';\r\n\r\n@Component({\r\n selector: 'app-metadata-structure-modal',\r\n templateUrl: './metadata-structure-modal.component.html',\r\n styleUrls: ['./metadata-structure-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class MetadataStructureModalComponent implements OnInit, AfterViewInit {\r\n\r\n get formData() { return this.metadataForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder,\r\n private metadataService: MetadataService,\r\n private dateTimeService: DateTimeService\r\n ) { }\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n metadataForm: FormGroup;\r\n objInitialState: any;\r\n submitted = false;\r\n submitClick = false;\r\n errorMessage = '';\r\n isNew: boolean;\r\n domainValue;\r\n errorExistsDomain = false;\r\n\r\n ngOnInit() {\r\n this.isNew = !this.objInitialState.metadataStructureId;\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.objInitialState.metadataStructureId) {\r\n this.patchVariableGroupValues();\r\n }\r\n }\r\n\r\n createForm() {\r\n this.metadataForm = this.formBuilder.group({\r\n metadataStructureId: [0],\r\n name: [ '', Validators.compose( [\r\n CustomValidator.trimRequired,\r\n Validators.maxLength(50),\r\n Validators.pattern('^[a-zA-Z][a-zA-Z0-9_]*') ])\r\n ],\r\n description: ['', [Validators.maxLength(250) ]],\r\n type: [1, [Validators.required ]],\r\n editingBy: [0, [Validators.required ]],\r\n domain: [null],\r\n category: [ 0, Validators.required]\r\n });\r\n }\r\n\r\n patchVariableGroupValues() {\r\n this.metadataForm.controls.name.disable();\r\n this.metadataForm.controls.type.disable();\r\n this.metadataForm.controls.category.disable();\r\n\r\n this.metadataForm.patchValue({\r\n metadataStructureId: this.objInitialState.metadataStructureId,\r\n name: this.objInitialState.name,\r\n description: this.objInitialState.description,\r\n type: this.objInitialState.type,\r\n editingBy: this.objInitialState.editingBy,\r\n domain: this.objInitialState.domain,\r\n category: this.objInitialState.category\r\n });\r\n }\r\n\r\n cleanDomain() {\r\n this.formData.domain.setValue([]);\r\n }\r\n\r\n getNumber(sNumber) {\r\n return Number(sNumber);\r\n }\r\n\r\n addDomain(domainValue) {\r\n this.errorExistsDomain = false;\r\n if (!this.formData.domain.value){\r\n this.formData.domain.setValue([]);\r\n } else {\r\n let exists = this.formData.domain.value.filter(d => d == domainValue);\r\n if (exists && exists.length > 0){\r\n this.errorExistsDomain = true;\r\n return;\r\n }\r\n }\r\n if (this.formData.type.value == 2){\r\n domainValue = this.dateTimeService.formatBrDateTime(domainValue);\r\n }\r\n this.formData.domain.value.push(domainValue);\r\n this.domainValue = '';\r\n }\r\n\r\n removeDomain(domainVal) {\r\n this.errorMessage = '';\r\n this.formData.domain.value.splice(this.formData.domain.value.indexOf(domainVal), 1);\r\n }\r\n\r\n\r\n cleanErrors() {\r\n this.errorExistsDomain = false;\r\n }\r\n\r\n onSave() {\r\n this.errorMessage = '';\r\n const obj = this.metadataForm.getRawValue();\r\n obj.type = this.getNumber(obj.type);\r\n obj.editingBy = this.getNumber(obj.editingBy);\r\n obj.category = this.getNumber(obj.category);\r\n this.createMetadataStructure(obj);\r\n }\r\n\r\n createMetadataStructure(obj) {\r\n this.metadataService.saveMetadataStructure(obj)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error => {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\nul.rightsContainer {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n height: 10.5rem;\\r\\n}\\r\\n\\r\\nul.rightsContainer li {\\r\\n list-style-type: none;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.flowScroll {\\r\\n overflow-y: auto;\\r\\n min-height: 10.5rem;\\r\\n}\\r\\n\\r\\n.tabScroll {\\r\\n min-height: 22rem;\\r\\n height: 22rem;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9wb29scy9wb29scy1tb2RhbC9wb29scy1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsU0FBUztFQUNULFVBQVU7RUFDVixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsYUFBYTtFQUNiLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGdFQUFnRTtBQUNsRSIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vcG9vbHMvcG9vbHMtbW9kYWwvcG9vbHMtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnVsLnJpZ2h0c0NvbnRhaW5lciB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgaGVpZ2h0OiAxMC41cmVtO1xyXG59XHJcblxyXG51bC5yaWdodHNDb250YWluZXIgbGkge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4uZmxvd1Njcm9sbCB7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBtaW4taGVpZ2h0OiAxMC41cmVtO1xyXG59XHJcblxyXG4udGFiU2Nyb2xsIHtcclxuICBtaW4taGVpZ2h0OiAyMnJlbTtcclxuICBoZWlnaHQ6IDIycmVtO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0gKyAxNXB4KSBjZW50ZXI7XHJcbn1cclxuIl19 */\"","import {AfterViewChecked, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { PoolsService } from '../../../../services/configuration/pools.service';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport {AdminService} from '../../../../services/admin.service';\r\nimport {EnumTranslateService} from '../../../../services/enumTranslate-service';\r\nimport {Utils} from '../../../../services/utils';\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\nimport {formatDate} from '@angular/common';\r\nimport {SystemFlowService} from '../../../../services/configuration/system-flow.service';\r\n\r\n@Component({\r\n selector: 'app-pools-modal',\r\n templateUrl: './pools-modal.component.html',\r\n styleUrls: ['./pools-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class PoolsModalComponent implements OnInit, AfterViewChecked {\r\n\r\n @ViewChild('poolTabs', { static: false }) poolTabs: TabsetComponent;\r\n errorMessage = '';\r\n successMessage = '';\r\n errorMetadataTabMessage = '';\r\n\r\n availableSystemFlows = [];\r\n availablePools = [];\r\n availableGroups = [];\r\n availableUsers = [];\r\n dmSelectedUsers: any[];\r\n selectedUsers = [];\r\n selectUserByOptions = [\r\n { value: 0, text: 'Todos os usuários do sistema' },\r\n { value: 2, text: 'Usuários no pool' },\r\n { value: 1, text: 'Usuários no grupo de usuários' }\r\n ];\r\n selectUserBy = 0;\r\n availableMetadatas = [];\r\n editMetadata = 0;\r\n editMetadataValues = '';\r\n invalidMetadataValues = '';\r\n isOnInit = true;\r\n\r\n objInitialState: any;\r\n poolId: number;\r\n poolsForm: FormGroup;\r\n filterForm: FormGroup;\r\n itemSaved: Subject = new Subject();\r\n submitClick = false;\r\n hasConfigureAllMetadata = false;\r\n\r\n get formData() { return this.poolsForm.controls; }\r\n get filterData() { return this.filterForm.controls; }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private poolService: PoolsService,\r\n private adminService: AdminService, private bpService: BusinessProcessService,\r\n private systemFlowService: SystemFlowService) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.onSearchUsers();\r\n this.getAllSystemFlows();\r\n this.checkRight(33554432);\r\n\r\n if (this.objInitialState) {\r\n this.poolId = this.objInitialState.poolId;\r\n if (this.poolId > 0) {\r\n // realizar a busca por pool\r\n this.filterForm.patchValue({\r\n type: 2,\r\n poolId: this.poolId\r\n });\r\n this.onSearchUsers(true);\r\n this.getMetadataByPoolId();\r\n }\r\n }\r\n\r\n }\r\n\r\n ngAfterViewChecked() {\r\n const listItems = >document.getElementsByClassName('ng-option');\r\n\r\n if (this.availableUsers) {\r\n this.changeColorData(listItems, this.availableUsers);\r\n }\r\n }\r\n\r\n changeColorData(listItems: HTMLCollectionOf, availableItems: any[]) {\r\n availableItems.forEach( item => {\r\n for (let i = 0 ; i < listItems.length ; i++ ) {\r\n if ( !item.enabled && item.toLabel === (listItems[i].children[0]).innerText ) {\r\n let itemChildren = listItems[i].children[0];\r\n itemChildren.style.color = '#ccc';\r\n }\r\n }\r\n });\r\n }\r\n\r\n createForm() {\r\n this.poolsForm = this.formBuilder.group({\r\n name: [ '', Validators.compose( [ Validators.required, Validators.maxLength(100) ])],\r\n description: [ '', Validators.maxLength(300) ],\r\n systemFlowId: 0\r\n });\r\n\r\n this.filterForm = this.formBuilder.group({\r\n type: 0,\r\n poolId: null,\r\n groupId: null\r\n });\r\n }\r\n\r\n getSelectedUsers(data) {\r\n this.selectedUsers = data;\r\n }\r\n\r\n getAllPools() {\r\n this.errorMessage = '';\r\n\r\n this.poolService.getAll().subscribe(result => {\r\n this.availablePools = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getAllGroups() {\r\n this.errorMessage = '';\r\n this.adminService.loadGroupList().subscribe(result => {\r\n this.availableGroups = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getAllSystemFlows() {\r\n this.errorMessage = '';\r\n this.systemFlowService.getAllSystemFlow().subscribe(list => {\r\n this.availableSystemFlows = list.sort((n1, n2) => {\r\n if (n1.name > n2.name) {\r\n return 1;\r\n }\r\n if (n1.name < n2.name) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getAllPoolMetadatas() {\r\n this.errorMetadataTabMessage = '';\r\n this.poolService.getAllPoolMetadataValue(this.poolId).subscribe(result => {\r\n this.availableMetadatas = result;\r\n result.forEach(item => {\r\n if (item.structure.type == 2) {\r\n for (let i = 0; i < item.values.length; i++) {\r\n item.values[i] = formatDate(item.values[i], 'dd/MM/yyyy', 'pt-BR');\r\n }\r\n } else if (item.structure.type == 4){\r\n for (let i = 0; i < item.values.length; i++) {\r\n item.values[i] = item.values[i].toString().replace(\".\",\",\");\r\n }\r\n }\r\n });\r\n }, error1 => {\r\n this.errorMetadataTabMessage = error1;\r\n });\r\n }\r\n\r\n getMetadataByPoolId() {\r\n this.errorMessage = '';\r\n this.poolService.getMetaflowsInfoByPoolId(this.poolId).subscribe(result => {\r\n this.poolsForm.patchValue({\r\n name: this.objInitialState.name,\r\n description: this.objInitialState.description,\r\n systemFlowId: result.length && result[0].flowId || 0\r\n });\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onChangeFilterOption(event) {\r\n if (event.target.value === '2') {\r\n this.filterForm.get('poolId').setValidators(Validators.required);\r\n if (this.availablePools && this.availablePools.length === 0) { this.getAllPools(); }\r\n } else {\r\n this.filterForm.get('poolId').clearValidators();\r\n this.filterForm.get('poolId').reset();\r\n }\r\n\r\n if (event.target.value === '1') {\r\n this.filterForm.get('groupId').setValidators(Validators.required);\r\n if (this.availableGroups && this.availableGroups.length === 0) { this.getAllGroups(); }\r\n } else {\r\n this.filterForm.get('groupId').clearValidators();\r\n this.filterForm.get('groupId').reset();\r\n }\r\n }\r\n\r\n onSearchUsers(isEditValue = false) {\r\n this.errorMessage = '';\r\n const params = this.filterForm.getRawValue();\r\n params.type = parseInt(params.type, 10);\r\n params.poolId = params.poolId === null ? 0 : parseFloat(params.poolId);\r\n params.groupId = params.groupId === null ? 0 : parseFloat(params.groupId);\r\n this.poolService.getUsersByPoolUserFilter(params).subscribe(result => {\r\n result.forEach(item => {\r\n item.toLabel = `${item.logon} (${ item.pools.map(m => m.name).join(', ') })`;\r\n item.toLabel = item.toLabel.replace(' ()', '');\r\n });\r\n if (params.type == 2 && isEditValue) { // by_pool\r\n this.dmSelectedUsers = this.selectedUsers = result.map(m => m.userId);\r\n // this.selectUserBy = 0;\r\n this.filterForm.reset();\r\n this.filterForm.get('type').setValue(0);\r\n this.filterForm.updateValueAndValidity();\r\n } else {\r\n this.availableUsers = result;\r\n }\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n });\r\n }\r\n\r\n onEditMetadata(metadataId) {\r\n this.editMetadata = metadataId;\r\n const metadata = this.availableMetadatas.filter(function (element, index) {\r\n return (element.structure.metadataStructureId === metadataId);\r\n });\r\n this.editMetadataValues = metadata[0].values.join('\\n');\r\n }\r\n\r\n onCleanMetadataValues(metadataId) {\r\n const metadata = this.availableMetadatas.filter(function (element, index) {\r\n return (element.structure.metadataStructureId === metadataId);\r\n });\r\n\r\n metadata[0].values = [];\r\n }\r\n\r\n onSaveMetadataValues(metadataId) {\r\n this.editMetadata = 0;\r\n const metadata = this.availableMetadatas.filter(function (element, index) {\r\n return (element.structure.metadataStructureId === metadataId);\r\n });\r\n\r\n metadata[0].values = [];\r\n metadata[0].values = this.editMetadataValues.split('\\n').filter(f => f !== '');\r\n\r\n this.editMetadataValues = '';\r\n }\r\n\r\n getNewMetadataValues(metadataId) {\r\n const metadata = this.availableMetadatas.filter(function (element, index) {\r\n return (element.structure.metadataStructureId === metadataId);\r\n });\r\n let values = [];\r\n if (metadata[0].values && metadata[0].values.length > 0) {\r\n values = metadata[0].values.join('; ');\r\n }\r\n return values;\r\n }\r\n\r\n validateMetadata(value, metadataType) {\r\n this.invalidMetadataValues = '';\r\n const invalidItems = [];\r\n const items = value.split('\\n').filter(f => f !== '');\r\n items.forEach(item => {\r\n switch (metadataType) {\r\n case 1: /*integer*/\r\n if (isNaN(item)) { // se não for numero, já invalido\r\n invalidItems.push(item);\r\n } else {\r\n /*invalida se o resultado for diferente de zero, então não é numero inteiro ou\r\n se finalizar com ponto (ex.: 1. )*/\r\n if (item % 1 !== 0 || item.indexOf('.') > -1) {\r\n invalidItems.push(item);\r\n }\r\n }\r\n break;\r\n case 2: /*date*/\r\n let dayFormat = 'DD';\r\n let monthFormat = 'MM';\r\n const dateArray = item.split('/');\r\n if (dateArray.length !== 3) {\r\n invalidItems.push(item);\r\n break;\r\n } else {\r\n if (dateArray[0].length < 1 || dateArray[0].length > 2) {\r\n invalidItems.push(item);\r\n break;\r\n } else {\r\n dayFormat = 'D'.repeat(dateArray[0].length);\r\n }\r\n if (dateArray[1].length < 1 || dateArray[1].length > 2) {\r\n invalidItems.push(item);\r\n break;\r\n } else {\r\n monthFormat = 'M'.repeat(dateArray[1].length);\r\n }\r\n }\r\n\r\n if (!Utils.validateDate(item, `${dayFormat}/${monthFormat}/YYYY`)) {\r\n invalidItems.push(item);\r\n }\r\n\r\n break;\r\n case 3: /*text*/\r\n break;\r\n case 4: /*floating*/\r\n //if (isNaN(item)) { // se não for numero, já invalido\r\n if (!Utils.isBrNumeric(item)) { // se não for numero, já invalido\r\n invalidItems.push(item);\r\n }\r\n break;\r\n }\r\n });\r\n if (invalidItems.length > 0) {\r\n this.invalidMetadataValues =\r\n `Valores não conversíveis para o tipo ${EnumTranslateService.getEnumMetadataType(metadataType)}: ${ invalidItems.join(', ') }`;\r\n }\r\n }\r\n\r\n checkRight(item: number) {\r\n this.errorMessage = '';\r\n this.bpService.checkRights(item).subscribe(right => {\r\n this.isOnInit = false;\r\n switch (item) {\r\n case 33554432:\r\n this.hasConfigureAllMetadata = right.length > 0;\r\n if (this.hasConfigureAllMetadata) {\r\n this.getAllPoolMetadatas();\r\n }\r\n break;\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onSave() {\r\n this.errorMessage = '';\r\n this.submitClick = true;\r\n const pools = this.poolsForm.getRawValue();\r\n const metadataValues =\r\n this.availableMetadatas\r\n .filter(f => f.values && f.values.length > 0)\r\n .map(obj => Utils.mapOut(obj, ['extensionData'])).slice();\r\n\r\n for (let i = 0; i < metadataValues.length; i++) {\r\n delete metadataValues[i]['structure'].extensionData;\r\n if (metadataValues[i]['structure'].type === 2) { // se for data, preciso tratar\r\n for (let j = 0; j < metadataValues[i]['values'].length; j++) {\r\n const dataArr = metadataValues[i]['values'][j].split('/');\r\n metadataValues[i]['values'][j] = `${dataArr[2]}-${dataArr[1]}-${dataArr[0]}T03:00Z`;\r\n }\r\n }\r\n }\r\n\r\n const saveBundle = {\r\n pool: { poolId: this.poolId, name: pools.name, description: pools.description },\r\n systemFlows: pools.systemFlowId !== 0 ? [ pools.systemFlowId ] : [],\r\n users: this.selectedUsers ? this.selectedUsers : [],\r\n metadataValues: metadataValues\r\n };\r\n\r\n this.poolService.save(saveBundle).subscribe(result => {\r\n let saveType = 'criado';\r\n if (this.poolId > 0) {\r\n saveType = 'atualizado';\r\n }\r\n this.successMessage = `Pool ${saveType} com sucesso.`;\r\n this.submitClick = false;\r\n setTimeout(() => {\r\n this.itemSaved.next(true);\r\n this.bsModalRef.hide();\r\n }, 2000);\r\n }, error1 => {\r\n this.submitClick = false;\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n translateMetadataStructureType(type) {\r\n return EnumTranslateService.getEnumMetadataType(type);\r\n }\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9wb29scy9wb29scy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9wb29scy9wb29scy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIl19 */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport { PoolsService } from '../../../services/configuration/pools.service';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {PoolsModalComponent} from './pools-modal/pools-modal.component';\r\nimport {AdminService} from '../../../services/admin.service';\r\nimport {BusinessProcessService} from '../../../services/business-process.service';\r\nimport {error} from 'selenium-webdriver';\r\n\r\n@Component({\r\n selector: 'app-pools',\r\n templateUrl: './pools.component.html',\r\n styleUrls: ['./pools.component.css']\r\n})\r\nexport class PoolsComponent implements OnInit {\r\n\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n hasPoolRight = false;\r\n hasConfigSystemParams = false; // 4194304\r\n hasConfigureMyMetadata = false; // 16777216\r\n\r\n errorMessage = '';\r\n pleaseWait = false;\r\n isOnInit = true;\r\n successMessage = '';\r\n filteredPools = [];\r\n availablePools = [];\r\n filterSettings = {\r\n placeholder: 'Filtrar',\r\n width: 100,\r\n inputTextSearchId: 'txtSearchGlobalVariable',\r\n showBooleanFilter: false,\r\n textFilterPropertyName: 'name',\r\n };\r\n editPoolModalComponent: any = PoolsModalComponent;\r\n\r\n constructor(private poolsService: PoolsService, private modalService: GenericModalService, private admService: AdminService,\r\n private bpService: BusinessProcessService) { }\r\n\r\n ngOnInit() {\r\n this.checkRight(4194304);\r\n this.checkRight(16777216);\r\n }\r\n\r\n getAll() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n\r\n this.poolsService.getAll().subscribe(result => {\r\n this.filteredPools = result;\r\n this.availablePools = result;\r\n this.pleaseWait = false;\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onCreateOrUpdatePool(pool: any = null) {\r\n let title = 'Novo';\r\n let objInitialState = {};\r\n if (pool == null) {\r\n objInitialState = { poolId: 0 };\r\n } else {\r\n title = 'Editar';\r\n delete pool['extensionData'];\r\n objInitialState = pool;\r\n }\r\n const result$ = this.modalService.showObjModal(this.editPoolModalComponent, `${title} Pool`, objInitialState);\r\n if (result$) {\r\n result$.asObservable()\r\n .subscribe(\r\n result => {\r\n if (result) {\r\n this.ngOnInit();\r\n }\r\n }\r\n );\r\n } else {\r\n this.errorMessage = 'Sessão expirada.';\r\n }\r\n }\r\n\r\n onDeletePool(pool: any) {\r\n this.errorMessage = '';\r\n delete pool['extensionData'];\r\n let message =\r\n `Confirma a exclusão de ${pool.name}?

`;\r\n message = message.concat(`Isto causará a desassociação de seus usuários participantes e, consequentemente, os metadados configurados\r\n para o pool deixarão de ter efeito durante a aplicação da regra de distribuição de instâncias.`);\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Aviso de exclusão', message);\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.poolsService.deletePool(pool)\r\n .subscribe( () => {\r\n this.successMessage = `Pool ${pool.name} excluído com sucesso.`;\r\n this.ngOnInit();\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n }, 2000);\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onFilterList(filteredData: any[]) {\r\n this.filteredPools = filteredData;\r\n }\r\n\r\n checkRight(item: number) {\r\n this.errorMessage = '';\r\n this.bpService.checkRights(item).subscribe(right => {\r\n this.isOnInit = false;\r\n switch (item) {\r\n case 4194304:\r\n this.hasConfigSystemParams = right.length > 0;\r\n if (this.hasConfigSystemParams) {\r\n this.getAll();\r\n }\r\n break;\r\n case 16777216:\r\n this.hasConfigureMyMetadata = right.length > 0;\r\n break;\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zY2hlZHVsaW5nL2V4dHJhY3Rpb24tc2NoZWR1bGluZy1tb2RhbC9leHRyYWN0aW9uLXNjaGVkdWxpbmctbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQyIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vc2NoZWR1bGluZy9leHRyYWN0aW9uLXNjaGVkdWxpbmctbW9kYWwvZXh0cmFjdGlvbi1zY2hlZHVsaW5nLW1vZGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { Utils } from '../../../../services/utils';\r\nimport { CustomValidator } from '../../../../services/custom-validator';\r\nimport { DateTimeService } from '../../../../services/date-time.service';\r\nimport { ExtractionService } from '../../../../services/configuration/extraction.service';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\n\r\n@Component({\r\n selector: 'app-scheduling-modal',\r\n templateUrl: './extraction-scheduling-modal.component.html',\r\n styleUrls: ['./extraction-scheduling-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class ExtractionSchedulingModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n scheduleForm: FormGroup;\r\n objInitialState: any;\r\n submitted = false;\r\n submitClick = false;\r\n errorMessage = '';\r\n successMessage = '';\r\n isNew: boolean;\r\n fileLayoutsList$: Observable;\r\n filteredRepetitions = [];\r\n hasRight: boolean;\r\n hasRight$: Observable;\r\n repetitions = [\r\n { value: 0, name: 'Não Repetir' },\r\n { value: 600, name: '10 minutos' },\r\n { value: 900, name: '15 minutos' },\r\n { value: 1800, name: '30 minutos' },\r\n { value: 3600, name: '1 hora' }\r\n ];\r\n durations = [\r\n { value: 1800, name: '30 minutos' },\r\n { value: 3600, name: '1 hora' },\r\n { value: 43200, name: '12 horas' },\r\n { value: 86400, name: '1 dia' }\r\n ];\r\n types = [\r\n { value: 1, name: 'Fixo' },\r\n { value: 2, name: 'Layout de arquivo' }\r\n ];\r\n intervalTypes = [\r\n { value: 1, name: 'Período Fixo' },\r\n { value: 2, name: 'Incremental' },\r\n { value: 3, name: 'Retroativo' }\r\n ];\r\n retroactiveIntervalTypes = [\r\n { value: 1, name: 'Hora(s)' },\r\n { value: 2, name: 'Dia(s)' },\r\n { value: 3, name: 'Mês(es)' }\r\n ];\r\n\r\n get formData() { return this.scheduleForm.controls; }\r\n get dataExtractionDefinitionData() { return this.formData.dataExtractionDefinition['controls']; }\r\n get schedulingInfoData() { return this.formData.schedulingInfo['controls']; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder,\r\n private dateTimeService: DateTimeService,\r\n private extractionService: ExtractionService,\r\n private businessProcessService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkRights();\r\n this.hasRight$.subscribe( rights => {\r\n this.hasRight = rights.length > 0;\r\n if (this.hasRight) {\r\n this.isNew = this.objInitialState.name === undefined;\r\n this.createForm();\r\n this.getFileLayoutsForDataExtraction();\r\n if (!this.isNew) {\r\n this.patchValues();\r\n }\r\n } else {\r\n this.errorMessage = 'Usuário não tem direito de efetuar esta ação.';\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n\r\n }\r\n\r\n createForm() {\r\n this.scheduleForm = this.formBuilder.group({\r\n dataExtractionDefinition: this.formBuilder.group({\r\n dataExtractionDefinitionId: 0,\r\n name: ['', [Validators.required, Validators.pattern('^[^<>:\\\\\"\\\\\\\\\\\\/|?*[\\\\]{}\\\\$%¨&\\\\(\\\\)\\\\-\\\\+§`ªº\\\\-°\\'\\\\^~¢¬£³²¹]+$')] ],\r\n description: '',\r\n type: [1, Validators.required],\r\n intervalType: 1,\r\n intervalStart: [ this.getToday(), Validators.required ],\r\n intervalEnd: [ this.getToday(), Validators.required ],\r\n intervalTimeAmount: [ 1, [Validators.min(1), Validators.max(999), CustomValidator.numeric] ],\r\n retroactiveIntervalType: 1,\r\n fileLayout: null,\r\n isDeleted: false,\r\n onlyLastLifeCycle: false\r\n }),\r\n schedulingInfo: this.formBuilder.group({\r\n repetition: 0,\r\n dailyFrequency: [ 1, [Validators.min(1), Validators.max(999), CustomValidator.numeric] ],\r\n start: [ this.getToday(), Validators.required ],\r\n enabled: true,\r\n repetitionDuration: 0,\r\n schedulingId: 0,\r\n taskId: 0,\r\n taskType: 0\r\n })\r\n });\r\n this.scheduleForm.controls['dataExtractionDefinition'].setValidators(CustomValidator.validateDatetime('intervalStart', 'intervalEnd'));\r\n }\r\n\r\n patchValues() {\r\n delete this.objInitialState.extensionData;\r\n this.getFilteredRepetitionDurations(this.objInitialState.schedulingInfo.repetition);\r\n this.scheduleForm.patchValue(\r\n {\r\n dataExtractionDefinition: {\r\n dataExtractionDefinitionId: this.objInitialState.dataExtractionDefinition.dataExtractionDefinitionId,\r\n name: this.objInitialState.dataExtractionDefinition.name,\r\n description: this.objInitialState.dataExtractionDefinition.description,\r\n type: this.objInitialState.dataExtractionDefinition.type,\r\n intervalType: this.objInitialState.dataExtractionDefinition.intervalType,\r\n fileLayout: this.objInitialState.dataExtractionDefinition.fileLayout ?\r\n this.objInitialState.dataExtractionDefinition.fileLayout.fileLayoutId : null,\r\n intervalStart: this.objInitialState.dataExtractionDefinition.intervalStart ?\r\n Utils.formatDate(this.objInitialState.dataExtractionDefinition.intervalStart, 'yyyy-MM-DDTHH:mm:ss') : null,\r\n intervalEnd: this.objInitialState.dataExtractionDefinition.intervalEnd ?\r\n Utils.formatDate(this.objInitialState.dataExtractionDefinition.intervalEnd, 'yyyy-MM-DDTHH:mm:ss') : null,\r\n intervalTimeAmount: this.objInitialState.dataExtractionDefinition.intervalTimeAmount,\r\n retroactiveIntervalType: this.objInitialState.dataExtractionDefinition.retroactiveIntervalType,\r\n isDeleted: this.objInitialState.dataExtractionDefinition.isDeleted,\r\n onlyLastLifeCycle: this.objInitialState.dataExtractionDefinition.onlyLastLifeCycle\r\n },\r\n schedulingInfo: {\r\n repetition: this.objInitialState.schedulingInfo.repetition,\r\n dailyFrequency: this.objInitialState.schedulingInfo.dailyFrequency,\r\n start: this.objInitialState.schedulingInfo.start ?\r\n Utils.formatDate(this.objInitialState.schedulingInfo.start, 'yyyy-MM-DDTHH:mm:ss') : null,\r\n enabled: this.objInitialState.schedulingInfo.enabled,\r\n repetitionDuration: Number(this.objInitialState.schedulingInfo.repetitionDuration),\r\n schedulingId: this.objInitialState.schedulingInfo.schedulingId,\r\n taskId: this.objInitialState.schedulingInfo.taskId,\r\n taskType: this.objInitialState.schedulingInfo.taskType\r\n }\r\n }\r\n );\r\n this.onChangeIntervalType(this.objInitialState.dataExtractionDefinition.intervalType.toString());\r\n }\r\n\r\n getFilteredRepetitionDurations(definition) {\r\n if (definition === undefined) {\r\n return [];\r\n } else {\r\n const durationsConst = Array.from(this.durations);\r\n for (let i = durationsConst.length - 1; i >= 0; i--) {\r\n if (durationsConst[i].value <= definition) {\r\n durationsConst.splice(i, 1);\r\n }\r\n }\r\n this.filteredRepetitions = durationsConst;\r\n }\r\n }\r\n\r\n getFileLayoutsForDataExtraction() {\r\n this.fileLayoutsList$ = this.extractionService.getFileLayoutsForDataExtraction();\r\n }\r\n\r\n onChangeType(type) {\r\n if (type == 2) {\r\n this.dataExtractionDefinitionData['fileLayout'].setValidators(Validators.required);\r\n } else {\r\n this.dataExtractionDefinitionData['fileLayout'].clearValidators();\r\n this.scheduleForm.controls.dataExtractionDefinition.patchValue(\r\n { fileLayout: null, onlyLastLifeCycle: null }\r\n );\r\n }\r\n this.dataExtractionDefinitionData['fileLayout'].updateValueAndValidity();\r\n }\r\n\r\n onChangeIntervalType(intervalType) {\r\n const addValidatorsControls = [];\r\n const removeValidatorsControls = [];\r\n switch (intervalType) {\r\n case '1': addValidatorsControls.push('intervalStart', 'intervalEnd');\r\n removeValidatorsControls.push('intervalTimeAmount', 'retroactiveIntervalType');\r\n this.scheduleForm.controls.dataExtractionDefinition.setValidators(CustomValidator.validateDatetime('intervalStart', 'intervalEnd'));\r\n this.scheduleForm.controls.dataExtractionDefinition.patchValue(\r\n { intervalTimeAmount: null, retroactiveIntervalType: 1 }\r\n );\r\n break;\r\n case '2': addValidatorsControls.push('intervalStart');\r\n removeValidatorsControls.push('dataExtractionDefinition', 'intervalEnd', 'intervalTimeAmount', 'retroactiveIntervalType');\r\n this.scheduleForm.controls.dataExtractionDefinition.patchValue(\r\n { intervalTimeAmount: null, retroactiveIntervalType: 1 }\r\n );\r\n break;\r\n case '3': addValidatorsControls.push('intervalTimeAmount', 'retroactiveIntervalType');\r\n removeValidatorsControls.push('dataExtractionDefinition', 'intervalStart', 'intervalEnd');\r\n }\r\n\r\n addValidatorsControls.forEach( control => {\r\n if (control == 'intervalTimeAmount') {\r\n this.dataExtractionDefinitionData['intervalTimeAmount'].setValidators([\r\n Validators.min(1), Validators.max(999), CustomValidator.numeric ]);\r\n } else {\r\n this.dataExtractionDefinitionData[control].setValidators(Validators.required);\r\n }\r\n this.dataExtractionDefinitionData[control].updateValueAndValidity();\r\n });\r\n\r\n removeValidatorsControls.forEach( control => {\r\n if (control == 'dataExtractionDefinition') {\r\n this.scheduleForm.controls['dataExtractionDefinition'].clearValidators();\r\n } else {\r\n this.dataExtractionDefinitionData[control].clearValidators();\r\n this.dataExtractionDefinitionData[control].updateValueAndValidity();\r\n }\r\n });\r\n }\r\n\r\n onChangeRepetition(repetition) {\r\n this.getFilteredRepetitionDurations(repetition);\r\n if (repetition > 0) {\r\n this.scheduleForm.controls.schedulingInfo.patchValue(\r\n { repetitionDuration: this.filteredRepetitions[0].value }\r\n );\r\n }\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n const schedule = this.scheduleForm.getRawValue();\r\n schedule.dataExtractionDefinition.intervalType = Number(schedule.dataExtractionDefinition.intervalType);\r\n schedule.schedulingInfo.start = Utils.toUTCThenFormat(schedule.schedulingInfo.start);\r\n switch (schedule.dataExtractionDefinition.intervalType) {\r\n case 1: schedule.dataExtractionDefinition.IntervalTimeAmount = null;\r\n schedule.dataExtractionDefinition.intervalStart\r\n = Utils.toUTCThenFormat(schedule.dataExtractionDefinition.intervalStart);\r\n schedule.dataExtractionDefinition.intervalEnd\r\n = Utils.toUTCThenFormat(schedule.dataExtractionDefinition.intervalEnd);\r\n break;\r\n case 2: schedule.dataExtractionDefinition.intervalEnd = null;\r\n schedule.dataExtractionDefinition.intervalStart\r\n = Utils.toUTCThenFormat(schedule.dataExtractionDefinition.intervalStart);\r\n schedule.dataExtractionDefinition.intervalTimeAmount = null;\r\n break;\r\n }\r\n schedule.dataExtractionDefinition.retroactiveIntervalType = Number(schedule.dataExtractionDefinition.retroactiveIntervalType);\r\n schedule.dataExtractionDefinition.type = Number(schedule.dataExtractionDefinition.type);\r\n if (schedule.dataExtractionDefinition.type === 2) {\r\n schedule.dataExtractionDefinition.fileLayout = { fileLayoutId: schedule.dataExtractionDefinition.fileLayout };\r\n } else {\r\n schedule.dataExtractionDefinition.fileLayout = null;\r\n }\r\n if (this.isNew) {\r\n this.createDataExtractionScheduling(schedule);\r\n } else {\r\n this.updateDataExtractionScheduling(schedule);\r\n }\r\n }\r\n\r\n createDataExtractionScheduling(schedule) {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n this.extractionService.createSchedulingWithDataExtractionDef(schedule)\r\n .subscribe( result => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n this.successMessage = 'Agendamento criado com sucesso';\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n updateDataExtractionScheduling(schedule) {\r\n this.successMessage = '';\r\n this.errorMessage = '';\r\n this.extractionService.updateSchedulingWithDataExtractionDef(schedule)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n this.successMessage = 'Agendamento alterado com sucesso';\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n getToday() {\r\n const date = new Date(Date.now()).toISOString()\r\n .substr(0, 19);\r\n return this.dateTimeService.toLocalISOStringDateTime(date);\r\n }\r\n\r\n adjustInitialDate(value) {\r\n const now = this.getToday();\r\n if (value > now) {\r\n this.scheduleForm.controls.dataExtractionDefinition.patchValue(\r\n { intervalStart: now }\r\n );\r\n }\r\n }\r\n\r\n adjustSchedulingStart(value) {\r\n const now = this.getToday();\r\n if (value < now) {\r\n this.scheduleForm.controls.schedulingInfo.patchValue(\r\n { start: now }\r\n );\r\n }\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.scheduleForm.controls['dataExtractionDefinition'] as FormGroup, formControlName);\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n\r\n checkRights() {\r\n this.errorMessage = '';\r\n this.hasRight$ = this.businessProcessService.checkRights(2097152);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vc2NoZWR1bGluZy9zY2hlZHVsaW5nLmNvbXBvbmVudC5jc3MifQ== */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\nimport {EnumTranslateService} from '../../../services/enumTranslate-service';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {ExtractionSchedulingModalComponent} from './extraction-scheduling-modal/extraction-scheduling-modal.component';\r\nimport {ExtractionService} from '../../../services/configuration/extraction.service';\r\n\r\n@Component({\r\n selector: 'app-scheduling',\r\n templateUrl: './scheduling.component.html',\r\n styleUrls: ['./scheduling.component.css']\r\n})\r\nexport class SchedulingComponent implements OnInit {\r\n\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n dataExtractionSchedulingList: any[];\r\n pleaseWait = false;\r\n errorMessage = '';\r\n successMessage = '';\r\n destComponent: any = ExtractionSchedulingModalComponent;\r\n\r\n constructor(private extractionService: ExtractionService, private modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.loadSchedulings();\r\n }\r\n\r\n loadSchedulings() {\r\n this.errorMessage = '';\r\n this.extractionService.getAllDataExtractionScheduling().subscribe(res => {\r\n this.dataExtractionSchedulingList = res;\r\n // incluir os campos tratados aqui para facilitar na ordenação...\r\n this.dataExtractionSchedulingList.forEach(definition => {\r\n definition.name = definition.dataExtractionDefinition.name;\r\n\r\n // quando retorna do oracle, o campo description está retornando null.\r\n // Portanto, preciso realizar o tratamento aqui para evitar erro na renderização da tela\r\n definition.description = definition.dataExtractionDefinition.description == null ? '' : definition.dataExtractionDefinition.description;\r\n\r\n definition.descriptionType = this.getDataExtractionDescription(definition.dataExtractionDefinition.type);\r\n definition.descriptionIntervalType = this.getDataExtractionIntervalDescription(definition.dataExtractionDefinition.intervalType);\r\n definition.enabledDescription = definition.schedulingInfo.enabled ? 'Ativo' : 'Inativo';\r\n });\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n setTimeout(() => { this.errorMessage = ''; }, 5000);\r\n });\r\n }\r\n\r\n getDataExtractionDescription(type) {\r\n return EnumTranslateService.getEnumDataExtractionType(type);\r\n }\r\n\r\n getDataExtractionIntervalDescription(type) {\r\n return EnumTranslateService.getEnumDataExtractionIntervalType(type);\r\n }\r\n\r\n onDeleteSchedule(definition) {\r\n this.successMessage = '';\r\n this.errorMessage = '';\r\n\r\n definition = ExtractionService.fixDefinitionForSerialization(definition);\r\n\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão',\r\n `Confirma a exclusão de ${definition.dataExtractionDefinition.name}?`);\r\n\r\n alert.then((result) => {\r\n if (result.value){\r\n this.extractionService.deleteSchedulingWithDataExtractionDef(definition).subscribe(res => {\r\n this.successMessage = `${definition.dataExtractionDefinition.name} excluído com sucesso`;\r\n\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.loadSchedulings();\r\n }, 2000);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onEditSchedule(schedule) {\r\n const result$ = this.modalService.showObjModal(this.destComponent, 'Configurar tipo de extração e agendamento', schedule);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n });\r\n }\r\n\r\n onAddNew() {\r\n const newSchedule = {};\r\n const result$ = this.modalService.showObjModal(this.destComponent, 'Configurar tipo de extração e agendamento', newSchedule);\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.ngOnInit(); }\r\n });\r\n }\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.inactive {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n.div-scroll {\\r\\n overflow-x: hidden;\\r\\n overflow-y: auto;\\r\\n height: 54vh;\\r\\n position: relative;\\r\\n padding: 0.1rem;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tYXBpL3NlcnZpY2UtY29uZmlndXJhdGlvbi1hcGkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsY0FBYztBQUNoQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vc2VydmljZS1jb25maWd1cmF0aW9uLWFwaS9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tYXBpLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmluYWN0aXZlICB7XHJcbiAgY29sb3I6ICNjY2M7XHJcbn1cclxuXHJcbi5kaXYtc2Nyb2xsIHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBoZWlnaHQ6IDU0dmg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDAuMXJlbTtcclxuICBmbGV4OiAxIDEgYXV0bztcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-service-configuration-api',\r\n templateUrl: './service-configuration-api.component.html',\r\n styleUrls: ['./service-configuration-api.component.css']\r\n})\r\nexport class ServiceConfigurationApiComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n apiComponentForm: FormGroup;\r\n objInitialState;\r\n config;\r\n error;\r\n submitted;\r\n\r\n pleaseWait = false;\r\n get formData() { return this.apiComponentForm.controls; }\r\n\r\n constructor(\r\n private nodeConfigService: NodeConfigurationService,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.submitted= false;\r\n\r\n if (this.objInitialState){\r\n this.config = this.objInitialState;\r\n }\r\n this.createForm();\r\n this.loadConfigs();\r\n\r\n }\r\n\r\n createForm() {\r\n this.apiComponentForm = this.formBuilder.group({\r\n communicationKey: [null],\r\n updateDriverServiceUri: [null],\r\n attachmentRepositoryType: [ null],\r\n attachmentRepositoryPath: { value: null },\r\n impersonateAuthentication: [false],\r\n inMemoryServiceIp: [null,[ CustomValidator.trimRequired, Validators.maxLength(100) ]],\r\n inMemoryServicePort: [0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n userSessionIdleTimeout: [0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n batcherNetworkAddress: [null],\r\n pendingInstancesQueue:[null, CustomValidator.trimRequired],\r\n syncInstancesQueue:[null, CustomValidator.trimRequired],\r\n syncResultInstancesQueue:[null, CustomValidator.trimRequired],\r\n pendingBatchInstancesQueue:[null, CustomValidator.trimRequired],\r\n pendingBatchItemQueue:[null, CustomValidator.trimRequired],\r\n scheduledNextStatesExecutionQueue:[null, CustomValidator.trimRequired],\r\n suspendedInstancesQueue:[null, CustomValidator.trimRequired],\r\n interactionTimeoutQueue:[null, CustomValidator.trimRequired],\r\n interactionInstanceQueue:[null, CustomValidator.trimRequired],\r\n overrideQueue:[null, CustomValidator.trimRequired]\r\n });\r\n }\r\n\r\n loadConfigs() {\r\n this.error = '';\r\n this.nodeConfigService.getByNode(this.config.machineId, this.config.hostName, 2)\r\n .subscribe(result => {\r\n if (result) {\r\n this.apiComponentForm.patchValue({\r\n communicationKey: result.communicationKey,\r\n updateDriverServiceUri: result.updateDriverServiceUri,\r\n attachmentRepositoryType: result.attachmentRepositoryType.toString(),\r\n attachmentRepositoryPath: result.attachmentRepositoryPath,\r\n impersonateAuthentication: result.impersonateAuthentication,\r\n inMemoryServiceIp: result.inMemoryServiceIp,\r\n inMemoryServicePort: result.inMemoryServicePort,\r\n userSessionIdleTimeout: result.userSessionIdleTimeout,\r\n batcherNetworkAddress: result.batcherNetworkAddress,\r\n pendingInstancesQueue: result.pendingInstancesQueue,\r\n syncInstancesQueue: result.syncInstancesQueue,\r\n syncResultInstancesQueue: result.syncResultInstancesQueue,\r\n pendingBatchInstancesQueue: result.pendingBatchInstancesQueue,\r\n pendingBatchItemQueue: result.pendingBatchItemQueue,\r\n scheduledNextStatesExecutionQueue: result.scheduledNextStatesExecutionQueue,\r\n suspendedInstancesQueue: result.suspendedInstancesQueue,\r\n interactionTimeoutQueue: result.interactionTimeoutQueue,\r\n interactionInstanceQueue: result.interactionInstanceQueue,\r\n overrideQueue: result.overrideQueue\r\n });\r\n this.pleaseWait = false;\r\n // @ts-ignore\r\n $('#cardQueues').CardWidget('collapse');\r\n this.onAttachmentRepositoryTypeChange();\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.error = '';\r\n this.pleaseWait = true;\r\n const obj = this.apiComponentForm.getRawValue();\r\n obj.machineId = this.config.machineId;\r\n obj.hostName = this.config.hostName;\r\n this.nodeConfigService.updateApi(obj).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => { this.submitted = false; }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = error1;\r\n }\r\n );\r\n }\r\n\r\n onAttachmentRepositoryTypeChange() {\r\n if (this.formData.attachmentRepositoryType.value == \"1\"){\r\n this.apiComponentForm.get('attachmentRepositoryPath').setValidators(CustomValidator.trimRequired);\r\n } else {\r\n this.apiComponentForm.get('attachmentRepositoryPath').clearValidators();\r\n this.apiComponentForm.patchValue({\r\n attachmentRepositoryPath: null\r\n });\r\n this.apiComponentForm.updateValueAndValidity();\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vc2VydmljZS1jb25maWd1cmF0aW9uLWJhdGNoZXIvc2VydmljZS1jb25maWd1cmF0aW9uLWJhdGNoZXIuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-service-configuration-batcher',\r\n templateUrl: './service-configuration-batcher.component.html',\r\n styleUrls: ['./service-configuration-batcher.component.css']\r\n})\r\nexport class ServiceConfigurationBatcherComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n componentForm: FormGroup;\r\n objInitialState;\r\n config;\r\n pleaseWait = false;\r\n error;\r\n submitted;\r\n\r\n get formData() { return this.componentForm.controls; }\r\n\r\n constructor(private nodeConfigService: NodeConfigurationService, public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder, private domSanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.submitted = false;\r\n\r\n if (this.objInitialState) {\r\n this.config = this.objInitialState;\r\n }\r\n this.createForm();\r\n this.loadConfigs();\r\n }\r\n\r\n createForm() {\r\n this.componentForm = this.formBuilder.group({\r\n inboxDirectory: [ '', [ CustomValidator.trimRequired, Validators.maxLength(2000) ]],\r\n outboxDirectory: [ '', [ CustomValidator.trimRequired, Validators.maxLength(2000) ]]\r\n });\r\n }\r\n\r\n loadConfigs() {\r\n this.error = '';\r\n this.nodeConfigService.getByNode(this.config.machineId, this.config.hostName, 10)\r\n .subscribe(result => {\r\n if (result) {\r\n this.componentForm.patchValue({\r\n inboxDirectory: result.inboxDirectory,\r\n outboxDirectory: result.outboxDirectory\r\n });\r\n this.pleaseWait = false;\r\n\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.error = '';\r\n this.pleaseWait = true;\r\n const obj = this.componentForm.getRawValue();\r\n obj.machineId = this.config.machineId;\r\n obj.hostName = this.config.hostName;\r\n this.nodeConfigService.updateBatcher(obj).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => { this.submitted = false; }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = error1;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.inactive {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24taW5NZW1vcnkvc2VydmljZS1jb25maWd1cmF0aW9uLWluTWVtb3J5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL3NlcnZpY2UtY29uZmlndXJhdGlvbi1pbk1lbW9yeS9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24taW5NZW1vcnkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaW5hY3RpdmUgIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxuIl19 */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-service-configuration-api',\r\n templateUrl: './service-configuration-inMemory.component.html',\r\n styleUrls: ['./service-configuration-inMemory.component.css']\r\n})\r\nexport class ServiceConfigurationInMemoryComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n componentForm: FormGroup;\r\n objInitialState;\r\n config;\r\n error;\r\n submitted;\r\n\r\n pleaseWait = false;\r\n get formData() { return this.componentForm.controls; }\r\n\r\n constructor(\r\n private nodeConfigService: NodeConfigurationService,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.submitted= false;\r\n\r\n if (this.objInitialState){\r\n this.config = this.objInitialState;\r\n }\r\n this.createForm();\r\n this.loadConfigs();\r\n\r\n }\r\n\r\n createForm() {\r\n this.componentForm = this.formBuilder.group({\r\n periodRecalculateUserMetadataValues:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n dataCommunicationIp:[null,[ CustomValidator.trimRequired, Validators.maxLength(100) ]],\r\n dataCommunicationPort:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n });\r\n }\r\n\r\n loadConfigs() {\r\n this.error = '';\r\n this.nodeConfigService.getByNode(this.config.machineId, this.config.hostName, 9)\r\n .subscribe(result => {\r\n if (result) {\r\n this.componentForm.patchValue({\r\n periodRecalculateUserMetadataValues: result.periodRecalculateUserMetadataValues,\r\n dataCommunicationIp: result.dataCommunicationIp,\r\n dataCommunicationPort: result.dataCommunicationPort,\r\n });\r\n this.pleaseWait = false;\r\n\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.error = '';\r\n this.pleaseWait = true;\r\n const obj = this.componentForm.getRawValue();\r\n obj.machineId = this.config.machineId;\r\n obj.hostName = this.config.hostName;\r\n this.nodeConfigService.updateInMemory(obj).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => { this.submitted = false; }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = error1;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.inactive {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tbGlzdC9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tbGlzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tbGlzdC9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbmFjdGl2ZSAge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4iXX0= */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {EnumTranslateService} from '../../../services/enumTranslate-service';\r\nimport {UserModalComponent} from '../../Admin/users/user-modal.component';\r\nimport {ServiceConfigurationApiComponent} from '../service-configuration-api/service-configuration-api.component';\r\nimport {ServiceConfigurationRuntimeComponent} from '../service-configuration-runtime/service-configuration-runtime.component';\r\nimport {ServiceConfigurationInMemoryComponent} from '../service-configuration-inMemory/service-configuration-inMemory.component';\r\nimport {ServiceConfigurationSchedulerComponent} from '../service-configuration-scheduler/service-configuration-scheduler.component';\r\nimport {ServiceConfigurationBatcherComponent} from '../service-configuration-batcher/service-configuration-batcher.component';\r\nimport {ServiceConfigurationWebClientComponent} from '../service-configuration-webClient/service-configuration-webClient.component';\r\nimport {StyleBuilder} from '../../../services/style-builder';\r\n\r\n@Component({\r\n selector: 'app-service-configuration-list',\r\n templateUrl: './service-configuration-list.component.html',\r\n styleUrls: ['./service-configuration-list.component.css']\r\n})\r\nexport class ServiceConfigurationListComponent implements OnInit {\r\n\r\n onlyActive: boolean;\r\n componentList: any[];\r\n\r\n filterText: string;\r\n\r\n pleaseWait = false;\r\n errorMessage = '';\r\n config: PaginationInstance;\r\n destApiComponent: any = ServiceConfigurationApiComponent;\r\n destRuntimeComponent: any = ServiceConfigurationRuntimeComponent;\r\n destInMemoryComponent: any = ServiceConfigurationInMemoryComponent;\r\n destSchedulerComponent: any = ServiceConfigurationSchedulerComponent;\r\n destBatcher: any = ServiceConfigurationBatcherComponent;\r\n destWebClient: any = ServiceConfigurationWebClientComponent;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private nodeConfigService: NodeConfigurationService,\r\n private modalService: GenericModalService,\r\n private styleBuilder: StyleBuilder, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.onlyActive = true;\r\n this.pleaseWait = true;\r\n this.nodeConfigService.getAll()\r\n .subscribe(configs => {\r\n this.componentList = configs;\r\n this.componentList.forEach(c => {\r\n c.typeDescription = EnumTranslateService.getEnumNodeType(c.type);\r\n });\r\n this.pleaseWait = false;\r\n },\r\n error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n\r\n editNodeCofiguration(config) {\r\n if (config.type == 2) {\r\n this.modalService.showObjModal(this.destApiComponent, 'Configurações API', config, 'modal-xl');\r\n } else if (config.type == 1) {\r\n this.modalService.showObjModal(this.destRuntimeComponent, 'Configurações Runtime', config, 'modal-xl');\r\n } else if (config.type == 9) {\r\n this.modalService.showObjModal(this.destInMemoryComponent, 'Configurações Centralizador de Dados', config, 'modal-xl');\r\n } else if (config.type == 7) {\r\n this.modalService.showObjModal(this.destSchedulerComponent, 'Configurações Agendador', config, 'modal-xl');\r\n } else if (config.type == 10) {\r\n this.modalService.showObjModal(this.destBatcher, 'Configurações do Executor de Lote', config, 'modal-lg');\r\n } else if (config.type == 3) {\r\n const result$ = this.modalService.showObjModal(this.destWebClient, 'Configurações Web Client', config, 'modal-xl');\r\n result$.asObservable()\r\n .subscribe(\r\n result => {\r\n this.styleBuilder.setLayoutConfig();\r\n this.ngOnInit();\r\n }\r\n );\r\n }\r\n\r\n }\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.inactive {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n.div-scroll {\\r\\n overflow-x: hidden;\\r\\n overflow-y: auto;\\r\\n height: 55vh;\\r\\n position: relative;\\r\\n padding: 0.1rem;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tcnVudGltZS9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tcnVudGltZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixjQUFjO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tcnVudGltZS9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tcnVudGltZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbmFjdGl2ZSAge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4uZGl2LXNjcm9sbCB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgaGVpZ2h0OiA1NXZoO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAwLjFyZW07XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbn1cclxuIl19 */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-service-configuration-api',\r\n templateUrl: './service-configuration-runtime.component.html',\r\n styleUrls: ['./service-configuration-runtime.component.css']\r\n})\r\nexport class ServiceConfigurationRuntimeComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n componentForm: FormGroup;\r\n objInitialState;\r\n config;\r\n error;\r\n submitted;\r\n\r\n pleaseWait = false;\r\n get formData() { return this.componentForm.controls; }\r\n\r\n constructor(\r\n private nodeConfigService: NodeConfigurationService,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.submitted= false;\r\n\r\n if (this.objInitialState){\r\n this.config = this.objInitialState;\r\n }\r\n this.createForm();\r\n this.loadConfigs();\r\n\r\n }\r\n\r\n createForm() {\r\n this.componentForm = this.formBuilder.group({\r\n communicationKey: [null],\r\n attachmentRepositoryType: [null],\r\n attachmentRepositoryPath:[null],\r\n pendingInstancesQueue:[null, CustomValidator.trimRequired],\r\n syncInstancesQueue:[null, CustomValidator.trimRequired],\r\n syncResultInstancesQueue:[null, CustomValidator.trimRequired],\r\n pendingBatchInstancesQueue:[null, CustomValidator.trimRequired],\r\n pendingBatchItemQueue:[null, CustomValidator.trimRequired],\r\n scheduledNextStatesExecutionQueue:[null, CustomValidator.trimRequired],\r\n interactionTimeoutQueue:[null, CustomValidator.trimRequired],\r\n overrideQueue:[null, CustomValidator.trimRequired],\r\n suspendedInstancesQueue:[null, CustomValidator.trimRequired],\r\n syncInstancesQueueMessageMaxLifetime:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n taskTimeout:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n batchStartSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n batchExecutionSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n syncExecutionSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n asyncExecutionSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n interactionTimeoutSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n overrideSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n interactionQueueSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n schedulingServiceFrequency:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n suspendedInstanceServiceFrequency:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n periodRecalculateInstanceDistribution:[null],\r\n overrideRetryInterval:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n inMemoryServiceIp:[null,[ CustomValidator.trimRequired, Validators.maxLength(100) ]],\r\n inMemoryServicePort:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n billingServerUri:[null],\r\n batcherNetworkAddress:[null],\r\n interactionInstanceQueue:[null, CustomValidator.trimRequired],\r\n });\r\n }\r\n\r\n loadConfigs() {\r\n this.error = '';\r\n this.nodeConfigService.getByNode(this.config.machineId, this.config.hostName, 1)\r\n .subscribe(result => {\r\n if (result) {\r\n this.componentForm.patchValue({\r\n communicationKey: result.communicationKey,\r\n attachmentRepositoryType: result.attachmentRepositoryType.toString(),\r\n attachmentRepositoryPath: result.attachmentRepositoryPath,\r\n pendingInstancesQueue: result.pendingInstancesQueue,\r\n syncInstancesQueue: result.syncInstancesQueue,\r\n syncResultInstancesQueue: result.syncResultInstancesQueue,\r\n pendingBatchInstancesQueue: result.pendingBatchInstancesQueue,\r\n pendingBatchItemQueue: result.pendingBatchItemQueue,\r\n scheduledNextStatesExecutionQueue: result.scheduledNextStatesExecutionQueue,\r\n interactionTimeoutQueue: result.interactionTimeoutQueue,\r\n overrideQueue: result.overrideQueue,\r\n suspendedInstancesQueue: result.suspendedInstancesQueue,\r\n syncInstancesQueueMessageMaxLifetime: result.syncInstancesQueueMessageMaxLifetime,\r\n taskTimeout: result.taskTimeout,\r\n batchStartSlots: result.batchStartSlots,\r\n batchExecutionSlots: result.batchExecutionSlots,\r\n syncExecutionSlots: result.syncExecutionSlots,\r\n asyncExecutionSlots: result.asyncExecutionSlots,\r\n interactionTimeoutSlots: result.interactionTimeoutSlots,\r\n overrideSlots: result.overrideSlots,\r\n schedulingServiceFrequency: result.schedulingServiceFrequency,\r\n suspendedInstanceServiceFrequency: result.suspendedInstanceServiceFrequency,\r\n periodRecalculateInstanceDistribution: result.periodRecalculateInstanceDistribution,\r\n overrideRetryInterval: result.overrideRetryInterval,\r\n inMemoryServiceIp: result.inMemoryServiceIp,\r\n inMemoryServicePort: result.inMemoryServicePort,\r\n billingServerUri: result.billingServerUri,\r\n batcherNetworkAddress: result.batcherNetworkAddress,\r\n interactionQueueSlots: result.interactionQueueSlots,\r\n interactionInstanceQueue: result.interactionInstanceQueue,\r\n });\r\n this.pleaseWait = false;\r\n // @ts-ignore\r\n $('#cardQueues').CardWidget('collapse');\r\n // @ts-ignore\r\n $('#cardThreads').CardWidget('collapse');\r\n // @ts-ignore\r\n $('#cardFrequency').CardWidget('collapse');\r\n this.onAttachmentRepositoryTypeChange();\r\n\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.error = '';\r\n this.pleaseWait = true;\r\n const obj = this.componentForm.getRawValue();\r\n obj.machineId = this.config.machineId;\r\n obj.hostName = this.config.hostName;\r\n this.nodeConfigService.updateRuntime(obj).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => { this.submitted = false; }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = error1;\r\n }\r\n );\r\n }\r\n\r\n onAttachmentRepositoryTypeChange() {\r\n if (this.formData.attachmentRepositoryType.value == \"1\"){\r\n this.componentForm.get('attachmentRepositoryPath').setValidators(CustomValidator.trimRequired);\r\n } else {\r\n this.componentForm.get('attachmentRepositoryPath').clearValidators();\r\n this.componentForm.patchValue({\r\n attachmentRepositoryPath: null\r\n });\r\n this.componentForm.updateValueAndValidity();\r\n }\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.inactive {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tc2NoZWR1bGVyL3NlcnZpY2UtY29uZmlndXJhdGlvbi1zY2hlZHVsZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vc2VydmljZS1jb25maWd1cmF0aW9uLXNjaGVkdWxlci9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24tc2NoZWR1bGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmluYWN0aXZlICB7XHJcbiAgY29sb3I6ICNjY2M7XHJcbn1cclxuXHJcbiJdfQ== */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-service-configuration-scheduler',\r\n templateUrl: './service-configuration-scheduler.component.html',\r\n styleUrls: ['./service-configuration-scheduler.component.css']\r\n})\r\nexport class ServiceConfigurationSchedulerComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n componentForm: FormGroup;\r\n objInitialState;\r\n config;\r\n error;\r\n submitted;\r\n\r\n pleaseWait = false;\r\n get formData() { return this.componentForm.controls; }\r\n\r\n constructor(\r\n private nodeConfigService: NodeConfigurationService,\r\n private modalService: GenericModalService,\r\n private formBuilder: FormBuilder, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.submitted= false;\r\n\r\n if (this.objInitialState){\r\n this.config = this.objInitialState;\r\n }\r\n this.createForm();\r\n this.loadConfigs();\r\n\r\n }\r\n\r\n createForm() {\r\n this.componentForm = this.formBuilder.group({\r\n idleTimeout:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n executionSlots:[0,[ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n extractionOutputPath:[null],\r\n overrideQueue:[null,[ CustomValidator.trimRequired]],\r\n });\r\n }\r\n\r\n loadConfigs() {\r\n this.error = '';\r\n this.nodeConfigService.getByNode(this.config.machineId, this.config.hostName, 7)\r\n .subscribe(result => {\r\n if (result) {\r\n this.componentForm.patchValue({\r\n idleTimeout: result.idleTimeout,\r\n executionSlots: result.executionSlots,\r\n extractionOutputPath: result.extractionOutputPath,\r\n overrideQueue: result.overrideQueue,\r\n });\r\n this.pleaseWait = false;\r\n\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onSave() {\r\n this.error = '';\r\n this.pleaseWait = true;\r\n const obj = this.componentForm.getRawValue();\r\n obj.machineId = this.config.machineId;\r\n obj.hostName = this.config.hostName;\r\n this.nodeConfigService.updateScheduler(obj).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n setTimeout(() => { this.submitted = false; }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = error1;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export default \".color-picker-square {\\r\\n cursor: pointer;\\r\\n font-size: 1.5rem;\\r\\n}\\r\\n\\r\\n.display-flex {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.div-scroll {\\r\\n overflow-x: hidden;\\r\\n overflow-y: auto;\\r\\n height: 55vh;\\r\\n position: relative;\\r\\n padding: 0.1rem;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zZXJ2aWNlLWNvbmZpZ3VyYXRpb24td2ViQ2xpZW50L3NlcnZpY2UtY29uZmlndXJhdGlvbi13ZWJDbGllbnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGNBQWM7QUFDaEIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL3NlcnZpY2UtY29uZmlndXJhdGlvbi13ZWJDbGllbnQvc2VydmljZS1jb25maWd1cmF0aW9uLXdlYkNsaWVudC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbG9yLXBpY2tlci1zcXVhcmUge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxufVxyXG5cclxuLmRpc3BsYXktZmxleCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmRpdi1zY3JvbGwge1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIGhlaWdodDogNTV2aDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMC4xcmVtO1xyXG4gIGZsZXg6IDEgMSBhdXRvO1xyXG59XHJcbiJdfQ== */\"","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {NodeConfigurationService} from '../../../services/configuration/node-configuration.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {Subject} from 'rxjs';\r\nimport {Utils} from '../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-service-configuration-webClient',\r\n templateUrl: './service-configuration-webClient.component.html',\r\n styleUrls: ['./service-configuration-webClient.component.css']\r\n})\r\nexport class ServiceConfigurationWebClientComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject;\r\n\r\n componentForm: FormGroup;\r\n objInitialState;\r\n config;\r\n pleaseWait = false;\r\n error;\r\n submitted;\r\n humanInteractionQueueOrderList;\r\n\r\n menuBackgroundColor: string;\r\n menuFontColor: string;\r\n primaryButtonBackgroundColor: string;\r\n primaryButtonFontColor: string;\r\n humanInteractionHeaderFooterBgColor: string;\r\n humanInteractionHeaderFooterFontColor: string;\r\n\r\n get formData() { return this.componentForm.controls; }\r\n\r\n constructor(\r\n private nodeConfigService: NodeConfigurationService,\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.submitted = false;\r\n\r\n if (this.objInitialState) {\r\n this.config = this.objInitialState;\r\n }\r\n this.createForm();\r\n this.createHumanInteractionQueueOrderList();\r\n this.loadConfigs();\r\n }\r\n\r\n ngAfterViewInit() {\r\n Utils.closeColorPickerDialog('.modal-body');\r\n }\r\n\r\n private createHumanInteractionQueueOrderList() {\r\n this.humanInteractionQueueOrderList = [];\r\n this.humanInteractionQueueOrderList.push({name: 'Nenhum', value: 0});\r\n this.humanInteractionQueueOrderList.push({name: 'Data de criação Ascendente', value: 1});\r\n this.humanInteractionQueueOrderList.push({name: 'Data de criação Descendente', value: 2});\r\n this.humanInteractionQueueOrderList.push({name: 'Data de mudança de estado Ascendente', value: 3});\r\n this.humanInteractionQueueOrderList.push({name: 'Data de mudança de estado Descendente', value: 4});\r\n this.humanInteractionQueueOrderList.push({name: 'Tempo em fila Ascendente', value: 5});\r\n this.humanInteractionQueueOrderList.push({name: 'Tempo em fila Descendente', value: 6});\r\n this.humanInteractionQueueOrderList.push({name: 'ID da instância Ascendente', value: 7});\r\n this.humanInteractionQueueOrderList.push({name: 'ID da instância Descendente', value: 8});\r\n this.humanInteractionQueueOrderList.push({name: 'Chave de correlação Ascendente', value: 9});\r\n this.humanInteractionQueueOrderList.push({name: 'Chave de correlação Descendente', value: 10});\r\n }\r\n\r\n createForm() {\r\n this.itemSaved = new Subject();\r\n this.componentForm = this.formBuilder.group({\r\n pageSize: [ 0, [ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n batchUploadChunkSize: [ 0, [ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n humanInteractionQueueRefreshInterval: [ 0, [ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n customHumanInteractionPageSize: [ '', [ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n customHumanInteractionLabelCard: [ '', [ Validators.required ]],\r\n humanInteractionQueueOrder: [ '', [ Validators.required, Validators.maxLength(2000) ]],\r\n crivoServer: [ '', [ Validators.maxLength(2000) ]],\r\n crivoServerTimeout: [ 0, [ Validators.required, Validators.min(1), Validators.max(2147482), CustomValidator.numeric ]],\r\n logoImageUrl: [ '', [ Validators.required, CustomValidator.trimRequired ]],\r\n collapsedMenuLogoImage: [ '', [ Validators.required, CustomValidator.trimRequired ]],\r\n extendedMenuLogoImage: [ '', [ Validators.required, CustomValidator.trimRequired ]],\r\n loginLogoImage: [ '', [ Validators.required, CustomValidator.trimRequired ]],\r\n headerHeight: [ 32, [ Validators.required , Validators.min(28), Validators.max(2147483647), CustomValidator.numeric]],\r\n pageWidth: [ 960, [ Validators.required, Validators.min(950), Validators.max(2147483647), CustomValidator.numeric ]],\r\n humanInteractionLayoutStyle: [ 1 ]\r\n });\r\n }\r\n\r\n loadConfigs() {\r\n this.error = '';\r\n this.nodeConfigService.getByNode(this.config.machineId, this.config.hostName, 3)\r\n .subscribe(result => {\r\n if (result) {\r\n this.componentForm.patchValue({\r\n pageSize: result.pageSize,\r\n humanInteractionQueueOrder: result.humanInteractionQueueOrder,\r\n graphicMaxWidthStateName: result.graphicMaxWidthStateName,\r\n crivoServer: result.crivoServer,\r\n crivoServerTimeout: result.crivoServerTimeout,\r\n humanInteractionQueueRefreshInterval: result.humanInteractionQueueRefreshInterval,\r\n batchUploadChunkSize: result.batchUploadChunkSize,\r\n customHumanInteractionPageSize: result.customHumanInteractionPageSize,\r\n customHumanInteractionLabelCard: result.customHumanInteractionLabelCard === '1',\r\n logoImageUrl: result.logoImageUrl,\r\n collapsedMenuLogoImage: result.collapsedMenuLogoImage,\r\n extendedMenuLogoImage: result.extendedMenuLogoImage,\r\n loginLogoImage: result.loginLogoImage,\r\n headerHeight: result.headerHeight,\r\n pageWidth: result.pageWidth,\r\n humanInteractionLayoutStyle: result.humanInteractionLayoutStyle\r\n });\r\n this.humanInteractionHeaderFooterBgColor = result.headerBackgroundColor;\r\n this.humanInteractionHeaderFooterFontColor = result.headerFontColor;\r\n this.menuBackgroundColor = result.menuBackgroundColor;\r\n this.menuFontColor = result.menuFontColor;\r\n this.primaryButtonFontColor = result.buttonFontColor;\r\n this.primaryButtonBackgroundColor = result.buttonBackgroundColor;\r\n this.pleaseWait = false;\r\n\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n restoreDefaultSettings() {\r\n this.error = '';\r\n this.nodeConfigService.getWebClientDefaultSettings()\r\n .subscribe( result => {\r\n if (result) {\r\n this.componentForm.patchValue({\r\n batchUploadChunkSize: result.batchUploadChunkSize,\r\n logoImageUrl: result.logoImageUrl,\r\n collapsedMenuLogoImage: result.collapsedMenuLogoImage,\r\n extendedMenuLogoImage: result.extendedMenuLogoImage,\r\n loginLogoImage: result.loginLogoImage,\r\n headerHeight: result.headerHeight,\r\n pageWidth: result.pageWidth,\r\n });\r\n this.humanInteractionHeaderFooterBgColor = result.headerBackgroundColor;\r\n this.humanInteractionHeaderFooterFontColor = result.headerFontColor;\r\n this.menuBackgroundColor = result.menuBackgroundColor;\r\n this.menuFontColor = result.menuFontColor;\r\n this.primaryButtonFontColor = result.buttonFontColor;\r\n this.primaryButtonBackgroundColor = result.buttonBackgroundColor;\r\n }\r\n }, error1 => {\r\n this.error = error1;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n this.itemSaved.next(false);\r\n }\r\n\r\n onSave() {\r\n this.error = '';\r\n this.pleaseWait = true;\r\n const obj = this.componentForm.getRawValue();\r\n obj.machineId = this.config.machineId;\r\n obj.hostName = this.config.hostName;\r\n obj.headerBackgroundColor = this.humanInteractionHeaderFooterBgColor;\r\n obj.headerFontColor = this.humanInteractionHeaderFooterFontColor;\r\n obj.menuBackgroundColor = this.menuBackgroundColor;\r\n obj.menuFontColor = this.menuFontColor;\r\n obj.buttonFontColor = this.primaryButtonFontColor;\r\n obj.buttonBackgroundColor = this.primaryButtonBackgroundColor;\r\n if (obj.customHumanInteractionLabelCard) {\r\n obj.customHumanInteractionLabelCard = '1';\r\n } else {\r\n obj.customHumanInteractionLabelCard = '0';\r\n }\r\n this.nodeConfigService.updateWebClient(obj).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.error = error1;\r\n }\r\n );\r\n }\r\n\r\n trimSpaces(element, formControlName) {\r\n const elValue = element.target.value;\r\n if (elValue !== '') {\r\n this.componentForm.get(formControlName).setValue(elValue.trim());\r\n }\r\n }\r\n}\r\n","export default \".file-input {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.btn-remove {\\r\\n color: #dc0303;\\r\\n}\\r\\n\\r\\n.btn-remove:hover,\\r\\n.btn-remove:active,\\r\\n.btn-remove:focus{\\r\\n color: #880303;\\r\\n}\\r\\n\\r\\n.msg-status {\\r\\n font-size: 0.9rem;\\r\\n}\\r\\n\\r\\n.msg-error {\\r\\n color: #dc0303;\\r\\n}\\r\\n\\r\\n.msg-success {\\r\\n color: #09bf09;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zeXN0ZW0tZmxvdy9zeXN0ZW0tZmxvdy1pbXBvcnQvc3lzdGVtLWZsb3ctaW1wb3J0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7RUFHRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9Db25maWd1cmF0aW9uL3N5c3RlbS1mbG93L3N5c3RlbS1mbG93LWltcG9ydC9zeXN0ZW0tZmxvdy1pbXBvcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5maWxlLWlucHV0IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uYnRuLXJlbW92ZSB7XHJcbiAgY29sb3I6ICNkYzAzMDM7XHJcbn1cclxuXHJcbi5idG4tcmVtb3ZlOmhvdmVyLFxyXG4uYnRuLXJlbW92ZTphY3RpdmUsXHJcbi5idG4tcmVtb3ZlOmZvY3Vze1xyXG4gIGNvbG9yOiAjODgwMzAzO1xyXG59XHJcblxyXG4ubXNnLXN0YXR1cyB7XHJcbiAgZm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi5tc2ctZXJyb3Ige1xyXG4gIGNvbG9yOiAjZGMwMzAzO1xyXG59XHJcblxyXG4ubXNnLXN1Y2Nlc3Mge1xyXG4gIGNvbG9yOiAjMDliZjA5O1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { SystemFlowService } from '../../../../services/configuration/system-flow.service';\r\nimport { HttpEventType } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-system-flow-import',\r\n templateUrl: './system-flow-import.component.html',\r\n styleUrls: ['./system-flow-import.component.css']\r\n})\r\nexport class SystemFlowImportComponent implements OnInit {\r\n\r\n\r\n files: File[] = [];\r\n filesStatus: {message, status}[] = [];\r\n submitClick = false;\r\n errorMessage = '';\r\n @Input() modalTitle: string;\r\n @Output() itemSaved: Subject;\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private systemFlowService: SystemFlowService,\r\n public modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.itemSaved = new Subject();\r\n this.itemSaved.next(false);\r\n }\r\n\r\n onImport() {\r\n this.submitClick = true;\r\n this.errorMessage = '';\r\n this.files.forEach( file => {\r\n this.systemFlowService.importSystemFlow(file)\r\n .subscribe( response => {\r\n if (response.type === HttpEventType.UploadProgress) {\r\n this.filesStatus[this.files.indexOf(file)] = {message: 'Importando...', status: 'uploading'};\r\n console.log(this.filesStatus);\r\n }\r\n if (response.type === HttpEventType.Response) {\r\n this.filesStatus[this.files.indexOf(file)] = {message: 'Fluxo importado com sucesso', status: 'success'};\r\n console.log(response);\r\n }\r\n }, error1 => {\r\n if (error1.indexOf('401') !== -1) {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n } else {\r\n this.filesStatus[this.files.indexOf(file)] = {message: error1, status: 'error'};\r\n }\r\n });\r\n });\r\n this.itemSaved.next(true);\r\n }\r\n\r\n onFileSelected(event) {\r\n this.errorMessage = '';\r\n const validExt = event.target.files[0].name.split('.')[1].toUpperCase() === 'SYSTEMFLOW';\r\n if (validExt) {\r\n this.files.push(event.target.files[0]);\r\n } else {\r\n this.errorMessage = `A extensão do arquivo \"${event.target.files[0].name}\" não é válida.`;\r\n }\r\n }\r\n\r\n removeFromList(item) {\r\n this.files.splice(this.files.indexOf(item), 1);\r\n }\r\n\r\n formatBytes(bytes, decimals = 2) {\r\n if (bytes === 0) { return '0'; }\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\nh5 {\\r\\n font-size: 1rem;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zeXN0ZW0tZmxvdy9zeXN0ZW0tZmxvdy1tb2RhbC9zeXN0ZW0tZmxvdy1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vc3lzdGVtLWZsb3cvc3lzdGVtLWZsb3ctbW9kYWwvc3lzdGVtLWZsb3ctbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmg1IHtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4iXX0= */\"","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { SystemFlowService } from '../../../../services/configuration/system-flow.service';\r\n\r\n@Component({\r\n selector: 'app-system-flow-modal',\r\n templateUrl: './system-flow-modal.component.html',\r\n styleUrls: ['./system-flow-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class SystemFlowModalComponent implements OnInit, AfterViewInit {\r\n\r\n get formData() { return this.systemFlowForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder,\r\n private systemFlowService: SystemFlowService\r\n ) { }\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n systemFlowForm: FormGroup;\r\n objInitialState: any;\r\n submitted = false;\r\n errorMessage = '';\r\n isNew: boolean;\r\n metaflowPools = [];\r\n\r\n ngOnInit() {\r\n delete this.objInitialState['extensionData'];\r\n this.isNew = this.objInitialState.name === undefined;\r\n this.createForm();\r\n if (!this.isNew) { this.getMetaflowPools(); }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.objInitialState.name) {\r\n this.getMetaFlow();\r\n }\r\n }\r\n\r\n createForm() {\r\n this.systemFlowForm = this.formBuilder.group({\r\n name: [ '', Validators.compose( [\r\n Validators.required,\r\n Validators.maxLength(100),\r\n Validators.pattern('^[a-zA-Z][a-zA-Z0-9_]*') ])\r\n ],\r\n content: null,\r\n description: ['', [Validators.maxLength(250) ]],\r\n isValid: false,\r\n flowId: 0,\r\n hash: null,\r\n type: 1,\r\n validationDescription: null\r\n });\r\n }\r\n\r\n patchSystemflowValues(flow) {\r\n this.systemFlowForm.patchValue({\r\n name: flow.name,\r\n description: flow.description,\r\n content: flow.content,\r\n isValid: flow.isValid,\r\n flowId: flow.flowId,\r\n hash: flow.hash,\r\n type: flow.type,\r\n validationDescription: flow.validationDescription\r\n });\r\n }\r\n\r\n onSave() {\r\n const systemFlow = this.systemFlowForm.getRawValue();\r\n if (this.isNew) {\r\n this.createSystemFlow(systemFlow);\r\n } else {\r\n this.updateSystemFlow(systemFlow);\r\n }\r\n }\r\n\r\n createSystemFlow(flow) {\r\n this.errorMessage = '';\r\n this.systemFlowService.createSystemFlow(flow)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n setTimeout(() => {\r\n flow.justCreatedOrUpdated = true;\r\n this.submitted = false;\r\n this.itemSaved.next(flow);\r\n this.bsModalRef.hide();\r\n }, 2000);\r\n },\r\n error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitted = false;\r\n });\r\n }\r\n\r\n updateSystemFlow(flow) {\r\n this.errorMessage = '';\r\n this.systemFlowService.updateSystemFlow(flow)\r\n .subscribe( () => {\r\n flow.justCreatedOrUpdated = true;\r\n this.submitted = true;\r\n this.itemSaved.next(flow);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitted = false;\r\n });\r\n }\r\n\r\n getMetaflowPools() {\r\n this.errorMessage = '';\r\n this.systemFlowService.getMetaFlowPools(this.objInitialState)\r\n .subscribe( pools => {\r\n this.metaflowPools = pools;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n getMetaFlow() {\r\n this.errorMessage = '';\r\n this.systemFlowService.getSystemFlow(this.objInitialState.flowId)\r\n .subscribe( flow => {\r\n this.patchSystemflowValues(flow);\r\n }, error1 => { this.errorMessage = error1; });\r\n }\r\n\r\n openFlowDesignerSetup() {\r\n window.open('./DesignerSetup/Crivo.Workflow.EditorDeFluxos.msi', '_self');\r\n }\r\n\r\n openFlowEditor() {\r\n this.errorMessage = '';\r\n if (!this.isNew) {\r\n this.systemFlowService.getSystemflowDesignerLink(this.objInitialState.name)\r\n .subscribe( response => {\r\n window.open(response.linkToOpen, '_parent');\r\n }, error1 => { this.errorMessage = error1; });\r\n }\r\n }\r\n\r\n onClose() {\r\n const flow = { justCreatedOrUpdated: this.objInitialState.justCreatedOrUpdated };\r\n this.itemSaved.next(flow);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.validation-description {\\r\\n color: #dc0303;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi9zeXN0ZW0tZmxvdy9zeXN0ZW0tZmxvdy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOztBQUVBO0VBQ0UsY0FBYztBQUNoQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vc3lzdGVtLWZsb3cvc3lzdGVtLWZsb3cuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbi1kZXNjcmlwdGlvbiB7XHJcbiAgY29sb3I6ICNkYzAzMDM7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { SystemFlowService } from '../../../services/configuration/system-flow.service';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\nimport { WfTableComponent } from '../../../common/table-sort/wf-table.component';\r\nimport { HttpEventType } from '@angular/common/http';\r\nimport { DateTimeService } from '../../../services/date-time.service';\r\nimport { SystemFlowModalComponent } from './system-flow-modal/system-flow-modal.component';\r\nimport { take } from 'rxjs/operators';\r\nimport { SystemFlowImportComponent } from './system-flow-import/system-flow-import.component';\r\n\r\n@Component({\r\n selector: 'app-system-flow',\r\n templateUrl: './system-flow.component.html',\r\n styleUrls: ['./system-flow.component.css']\r\n})\r\nexport class SystemFlowComponent implements OnInit {\r\n\r\n errorMessage = '';\r\n pleaseWait = false;\r\n filteredSystemFlowList = [];\r\n systemFlowList = [];\r\n hasRight: boolean;\r\n filterSettings = {\r\n placeholder: 'Filtrar',\r\n width: 100,\r\n inputTextSearchId: 'txtSearchGlobalVariable',\r\n textFilterPropertyNames: ['name', 'validationDescription'],\r\n };\r\n modalComponent: any = SystemFlowModalComponent;\r\n importComponent: any = SystemFlowImportComponent;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(private systemFlowService: SystemFlowService,\r\n private modalService: GenericModalService,\r\n private businessProcessService: BusinessProcessService,\r\n private dateTimeService: DateTimeService) { }\r\n\r\n ngOnInit() {\r\n this.getSystemFlowList();\r\n this.checkRights();\r\n }\r\n\r\n getSystemFlowList() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.systemFlowService.getAllSystemFlow()\r\n .subscribe( list => {\r\n this.filteredSystemFlowList = list;\r\n this.systemFlowList = list;\r\n this.pleaseWait = false;\r\n }, error1 => { this.errorMessage = error1; this.pleaseWait = false; });\r\n }\r\n\r\n getFlowIdByName(flow: any) {\r\n this.errorMessage = '';\r\n this.systemFlowService.getAllSystemFlow()\r\n .subscribe( list => {\r\n flow.flowId = list.find(item => item.name === flow.name).flowId;\r\n this.onEditSystemFlow(flow);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onDeleteSystemFlow(systemFlow: any) {\r\n if (this.hasRight) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de Exclusão', `Confirma a exclusão do fluxo de sistema ${systemFlow.name}?`);\r\n alert.then( resp => {\r\n if (resp.value) {\r\n delete systemFlow['extensionData'];\r\n this.systemFlowService.removeSystemFlow(systemFlow)\r\n .subscribe( () => {\r\n this.ngOnInit();\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n });\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onDownloadFlow(flow) {\r\n this.errorMessage = '';\r\n this.systemFlowService.exportSystemFlow(flow.flowId, flow.name).subscribe(\r\n data => {\r\n switch (data.type) {\r\n case HttpEventType.DownloadProgress:\r\n console.log('Exportação status: ' + Math.round((data.loaded / data.total) * 100) + '%');\r\n break;\r\n case HttpEventType.Response:\r\n const timeStamp = this.dateTimeService.getLocalTimeStamp();\r\n const downloadedFile = new Blob([data.body], { type: data.body.type });\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n a.download = encodeURIComponent(flow.name + timeStamp + '.systemflow');\r\n a.href = URL.createObjectURL(downloadedFile);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n break;\r\n }\r\n },\r\n error1 => {\r\n const errorMsg = `Erro ao realizar a exportação do fluxo de sistema: ${error1}`;\r\n this.errorMessage = errorMsg;\r\n console.log(errorMsg);\r\n }\r\n );\r\n }\r\n\r\n onEditSystemFlow(systemFlow) {\r\n if (this.hasRight) {\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Editar fluxo de sistema', systemFlow);\r\n result$.asObservable()\r\n .subscribe(\r\n flow => {\r\n if (flow.justCreatedOrUpdated) { this.ngOnInit(); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onAddFlow() {\r\n if (this.hasRight) {\r\n const newFlow = { };\r\n const result$ = this.modalService.showObjModal(this.modalComponent, 'Criar Fluxo de Sistema', newFlow);\r\n result$.asObservable()\r\n .subscribe(\r\n flow => {\r\n if (flow.name) {\r\n this.getFlowIdByName(flow);\r\n }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n onImportFlow() {\r\n const result$ = this.modalService.showModal(this.importComponent, 'Importar Fluxos de Sistema', 0, null, 'modal-xl');\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe(result => {\r\n if (result) {\r\n setTimeout(() => {\r\n this.ngOnInit();\r\n }, 2000);\r\n }\r\n });\r\n }\r\n\r\n checkRights() {\r\n this.errorMessage = '';\r\n this.businessProcessService.checkRights(4194304)\r\n .subscribe( rights => {\r\n this.hasRight = rights.length > 0;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onFilterList(filteredData: any[]) {\r\n this.filteredSystemFlowList = filteredData;\r\n }\r\n\r\n}\r\n","export default \".tabScroll {\\r\\n max-height: 200px;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi90YXNrLW1vbml0b3JpbmcvZXJyb3ItbWVzc2FnZS1tb2RhbC9lcnJvci1tZXNzYWdlLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi90YXNrLW1vbml0b3JpbmcvZXJyb3ItbWVzc2FnZS1tb2RhbC9lcnJvci1tZXNzYWdlLW1vZGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGFiU2Nyb2xsIHtcclxuICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-error-message-modal',\r\n templateUrl: './error-message-modal.component.html',\r\n styleUrls: ['./error-message-modal.component.css']\r\n})\r\nexport class ErrorMessageModalComponent implements OnInit {\r\n\r\n objInitialState;\r\n constructor(private bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.disabledTrustee {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n\\r\\n.card-header {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n:host ::ng-deep .dropdown-list {\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n\\r\\n.tabScroll {\\r\\n max-height: 28rem;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n\\r\\n.errorStatus:hover{\\r\\n color: #17a2b8;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi90YXNrLW1vbml0b3JpbmcvdGFzay1tb25pdG9yaW5nLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOzs7QUFHQTtFQUNFLGdFQUFnRTtBQUNsRTs7O0FBR0E7RUFDRSwyQkFBMkI7QUFDN0I7OztBQUVBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOzs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOzs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0FBQ2xCOzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxlQUFlO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi90YXNrLW1vbml0b3JpbmcvdGFzay1tb25pdG9yaW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJsYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0gKyAxNXB4KSBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4uY2FyZC10aXRsZXtcclxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZGlzYWJsZWRUcnVzdGVlIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxuLmNhcmQtaGVhZGVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuZHJvcGRvd24tbGlzdCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRhYlNjcm9sbCB7XHJcbiAgbWF4LWhlaWdodDogMjhyZW07XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmVycm9yU3RhdHVzOmhvdmVye1xyXG4gIGNvbG9yOiAjMTdhMmI4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport {ExtractionService} from '../../../services/configuration/extraction.service';\r\nimport {FormBuilder, FormGroup} from '@angular/forms';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {Utils} from '../../../services/utils';\r\nimport {WebClientConfigurationService} from '../../../services/configuration/web-client-configuration.service';\r\nimport {PaginationInstance} from 'ngx-pagination';\r\nimport {tap} from 'rxjs/operators';\r\nimport {EnumTranslateService} from '../../../services/enumTranslate-service';\r\nimport {DateTimeService} from '../../../services/date-time.service';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {ErrorMessageModalComponent} from './error-message-modal/error-message-modal.component';\r\n\r\n@Component({\r\n selector: 'app-task-monitoring',\r\n templateUrl: './task-monitoring.component.html',\r\n styleUrls: ['./task-monitoring.component.css']\r\n})\r\nexport class TaskMonitoringComponent implements OnInit {\r\n\r\n private translateEnum = EnumTranslateService;\r\n utils = Utils;\r\n filterForm: FormGroup;\r\n dataExtractionDefinition;\r\n errorMessage = '';\r\n pleaseWait = '';\r\n allTasksList = [];\r\n loadingList = false;\r\n searchClicked = false;\r\n config: PaginationInstance;\r\n refreshTime;\r\n lastFilter;\r\n private _refresh = null;\r\n\r\n static get currentDayInterval() {\r\n let now = new Date();\r\n return {\r\n start: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0)).toISOString().substr(0, 19),\r\n end: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59)).toISOString().substr(0, 19)\r\n };\r\n };\r\n get formData() { return this.filterForm.controls; }\r\n\r\n constructor(private extractionService: ExtractionService, private formBuilder: FormBuilder,\r\n private webClientConfig: WebClientConfigurationService, private dateTimeService: DateTimeService,\r\n private modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.getAllDataExtraction();\r\n }\r\n\r\n createForm() {\r\n this.filterForm = this.formBuilder.group({\r\n taskId: null,\r\n initialStartTime: TaskMonitoringComponent.currentDayInterval.start,\r\n finalStartTime: TaskMonitoringComponent.currentDayInterval.end\r\n }, { validators: [\r\n CustomValidator.validateDatetime('initialStartTime', 'finalStartTime')\r\n ]\r\n });\r\n }\r\n\r\n getAllDataExtraction() {\r\n this.extractionService.getAllDataExtractionDefinition()\r\n .subscribe(res => {\r\n this.dataExtractionDefinition = res;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n blockUserInput() {\r\n return;\r\n }\r\n\r\n resetFilter() {\r\n this.createForm();\r\n }\r\n\r\n onSearch(page: number, buttonSearchClicked = true) {\r\n // let _refresh = null;\r\n this.errorMessage = '';\r\n this.loadingList = true;\r\n this.searchClicked = true;\r\n let filter = null;\r\n\r\n if (buttonSearchClicked) {\r\n filter = this.filterForm.getRawValue();\r\n filter.initialStartTime = this.dateTimeService.toUTC(filter.initialStartTime);\r\n filter.finalStartTime = this.dateTimeService.toUTC(filter.finalStartTime);\r\n filter.pageIndex = page;\r\n\r\n this.lastFilter = filter;\r\n } else {\r\n filter = this.lastFilter;\r\n }\r\n\r\n this.extractionService.pagedTasksSearch(filter)\r\n .pipe(tap( res => {\r\n this.getPaginationConfig(filter.pageIndex, res.total);\r\n }))\r\n .subscribe(ret => {\r\n this.loadingList = false;\r\n this.allTasksList = ret.items.sort((n1, n2) => {\r\n if (n1.name > n2.name) {\r\n return 1;\r\n }\r\n\r\n if (n1.name < n2.name) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n // fechar o filtro\r\n if (buttonSearchClicked) {\r\n Utils.closeFilter();\r\n }\r\n\r\n this.refreshTime = new Date();\r\n\r\n if (this._refresh)\r\n {\r\n clearTimeout(this._refresh);\r\n }\r\n this._refresh = setTimeout(() => { this.onSearch(filter.pageIndex, false) }, 20000);\r\n\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n setTimeout(() => { this.errorMessage = '' }, 2000);\r\n });\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }, error1 => this.errorMessage = '');\r\n }\r\n\r\n adjustDate(isInitialDate = true) {\r\n // alterar depois para todos os lugares que tem período\r\n Utils.adjustDate(isInitialDate, this.filterForm, 'initialStartTime', 'finalStartTime');\r\n console.log(this.filterForm.getRawValue());\r\n }\r\n\r\n downloadTaskDataExtraction(taskData) {\r\n this.errorMessage = '';\r\n this.extractionService.downloadTaskDataExtraction(taskData.replaceAll('\\\\', '%2F'))\r\n .subscribe(data => {\r\n const fileName = taskData.split('\\\\').pop();\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n a.download = encodeURIComponent(fileName);\r\n a.href = URL.createObjectURL(data);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n generatePercentGraph(specific, total) {\r\n let html = '
';\r\n const percent = (specific / total) * 100;\r\n const width = this.getPercentBasedWidth(percent);\r\n if (percent > 0) {\r\n html += `
\r\n
\r\n
`;\r\n }\r\n html += '
';\r\n return html;\r\n }\r\n\r\n generatePercentLabel(specific, total) {\r\n const percent = (specific / total) * 100;\r\n let label = percent.toFixed(2).replace('.', ',');\r\n if (label.toString().indexOf(',00') > -1) {\r\n label = label.replace(',00', '');\r\n }\r\n return `${label}% concluído`;\r\n }\r\n\r\n getPercentBasedWidth(item) {\r\n return (item / 100) * parseInt('100', 10) || 100;\r\n }\r\n\r\n showErrorMessage(errorMessage) {\r\n const errorComponent: any = ErrorMessageModalComponent;\r\n const objInitialState = errorMessage;\r\n this.modalService.showObjModal(errorComponent, `Filtro rápido`, objInitialState, 'modal-md')\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.addButtonCol{\\r\\n /*display: flex;*/\\r\\n display: block;\\r\\n align-items: center;\\r\\n margin-top: 37px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi91c2VyLW1ldGFkYXRhLWFkbWluL3VzZXItbWV0YWRhdGEtYWRtaW4tbW9kYWwvdXNlci1tZXRhZGF0YS1hZG1pbi1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi91c2VyLW1ldGFkYXRhLWFkbWluL3VzZXItbWV0YWRhdGEtYWRtaW4tbW9kYWwvdXNlci1tZXRhZGF0YS1hZG1pbi1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFkZEJ1dHRvbkNvbHtcclxuICAvKmRpc3BsYXk6IGZsZXg7Ki9cclxuICBkaXNwbGF5OiBibG9jaztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDM3cHg7XHJcbn1cclxuIl19 */\"","import { Component, Input, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { GlobalVariableService } from '../../../../services/configuration/global-variable.service';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {MetadataService} from '../../../../services/configuration/metadata.service';\r\nimport {EnumTranslateService} from '../../../../services/enumTranslate-service';\r\nimport {DateTimeService} from '../../../../services/date-time.service';\r\n\r\n@Component({\r\n selector: 'app-metadata-structure-modal',\r\n templateUrl: './user-metadata-admin-modal.component.html',\r\n styleUrls: ['./user-metadata-admin-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class UserMetadataAdminModalComponent implements OnInit, AfterViewInit {\r\n\r\n get formData() { return this.metadataForm.controls; }\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private formBuilder: FormBuilder,\r\n private metadataService: MetadataService,\r\n private dateTimeService: DateTimeService\r\n ) { }\r\n\r\n @Input() modalTitle: string;\r\n itemSaved: Subject = new Subject();\r\n metadataForm: FormGroup;\r\n objInitialState: any;\r\n metadataValue;\r\n userId;\r\n submitted = false;\r\n submitClick = false;\r\n errorMessage = '';\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.metadataValue = this.objInitialState.metadata;\r\n this.userId = this.objInitialState.userId;\r\n this.patchValues();\r\n }\r\n\r\n createForm() {\r\n this.metadataForm = this.formBuilder.group({\r\n structure: this.formBuilder.group({\r\n metadataStructureId: [0],\r\n name: '',\r\n description: '',\r\n type: 0,\r\n editingBy: 0,\r\n domain: null,\r\n category: 0\r\n }),\r\n typeDescription: null,\r\n value: [null],\r\n domain: [null]\r\n });\r\n }\r\n\r\n get type(): any {\r\n return this.metadataForm.get('structure.type').value;\r\n }\r\n\r\n patchValues() {\r\n this.metadataForm.get('structure.name').disable();\r\n this.metadataForm.get('typeDescription').disable();\r\n\r\n this.metadataForm.patchValue({\r\n structure: this.metadataValue.structure,\r\n typeDescription: this.metadataValue.typeDescription,\r\n value: this.metadataValue.value,\r\n domain: this.metadataValue.domain,\r\n });\r\n switch (this.metadataValue.structure.type) {\r\n case 1:/*integer*/\r\n this.metadataForm.get('value').setValidators([CustomValidator.numericPositiveAndNegativeNotRequired,Validators.max(2147482)]);\r\n this.createDomainArray();\r\n break;\r\n case 3:/*text*/\r\n this.metadataForm.get('value').setValidators([Validators.maxLength(300)]);\r\n this.createDomainArray();\r\n break;\r\n case 2:/*date*/\r\n if (this.metadataValue.domain) {\r\n let newDomain = [];\r\n this.metadataValue.domain.forEach(d => {\r\n newDomain.push({value: d, brValue: this.dateTimeService.formatBrDateTime(d)});\r\n });\r\n this.metadataForm.get('domain').setValue(newDomain);\r\n this.metadataForm.get('value').setValue(this.dateTimeService.toUTC(this.metadataValue.value));\r\n } else if (this.metadataValue.value) {\r\n this.metadataForm.get('value').setValue(this.dateTimeService.formatDateTimePickerFormat(this.metadataValue.value));\r\n }\r\n break;\r\n case 4:/*floating*/\r\n if (this.metadataValue.domain){\r\n let newDomain = [];\r\n this.metadataValue.domain.forEach(d => {\r\n newDomain.push({value: d, brValue: d.toString().replace('.',',')})\r\n });\r\n this.metadataForm.get('domain').setValue(newDomain);\r\n } else if (this.metadataValue.value){\r\n this.metadataForm.get('value').setValue(this.metadataValue.value.toString().replace('.',','));\r\n }\r\n this.metadataForm.get('value').setValidators(CustomValidator.decimalNotRequired);\r\n\r\n break;\r\n }\r\n this.metadataForm.updateValueAndValidity();\r\n }\r\n\r\n createDomainArray(){\r\n if (!this.metadataValue.domain) return;\r\n let newDomain = [];\r\n this.metadataValue.domain.forEach(d => {\r\n newDomain.push({value: d, brValue: d});\r\n });\r\n this.metadataForm.get('domain').setValue(newDomain);\r\n }\r\n\r\n cleanDomain() {\r\n this.formData.domain.setValue([]);\r\n }\r\n\r\n getNumber(sNumber) {\r\n return Number(sNumber);\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n\r\n onSave() {\r\n this.errorMessage = '';\r\n const obj = this.metadataForm.getRawValue();\r\n\r\n if (this.metadataValue.structure.type == 2 && this.metadataValue.domain){\r\n obj.value = this.dateTimeService.toISOStringDateTime(obj.value.toString())\r\n } else if (this.metadataValue.structure.type == 4 && this.metadataValue.domain){\r\n obj.value = obj.value.toString().replace('.',',');\r\n }\r\n\r\n this.metadataService.saveUserMetadataValueByAdmin(this.userId, obj)\r\n .subscribe( () => {\r\n this.submitted = true;\r\n this.itemSaved.next(true);\r\n setTimeout(() => { this.submitted = false; this.bsModalRef.hide(); }, 2000);\r\n },\r\n error => {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvQ29uZmlndXJhdGlvbi91c2VyLW1ldGFkYXRhLWFkbWluL3VzZXItbWV0YWRhdGEtYWRtaW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0NvbmZpZ3VyYXRpb24vdXNlci1tZXRhZGF0YS1hZG1pbi91c2VyLW1ldGFkYXRhLWFkbWluLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { WfTableComponent } from '../../../common/table-sort/wf-table.component';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { UserMetadataAdminModalComponent } from './user-metadata-admin-modal/user-metadata-admin-modal.component';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\nimport {MetadataService} from '../../../services/configuration/metadata.service';\r\nimport {EnumTranslateService} from '../../../services/enumTranslate-service';\r\nimport {AdminService} from '../../../services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-user-metadata-admin',\r\n templateUrl: './user-metadata-admin.component.html',\r\n styleUrls: ['./user-metadata-admin.component.css']\r\n})\r\nexport class UserMetadataAdminComponent implements OnInit {\r\n\r\n filteredMetadataList = [];\r\n metadataList: any[];\r\n pleaseWait = false;\r\n errorMessage: string;\r\n modalComponent: any = UserMetadataAdminModalComponent;\r\n hasRight: boolean;\r\n userList=[];\r\n selectedUser;\r\n filterSettings = {\r\n placeholder: 'Filtrar',\r\n width: 100,\r\n inputTextSearchId: 'txtSearchMetadata',\r\n showBooleanFilter: false,\r\n textFilterPropertyNames: ['structureName', 'value', 'typeDescription'],\r\n booleanTrueResult: true\r\n };\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private adminService: AdminService,\r\n private metadataService: MetadataService,\r\n private modalService: GenericModalService,\r\n private businessProcessService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.loadUsers();\r\n this.checkRights();\r\n }\r\n\r\n loadUsers(){\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.adminService.loadUserList()\r\n .subscribe( list => {\r\n list.forEach(c => {\r\n this.userList = list;\r\n });\r\n\r\n this.pleaseWait = false;\r\n }, error => { this.errorMessage = error; this.pleaseWait = false; });\r\n }\r\n\r\n getUserMetadata(userId) {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.metadataService.getAllMetadataEditingByAdmin(userId)\r\n .subscribe( list => {\r\n\r\n list.forEach(c => {\r\n c.typeDescription = EnumTranslateService.getEnumMetadataType(c.structure.type);\r\n c.structureName = c.structure.name\r\n });\r\n this.filteredMetadataList = list;\r\n this.metadataList = list;\r\n this.pleaseWait = false;\r\n }, error => { this.errorMessage = error; this.pleaseWait = false; });\r\n }\r\n\r\n changeUser(user) {\r\n if (!user){\r\n this.filteredMetadataList = null;\r\n this.metadataList = null;\r\n return;\r\n }\r\n this.getUserMetadata(user.userId);\r\n }\r\n\r\n onFilterList(filteredData: any[]) {\r\n this.filteredMetadataList = filteredData;\r\n }\r\n\r\n onEdit(metadata: any) {\r\n if (this.hasRight) {\r\n const result$ = this.modalService.showObjModal(this.modalComponent,\r\n 'Editar valor de metadado', {metadata: metadata, userId: this.selectedUser});\r\n result$.asObservable()\r\n .subscribe(\r\n itemHasBeenSaved => {\r\n if (itemHasBeenSaved) { this.getUserMetadata(this.selectedUser); }\r\n }\r\n );\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito a efetuar essa ação.', true);\r\n }\r\n }\r\n\r\n\r\n\r\n checkRights() {\r\n this.errorMessage = '';\r\n this.businessProcessService.checkRights(33554432)\r\n .subscribe( rights => {\r\n this.hasRight = rights.length > 0;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button {\\r\\n position: relative;\\r\\n right: 36px;\\r\\n top: 4px;\\r\\n padding: 3px;\\r\\n width: 31px;\\r\\n border-radius: 100px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button:hover {\\r\\n cursor: pointer;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n\\r\\n.highlight-number {\\r\\n padding: 0 9px;\\r\\n background: #ededed;\\r\\n margin: 0 3px;\\r\\n}\\r\\n\\r\\n\\r\\n.addButtonCol{\\r\\n /*display: flex;*/\\r\\n display: block;\\r\\n align-items: center;\\r\\n margin-top: 27px;\\r\\n}\\r\\n\\r\\n\\r\\n.badge-remove{\\r\\n margin-left: 5px;\\r\\n font-size: xx-small;\\r\\n margin-bottom: 5px;\\r\\n cursor: pointer;\\r\\n color: #add7f5\\r\\n}\\r\\n\\r\\n\\r\\n.badge-container{\\r\\n max-height: 60px;\\r\\n overflow: auto;\\r\\n display: inline-flex;\\r\\n border: 1px solid #e7e7e7;\\r\\n padding: 5px;\\r\\n margin: 5px 5px 12px;\\r\\n}\\r\\n\\r\\n\\r\\n.input-group-text{\\r\\n border-radius: 0 0.25rem 0.25rem 0;\\r\\n border-left: 0px;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n\\r\\n.datepicker{\\r\\n border-right: 0px\\r\\n}\\r\\n\\r\\n\\r\\n.clear{\\r\\n border-right: 0px;\\r\\n border-radius: 0;\\r\\n font-size: x-small;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9idXNpbmVzcy1wcm9jZXNzLWludm9rZS1maWx0ZXIvYnVzaW5lc3MtcHJvY2Vzcy1pbnZva2UtZmlsdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOzs7QUFHQTtFQUNFLGdFQUFnRTtBQUNsRTs7O0FBR0E7RUFDRSwyQkFBMkI7QUFDN0I7OztBQUVBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOzs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsUUFBUTtFQUNSLFlBQVk7RUFDWixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLGtCQUFrQjtBQUNwQjs7O0FBRUE7RUFDRSxlQUFlO0VBQ2YseUJBQXlCO0FBQzNCOzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOzs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGdCQUFnQjtBQUNsQjs7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2Y7QUFDRjs7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLG9CQUFvQjtFQUNwQix5QkFBeUI7RUFDekIsWUFBWTtFQUNaLG9CQUFvQjtBQUN0Qjs7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtBQUN6Qjs7O0FBRUE7RUFDRTtBQUNGOzs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGVBQWU7QUFDakIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9IdW1hbkludGVyYWN0aW9uL2J1c2luZXNzLXByb2Nlc3MtaW52b2tlLWZpbHRlci9idXNpbmVzcy1wcm9jZXNzLWludm9rZS1maWx0ZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImxhYmVsIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSArIDE1cHgpIGNlbnRlcjtcclxufVxyXG5cclxuXHJcbi5jYXJkLXRpdGxle1xyXG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jbGVhci1idXR0b24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICByaWdodDogMzZweDtcclxuICB0b3A6IDRweDtcclxuICBwYWRkaW5nOiAzcHg7XHJcbiAgd2lkdGg6IDMxcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2xlYXItYnV0dG9uOmhvdmVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxufVxyXG5cclxuLmhpZ2hsaWdodC1udW1iZXIge1xyXG4gIHBhZGRpbmc6IDAgOXB4O1xyXG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XHJcbiAgbWFyZ2luOiAwIDNweDtcclxufVxyXG5cclxuLmFkZEJ1dHRvbkNvbHtcclxuICAvKmRpc3BsYXk6IGZsZXg7Ki9cclxuICBkaXNwbGF5OiBibG9jaztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDI3cHg7XHJcbn1cclxuXHJcbi5iYWRnZS1yZW1vdmV7XHJcbiAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICBmb250LXNpemU6IHh4LXNtYWxsO1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6ICNhZGQ3ZjVcclxufVxyXG5cclxuLmJhZGdlLWNvbnRhaW5lcntcclxuICBtYXgtaGVpZ2h0OiA2MHB4O1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIG1hcmdpbjogNXB4IDVweCAxMnB4O1xyXG59XHJcblxyXG4uaW5wdXQtZ3JvdXAtdGV4dHtcclxuICBib3JkZXItcmFkaXVzOiAwIDAuMjVyZW0gMC4yNXJlbSAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5kYXRlcGlja2Vye1xyXG4gIGJvcmRlci1yaWdodDogMHB4XHJcbn1cclxuXHJcbi5jbGVhcntcclxuICBib3JkZXItcmlnaHQ6IDBweDtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIGZvbnQtc2l6ZTogeC1zbWFsbDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIl19 */\"","import {AfterViewChecked, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {DateTimeService} from '../../../services/date-time.service';\r\nimport {FormBuilder} from '@angular/forms';\r\nimport {BsLocaleService} from 'ngx-bootstrap/datepicker';\r\nimport {CustomValidator} from '../../../services/custom-validator';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {HumanInteractionService} from '../../../services/human-interaction.service';\r\n\r\n@Component({\r\n selector: 'app-business-process-invoke-filter',\r\n templateUrl: './business-process-invoke-filter.component.html',\r\n styleUrls: ['./business-process-invoke-filter.component.css']\r\n})\r\nexport class BusinessProcessInvokeFilterComponent implements OnInit, AfterViewChecked {\r\n\r\n filterReportForm;\r\n customInteractQueueList: any[];\r\n customInteractQueueInfo;\r\n\r\n columnList: any[];\r\n\r\n columnInfo;\r\n columnValue;\r\n locale = 'pt-br';\r\n\r\n customId = '';\r\n enableFieldsCol = true;\r\n enableFieldsValue = false;\r\n enableAddButtonCol = false;\r\n hasOnlySpaces = false;\r\n\r\n @Input() objInitialState: any;\r\n @Input() columns: BehaviorSubject;\r\n @Input() customInteraction: BehaviorSubject;\r\n @Input() collapseFilter = false;\r\n @Output() filtered: EventEmitter = new EventEmitter();\r\n\r\n get formData() { return this.filterReportForm.controls; }\r\n\r\n constructor(private dateTimeService: DateTimeService,\r\n private formBuilder: FormBuilder,\r\n private localeService: BsLocaleService,\r\n private humanInteractionService: HumanInteractionService) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n\r\n if (this.customInteraction) {\r\n this.customId = 'custom';\r\n this.enableColumns(false);\r\n this.customInteraction.asObservable()\r\n .subscribe(i => { this.customInteractQueueList = i; });\r\n }\r\n\r\n // baldão\r\n if (this.columns) {\r\n this.enableColumns(true);\r\n this.columns.asObservable()\r\n .subscribe(c => {\r\n if (c) {\r\n this.columnList = c.filter(f => f.systemField !== 5);\r\n }\r\n });\r\n }\r\n\r\n if (this.objInitialState) {\r\n if (this.objInitialState.lastFilter) {\r\n this.loadFilterData(this.objInitialState.lastFilter);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.localeService.use(this.locale);\r\n }\r\n\r\n createForm() {\r\n this.filterReportForm = this.formBuilder.group({\r\n columnsComparisonType: 1,\r\n columns: [[]],\r\n initialDate: [null],\r\n finalDate: [null]\r\n }, { validators: [ CustomValidator.validateDatetime('initialDate', 'finalDate') ] });\r\n }\r\n\r\n loadFilterData(lastFilter) {\r\n if (!lastFilter) return;\r\n this.filterReportForm.patchValue({\r\n columnsComparisonType: lastFilter['columnsComparisonType'],\r\n columns: lastFilter['columns'],\r\n initialDate: this.dateTimeService.toLocalDateTimePickerFormat(lastFilter['initialDate']),\r\n finalDate: this.dateTimeService.toLocalDateTimePickerFormat(lastFilter['finalDate']),\r\n });\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n\r\n addColumnValue() {\r\n let array = this.filterReportForm.controls['columns'].value;\r\n if (this.customInteraction || (this.objInitialState && this.objInitialState.isCustomQueue)) {\r\n array.push({id: this.columnInfo.columnOrder + 1, name: this.columnInfo.name, value: this.columnValue.toString().trim()});\r\n } else { array.push({id: this.columnInfo.id, name: this.columnInfo.name, value: this.columnValue.toString().trim()}); }\r\n this.filterReportForm.controls['columns'].setValue(array);\r\n this.columnValue = \"\";\r\n this.enableAddButtonCol = false;\r\n }\r\n\r\n clearValue(event) {\r\n this.columnValue = \"\";\r\n // habilitar o campo de valor se houver alguma coluna selecionada.\r\n this.enableFieldsValue = event !== undefined;\r\n if (!this.enableFieldsValue) {\r\n this.hasOnlySpaces = false;\r\n }\r\n if (event === undefined) {\r\n this.enableAddButtonCol = false;\r\n }\r\n }\r\n\r\n removeColumnValue(item: any) {\r\n let array = this.filterReportForm.controls['columns'].value;\r\n array.splice(array.findIndex(v => v.value === item.value && v.id === item.id), 1);\r\n this.filterReportForm.controls['columns'].setValue(array);\r\n\r\n }\r\n\r\n\r\n search() {\r\n const filter = this.filterReportForm.getRawValue();\r\n filter.initialDate = this.dateTimeService.toUTC(filter.initialDate);\r\n filter.finalDate = this.dateTimeService.toUTC(filter.finalDate);\r\n\r\n if (this.customId === 'custom') {\r\n if (this.customInteractQueueInfo && filter.columns.length > 0) {\r\n filter.customInteractionQueueConfigId = [ this.customInteractQueueInfo.id ];\r\n } else {\r\n filter.customInteractionQueueConfigId = this.customInteractQueueList.map(m => m.id);\r\n }\r\n }\r\n\r\n this.collapseFilterWhenSearching();\r\n\r\n this.filtered.emit(filter);\r\n }\r\n\r\n collapseFilterWhenSearching() {\r\n if (this.collapseFilter) {\r\n // fechar o filtro\r\n const collapseFilter = document.getElementById(`collapseFilter${this.customId}`);\r\n collapseFilter.classList.add('fa-plus');\r\n collapseFilter.classList.remove('fa-minus');\r\n const bodyFilter = document.getElementById(`bodyFilter${this.customId}`);\r\n const footerFilter = document.getElementById(`footerFilter${this.customId}`);\r\n bodyFilter.style.display = footerFilter.style.display = 'none';\r\n }\r\n }\r\n\r\n resetFilter() {\r\n this.createForm();\r\n this.columnInfo = null;\r\n this.columnValue = null;\r\n this.enableFieldsValue = false;\r\n this.enableAddButtonCol = false;\r\n }\r\n\r\n disableSubmitButtonCondition() {\r\n return (this.formData.initialDate.value && !this.formData.finalDate.value)\r\n || (!this.formData.initialDate.value && this.formData.finalDate.value) || !this.filterReportForm.valid\r\n || (this.enableFieldsValue && this.columnValue !== '');\r\n }\r\n\r\n enableAddButton(event) {\r\n if (event.target.value.length > 0) {\r\n this.hasOnlySpaces = event.target.value.toString().trim() === '';\r\n } else {\r\n this.hasOnlySpaces = false;\r\n }\r\n\r\n this.enableAddButtonCol = event.target.value.toString().trim() !== '';\r\n }\r\n\r\n fillCustomColumns(event: any) {\r\n this.columnInfo = null;\r\n this.columnValue = null;\r\n this.filterReportForm.controls['columns'].setValue([]);\r\n if (event !== undefined) {\r\n this.enableColumns(true);\r\n this.getCustomInteractionQueueConfigById(event['id']);\r\n } else {\r\n this.enableColumns(false);\r\n }\r\n }\r\n\r\n enableColumns(value) {\r\n if (value) {\r\n this.filterReportForm.get('columnsComparisonType').enable();\r\n // this.filterReportForm.get('columns').enable();\r\n } else {\r\n this.filterReportForm.get('columnsComparisonType').disable();\r\n // this.filterReportForm.get('columns').disable();\r\n }\r\n this.enableFieldsCol = value;\r\n }\r\n\r\n getCustomInteractionQueueConfigById(id) {\r\n this.columnList = [];\r\n this.humanInteractionService.getCustomInteractionQueueConfigById(id).subscribe(c => {\r\n this.columnList = c.fieldColumns.filter(f => f.systemField !== 8 && f.systemField !== 5);\r\n });\r\n }\r\n\r\n validateRequiredColumnValue() {\r\n return (this.columnValue === '' || this.columnValue === undefined) && this.enableFieldsValue && !this.hasOnlySpaces;\r\n }\r\n}\r\n","export default \".list-container {\\r\\n min-width: 378px;\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9idXNpbmVzcy1wcm9jZXNzLWludm9rZS1saXN0L2J1c2luZXNzLXByb2Nlc3MtaW52b2tlLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQjtFQUNoQixjQUFjO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9idXNpbmVzcy1wcm9jZXNzLWludm9rZS1saXN0L2J1c2luZXNzLXByb2Nlc3MtaW52b2tlLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5saXN0LWNvbnRhaW5lciB7XHJcbiAgbWluLXdpZHRoOiAzNzhweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { HumanInteractionService } from '../../../services/human-interaction.service';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\n\r\n@Component({\r\n selector: 'app-business-process-invoke-list',\r\n templateUrl: './business-process-invoke-list.component.html',\r\n styleUrls: ['./business-process-invoke-list.component.css']\r\n})\r\nexport class BusinessProcessInvokeListComponent implements OnInit {\r\n\r\n filterForm: FormGroup;\r\n userLockedQueueFilter: any;\r\n allInstancesQueueFilter: any;\r\n gridConfigs$ = new Observable();\r\n queueConfig;\r\n pageConfig;\r\n viewType: InvokeListViewType;\r\n errorMessage = '';\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private humanInteractionService: HumanInteractionService,\r\n private webClientConfig: WebClientConfigurationService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.viewType = InvokeListViewType.Grid;\r\n this.getPageConfig();\r\n this.createForm();\r\n this.getQueue();\r\n this.userLockedQueueFilter = this.setQueueFilter('locked');\r\n this.allInstancesQueueFilter = this.setQueueFilter('notLocked');\r\n }\r\n\r\n createForm() {\r\n this.filterForm = this.formBuilder.group({\r\n businessProcessId: null,\r\n columns: null,\r\n columnsComparisonType: null,\r\n customInteractionQueueConfigId: null,\r\n finalDate: null,\r\n initialDate: null,\r\n orderByColumnId: null,\r\n orderByStateModifyDate: false,\r\n orderDirection: 0,\r\n pageIndex: 0,\r\n pageSize: 0,\r\n stateId: null,\r\n stateLifeCycles: null,\r\n userLogon: null\r\n });\r\n }\r\n\r\n setQueueFilter(type: string): any {\r\n const filter = this.filterForm.getRawValue();\r\n if (type === 'locked') {\r\n filter.stateLifeCycles = [8 , 11];\r\n filter.userLogon = localStorage.getItem('userLogon');\r\n } else {\r\n filter.columns = [];\r\n filter.columnsComparisonType = 1;\r\n filter.stateLifeCycles = [7];\r\n }\r\n return filter;\r\n }\r\n\r\n getQueue() {\r\n this.errorMessage = '';\r\n this.gridConfigs$ = this.humanInteractionService.getInteractionQueue();\r\n this.gridConfigs$\r\n .subscribe( queue => {\r\n this.queueConfig = queue;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getPageConfig() {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageConfig()\r\n .subscribe(pageConfig => {\r\n this.pageConfig = pageConfig;\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onClickChangeView(type: InvokeListViewType) {\r\n this.viewType = type;\r\n }\r\n}\r\n\r\nexport enum InvokeListViewType {\r\n Grid = 1,\r\n Card = 2\r\n}\r\n","export default \".tab-pane.active {\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9idXNpbmVzcy1wcm9jZXNzLXN1c3BlbmRlZC1saXN0L2J1c2luZXNzLXByb2Nlc3Mtc3VzcGVuZGVkLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0h1bWFuSW50ZXJhY3Rpb24vYnVzaW5lc3MtcHJvY2Vzcy1zdXNwZW5kZWQtbGlzdC9idXNpbmVzcy1wcm9jZXNzLXN1c3BlbmRlZC1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGFiLXBhbmUuYWN0aXZlIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAjZDhkOGQ4IHNvbGlkIDFweDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG59XHJcbiJdfQ== */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {HumanInteractionService} from '../../../services/human-interaction.service';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {TabsetComponent} from 'ngx-bootstrap/tabs';\r\nimport {PaginationInstance} from 'ngx-pagination';\r\nimport {WebClientConfigurationService} from '../../../services/configuration/web-client-configuration.service';\r\nimport {StateLifeCycle} from '../../../Models/enum/stateLifeCycle';\r\nimport {FormBuilder, FormGroup} from '@angular/forms';\r\nimport {AdminService} from '../../../services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-business-process-suspended-list',\r\n templateUrl: './business-process-suspended-list.component.html',\r\n styleUrls: ['./business-process-suspended-list.component.css']\r\n})\r\nexport class BusinessProcessSuspendedListComponent implements OnInit {\r\n\r\n @ViewChild('tabSuspendedList', { static: false }) tabSuspendedList: TabsetComponent;\r\n filterForm: FormGroup;\r\n\r\n config: PaginationInstance;\r\n pageConfig;\r\n queueConfig;\r\n customQueueConfig;\r\n customQueueList;\r\n columns$: BehaviorSubject = new BehaviorSubject(null);\r\n customColumns$: BehaviorSubject = new BehaviorSubject(null);\r\n errorMessageCommonQueue = '';\r\n errorMessageCustomQueue = '';\r\n\r\n queueFilter: any;\r\n customQueueFilter: any;\r\n hasQueueRight = false;\r\n hasCustomQueueRight = false;\r\n isOnInit = true;\r\n\r\n constructor(private formBuilder: FormBuilder, private humanInteractionService: HumanInteractionService,\r\n private webClientConfig: WebClientConfigurationService, private adminSevice: AdminService) { }\r\n\r\n ngOnInit() {\r\n this.checkRights();\r\n this.createForm();\r\n this.getPageConfig();\r\n this.getQueue();\r\n this.getCustomQueue();\r\n this.queueFilter = this.setQueueFilter();\r\n }\r\n\r\n checkRights() {\r\n this.adminSevice.checkItemsRight(25)\r\n .subscribe(s => { this.hasQueueRight = s; this.isOnInit = false; }, error1 => this.errorMessageCommonQueue = error1);\r\n this.adminSevice.checkItemsRight(29)\r\n .subscribe(s => this.hasCustomQueueRight = s, error1 => this.errorMessageCustomQueue = error1);\r\n }\r\n\r\n setQueueFilter(queueType = 'common'): any {\r\n const filter = this.filterForm.getRawValue();\r\n if (queueType == 'custom') {\r\n filter.customInteractionQueueConfigId = this.customQueueList.map(m => m.id);\r\n }\r\n filter.columns = [];\r\n filter.columnsComparisonType = 1;\r\n filter.stateLifeCycles = [StateLifeCycle.suspended];\r\n\r\n return filter;\r\n }\r\n\r\n createForm() {\r\n this.filterForm = this.formBuilder.group({\r\n businessProcessId: null,\r\n columns: null,\r\n columnsComparisonType: null,\r\n customInteractionQueueConfigId: null,\r\n finalDate: null,\r\n initialDate: null,\r\n orderByColumnId: null,\r\n orderByStateModifyDate: false,\r\n orderDirection: 1,\r\n pageIndex: 0,\r\n pageSize: 0,\r\n stateId: null,\r\n stateLifeCycles: null,\r\n userLogon: null\r\n });\r\n }\r\n\r\n getQueue() {\r\n this.errorMessageCommonQueue = '';\r\n this.humanInteractionService.getInteractionQueue().subscribe( queue => {\r\n this.queueConfig = queue;\r\n this.columns$.next(queue.columns);\r\n }, error1 => {\r\n this.errorMessageCommonQueue = error1;\r\n console.log(error1);\r\n });\r\n }\r\n\r\n getCustomQueue() {\r\n this.errorMessageCustomQueue = '';\r\n this.humanInteractionService.getCustomInteractionQueueConfig().subscribe(custom => {\r\n this.customQueueList = custom;\r\n this.customQueueConfig = custom[0];\r\n this.customQueueConfig.fieldColumns = [\r\n { field: 'BusinessProcessInstanceId', name: 'Id' },\r\n { field: 'BusinessProcessName', name: 'Processo de Negócio' },\r\n { field: 'CustomInteractionQueueName', name: 'Fila Nomeada' },\r\n { field: 'StateDisplayName', name: 'Estado' },\r\n { field: 'CreationDate', name: 'Data de Criação' },\r\n { field: 'StateModifyDate', name: 'Data de Modificação' },\r\n { field: 'SLA', name: 'Tempo em Fila' }\r\n ];\r\n this.customColumns$.next(custom);\r\n this.customQueueFilter = this.setQueueFilter('custom');\r\n }, error1 => {\r\n this.errorMessageCustomQueue = error1;\r\n });\r\n }\r\n\r\n getPageConfig() {\r\n this.errorMessageCommonQueue = '';\r\n this.errorMessageCustomQueue = '';\r\n this.webClientConfig.getPageConfig()\r\n .subscribe(pageConfig => {\r\n this.pageConfig = pageConfig;\r\n },\r\n error1 => {\r\n this.errorMessageCommonQueue = error1;\r\n this.errorMessageCustomQueue = error1;\r\n });\r\n }\r\n\r\n search(event) {\r\n event.stateLifeCycles = [ StateLifeCycle.suspended ];\r\n this.queueFilter = event;\r\n }\r\n\r\n searchCustom(event) {\r\n event.stateLifeCycles = [ StateLifeCycle.suspended ];\r\n this.customQueueFilter = event;\r\n }\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.queue-icon {\\r\\n font-size: 1.5rem;\\r\\n color: #17a2b8;\\r\\n}\\r\\n\\r\\n.list-container {\\r\\n min-width: 378px;\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.label-total{\\r\\n display: inline;\\r\\n padding: .2em .6em .3em;\\r\\n background-color: #5cb85c;\\r\\n font-weight: bold;\\r\\n line-height: 1;\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n white-space: nowrap;\\r\\n vertical-align: baseline;\\r\\n border-radius: .25em;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9jdXN0b20taW50ZXJhY3Rpb24tcXVldWUvY3VzdG9tLWludGVyYWN0aW9uLXF1ZXVlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGVBQWU7RUFDZix1QkFBdUI7RUFDdkIseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0h1bWFuSW50ZXJhY3Rpb24vY3VzdG9tLWludGVyYWN0aW9uLXF1ZXVlL2N1c3RvbS1pbnRlcmFjdGlvbi1xdWV1ZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4ucXVldWUtaWNvbiB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgY29sb3I6ICMxN2EyYjg7XHJcbn1cclxuXHJcbi5saXN0LWNvbnRhaW5lciB7XHJcbiAgbWluLXdpZHRoOiAzNzhweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLmxhYmVsLXRvdGFse1xyXG4gIGRpc3BsYXk6IGlubGluZTtcclxuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICBib3JkZXItcmFkaXVzOiAuMjVlbTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\nimport { HumanInteractionService } from '../../../services/human-interaction.service';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { TotalsPerAgreementsModalComponent } from './totals-per-agreements-modal/totals-per-agreements-modal.component';\r\n\r\n@Component({\r\n selector: 'app-custom-interaction-queue',\r\n templateUrl: './custom-interaction-queue.component.html',\r\n styleUrls: ['./custom-interaction-queue.component.css']\r\n})\r\nexport class CustomInteractionQueueComponent implements OnInit {\r\n\r\n viewType: InvokeListViewType;\r\n businessProcessList: any[];\r\n errorMessage: string;\r\n rightQueueConfig: any;\r\n leftQueueConfig: any;\r\n favoriteListIsFull = false;\r\n rightQueueIsFav = false;\r\n leftQueueIsFav = false;\r\n filterForm: FormGroup;\r\n rightFilter = {interacting: null, waiting: null};\r\n leftFilter = {interacting: null, waiting: null};\r\n totalRight = {interacting: 0, waiting: 0};\r\n totalLeft = {interacting: 0, waiting: 0};\r\n pageConfig: any;\r\n allQueues = [];\r\n noQueueSelectedOnRight = true;\r\n noQueueSelectedOnLeft = true;\r\n agreementsModalComponent: any = TotalsPerAgreementsModalComponent;\r\n hasColorConfig = {right: false, left: false};\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private bpService: BusinessProcessService,\r\n private humanInteractionService: HumanInteractionService,\r\n private webClientConfig: WebClientConfigurationService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.viewType = InvokeListViewType.Grid;\r\n this.getPageConfig();\r\n this.createForm();\r\n this.loadBusinessProcessList();\r\n this.getCustomQueue();\r\n }\r\n\r\n loadBusinessProcessList() {\r\n this.bpService.getPublishedBusinessProcesses.subscribe(\r\n bpList => this.businessProcessList = bpList,\r\n error1 => this.errorMessage = error1\r\n );\r\n }\r\n\r\n onClickChangeView(type: InvokeListViewType) {\r\n this.viewType = type;\r\n }\r\n\r\n changeBusinessProcess(businessProcess) {\r\n if (businessProcess) {\r\n this.getCustomQueue(businessProcess.businessProcessId);\r\n } else {\r\n this.getCustomQueue();\r\n }\r\n this.onClearCustomQueue('right');\r\n this.onClearCustomQueue('left');\r\n }\r\n\r\n changeQueue(queue, side) {\r\n this.errorMessage = '';\r\n if (queue) {\r\n this.checkFavorites(queue.id, side);\r\n this.humanInteractionService.getCustomInteractionQueueConfigById(queue.id)\r\n .subscribe( queue1 => {\r\n if (side === 'right') {\r\n this.hasColorConfig.right = queue1.colors.length > 0;\r\n this.rightQueueConfig = queue1;\r\n this.totalRight.interacting = 0;\r\n this.totalRight.waiting = 0;\r\n this.noQueueSelectedOnRight = false;\r\n this.rightFilter.waiting = this.setQueueFilter('notLocked', 'right');\r\n this.rightFilter.interacting = this.setQueueFilter('locked', 'right');\r\n } else {\r\n this.hasColorConfig.left = queue1.colors.length > 0;\r\n this.leftQueueConfig = queue1;\r\n this.totalLeft.interacting = 0;\r\n this.totalLeft.waiting = 0;\r\n this.noQueueSelectedOnLeft = false;\r\n this.leftFilter.waiting = this.setQueueFilter('notLocked', 'left');\r\n this.leftFilter.interacting = this.setQueueFilter('locked', 'left');\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n } else {\r\n this.onClearCustomQueue(side);\r\n }\r\n }\r\n\r\n onClearCustomQueue(side: string) {\r\n if (side === 'right') {\r\n this.filterForm.controls['rightQueue'].setValue(null);\r\n this.totalRight.interacting = 0;\r\n this.totalRight.waiting = 0;\r\n this.noQueueSelectedOnRight = true;\r\n this.rightQueueIsFav = false;\r\n } else {\r\n this.filterForm.controls['leftQueue'].setValue(null);\r\n this.totalLeft.interacting = 0;\r\n this.totalLeft.waiting = 0;\r\n this.noQueueSelectedOnLeft = true;\r\n this.leftQueueIsFav = false;\r\n }\r\n }\r\n\r\n\r\n getCustomQueue(businessProcessId: number = null) {\r\n this.errorMessage = '';\r\n this.allQueues = [];\r\n this.humanInteractionService.getCustomInteractionQueueConfig(businessProcessId)\r\n .subscribe( queues => {\r\n if (queues && queues.length > 0) {\r\n this.allQueues = queues;\r\n this.filterForm.controls['leftQueue'].setValue(queues[0]['id']);\r\n this.changeQueue(queues[0], 'left');\r\n if (queues.length > 1) {\r\n this.filterForm.controls['rightQueue'].setValue(queues[1]['id']);\r\n this.changeQueue(queues[1], 'right');\r\n }\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n checkFavorites(queueId: number, side: string) {\r\n this.errorMessage = '';\r\n this.humanInteractionService.getUserFavoriteQueues()\r\n .subscribe( queues => {\r\n this.favoriteListIsFull = queues.length >= 2;\r\n side === 'right' ? this.rightQueueIsFav = queues.includes(queueId)\r\n : this.leftQueueIsFav = queues.includes(queueId);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onHeartClick(queueId: number, isFavorite: boolean, side: string) {\r\n if (isFavorite) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de Exclusão', 'Confirma a exclusão da fila da lista de filas favoritas?');\r\n alert.then( resp => {\r\n if (resp.value) {\r\n this.removeQueueFromFavorite(queueId, side);\r\n }\r\n });\r\n } else {\r\n this.addQueueToFavorite(queueId, side);\r\n }\r\n }\r\n\r\n addQueueToFavorite(queueId: number, side: string) {\r\n this.humanInteractionService.addQueueToFavorite(queueId)\r\n .subscribe( () => {\r\n this.modalService.showSuccessMessage('Fila adicionada a lista de favoritas com sucesso', false, 5000);\r\n this.checkFavorites(queueId, side);\r\n },\r\n error1 => {\r\n this.modalService.showErrorMessage(`${error1}`, true);\r\n });\r\n }\r\n\r\n removeQueueFromFavorite(queueId: number, side: string) {\r\n this.humanInteractionService.removeQueueFromFavorite(queueId)\r\n .subscribe( () => {\r\n this.modalService.showSuccessMessage('Fila removida da lista de favoritas com sucesso', false, 5000);\r\n this.checkFavorites(queueId, side);\r\n },\r\n error1 => {\r\n this.modalService.showErrorMessage(`${error1}`, true);\r\n });\r\n }\r\n\r\n setFavQueueTooltipText(isFavorite: boolean, favListIsFull: boolean): string {\r\n if (isFavorite) {\r\n return 'Remover fila das favoritas';\r\n } else {\r\n if (favListIsFull) {\r\n return 'A lista de filas favoritas está cheia. Remova uma fila para adicionar outra';\r\n } else {\r\n return 'Adicionar a fila às favoritas';\r\n }\r\n }\r\n }\r\n\r\n getPageConfig() {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageConfig()\r\n .subscribe(pageConfig => {\r\n this.pageConfig = pageConfig;\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getTotal(total: number, side: string, queue: string) {\r\n if (total) {\r\n if (side === 'right') {\r\n queue === 'locked' ? this.totalRight.interacting = total : this.totalRight.waiting = total;\r\n } else {\r\n queue === 'locked' ? this.totalLeft.interacting = total : this.totalLeft.waiting = total;\r\n }\r\n }\r\n }\r\n\r\n createForm() {\r\n this.filterForm = this.formBuilder.group({\r\n businessProcessId: null,\r\n columns: null,\r\n columnsComparisonType: 1,\r\n customInteractionQueueConfigId: null,\r\n finalDate: null,\r\n initialDate: null,\r\n orderByColumnId: null,\r\n orderByStateModifyDate: false,\r\n orderDirection: 0,\r\n pageIndex: 0,\r\n pageSize: 0,\r\n stateId: null,\r\n stateLifeCycles: null,\r\n userLogon: null,\r\n rightQueue: null,\r\n leftQueue: null\r\n });\r\n }\r\n\r\n setQueueFilter(type: string, side: string): any {\r\n const filter = this.filterForm.getRawValue();\r\n side === 'right' ?\r\n filter.customInteractionQueueConfigId = [Number(filter.rightQueue)]\r\n : filter.customInteractionQueueConfigId = [Number(filter.leftQueue)];\r\n if (type === 'locked') {\r\n filter.stateLifeCycles = [8 , 11];\r\n filter.userLogon = localStorage.getItem('userLogon');\r\n } else {\r\n filter.stateLifeCycles = [7];\r\n }\r\n return filter;\r\n }\r\n\r\n onOpenTotalsPerAgreementItems(side: string) {\r\n let objModal;\r\n if (side === 'left') {\r\n objModal = {\r\n filter: this.leftFilter.waiting,\r\n hasColors: this.hasColorConfig.left\r\n };\r\n } else {\r\n objModal = {\r\n filter: this.rightFilter.waiting,\r\n hasColors: this.hasColorConfig.right\r\n };\r\n }\r\n this.modalService.showObjModal(this.agreementsModalComponent, 'Faixa de cores', objModal);\r\n }\r\n}\r\n\r\nexport enum InvokeListViewType {\r\n Grid = 1,\r\n Card = 2\r\n}\r\n","export default \".fixedHeightTable {\\r\\n max-height: 50vh;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\nthead tr th {\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9jdXN0b20taW50ZXJhY3Rpb24tcXVldWUvdG90YWxzLXBlci1hZ3JlZW1lbnRzLW1vZGFsL3RvdGFscy1wZXItYWdyZWVtZW50cy1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFNBQVM7QUFDWCIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0h1bWFuSW50ZXJhY3Rpb24vY3VzdG9tLWludGVyYWN0aW9uLXF1ZXVlL3RvdGFscy1wZXItYWdyZWVtZW50cy1tb2RhbC90b3RhbHMtcGVyLWFncmVlbWVudHMtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5maXhlZEhlaWdodFRhYmxlIHtcclxuICBtYXgtaGVpZ2h0OiA1MHZoO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbnRoZWFkIHRyIHRoIHtcclxuICB0b3A6IC0xcHg7XHJcbn1cclxuIl19 */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { HumanInteractionService } from '../../../../services/human-interaction.service';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-totals-per-agreements-modal',\r\n templateUrl: './totals-per-agreements-modal.component.html',\r\n styleUrls: ['./totals-per-agreements-modal.component.css']\r\n})\r\nexport class TotalsPerAgreementsModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n error = '';\r\n objInitialState: any;\r\n data: any[];\r\n hasColor: boolean;\r\n\r\n constructor(\r\n private humanInteractionService: HumanInteractionService,\r\n public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.hasColor = this.objInitialState.hasColors;\r\n this.objInitialState.filter.stateLifeCycles = [8, 7, 11];\r\n this.humanInteractionService.getTotalsPerAgreementItems(this.objInitialState.filter)\r\n .subscribe( result => {\r\n this.data = result;\r\n });\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n transformTime(seconds: number) {\r\n if (seconds >= 3600) {\r\n const minutes = Math.trunc((seconds % 3600) / 60);\r\n const hours = Math.trunc(seconds / 3600);\r\n if (minutes === 0) { return `${hours}h`; } else { return `${hours}h${minutes}min`; }\r\n } else if (seconds >= 120) {\r\n return `${Math.trunc(seconds / 60)} minutos`;\r\n } else {\r\n return `${seconds} segundos`;\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BusinessProcessInvokeListComponent } from './business-process-invoke-list/business-process-invoke-list.component';\r\nimport { CommonComponentsModule } from '../../common/common.module';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { QueueGridComponent } from './queue components/queue-grid/queue-grid.component';\r\nimport { QueueCardComponent } from './queue components/queue-card/queue-card.component';\r\nimport { QueueCardListComponent } from './queue components/queue-card-list/queue-card-list.component';\r\nimport {InteractionFilterModalComponent} from './interaction-filter-modal/interaction-filter-modal.component';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport {BsDatepickerModule} from 'ngx-bootstrap/datepicker';\r\nimport { CustomInteractionQueueComponent } from './custom-interaction-queue/custom-interaction-queue.component';\r\nimport {BusinessProcessSuspendedListComponent} from './business-process-suspended-list/business-process-suspended-list.component';\r\nimport {BusinessProcessInvokeFilterComponent} from './business-process-invoke-filter/business-process-invoke-filter.component';\r\nimport { TotalsPerAgreementsModalComponent } from './custom-interaction-queue/totals-per-agreements-modal/totals-per-agreements-modal.component';\r\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\r\nimport {TabsModule} from 'ngx-bootstrap/tabs';\r\nimport { SequentialAllocationComponent } from './sequential-allocation/sequential-allocation.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n BusinessProcessInvokeListComponent,\r\n QueueGridComponent,\r\n QueueCardComponent,\r\n QueueCardListComponent,\r\n InteractionFilterModalComponent,\r\n CustomInteractionQueueComponent,\r\n BusinessProcessSuspendedListComponent,\r\n BusinessProcessInvokeFilterComponent,\r\n TotalsPerAgreementsModalComponent,\r\n SequentialAllocationComponent\r\n ],\r\n entryComponents: [\r\n BusinessProcessInvokeListComponent,\r\n InteractionFilterModalComponent,\r\n CustomInteractionQueueComponent,\r\n BusinessProcessSuspendedListComponent,\r\n TotalsPerAgreementsModalComponent,\r\n SequentialAllocationComponent\r\n ],\r\n exports: [\r\n QueueCardComponent,\r\n QueueGridComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CommonComponentsModule,\r\n ReactiveFormsModule,\r\n NgxPaginationModule,\r\n BrowserAnimationsModule,\r\n BsDatepickerModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n FormsModule,\r\n TabsModule.forRoot(),\r\n ]\r\n})\r\nexport class HumanInteractionModule { }\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button {\\r\\n position: relative;\\r\\n right: 36px;\\r\\n top: 4px;\\r\\n padding: 3px;\\r\\n width: 31px;\\r\\n border-radius: 100px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button:hover {\\r\\n cursor: pointer;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n\\r\\n.highlight-number {\\r\\n padding: 0 9px;\\r\\n background: #ededed;\\r\\n margin: 0 3px;\\r\\n}\\r\\n\\r\\n\\r\\n.addButtonCol{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin-top: 21px;\\r\\n}\\r\\n\\r\\n\\r\\n.badge-remove{\\r\\n margin-left: 5px;\\r\\n font-size: xx-small;\\r\\n margin-bottom: 5px;\\r\\n cursor: pointer;\\r\\n color: #add7f5\\r\\n}\\r\\n\\r\\n\\r\\n.badge-container{\\r\\n max-height: 60px;\\r\\n overflow: auto;\\r\\n display: inline-flex;\\r\\n border: 1px solid #e7e7e7;\\r\\n padding: 5px;\\r\\n margin: 5px 5px 12px;\\r\\n}\\r\\n\\r\\n\\r\\n.input-group-text{\\r\\n border-radius: 0 0.25rem 0.25rem 0;\\r\\n border-left: 0px;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n\\r\\n.datepicker{\\r\\n border-right: 0px\\r\\n}\\r\\n\\r\\n\\r\\n.clear{\\r\\n border-right: 0px;\\r\\n border-radius: 0;\\r\\n font-size: x-small;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1maWx0ZXItbW9kYWwvaW50ZXJhY3Rpb24tZmlsdGVyLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOzs7QUFHQTtFQUNFLGdFQUFnRTtBQUNsRTs7O0FBR0E7RUFDRSwyQkFBMkI7QUFDN0I7OztBQUVBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOzs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsUUFBUTtFQUNSLFlBQVk7RUFDWixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLGtCQUFrQjtBQUNwQjs7O0FBRUE7RUFDRSxlQUFlO0VBQ2YseUJBQXlCO0FBQzNCOzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOzs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsZ0JBQWdCO0FBQ2xCOzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZjtBQUNGOzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osb0JBQW9CO0FBQ3RCOzs7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxnQkFBZ0I7RUFDaEIsdUJBQXVCO0FBQ3pCOzs7QUFFQTtFQUNFO0FBQ0Y7OztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0h1bWFuSW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tZmlsdGVyLW1vZGFsL2ludGVyYWN0aW9uLWZpbHRlci1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5cclxuc2VsZWN0LmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtICsgMTVweCkgY2VudGVyO1xyXG59XHJcblxyXG5cclxuLmNhcmQtdGl0bGV7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNsZWFyLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHJpZ2h0OiAzNnB4O1xyXG4gIHRvcDogNHB4O1xyXG4gIHBhZGRpbmc6IDNweDtcclxuICB3aWR0aDogMzFweDtcclxuICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jbGVhci1idXR0b246aG92ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0LW51bWJlciB7XHJcbiAgcGFkZGluZzogMCA5cHg7XHJcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcclxuICBtYXJnaW46IDAgM3B4O1xyXG59XHJcblxyXG4uYWRkQnV0dG9uQ29se1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAyMXB4O1xyXG59XHJcblxyXG4uYmFkZ2UtcmVtb3Zle1xyXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgZm9udC1zaXplOiB4eC1zbWFsbDtcclxuICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAjYWRkN2Y1XHJcbn1cclxuXHJcbi5iYWRnZS1jb250YWluZXJ7XHJcbiAgbWF4LWhlaWdodDogNjBweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICBtYXJnaW46IDVweCA1cHggMTJweDtcclxufVxyXG5cclxuLmlucHV0LWdyb3VwLXRleHR7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDtcclxuICBib3JkZXItbGVmdDogMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlcntcclxuICBib3JkZXItcmlnaHQ6IDBweFxyXG59XHJcblxyXG4uY2xlYXJ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBmb250LXNpemU6IHgtc21hbGw7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport {BehaviorSubject, Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport { defineLocale } from 'ngx-bootstrap/chronos';\r\nimport { ptBrLocale } from 'ngx-bootstrap/locale';\r\nimport {DateTimeService} from '../../../services/date-time.service';\r\nimport {AuthenticationService} from '../../../services/authentication.service';\r\ndefineLocale('pt-br', ptBrLocale);\r\n\r\n\r\n@Component({\r\n selector: 'app-reports-filter',\r\n templateUrl: './interaction-filter-modal.component.html',\r\n styleUrls: ['./interaction-filter-modal.component.css']\r\n})\r\nexport class InteractionFilterModalComponent implements OnInit {\r\n @Input() modalTitle: string;\r\n objInitialState;\r\n columnList$: BehaviorSubject = new BehaviorSubject(null);\r\n /*locale = 'pt-br';*/\r\n\r\n constructor(public bsModalRef: BsModalRef, private authService: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n if (this.objInitialState) {\r\n this.columnList$.next(this.objInitialState.columnList);\r\n }\r\n }\r\n\r\n search(event) {\r\n\r\n if (this.objInitialState && this.objInitialState.searchMethod) {\r\n this.objInitialState.searchMethod(event);\r\n }\r\n // this.bsModalRef.hide();\r\n this.onClose();\r\n }\r\n\r\n onClose() {\r\n if (this.authService.checkAuthModal()) {\r\n this.bsModalRef.hide();\r\n }\r\n }\r\n\r\n}\r\n","export default \"h3{\\r\\n margin-top: 0px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n/*.list-container {*/\\r\\n\\r\\n/* border-right: 1px solid #e7e7e7;*/\\r\\n\\r\\n/* min-width: 378px;*/\\r\\n\\r\\n/* overflow: auto;*/\\r\\n\\r\\n/*}*/\\r\\n\\r\\n.list{\\r\\n border-color: #e7e7e7;\\r\\n background-color: #f5f5f5;\\r\\n border-radius: 0.3rem;\\r\\n}\\r\\n\\r\\nh3.list-title {\\r\\n font-size: 16px;\\r\\n font-weight: 700;\\r\\n color: #17a2b8;\\r\\n padding: 1.1rem;\\r\\n}\\r\\n\\r\\n.card-pagination{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n padding-bottom: 5px\\r\\n}\\r\\n\\r\\n.label-total{\\r\\n display: inline;\\r\\n padding: .2em .6em .3em;\\r\\n background-color: #17a2b8;\\r\\n font-weight: bold;\\r\\n line-height: 1;\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n white-space: nowrap;\\r\\n vertical-align: baseline;\\r\\n border-radius: .25em;\\r\\n}\\r\\n\\r\\n.btn-instance-filter {\\r\\n text-align: right;\\r\\n padding-top: 11px;\\r\\n padding-right: 22px;\\r\\n}\\r\\n\\r\\n.pagination-disabled{\\r\\n color: #777777;\\r\\n background-color: #fff;\\r\\n border-color: #ddd;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.pagination-enable{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.pagination-active{\\r\\n z-index: 2;\\r\\n color: #fff;\\r\\n background-color: #007bff;\\r\\n /* border-color: #337ab7; */\\r\\n cursor: default;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9xdWV1ZSBjb21wb25lbnRzL3F1ZXVlLWNhcmQtbGlzdC9xdWV1ZS1jYXJkLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZixrQkFBa0I7QUFDcEI7O0FBRUEsb0JBQW9COztBQUNwQixxQ0FBcUM7O0FBQ3JDLHNCQUFzQjs7QUFDdEIsb0JBQW9COztBQUNwQixJQUFJOztBQUVKO0VBQ0UscUJBQXFCO0VBQ3JCLHlCQUF5QjtFQUN6QixxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkI7QUFDRjs7QUFFQTtFQUNFLGVBQWU7RUFDZix1QkFBdUI7RUFDdkIseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsY0FBYztFQUNkLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFVBQVU7RUFDVixXQUFXO0VBQ1gseUJBQXlCO0VBQ3pCLDJCQUEyQjtFQUMzQixlQUFlO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9xdWV1ZSBjb21wb25lbnRzL3F1ZXVlLWNhcmQtbGlzdC9xdWV1ZS1jYXJkLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImgze1xyXG4gIG1hcmdpbi10b3A6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi8qLmxpc3QtY29udGFpbmVyIHsqL1xyXG4vKiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U3ZTdlNzsqL1xyXG4vKiAgbWluLXdpZHRoOiAzNzhweDsqL1xyXG4vKiAgb3ZlcmZsb3c6IGF1dG87Ki9cclxuLyp9Ki9cclxuXHJcbi5saXN0e1xyXG4gIGJvcmRlci1jb2xvcjogI2U3ZTdlNztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcclxufVxyXG5cclxuaDMubGlzdC10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgY29sb3I6ICMxN2EyYjg7XHJcbiAgcGFkZGluZzogMS4xcmVtO1xyXG59XHJcblxyXG4uY2FyZC1wYWdpbmF0aW9ue1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nLWJvdHRvbTogNXB4XHJcbn1cclxuXHJcbi5sYWJlbC10b3RhbHtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgcGFkZGluZzogLjJlbSAuNmVtIC4zZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XHJcbn1cclxuXHJcbi5idG4taW5zdGFuY2UtZmlsdGVyIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nLXRvcDogMTFweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMnB4O1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbi1kaXNhYmxlZHtcclxuICBjb2xvcjogIzc3Nzc3NztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlci1jb2xvcjogI2RkZDtcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbi1lbmFibGV7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucGFnaW5hdGlvbi1hY3RpdmV7XHJcbiAgei1pbmRleDogMjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xyXG4gIC8qIGJvcmRlci1jb2xvcjogIzMzN2FiNzsgKi9cclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbiJdfQ== */\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n\r\nimport { CardInfo, InteractionQueue } from '../../../../Models/human-interaction/cardInfo';\r\nimport { WebClientConfigurationService } from '../../../../services/configuration/web-client-configuration.service';\r\nimport { InteractionQueueType } from '../../../../Models/enum/interactionQueueType';\r\nimport { HumanInteractionService } from '../../../../services/human-interaction.service';\r\nimport { interval } from 'rxjs';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { InteractionFilterModalComponent } from '../../interaction-filter-modal/interaction-filter-modal.component';\r\nimport {AccessControlService} from '../../../../services/access-control.service';\r\n\r\n@Component({\r\n selector: 'app-queue-card-list',\r\n templateUrl: './queue-card-list.component.html',\r\n styleUrls: ['./queue-card-list.component.css']\r\n})\r\nexport class QueueCardListComponent implements OnInit {\r\n @Input() customQueue = false;\r\n @Input() queueConfig: InteractionQueue;\r\n @Input() pageConfig;\r\n @Input()\r\n set filter(filter: any) {\r\n if (filter) {\r\n this._filter = filter;\r\n this._filter.pageIndex = 1;\r\n this.getQueueItems(1, this._filter);\r\n this.getEntries(1);\r\n }\r\n }\r\n @Input() interactionQueueLabel: string;\r\n @Input() queueType: InteractionQueueType;\r\n @Input() columnPropertyName: string;\r\n @Output() searchDone: EventEmitter = new EventEmitter();\r\n @Output() onChangePageClick: EventEmitter = new EventEmitter();\r\n\r\n private _filter: any;\r\n showLabelCard: boolean;\r\n hasData: boolean;\r\n\r\n queueItems: CardInfo[];\r\n errorMessage: string;\r\n paginationConfig;\r\n interactionQueueItems: CardInfo[];\r\n pleaseWait;\r\n interactionFilterComponent: any = InteractionFilterModalComponent;\r\n lastFilter;\r\n userStatePermissions;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private modalService: GenericModalService,\r\n private webClientConfig: WebClientConfigurationService,\r\n private humanInteractionService: HumanInteractionService,\r\n private accessControlService: AccessControlService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.showLabelCard = this.pageConfig.showLabelCard;\r\n this._filter.pageSize = this.pageConfig.pageCardSize;\r\n\r\n interval(this.pageConfig.refreshInterval * 1000)\r\n .subscribe(() => {\r\n this.getQueueItems(this._filter.pageIndex, this._filter);\r\n });\r\n }\r\n\r\n getEntries(securableObjectType) {\r\n const coll = {};\r\n this.accessControlService.getAllEffectiveEntriesBySecurableObjectTypeAndUser(securableObjectType)\r\n .subscribe( statePermissions => {\r\n statePermissions.forEach( entry => {\r\n const objName = entry.permission.name;\r\n if (!coll[objName]) {\r\n coll[objName] = [];\r\n }\r\n coll[objName].push(entry.securableObject.securableObjectId);\r\n });\r\n this.userStatePermissions = coll;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.userStatePermissions = {};\r\n });\r\n }\r\n\r\n getQueueItems(pageNumber: number, filter = this._filter) {\r\n if (!pageNumber) return;\r\n this.errorMessage = \"\";\r\n this.queueItems = [];\r\n filter.pageIndex = pageNumber;\r\n filter.pageSize = this.pageConfig.pageCardSize;\r\n this.humanInteractionService.getPagedInteractionQueueItems(filter)\r\n .subscribe(res => {\r\n this.searchDone.emit(res.total);\r\n this.queueItems = res.interactionQueueItems;\r\n this.hasData = res.interactionQueueItems && res.interactionQueueItems.length > 0;\r\n this.setPaginationConfig(pageNumber, res.total);\r\n this.pleaseWait = false;\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n getPageQueueItems(pageNumber: number){\r\n if (!pageNumber || pageNumber > this.paginationConfig.total || this.paginationConfig.total == 0 || pageNumber == this._filter.pageIndex) return;\r\n this.getQueueItems(pageNumber);\r\n }\r\n\r\n setPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.paginationConfig = {\r\n itemsPerPage: this._filter.pageSize,\r\n pageIndex: _currentPage,\r\n totalItems: _totalItems,\r\n total: Math.ceil(_totalItems / this._filter.pageSize)\r\n };\r\n }\r\n\r\n showFilter() {\r\n let columnsToFilter;\r\n if (this.customQueue) {\r\n columnsToFilter = this.queueConfig[this.columnPropertyName].filter(\r\n column => column.systemField !== 8 && column.systemField !== 5\r\n );\r\n } else {\r\n columnsToFilter = this.queueConfig[this.columnPropertyName];\r\n }\r\n const objInitialState = {\r\n columnList: columnsToFilter,\r\n lastFilter: this.lastFilter,\r\n isCustomQueue: this.customQueue,\r\n searchMethod: (componentFilter) => {\r\n this.lastFilter = componentFilter;\r\n this._filter.initialDate = componentFilter.initialDate;\r\n this._filter.finalDate = componentFilter.finalDate;\r\n this._filter.columnsComparisonType = componentFilter.columnsComparisonType;\r\n this._filter.columns = componentFilter.columns;\r\n this.getQueueItems(1, this._filter);\r\n }\r\n };\r\n this.modalService.showObjModal(this.interactionFilterComponent, `Filtro rápido`, objInitialState);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export default \".card-default {\\r\\n margin-bottom: 10px;\\r\\n border-top: 6px solid;\\r\\n /*border-top-color: #696969;*/\\r\\n width: 335px;\\r\\n max-width: 335px;\\r\\n min-width: 335px\\r\\n}\\r\\n\\r\\n.card-title {\\r\\n font-size: 10px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.ellipsis {\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n.text {\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 3; /* number of lines to show */\\r\\n -webkit-box-orient: vertical;\\r\\n text-align: left;\\r\\n padding-right: 0px;\\r\\n}\\r\\n\\r\\n/*meu*/\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 1px\\r\\n}\\r\\n\\r\\n.card-body{\\r\\n font-size: 12px;padding: 17px\\r\\n}\\r\\n\\r\\n.span-breadcrumb{\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n padding: 0px 5px;\\r\\n margin-bottom: 0.4rem;\\r\\n list-style: none;\\r\\n background-color: #e9ecef;\\r\\n border-radius: 0.25rem;\\r\\n}\\r\\n\\r\\n.col-left {\\r\\n padding-right: 2px;\\r\\n padding-left: 0px;\\r\\n display: grid\\r\\n}\\r\\n\\r\\n.col-right {\\r\\n padding-left: 2px;\\r\\n padding-right: 0px;\\r\\n display: grid\\r\\n}\\r\\n\\r\\n.link-pointer{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9xdWV1ZSBjb21wb25lbnRzL3F1ZXVlLWNhcmQvcXVldWUtY2FyZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQiw2QkFBNkI7RUFDN0IsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQjtBQUNGOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixvQkFBb0I7RUFDcEIscUJBQXFCLEVBQUUsNEJBQTRCO0VBQ25ELDRCQUE0QjtFQUM1QixnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBLE1BQU07O0FBQ047RUFDRTtBQUNGOztBQUVBO0VBQ0UsZUFBZSxDQUFDO0FBQ2xCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQjtBQUNGOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQjtBQUNGOztBQUVBO0VBQ0UsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0h1bWFuSW50ZXJhY3Rpb24vcXVldWUgY29tcG9uZW50cy9xdWV1ZS1jYXJkL3F1ZXVlLWNhcmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jYXJkLWRlZmF1bHQge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkO1xyXG4gIC8qYm9yZGVyLXRvcC1jb2xvcjogIzY5Njk2OTsqL1xyXG4gIHdpZHRoOiAzMzVweDtcclxuICBtYXgtd2lkdGg6IDMzNXB4O1xyXG4gIG1pbi13aWR0aDogMzM1cHhcclxufVxyXG5cclxuLmNhcmQtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmVsbGlwc2lzIHtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi50ZXh0IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMzsgLyogbnVtYmVyIG9mIGxpbmVzIHRvIHNob3cgKi9cclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgcGFkZGluZy1yaWdodDogMHB4O1xyXG59XHJcblxyXG4vKm1ldSovXHJcbi5jYXJkLXRpdGxle1xyXG4gIG1hcmdpbi1ib3R0b206IDFweFxyXG59XHJcblxyXG4uY2FyZC1ib2R5e1xyXG4gIGZvbnQtc2l6ZTogMTJweDtwYWRkaW5nOiAxN3B4XHJcbn1cclxuXHJcbi5zcGFuLWJyZWFkY3J1bWJ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZzogMHB4IDVweDtcclxuICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbn1cclxuXHJcbi5jb2wtbGVmdCB7XHJcbiAgcGFkZGluZy1yaWdodDogMnB4O1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIGRpc3BsYXk6IGdyaWRcclxufVxyXG5cclxuLmNvbC1yaWdodCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbiAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gIGRpc3BsYXk6IGdyaWRcclxufVxyXG5cclxuLmxpbmstcG9pbnRlcntcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIl19 */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { AdminService} from '../../../../services/admin.service';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { BpAdministrationService } from '../../../../services/bp-administration.service';\r\nimport { CardInfo, InteractionQueue } from '../../../../Models/human-interaction/cardInfo';\r\nimport {HumanInteractionTokenResult} from '../../../../Models/humanInteractionTokenResult';\r\n\r\n@Component({\r\n selector: 'app-queue-card',\r\n templateUrl: './queue-card.component.html',\r\n styleUrls: ['./queue-card.component.css']\r\n})\r\nexport class QueueCardComponent implements OnInit {\r\n\r\n @Input() cardInfo: CardInfo;\r\n @Input() queueInfo: InteractionQueue;\r\n @Input() showLabel: boolean;\r\n @Input() columnPropertyName: string;\r\n @Input() isPreview: boolean;\r\n @Input() userStatePermissions;\r\n\r\n\r\n showColunmLabel: boolean;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private bpService: BusinessProcessService,\r\n private bpAdmService: BpAdministrationService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.showColunmLabel = this.showLabel && this.queueInfo[this.columnPropertyName] && this.queueInfo[this.columnPropertyName].length > 0;\r\n }\r\n\r\n getValue(column) {\r\n if (column) {\r\n if (this.columnPropertyName === 'fieldColumns') {\r\n return this.cardInfo.values[column.columnOrder] ? this.cardInfo.values[column.columnOrder] : \"\";\r\n } else {\r\n return this.cardInfo.values[column.id - 1] ? this.cardInfo.values[column.id - 1] : \"\";\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n onInteract(cardInfo) {\r\n this.bpService.openWindowInteraction(cardInfo.businessProcessInstanceId, false);\r\n }\r\n\r\n onView(cardInfo) {\r\n this.bpService.openWindowInteraction(cardInfo.businessProcessInstanceId, true);\r\n }\r\n}\r\n\r\n\r\n\r\n","export default \".queue-table-list {\\r\\n font-size: 80%;\\r\\n max-height: 85vh;\\r\\n overflow-y: auto;\\r\\n padding: 0 20px;\\r\\n margin-bottom: 0;\\r\\n background-color: #f8f9fa;\\r\\n}\\r\\n\\r\\n.table-responsive > .table-bordered {\\r\\n border: 2px solid #f8f9fa;\\r\\n}\\r\\n\\r\\n.table.table-foot-fixed tfoot {\\r\\n background-color: #f8f9fa;\\r\\n box-shadow: inset 0 1px 0 #dee2e6, inset 0 -1px 0 #dee2e6;\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n bottom: -1px;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\ntfoot > tr > td {\\r\\n border-color: #f8f9fa;\\r\\n padding: 2rem 0 1rem 0;\\r\\n}\\r\\n\\r\\n.title-row {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 1.1rem;\\r\\n background-color: #f8f9fa;\\r\\n}\\r\\n\\r\\n.list-title {\\r\\n font-weight: 700;\\r\\n color: #17a2b8;\\r\\n margin-top: 0;\\r\\n margin-bottom: 0;\\r\\n font-size: 16px;\\r\\n line-height: 1.2;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9xdWV1ZSBjb21wb25lbnRzL3F1ZXVlLWdyaWQvcXVldWUtZ3JpZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIseURBQXlEO0VBQ3pELHdCQUFnQjtFQUFoQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsOEJBQThCO0VBQzlCLGVBQWU7RUFDZix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0h1bWFuSW50ZXJhY3Rpb24vcXVldWUgY29tcG9uZW50cy9xdWV1ZS1ncmlkL3F1ZXVlLWdyaWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5xdWV1ZS10YWJsZS1saXN0IHtcclxuICBmb250LXNpemU6IDgwJTtcclxuICBtYXgtaGVpZ2h0OiA4NXZoO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgcGFkZGluZzogMCAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcclxufVxyXG5cclxuLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQge1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICNmOGY5ZmE7XHJcbn1cclxuXHJcbi50YWJsZS50YWJsZS1mb290LWZpeGVkIHRmb290IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgI2RlZTJlNiwgaW5zZXQgMCAtMXB4IDAgI2RlZTJlNjtcclxuICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gIGJvdHRvbTogLTFweDtcclxuICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxudGZvb3QgPiB0ciA+IHRkIHtcclxuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XHJcbiAgcGFkZGluZzogMnJlbSAwIDFyZW0gMDtcclxufVxyXG5cclxuLnRpdGxlLXJvdyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgcGFkZGluZzogMS4xcmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XHJcbn1cclxuXHJcbi5saXN0LXRpdGxlIHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiAjMTdhMmI4O1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjtcclxufVxyXG4iXX0= */\"","import {Component, EventEmitter, Input, OnChanges, Output, ViewChild} from '@angular/core';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { interval, Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { HumanInteractionService } from '../../../../services/human-interaction.service';\r\nimport { WebClientConfigurationService } from '../../../../services/configuration/web-client-configuration.service';\r\nimport { WfTableComponent } from '../../../../common/table-sort/wf-table.component';\r\nimport { AccessControlService } from '../../../../services/access-control.service';\r\nimport { SortDirection } from '../../../../common/table-sort/table-sort.component';\r\nimport { Utils } from '../../../../services/utils';\r\nimport { DateTimeService } from '../../../../services/date-time.service';\r\nimport { InteractionFilterModalComponent } from '../../interaction-filter-modal/interaction-filter-modal.component';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport {HumanInteractionTokenResult} from '../../../../Models/humanInteractionTokenResult';\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\n\r\n@Component({\r\n selector: 'app-queue-grid',\r\n templateUrl: './queue-grid.component.html',\r\n styleUrls: ['./queue-grid.component.css']\r\n})\r\nexport class QueueGridComponent implements OnChanges {\r\n\r\n config: PaginationInstance;\r\n gridItems$: Observable;\r\n userStatePermissions = {};\r\n p = 1;\r\n total: number;\r\n errorMessage: string;\r\n hasData: boolean;\r\n columns: any[];\r\n rows: any[];\r\n pleaseWait: boolean;\r\n sortDirection: SortDirection;\r\n firstColumnSort: any;\r\n utils: Utils;\r\n usedClasses = [];\r\n lastFilter;\r\n interactionFilterComponent: any = InteractionFilterModalComponent;\r\n private _filter: any;\r\n @Input() customQueue = false;\r\n @Input() title: string;\r\n @Input() pageConfig: any;\r\n @Input() uniqueId: string;\r\n @Input() queueConfig: any;\r\n @Input() columnPropertyName: string;\r\n @Input()\r\n set filter(filter: any) {\r\n if (filter) {\r\n this._filter = filter;\r\n this._filter.pageIndex = 1;\r\n this.gridItems$ = new Observable();\r\n this.pleaseWait = true;\r\n this.getEntries(1);\r\n }\r\n }\r\n @Input() hasFilter = true;\r\n @Input() reportType = '';\r\n @Input() customInteractionQueues: any[];\r\n @Input() sortData = true;\r\n @Output() searchDone: EventEmitter = new EventEmitter();\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n constructor(\r\n private humanInteractionService: HumanInteractionService,\r\n private webClientConfig: WebClientConfigurationService,\r\n private accessControlService: AccessControlService,\r\n private dateTimeService: DateTimeService,\r\n private domSanitizer: DomSanitizer,\r\n private modalService: GenericModalService,\r\n private bpService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnChanges() {\r\n if (this.pageConfig && this.queueConfig) {\r\n this.columns = this.queueConfig[this.columnPropertyName].sort((a, b) => a.columnOrder - b.columnOrder);\r\n\r\n this.sortDirection = this.queueConfig.orderDirection;\r\n this.firstColumnSort = this.queueConfig.orderByColumn ? this.queueConfig.orderByColumn.name : null;\r\n if (this.customQueue) {\r\n this._filter.orderByColumnId = this.queueConfig.orderByColumn ? this.queueConfig.orderByColumn.columnOrder + 1 : null;\r\n } else {\r\n this._filter.orderByColumnId = this.queueConfig.orderByColumn ? this.queueConfig.orderByColumn.id : null;\r\n }\r\n this._filter.orderDirection = this.queueConfig.orderDirection;\r\n interval(this.pageConfig.refreshInterval * 1000)\r\n .subscribe(() => {\r\n this.getPagedInteractionQueueItems(this._filter.pageIndex);\r\n });\r\n this.getPagedInteractionQueueItems(1);\r\n }\r\n }\r\n\r\n getPagedInteractionQueueItems(page: number) {\r\n this._filter.pageIndex = page;\r\n this._filter.pageSize = this.pageConfig.pageSize;\r\n\r\n this.humanInteractionService.getPagedInteractionQueueItems(this._filter)\r\n .pipe(\r\n tap( res => {\r\n this.total = res.total;\r\n this.p = page;\r\n this.getPaginationConfig(page, res.total);\r\n })\r\n ).subscribe( items => {\r\n if (this.customQueue && this.reportType === 'suspendedList') {\r\n this.rows = this.getSuspendedListCustomQueueRows(items['interactionQueueItems']);\r\n if (!this.customQueue) { this.sortItemValuesByColumn(); }\r\n } else {\r\n setTimeout(() => { this.rows = items['interactionQueueItems'];\r\n if (!this.customQueue) { this.sortItemValuesByColumn(); }}, 1);\r\n }\r\n\r\n this.hasData = items['interactionQueueItems'].length > 0;\r\n this.pleaseWait = false;\r\n this.searchDone.emit(items.total);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.pleaseWait = false;\r\n }\r\n );\r\n }\r\n\r\n getSuspendedListCustomQueueRows(item) {\r\n\r\n item.forEach(f => {\r\n f.values = [];\r\n let customInteractionQueueName = '';\r\n\r\n if (this.customInteractionQueues && this.customInteractionQueues.length > 0) {\r\n customInteractionQueueName = this.customInteractionQueues\r\n .filter(custom => custom.id === f.customInteractionQueueConfigId).map(m => m.name)[0];\r\n } else {\r\n throw new Error('Não existe fila nomeada cadastrada!');\r\n }\r\n const creationDate = this.dateTimeService.toLocalStringDateTime(f.creationDate, false);\r\n const stateModifyDate = this.dateTimeService.toLocalStringDateTime(f.stateModifyDate, false);\r\n\r\n const date1 = new Date(this.dateTimeService.toLocalISOStringDateTime(f.stateModifyDate, false));\r\n const date2 = new Date();\r\n\r\n let diff = date2.getTime() - date1.getTime();\r\n\r\n const days = Math.floor(diff / (1000 * 60 * 60 * 24));\r\n diff -= days * (1000 * 60 * 60 * 24);\r\n\r\n const hours = Math.floor(diff / (1000 * 60 * 60));\r\n diff -= hours * (1000 * 60 * 60);\r\n\r\n const mins = Math.floor(diff / (1000 * 60));\r\n diff -= mins * (1000 * 60);\r\n\r\n const seconds = Math.floor(diff / (1000));\r\n diff -= seconds * (1000);\r\n\r\n const sla = days + ' dia(s), ' + hours + ' hora(s), ' + mins + ' min, ' + seconds + ' seg';\r\n\r\n // reinserindo os valores em ordem a ser exibido no resultado.\r\n f.values.push(f.businessProcessInstanceId);\r\n f.values.push(f.businessProcessName);\r\n f.values.push(customInteractionQueueName);\r\n f.values.push(f.stateDisplayName);\r\n f.values.push(creationDate);\r\n f.values.push(stateModifyDate);\r\n f.values.push(sla);\r\n });\r\n\r\n return item;\r\n }\r\n\r\n sortItemValuesByColumn() {\r\n if (this.rows && this.rows.length > 0) {\r\n this.rows.forEach( row => {\r\n const valuesOrderedByColumn = [];\r\n this.columns.forEach( column => {\r\n const columnValue = row.values[column.id - 1];\r\n valuesOrderedByColumn.push(columnValue);\r\n });\r\n row.values = valuesOrderedByColumn;\r\n });\r\n }\r\n }\r\n\r\n setNewFilter(info) {\r\n if (this.customQueue) {\r\n this._filter.orderByColumnId = this.columns[this.columns.map(column => column.name).indexOf(info.columnName)].columnOrder + 1;\r\n } else {\r\n this._filter.orderByColumnId = this.columns[this.columns.map(column => column.name).indexOf(info.columnName)].id;\r\n }\r\n this._filter.orderDirection = info.sortDirection;\r\n this.getPagedInteractionQueueItems(1);\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.config = {\r\n id: this.uniqueId,\r\n itemsPerPage: this.pageConfig.pageSize,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }\r\n\r\n getEntries(securableObjectType) {\r\n const coll = {};\r\n this.accessControlService.getAllEffectiveEntriesBySecurableObjectTypeAndUser(securableObjectType)\r\n .subscribe( statePermissions => {\r\n statePermissions.forEach( entry => {\r\n const objName = entry.permission.name;\r\n if (!coll[objName]) {\r\n coll[objName] = [];\r\n }\r\n coll[objName].push(entry.securableObject.securableObjectId);\r\n });\r\n this.userStatePermissions = coll;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.userStatePermissions = {};\r\n });\r\n }\r\n\r\n checkValue(value) {\r\n const datePattern = new RegExp(/(\\d+)\\/(\\d+)\\/(\\d+) (\\d{2}):(\\d{2}):(\\d{2})/g);\r\n const dt = {dd: null, MM: null, yyyy: null, hh: null, mm: null, ss: null };\r\n if (datePattern.test(value)) {\r\n dt.dd = RegExp.$1;\r\n dt.MM = RegExp.$2;\r\n dt.yyyy = RegExp.$3;\r\n dt.hh = RegExp.$4;\r\n dt.mm = RegExp.$5;\r\n dt.ss = RegExp.$6;\r\n return this.dateTimeService.toLocalStringDateTime(\r\n `${dt.yyyy}-${dt.MM}-${dt.dd}T${dt.hh}:${dt.mm}:${dt.ss}`, false);\r\n } else {\r\n return value;\r\n }\r\n }\r\n\r\n checkSymbolCode(info: any) {\r\n if (info === null) {\r\n return '';\r\n } else {\r\n switch (info.fontName.toUpperCase()) {\r\n case 'TYPICONS':\r\n const content = info.symbolCode.substr(3, 4).toLowerCase();\r\n if (!this.usedClasses.includes(content)) {\r\n const css =\r\n `.class${content} i::before {\r\n font-family: 'typicons';\r\n content: '\\\\${content}';\r\n font-size: 1.4rem;\r\n }`;\r\n const style = document.createElement('style');\r\n style.appendChild(document.createTextNode(css));\r\n document.head.appendChild(style);\r\n this.usedClasses.push(content);\r\n }\r\n return ``;\r\n case 'FONTAWESOME':\r\n case 'AWESOME':\r\n return this.domSanitizer.bypassSecurityTrustHtml(`${info.symbolCode};`);\r\n }\r\n }\r\n }\r\n\r\n openFilter() {\r\n let columnsToFilter;\r\n if (this.customQueue) {\r\n columnsToFilter = this.columns.filter(\r\n column => column.systemField !== 8 && column.systemField !== 5\r\n );\r\n } else {\r\n columnsToFilter = this.columns;\r\n }\r\n const objInitialState = {\r\n columnList: columnsToFilter,\r\n lastFilter: this.lastFilter,\r\n isCustomQueue: this.customQueue,\r\n searchMethod: (componentFilter) => {\r\n this.lastFilter = componentFilter;\r\n this._filter.initialDate = componentFilter.initialDate;\r\n this._filter.finalDate = componentFilter.finalDate;\r\n this._filter.columnsComparisonType = componentFilter.columnsComparisonType;\r\n this._filter.columns = componentFilter.columns;\r\n this.getPagedInteractionQueueItems(1);\r\n }\r\n };\r\n this.modalService.showObjModal(this.interactionFilterComponent, `Filtro rápido`, objInitialState);\r\n }\r\n\r\n onInteract(row) {\r\n this.bpService.openWindowInteraction(row.businessProcessInstanceId, false);\r\n }\r\n\r\n onView(row) {\r\n this.bpService.openWindowInteraction(row.businessProcessInstanceId, true);\r\n }\r\n\r\n\r\n}\r\n","export default \".interaction-message {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 6rem;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.interaction-message button {\\r\\n width: -webkit-max-content;\\r\\n width: -moz-max-content;\\r\\n width: max-content;\\r\\n}\\r\\n\\r\\n.tab-pane.active {\\r\\n padding: 20px 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvSHVtYW5JbnRlcmFjdGlvbi9zZXF1ZW50aWFsLWFsbG9jYXRpb24vc2VxdWVudGlhbC1hbGxvY2F0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWiw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL0h1bWFuSW50ZXJhY3Rpb24vc2VxdWVudGlhbC1hbGxvY2F0aW9uL3NlcXVlbnRpYWwtYWxsb2NhdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmludGVyYWN0aW9uLW1lc3NhZ2Uge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBoZWlnaHQ6IDZyZW07XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uaW50ZXJhY3Rpb24tbWVzc2FnZSBidXR0b24ge1xyXG4gIHdpZHRoOiBtYXgtY29udGVudDtcclxufVxyXG5cclxuLnRhYi1wYW5lLmFjdGl2ZSB7XHJcbiAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyOiAjZDhkOGQ4IHNvbGlkIDFweDtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { AdminService } from '../../../services/admin.service';\r\nimport {HumanInteractionService} from '../../../services/human-interaction.service';\r\nimport {BusinessProcessService} from '../../../services/business-process.service';\r\n\r\n@Component({\r\n selector: 'app-sequential-allocation',\r\n templateUrl: './sequential-allocation.component.html',\r\n styleUrls: ['./sequential-allocation.component.css']\r\n})\r\nexport class SequentialAllocationComponent implements OnInit {\r\n\r\n hasCustomQueuePermission = false;\r\n hasRegularQueuePermission = false;\r\n isOnInit = true;\r\n progressAllocation = false;\r\n progressCustomAllocation = false;\r\n progressAllocationMessage = '';\r\n progressCustomAllocationMessage = '';\r\n errorMessage = '';\r\n @ViewChild('sequentialAllocationTabs', { static: false }) sequentialAllocationTabs: TabsetComponent;\r\n\r\n constructor(\r\n private admService: AdminService,\r\n private humanInteractionService: HumanInteractionService,\r\n private bpService: BusinessProcessService\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkItemsRight(24);\r\n this.checkItemsRight(28);\r\n }\r\n\r\n checkItemsRight(item: number) {\r\n this.errorMessage = '';\r\n this.admService.checkItemsRight(item)\r\n .subscribe( hasRight => {\r\n this.isOnInit = false;\r\n switch (item) {\r\n case 24:\r\n this.hasRegularQueuePermission = hasRight;\r\n break;\r\n case 28:\r\n this.hasCustomQueuePermission = hasRight;\r\n break;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n tryAllocate() {\r\n this.progressAllocationMessage = '';\r\n this.progressAllocation = true;\r\n this.progressAllocationMessage = 'Alocando a próxima instância disponível...';\r\n\r\n this.humanInteractionService.allocateNextInstance().subscribe( instanceId => {\r\n if (!instanceId) {\r\n this.progressAllocation = false;\r\n this.progressAllocationMessage = 'Não existem instâncias disponíveis para interação neste momento.';\r\n this.clearProgressAllocationMessage();\r\n return;\r\n }\r\n this.progressAllocationMessage = 'Aguarde. Redirecionando para a tela de interação...';\r\n this.clearProgressAllocationMessage();\r\n this.bpService.openWindowInteraction(instanceId, false, 5);\r\n }, error => {\r\n this.progressAllocationMessage = 'Não foi possível alocar uma instância. Detalhes: '+ error;\r\n this.progressAllocation = false;\r\n });\r\n }\r\n\r\n tryAllocateCustom(){\r\n this.progressCustomAllocationMessage = '';\r\n this.progressCustomAllocation = true;\r\n this.progressCustomAllocationMessage = 'Alocando a próxima instância disponível...';\r\n\r\n this.humanInteractionService.allocateNextInstanceCustom().subscribe( instanceId => {\r\n if (!instanceId) {\r\n this.progressCustomAllocation = false;\r\n this.progressCustomAllocationMessage = 'Não existem instâncias disponíveis para interação neste momento.';\r\n this.clearProgressAllocationCustomMessage();\r\n return;\r\n }\r\n this.progressCustomAllocationMessage = 'Aguarde. Redirecionando para a tela de interação...';\r\n this.clearProgressAllocationCustomMessage();\r\n this.bpService.openWindowInteraction(instanceId, false, 7);\r\n }, error => {\r\n this.progressCustomAllocationMessage = 'Não foi possível alocar uma instância. Detalhes: '+ error;\r\n this.progressCustomAllocation = false;\r\n });\r\n }\r\n\r\n clearProgressAllocationMessage(){\r\n setTimeout(() => {\r\n this.progressAllocation = false;\r\n this.progressAllocationMessage = '';\r\n }, 2000);\r\n }\r\n clearProgressAllocationCustomMessage(){\r\n setTimeout(() => {\r\n this.progressCustomAllocation = false;\r\n this.progressCustomAllocationMessage = '';\r\n }, 2000);\r\n }\r\n}\r\n","export default \".tab-pane.active {\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n.library-content {\\r\\n background: #f7f7f7;\\r\\n /*background: #ffffff;*/\\r\\n}\\r\\n\\r\\n.btn-secondary-toogle {\\r\\n font-weight: normal!important;\\r\\n}\\r\\n\\r\\n.cursor-pointer {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.cursor-forbidden {\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.tabScroll {\\r\\n min-height: calc(100vh - calc(3.5rem + 1px) - calc(3.5rem + 1px) - 132px - 4rem);\\r\\n max-height: 28rem;\\r\\n overflow-y: auto;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9hZG1pbmlzdHJhdGlvbi9idXNpbmVzcy1wcm9jZXNzLWluc3RhbmNlLW92ZXJyaWRlL2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2Utb3ZlcnJpZGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0ZBQWdGO0VBQ2hGLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvUnVudGltZS9hZG1pbmlzdHJhdGlvbi9idXNpbmVzcy1wcm9jZXNzLWluc3RhbmNlLW92ZXJyaWRlL2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2Utb3ZlcnJpZGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50YWItcGFuZS5hY3RpdmUge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXI6ICNkOGQ4ZDggc29saWQgMXB4O1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbn1cclxuXHJcbi5saWJyYXJ5LWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbiAgLypiYWNrZ3JvdW5kOiAjZmZmZmZmOyovXHJcbn1cclxuXHJcbi5idG4tc2Vjb25kYXJ5LXRvb2dsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jdXJzb3ItcG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY3Vyc29yLWZvcmJpZGRlbiB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLnRhYlNjcm9sbCB7XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIGNhbGMoMy41cmVtICsgMXB4KSAtIGNhbGMoMy41cmVtICsgMXB4KSAtIDEzMnB4IC0gNHJlbSk7XHJcbiAgbWF4LWhlaWdodDogMjhyZW07XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {TabsetComponent} from 'ngx-bootstrap/tabs';\r\nimport {WfTableComponent} from '../../../../common/table-sort/wf-table.component';\r\nimport {PaginationInstance} from 'ngx-pagination';\r\nimport {WebClientConfigurationService} from '../../../../services/configuration/web-client-configuration.service';\r\nimport {BpAdministrationService} from '../../../../services/bp-administration.service';\r\nimport {OverrideDefinitionType} from '../../../../Models/enum/overrideDefinitionType';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {map, take, tap} from 'rxjs/operators';\r\nimport {Utils} from '../../../../services/utils';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\nimport {ScheduleModalComponent} from './schedule-modal/schedule-modal.component';\r\nimport {ReportsServiceService} from '../../../../services/reports-service';\r\n\r\n@Component({\r\n selector: 'app-business-process-instance-override',\r\n templateUrl: './business-process-instance-override.component.html',\r\n styleUrls: ['./business-process-instance-override.component.css', '../../../../styles/business-process-configuration.css']\r\n})\r\nexport class BusinessProcessInstanceOverrideComponent implements OnInit {\r\n\r\n @ViewChild('instanceTabset', { static: false }) instanceTabset: TabsetComponent;\r\n @ViewChild('dataTableSchedule', { static: false }) dataTableSchedule: WfTableComponent;\r\n\r\n lifeCycles: BehaviorSubject = new BehaviorSubject(null);\r\n utils = Utils;\r\n config: PaginationInstance;\r\n schedules: any[];\r\n hasSchedules: boolean;\r\n totalSchedulesListed: number;\r\n\r\n p = 1;\r\n totalItemsPerPage;\r\n total: number;\r\n errorScheduleMessage = '';\r\n successScheduleMessage = '';\r\n overrideTypes = [];\r\n bpList = [];\r\n lifeCycleList = [];\r\n isRemoving = false;\r\n errorMessage = '';\r\n\r\n constructor(private bpAdmService: BpAdministrationService, private webClientConfig: WebClientConfigurationService,\r\n private modalService: GenericModalService, private reportService: ReportsServiceService) { }\r\n\r\n ngOnInit() {\r\n this.loadOverrideType();\r\n this.loadBusinessProcesses();\r\n this.loadLifeCycles();\r\n this.getPage(1);\r\n }\r\n\r\n refreshTabScroll(status: boolean) {\r\n if (status) {\r\n this.getPage(this.p);\r\n this.instanceTabset.tabs[1].active = true;\r\n }\r\n }\r\n\r\n loadOverrideType() {\r\n this.errorMessage = '';\r\n this.bpAdmService.getOverrideDefinitionTypes().subscribe(r => {\r\n this.overrideTypes = r;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n loadBusinessProcesses() {\r\n this.errorMessage = '';\r\n this.bpAdmService.getBusinessProcessesOverride().subscribe(res => {\r\n this.bpList = res;\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadLifeCycles() {\r\n this.errorMessage = '';\r\n this.reportService.getStateLifeCyclesForOverride()\r\n .subscribe(\r\n result => {\r\n this.lifeCycles.next(result);\r\n this.lifeCycleList = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n }\r\n );\r\n }\r\n\r\n removeSchedule(item) {\r\n this.errorScheduleMessage = '';\r\n item = this.removeExtensionData(item);\r\n console.log(item);\r\n\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de exclusão de agendamento', 'Confirma a exclusão do agendamento?');\r\n\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpAdmService.deleteSchedulingWithOverrideInstance(item)\r\n .subscribe(s => {\r\n this.successScheduleMessage = `Agendamento excluído com sucesso.`;\r\n this.isRemoving = true;\r\n setTimeout(() => {\r\n this.successScheduleMessage = '';\r\n this.refreshTabScroll(true);\r\n }, 2000);\r\n }, error1 => {\r\n this.isRemoving = false;\r\n this.errorScheduleMessage = error1;\r\n });\r\n }\r\n });\r\n }\r\n\r\n openSchedulingEditor(item) {\r\n item = this.removeExtensionData(item);\r\n item.overrideDefinition.typeDescription = this.overrideTypes\r\n .filter(f => parseInt(item.overrideDefinition.type, 10) === f.value)\r\n .map(m => m.translatedName)[0];\r\n item.overrideDefinition.businessProcessName = this.bpList\r\n .filter(f => parseFloat(item.overrideDefinition.businessProcessId) === f.businessProcessId)\r\n .map(m => m.name)[0];\r\n\r\n item.stateLifeCycles = this.lifeCycleList;\r\n const destComponent: any = ScheduleModalComponent;\r\n const result$ = this.modalService.showObjModal(destComponent, 'Configurar Agendamento', item);\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe((result) => {\r\n // devolver para a tela principal, se deve ou nao atualizar a aba de agendamento\r\n this.refreshTabScroll(result);\r\n });\r\n } else {\r\n this.errorScheduleMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n removeExtensionData(item) {\r\n delete item['extensionData'];\r\n delete item['overrideDefinition']['extensionData'];\r\n delete item['schedulingInfo']['extensionData'];\r\n return item;\r\n }\r\n\r\n getPage(pageIndex: number) {\r\n\r\n if (this.totalSchedulesListed == 1 && this.isRemoving) {\r\n this.isRemoving = false;\r\n pageIndex -= 1;\r\n }\r\n\r\n this.errorScheduleMessage = '';\r\n\r\n this.bpAdmService.getPagedOverrideInstanceScheduling(pageIndex)\r\n .pipe(\r\n tap( res => {\r\n this.total = res.total;\r\n this.p = pageIndex;\r\n\r\n /*this.config = {\r\n id: 'pagOverrideInstanceScheduling',\r\n itemsPerPage: this.totalItemsPerPage,\r\n currentPage: pageIndex,\r\n totalItems: res.total\r\n };*/\r\n this.getPaginationConfig(pageIndex, res.total);\r\n }, error1 => {\r\n this.errorScheduleMessage = error1;\r\n }),\r\n map(res => res.items)\r\n ).subscribe(value => {\r\n this.schedules = value;\r\n this.hasSchedules = value.length > 0;\r\n this.totalSchedulesListed = value.length;\r\n });\r\n\r\n }\r\n\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.errorScheduleMessage = '';\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }, error1 => this.errorScheduleMessage = error1);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYWRtaW5pc3RyYXRpb24vYnVzaW5lc3MtcHJvY2Vzcy1pbnN0YW5jZS1vdmVycmlkZS9zY2hlZHVsZS1tb2RhbC9zY2hlZHVsZS1tb2RhbC5jb21wb25lbnQuY3NzIn0= */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {BehaviorSubject, Subject} from 'rxjs';\r\nimport {Utils} from '../../../../../services/utils';\r\nimport {BusinessProcessInstanceOverrideComponent} from '../business-process-instance-override.component';\r\nimport {CustomValidator} from '../../../../../services/custom-validator';\r\nimport {BpAdministrationService} from '../../../../../services/bp-administration.service';\r\nimport {AuthenticationService} from '../../../../../services/authentication.service';\r\nimport {ReportsServiceService} from '../../../../../services/reports-service';\r\nimport {GenericModalService} from '../../../../../services/generic-modal.service';\r\n\r\n@Component({\r\n selector: 'app-schedule-modal',\r\n templateUrl: './schedule-modal.component.html',\r\n styleUrls: ['../../../../../styles/business-process-configuration.css', './schedule-modal.component.css']\r\n})\r\nexport class ScheduleModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n utils = Utils;\r\n schedulingForm: FormGroup;\r\n objInitialState: any;\r\n itemSaved: Subject = new Subject();\r\n submitClick = false;\r\n errorMessage = '';\r\n successMessage = '';\r\n pleaseWait = false;\r\n datetimeNow = new Date();\r\n showRepetitionDuration = false;\r\n repetitions = [\r\n { value: 0, name: 'Não Repetir' },\r\n { value: 600, name: '10 minutos' },\r\n { value: 900, name: '15 minutos' },\r\n { value: 1800, name: '30 minutos' },\r\n { value: 3600, name: '1 hora' }\r\n ];\r\n\r\n durations = [\r\n { value: 1800, name: '30 minutos' },\r\n { value: 3600, name: '1 hora' },\r\n { value: 43200, name: '12 horas' },\r\n { value: 86400, name: '1 dia' }\r\n ];\r\n\r\n lifeCycle = '';\r\n\r\n scheduleDate = function() {\r\n let now = this.datetimeNow;\r\n return {\r\n today: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(),\r\n now.getHours(), now.getMinutes(), now.getSeconds())).toISOString().substr(0, 16)\r\n };\r\n };\r\n\r\n get formData() { return this.schedulingForm.controls; }\r\n\r\n constructor(private formBuilder: FormBuilder, private bsModalRef: BsModalRef, private bpAdmService: BpAdministrationService,\r\n private authService: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.createForm();\r\n\r\n this.lifeCycle = this.objInitialState.stateLifeCycles\r\n .filter(f => parseInt(this.objInitialState.overrideDefinition.fromStateLifeCycle, 10) === f.value)\r\n .map(m => m.translatedName)[0];\r\n\r\n console.log(this.lifeCycle);\r\n\r\n if (this.objInitialState.overrideDefinition.id && this.objInitialState.overrideDefinition.id > 0) {\r\n this.onEditSchedule();\r\n }\r\n }\r\n\r\n onEditSchedule() {\r\n this.schedulingForm.patchValue({\r\n schedulingId: this.objInitialState.schedulingInfo.schedulingId,\r\n schedulingName: this.objInitialState.overrideDefinition.name,\r\n schedulingStart: this.utils.zoneAndDateParse(new Date(this.objInitialState.schedulingInfo.start), 'YYYY-MM-DDTHH:mm:ss'),\r\n schedulingDailyFrequency: this.objInitialState.schedulingInfo.dailyFrequency,\r\n schedulingTaskRepetition: this.objInitialState.schedulingInfo.repetition.toString(),\r\n schedulingRepetitionDuration: this.objInitialState.schedulingInfo.repetitionDuration.toString(),\r\n schedulingEnabled: this.objInitialState.schedulingInfo.enabled\r\n });\r\n this.showRepetitionDuration = this.objInitialState.schedulingInfo.repetition > 0;\r\n }\r\n\r\n createForm() {\r\n this.schedulingForm = this.formBuilder.group({\r\n schedulingId: 0,\r\n schedulingName: [null, Validators.required],\r\n schedulingStart: [this.scheduleDate().today, Validators.required],\r\n schedulingDailyFrequency: [null, CustomValidator.numeric],\r\n schedulingTaskRepetition: [0, Validators.required],\r\n schedulingRepetitionDuration: null,\r\n schedulingEnabled: true\r\n });\r\n }\r\n\r\n filteredDuration() {\r\n const taskRepetition = parseInt(this.schedulingForm.get('schedulingTaskRepetition').value, 10);\r\n return this.durations.filter(f => f.value > taskRepetition);\r\n }\r\n\r\n onChangeTaskRepetition(element) {\r\n const taskRepetition = parseInt(element, 10);\r\n this.showRepetitionDuration = taskRepetition > 0;\r\n const frmNameDuration = 'schedulingRepetitionDuration';\r\n this.schedulingForm.get(frmNameDuration).setValue(null);\r\n if (this.showRepetitionDuration) {\r\n this.schedulingForm.get(frmNameDuration).setValidators(Validators.required);\r\n } else {\r\n this.schedulingForm.get(frmNameDuration).clearValidators();\r\n }\r\n this.schedulingForm.get(frmNameDuration).updateValueAndValidity();\r\n }\r\n\r\n onSave() {\r\n if (this.authService.checkAuthModal()) {\r\n this.pleaseWait = true;\r\n this.submitClick = true;\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n const data = this.schedulingForm.getRawValue();\r\n data.schedulingRepetitionDuration = !data.schedulingRepetitionDuration ? 0 : data.schedulingRepetitionDuration;\r\n let taskId = 0; // !this.objInitialState.schedulingInfo ? 0 : this.objInitialState.schedulingInfo.taskId;\r\n let taskType = 0;\r\n\r\n if (this.objInitialState.schedulingInfo) {\r\n taskId = this.objInitialState.schedulingInfo.taskId;\r\n taskType = this.objInitialState.schedulingInfo.taskType;\r\n }\r\n\r\n const overrideDefinitionData = this.objInitialState.overrideDefinition;\r\n overrideDefinitionData.name = data.schedulingName;\r\n const params = {\r\n overrideDefinition: overrideDefinitionData,\r\n schedulingInfo: {\r\n dailyFrequency: data.schedulingDailyFrequency,\r\n enabled: data.schedulingEnabled,\r\n repetition: data.schedulingTaskRepetition,\r\n repetitionDuration: data.schedulingRepetitionDuration,\r\n schedulingId: data.schedulingId,\r\n start: new Date(data.schedulingStart).toISOString(),\r\n taskId: taskId,\r\n taskType: taskType\r\n }\r\n };\r\n\r\n if (this.objInitialState.overrideDefinition.id && this.objInitialState.overrideDefinition.id > 0) {\r\n // update\r\n this.bpAdmService.updateSchedulingWithOverrideInstance(params).subscribe(() => {\r\n this.pleaseWait = false;\r\n this.successMessage = 'Agendamento atualizado com sucesso.';\r\n this.submitClick = false;\r\n\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.itemSaved.next(true);\r\n this.bsModalRef.hide();\r\n }, 2500);\r\n }, error1 => {\r\n this.setErrorMessage(error1);\r\n });\r\n } else {\r\n // create\r\n this.bpAdmService.createSchedulingWithOverrideInstance(params).subscribe(returnedValue => {\r\n this.pleaseWait = false;\r\n if (returnedValue) {\r\n this.successMessage = 'Agendamento salvo com sucesso.';\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.itemSaved.next(true);\r\n this.bsModalRef.hide();\r\n }, 2500);\r\n } else {\r\n this.errorMessage = 'Erro ao salvar o agendamento.';\r\n }\r\n this.submitClick = false;\r\n }, error1 => {\r\n this.setErrorMessage(error1);\r\n });\r\n }\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n onClose() {\r\n if (this.authService.checkAuthModal()) {\r\n this.bsModalRef.hide();\r\n this.itemSaved.next(false);\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n setErrorMessage(msg) {\r\n this.pleaseWait = false;\r\n this.errorMessage = msg;\r\n this.submitClick = false;\r\n }\r\n\r\n periodKeyDown() {\r\n return false;\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n Utils.adjustSpaces(value, this.schedulingForm, formControlName);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {PaginationInstance} from 'ngx-pagination';\r\nimport {FormBuilder, FormGroup, ValidatorFn, Validators} from '@angular/forms';\r\nimport {OverrideDefinitionType} from '../../../../../Models/enum/overrideDefinitionType';\r\nimport {WebClientConfigurationService} from '../../../../../services/configuration/web-client-configuration.service';\r\nimport {BpAdministrationService} from '../../../../../services/bp-administration.service';\r\nimport {CustomValidator} from '../../../../../services/custom-validator';\r\nimport {GenericModalService} from '../../../../../services/generic-modal.service';\r\nimport {ScheduleModalComponent} from '../schedule-modal/schedule-modal.component';\r\nimport {ReportsServiceService} from '../../../../../services/reports-service';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport {take} from 'rxjs/operators';\r\nimport {BusinessProcessInstanceOverrideComponent} from '../business-process-instance-override.component';\r\nimport {UserModalComponent} from '../../../../Admin/users/user-modal.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-tab-intance-override',\r\n templateUrl: './tab-intance-override.component.html',\r\n styleUrls: ['../business-process-instance-override.component.css', '../../../../../styles/business-process-configuration.css']\r\n})\r\nexport class TabIntanceOverrideComponent implements OnInit {\r\n\r\n @Output() schedulesEmit = new EventEmitter();\r\n @Input() stateLifeCycles: Observable;\r\n errorMessage = '';\r\n successMessage = '';\r\n pleaseWait = '';\r\n submitClick = false;\r\n public config: PaginationInstance;\r\n overrideForm: FormGroup;\r\n\r\n overrideTypes = [];\r\n eOverrideType = OverrideDefinitionType;\r\n bpList = [];\r\n stateList = [];\r\n lifeCycles = [];\r\n\r\n tdBpInstanceId = false;\r\n rowBp = false;\r\n tdStateTo = false;\r\n tdAutomaticAllocation = false; // Alocação automática\r\n /*tdCommomRules - (des)habilitar os campos:\r\n Ciclo de vida, Estado origem e Estado destino (quando o tipo de imposição não for Por Instância)*/\r\n tdCommomRules = false;\r\n tdPeriod = false;\r\n tdBackDays = false;\r\n\r\n currentDayInterval = function() {\r\n let now = new Date();\r\n return {\r\n start: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0)).toISOString().substr(0, 16),\r\n end: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59)).toISOString().substr(0, 16)\r\n };\r\n };\r\n\r\n get formData() { return this.overrideForm.controls; }\r\n\r\n constructor(private webClientConfig: WebClientConfigurationService, private bpAdmService: BpAdministrationService,\r\n private formBuilder: FormBuilder, private modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n\r\n this.loadOverrideType();\r\n this.loadBusinessProcesses();\r\n this.stateLifeCycles.subscribe(r => { this.lifeCycles = r; },\r\n error1 => this.errorMessage = error1);\r\n\r\n // habilitar os combos utilizados pelo tipo de imposição \"Por Instâncias\"\r\n this.selectOverrideType(this.eOverrideType.byInstance);\r\n\r\n this.getPaginationConfig();\r\n }\r\n\r\n createForm() {\r\n this.overrideForm = this.formBuilder.group({\r\n overrideType: 1,\r\n businessProcessInstanceId: null,\r\n businessProcessId: [ null, Validators.required ],\r\n stateFrom: null,\r\n stateTo: null,\r\n automaticAllocation: true,\r\n stateLifeCycle: null,\r\n initialDate: null,\r\n finalDate: null,\r\n backDays: null\r\n });\r\n }\r\n\r\n requestOverride() {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n this.pleaseWait = 'Por favor, aguarde...';\r\n this.submitClick = true;\r\n\r\n const data = this.overrideForm.getRawValue();\r\n data.automaticAllocation = data.automaticAllocation == null ? false : data.automaticAllocation;\r\n const overrideType = parseInt(data.overrideType, 10);\r\n console.log(data);\r\n\r\n if (overrideType === this.eOverrideType.byInstance) {\r\n this.verifyInstanceId(data);\r\n } else if (overrideType === this.eOverrideType.byPeriod) {\r\n this.requestOverrideByPeriod(data);\r\n } else if (overrideType === this.eOverrideType.retroactive) {\r\n this.requestOverrideByRetroactive(data);\r\n }\r\n }\r\n\r\n onCreateScheduling() {\r\n const obj = this.overrideForm.getRawValue();\r\n obj.taskId = 0;\r\n obj.stateLifeCycle = obj.stateLifeCycle ? parseInt(obj.stateLifeCycle, 10) : null;\r\n const typeDescription = this.overrideTypes.filter(f => parseInt(obj.overrideType, 10) === f.value)\r\n .map(m => m.translatedName)[0];\r\n const businessProcessName = this.bpList.filter(f => parseFloat(obj.businessProcessId) === f.businessProcessId)\r\n .map(m => m.name)[0];\r\n\r\n const data = {\r\n overrideDefinition: {\r\n automaticAllocation: obj.automaticAllocation,\r\n backDays: obj.backDays ? parseInt(obj.backDays, 10) : null,\r\n businessProcessId: obj.businessProcessId,\r\n businessProcessInstanceId: obj.businessProcessInstanceId,\r\n businessProcessName: businessProcessName,\r\n finalDate: obj.overrideType === '2' ? obj.finalDate : null,\r\n fromStateLifeCycle: obj.stateLifeCycle,\r\n fromStateName: obj.stateFrom,\r\n id: 0,\r\n initialDate: obj.overrideType === '2' ? obj.initialDate : null,\r\n name: null,\r\n toStateName: obj.stateTo,\r\n type: parseInt(obj.overrideType, 10),\r\n typeDescription: typeDescription,\r\n userId: 0\r\n },\r\n stateLifeCycles: this.lifeCycles\r\n };\r\n\r\n const destComponent: any = ScheduleModalComponent;\r\n const result$ = this.modalService.showObjModal(destComponent, 'Configurar Agendamento', data);\r\n if (result$) {\r\n result$.asObservable()\r\n // .pipe(take(1))\r\n .subscribe((result) => {\r\n // devolver para a tela principal, se deve ou nao atualizar a aba de agendamento\r\n this.schedulesEmit.emit(result);\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Sessão expirada.';\r\n }\r\n }\r\n\r\n verifyInstanceId(data) {\r\n this.errorMessage = '';\r\n this.bpAdmService.verifyInstaceId(data.businessProcessId, data.businessProcessInstanceId)\r\n .subscribe(isValid => {\r\n if (isValid) {\r\n this.requestOverrideByInstanceId(data.businessProcessInstanceId, data.stateTo, data.automaticAllocation);\r\n } else {\r\n this.pleaseWait = '';\r\n this.errorMessage = 'ID da instância informado não pertence ao Processo de Negócio selecionado';\r\n this.submitClick = false;\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.pleaseWait = '';\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n requestOverrideByInstanceId(businessProcessInstanceId, toStateName, automaticAllocation) {\r\n this.errorMessage = '';\r\n this.bpAdmService.requestOverrideInstanceById(businessProcessInstanceId, toStateName, automaticAllocation)\r\n .subscribe(overrideInfo => {\r\n this.pleaseWait = '';\r\n if (overrideInfo == null || overrideInfo.status === 1) {\r\n this.successMessage = `Imposição da instância ${businessProcessInstanceId} requisitada com sucesso para o estado \"${toStateName}\"
\r\n Para consultar se houve falha na execução, acesse o relatório Imposições Irregulares.`;\r\n\r\n setTimeout( () => {\r\n this.successMessage = '';\r\n }, 10000);\r\n } else {\r\n this.errorMessage = `Erro ao requisitar a imposição da instância ${businessProcessInstanceId} para o estado \"${toStateName}\"
${overrideInfo.errorMessage}`;\r\n }\r\n this.submitClick = false;\r\n }, error1 => {\r\n this.pleaseWait = '';\r\n this.errorMessage = error1;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n requestOverrideByPeriod(data) {\r\n const requestParams = {\r\n businessProcessId: data.businessProcessId,\r\n stateLifeCycle: parseInt(data.stateLifeCycle, 10),\r\n fromStateName: data.stateFrom,\r\n toStateName: data.stateTo,\r\n initialDate: new Date(data.initialDate).toISOString(),\r\n finalDate: new Date(data.finalDate).toISOString(),\r\n automaticAllocation: data.automaticAllocation == null ? false : data.automaticAllocation\r\n };\r\n\r\n this.errorMessage = '';\r\n\r\n this.bpAdmService.requestOverrideInstanceByPeriod(requestParams)\r\n .subscribe(affectedInstances => {\r\n this.pleaseWait = '';\r\n if (affectedInstances === 0) {\r\n this.errorMessage = 'Não foram encontradas instâncias que atendam aos critérios solicitados.';\r\n } else {\r\n this.successMessage = `Imposição requisitada para ${affectedInstances} instância(s) de Processo de Negócio com sucesso.
\r\n Para consultar se houve falha em alguma imposição, acesse o relatório Imposição de Instâncias.`;\r\n }\r\n\r\n this.submitClick = false;\r\n setTimeout( () => {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n }, 10000);\r\n }, error1 => {\r\n this.pleaseWait = '';\r\n this.errorMessage = error1;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n requestOverrideByRetroactive(data) {\r\n const requestParams = {\r\n businessProcessId: data.businessProcessId,\r\n stateLifeCycle: parseInt(data.stateLifeCycle, 10),\r\n fromStateName: data.stateFrom,\r\n toStateName: data.stateTo,\r\n backDays: parseFloat(data.backDays),\r\n automaticAllocation: data.automaticAllocation == null ? false : data.automaticAllocation\r\n };\r\n\r\n this.errorMessage = '';\r\n this.bpAdmService.requestOverrideInstanceByRetroactive(requestParams)\r\n .subscribe(affectedInstances => {\r\n this.pleaseWait = '';\r\n if (affectedInstances === 0) {\r\n this.errorMessage = 'Não foram encontradas instâncias que atendam aos critérios solicitados.';\r\n } else {\r\n this.successMessage = `Imposição requisitada para ${affectedInstances} instância(s) de Processo de Negócio com sucesso.
\r\n Para consultar se houve falha em alguma imposição, acesse o relatório Imposição de Instâncias.`;\r\n }\r\n\r\n this.submitClick = false;\r\n setTimeout( () => {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n }, 10000);\r\n }, error1 => {\r\n this.pleaseWait = '';\r\n this.errorMessage = error1;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n periodKeyDown() {\r\n return false;\r\n }\r\n\r\n cleanFields() {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n this.submitClick = false;\r\n this.pleaseWait = '';\r\n\r\n const overrideType = this.overrideForm.get('overrideType').value;\r\n this.overrideForm.reset();\r\n this.overrideForm.controls.overrideType.setValue(overrideType);\r\n this.selectOverrideType(overrideType);\r\n }\r\n\r\n loadOverrideType() {\r\n this.errorMessage = '';\r\n this.bpAdmService.getOverrideDefinitionTypes().subscribe(r => {\r\n this.overrideTypes = r;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n loadBusinessProcesses() {\r\n const selectedOverrideType = parseInt(this.overrideForm.get('overrideType').value, 10);\r\n this.errorMessage = '';\r\n this.pleaseWait = 'Carregando filtro... Por favor aguarde.';\r\n this.bpAdmService.getBusinessProcessesOverride().subscribe(res => {\r\n this.bpList = res;\r\n this.rowBp = true;\r\n // habilitar/desabilitar o campo id da instância\r\n this.requiredInstanceId(selectedOverrideType, res && res.length > 0);\r\n this.pleaseWait = '';\r\n },\r\n error1 => {\r\n this.pleaseWait = '';\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadStates(businessProcessId) {\r\n this.errorMessage = '';\r\n this.pleaseWait = 'Carregando filtro... Por favor aguarde.';\r\n this.stateList = [];\r\n this.overrideForm.patchValue({\r\n stateTo: null,\r\n stateFrom: null\r\n });\r\n this.overrideForm.get('stateTo').updateValueAndValidity();\r\n this.overrideForm.get('stateFrom').updateValueAndValidity();\r\n\r\n this.bpAdmService.getStatesOverride(businessProcessId)\r\n .subscribe(res => {\r\n this.stateList = res;\r\n this.pleaseWait = '';\r\n }, error1 => {\r\n this.pleaseWait = '';\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n selectOverrideType(element) {\r\n const selectedOverrideType = parseInt(element, 10);\r\n\r\n // deve-se sempre esconder os campos, quando muda o tipo de imposição\r\n this.tdStateTo = false;\r\n this.tdAutomaticAllocation = false;\r\n this.requiredCommomFields(selectedOverrideType, false);\r\n\r\n // habilitar/desabilitar o campo id da instância\r\n this.requiredInstanceId(selectedOverrideType, this.bpList && this.bpList.length > 0);\r\n this.requiredPeriod(selectedOverrideType);\r\n this.requiredBackDays(selectedOverrideType);\r\n\r\n this.overrideForm.patchValue({\r\n businessProcessInstanceId: null,\r\n businessProcessId: null,\r\n stateFrom: null,\r\n stateTo: null,\r\n automaticAllocation: true,\r\n stateLifeCycle: null,\r\n initialDate: this.currentDayInterval().start,\r\n finalDate: this.currentDayInterval().end,\r\n backDays: null\r\n });\r\n }\r\n\r\n changeBusinessProcess(element) {\r\n\r\n if (element !== undefined) {\r\n let bpId = parseFloat(element.businessProcessId);\r\n bpId = isNaN(bpId) ? 0 : bpId;\r\n const isSelectedBp = bpId > 0;\r\n\r\n const selectedOverrideType = parseInt(this.overrideForm.get('overrideType').value, 10);\r\n\r\n // habilitar/desabilitar os campos\r\n this.requiredInstanceId(selectedOverrideType, this.bpList.length > 0);\r\n this.requiredStateTo(isSelectedBp);\r\n this.tdAutomaticAllocation = bpId > 0;\r\n this.requiredPeriod(selectedOverrideType);\r\n this.requiredCommomFields(selectedOverrideType, isSelectedBp);\r\n this.requiredBackDays(selectedOverrideType);\r\n this.loadStates(bpId);\r\n\r\n this.overrideForm.get('stateTo').enable();\r\n this.overrideForm.get('stateFrom').enable();\r\n } else {\r\n this.stateList = [];\r\n this.overrideForm.patchValue({stateTo: null, stateFrom: null});\r\n this.overrideForm.get('stateTo').disable();\r\n this.overrideForm.get('stateFrom').disable();\r\n }\r\n }\r\n\r\n requiredPeriod(selectedOverrideType) {\r\n this.tdPeriod = selectedOverrideType === this.eOverrideType.byPeriod;\r\n if (this.tdPeriod) {\r\n this.addOrRemoveValidators('initialDate', Validators.required);\r\n this.addOrRemoveValidators('finalDate', Validators.required);\r\n this.overrideForm.setValidators(CustomValidator.validateDatetime('initialDate', 'finalDate'));\r\n } else {\r\n this.addOrRemoveValidators('initialDate');\r\n this.addOrRemoveValidators('finalDate');\r\n this.overrideForm.clearValidators();\r\n }\r\n this.overrideForm.updateValueAndValidity();\r\n }\r\n\r\n requiredBackDays(selectedOverrideType) {\r\n this.tdBackDays = selectedOverrideType === this.eOverrideType.retroactive;\r\n if (this.tdBackDays) {\r\n this.addOrRemoveValidators('backDays', [CustomValidator.numeric, Validators.maxLength(5)]);\r\n } else {\r\n this.addOrRemoveValidators('backDays');\r\n }\r\n }\r\n\r\n requiredInstanceId(selectedOverrideType, isBpList) {\r\n\r\n // verificar pq quando verifica se o tdBp desconfigura a formatação de obrigatório ao carregar a tela na primeira vez.\r\n // quando clica no campo, o campo volta a ficar com a linha vermelha\r\n this.tdBpInstanceId = selectedOverrideType === this.eOverrideType.byInstance && isBpList;\r\n\r\n if (this.tdBpInstanceId) {\r\n this.addOrRemoveValidators('businessProcessInstanceId',\r\n [CustomValidator.numeric, Validators.maxLength(50)]);\r\n } else {\r\n this.addOrRemoveValidators('businessProcessInstanceId');\r\n }\r\n }\r\n\r\n requiredStateTo(isSelectedBp) {\r\n this.tdStateTo = isSelectedBp;\r\n if (this.tdStateTo) {\r\n this.addOrRemoveValidators('stateTo', Validators.required);\r\n } else {\r\n this.addOrRemoveValidators('stateTo');\r\n }\r\n }\r\n\r\n requiredCommomFields(selectedOverrideType, isSelectedBp) {\r\n this.tdCommomRules = selectedOverrideType !== this.eOverrideType.byInstance && isSelectedBp;\r\n\r\n if (this.tdCommomRules) {\r\n this.addOrRemoveValidators('stateFrom', Validators.required);\r\n this.addOrRemoveValidators('stateLifeCycle', Validators.required);\r\n } else {\r\n this.addOrRemoveValidators('stateFrom');\r\n this.addOrRemoveValidators('stateLifeCycle');\r\n }\r\n }\r\n\r\n addOrRemoveValidators(formControlName, newValidator: ValidatorFn | ValidatorFn[] | null = null) {\r\n if (newValidator === null) {\r\n this.overrideForm.get(formControlName).clearValidators();\r\n } else {\r\n this.overrideForm.get(formControlName).setValidators(newValidator);\r\n }\r\n this.overrideForm.get(formControlName).updateValueAndValidity();\r\n }\r\n\r\n getPaginationConfig() {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n this.config = {\r\n id: 'custom',\r\n itemsPerPage: item,\r\n currentPage: 1\r\n };\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n}\r\n","export default \".tab-pane.active {\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.tabScroll {\\r\\n /* min-height: 20rem; */\\r\\n max-height: 28rem;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n font-size: 95% !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9hZG1pbmlzdHJhdGlvbi9idXNpbmVzcy1wcm9jZXNzLXF1ZXVlLW1hbmFnZXIvYnVzaW5lc3MtcHJvY2Vzcy1xdWV1ZS1tYW5hZ2VyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYWRtaW5pc3RyYXRpb24vYnVzaW5lc3MtcHJvY2Vzcy1xdWV1ZS1tYW5hZ2VyL2J1c2luZXNzLXByb2Nlc3MtcXVldWUtbWFuYWdlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRhYi1wYW5lLmFjdGl2ZSB7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlcjogI2Q4ZDhkOCBzb2xpZCAxcHg7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxufVxyXG5cclxuLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50YWJTY3JvbGwge1xyXG4gIC8qIG1pbi1oZWlnaHQ6IDIwcmVtOyAqL1xyXG4gIG1heC1oZWlnaHQ6IDI4cmVtO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbnRkLCB0aCB7XHJcbiAgZm9udC1zaXplOiA5NSUgIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {StateLifeCycle} from '../../../../Models/enum/stateLifeCycle';\r\nimport {BpAdministrationService} from '../../../../services/bp-administration.service';\r\nimport {DateTimeService} from '../../../../services/date-time.service';\r\nimport {PaginationInstance} from 'ngx-pagination';\r\nimport {tap} from 'rxjs/operators';\r\nimport {WebClientConfigurationService} from '../../../../services/configuration/web-client-configuration.service';\r\nimport {AdminService} from '../../../../services/admin.service';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\nimport {QueueActionModalComponent} from './queue-action-modal/queue-action-modal.component';\r\nimport {HumanInteractionService} from '../../../../services/human-interaction.service';\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\nimport {QueueShiftModalComponent} from './queue-shift-modal/queue-shift-modal.component';\r\n\r\n@Component({\r\n selector: 'app-business-process-queue-manager',\r\n templateUrl: './business-process-queue-manager.component.html',\r\n styleUrls: ['./business-process-queue-manager.component.css']\r\n})\r\nexport class BusinessProcessQueueManagerComponent implements OnInit {\r\n\r\n @ViewChild('bpQueueManagerTabs', { static: false }) bpQueueManagerTabs: TabsetComponent;\r\n loadingList = false;\r\n loadingCustomList = false;\r\n customSearch = false;\r\n pageIndex = 1;\r\n p = 1;\r\n pageConfig;\r\n filterQueue;\r\n bpQueueManagerList = [];\r\n customQueueConfigList = [];\r\n resultSearchCustomQueueConfig = [];\r\n\r\n config: PaginationInstance;\r\n disableRegularAllocationBtn;\r\n disableCustomAllocationBtn;\r\n hasExecuteRight = false;\r\n hasGlobalReader = false;\r\n executedRight = false;\r\n executedGlobalReader = false;\r\n isOnInit = true;\r\n rights = { executeRight: 32, globalReader: 2048 };\r\n menuItem = 31;\r\n isMenuEnabled = false;\r\n lastCustomFilter;\r\n customErrorMessage = '';\r\n errorMessage = '';\r\n\r\n pleaseWait = false;\r\n\r\n constructor(private bpAdmin: BpAdministrationService, private dateTimeService: DateTimeService, private modalService: GenericModalService,\r\n private webClientConfig: WebClientConfigurationService, private bpService: BusinessProcessService,\r\n private humanInteractionService: HumanInteractionService, private adminService: AdminService) { }\r\n\r\n ngOnInit() {\r\n this.getRights();\r\n this.getPageConfig();\r\n this.getCustomQueueConfig();\r\n this.disableRegularAllocationBtn = true;\r\n this.disableCustomAllocationBtn = true;\r\n this.search(this.getDefaultFilter());\r\n }\r\n\r\n search(event) {\r\n this.loadingList = true;\r\n this.getPagedQueueManager(this.pageIndex, event);\r\n }\r\n\r\n getRights() {\r\n this.checkRights(this.rights.executeRight);\r\n this.checkRights(this.rights.globalReader);\r\n\r\n // se caso alterar a ordem de execução, deve-se alterar o this.isOnInit = false dentro deste método para o último método executado\r\n this.checkItemRight();\r\n }\r\n\r\n checkRights(right) {\r\n this.errorMessage = '';\r\n this.bpService.checkRights(right)\r\n .subscribe(hasRight => {\r\n switch (right) {\r\n case this.rights.executeRight:\r\n this.hasExecuteRight = hasRight.length > 0;\r\n this.executedRight = true;\r\n break;\r\n case this.rights.globalReader:\r\n this.hasGlobalReader = hasRight.length > 0;\r\n this.executedGlobalReader = true;\r\n break;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n checkItemRight() {\r\n this.errorMessage = '';\r\n this.adminService.checkItemsRight(this.menuItem).subscribe(hasRight => {\r\n this.isMenuEnabled = hasRight;\r\n\r\n if (this.executedRight && this.executedGlobalReader) {\r\n this.isOnInit = false;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n getDefaultFilter() {\r\n return {\r\n businessProcessId: null,\r\n columns: [],\r\n columnsComparisonType: 1,\r\n finalDate: null,\r\n initialDate: null,\r\n lockedInstances: false,\r\n pageIndex: this.pageIndex,\r\n stateId: null,\r\n userLogon: null\r\n }\r\n }\r\n\r\n getPleaseWaitRet(pleaseWait) {\r\n this.pleaseWait = pleaseWait;\r\n }\r\n\r\n getPagedQueueManager(page: number, filter = null, isCustom = false) {\r\n\r\n if (filter == null) {\r\n if (!isCustom) {\r\n filter = this.getDefaultFilter();\r\n } else {\r\n filter = this.lastCustomFilter;\r\n }\r\n }\r\n filter.pageIndex = this.pageIndex = page;\r\n\r\n if (!isCustom) {\r\n this.loadingList = true;\r\n if (filter == null) {\r\n filter = this.getDefaultFilter();\r\n }\r\n\r\n filter.stateLifeCycles = [ StateLifeCycle.lockedForHumanInteraction, StateLifeCycle.waitingForHumanInteraction, StateLifeCycle.interacting ];\r\n if (filter.lockedInstances && filter.userLogon == null) {\r\n filter.stateLifeCycles = [ StateLifeCycle.lockedForHumanInteraction ];\r\n }\r\n\r\n this.filterQueue = filter;\r\n\r\n this.bpQueueManagerList = [];\r\n\r\n this.errorMessage = '';\r\n this.bpAdmin.searchQueueManager(filter)\r\n .pipe(tap( res => {\r\n this.getPaginationConfig(page, res['total']);\r\n })\r\n )\r\n .subscribe(result => {\r\n this.bpQueueManagerList = result['interactionQueueItems'];\r\n this.getRegularUserAllocation();\r\n this.loadingList = false;\r\n }, error1 => this.errorMessage = error1);\r\n } else {\r\n this.loadingCustomList = true;\r\n this.customSearch = true;\r\n filter.pageSize = this.pageConfig.pageSize;\r\n\r\n this.resultSearchCustomQueueConfig = [];\r\n this.humanInteractionService.getPagedInteractionQueueItems(filter).pipe(tap( res => {\r\n this.getPaginationConfig(page, res['total']);\r\n })\r\n ).subscribe(result => {\r\n this.resultSearchCustomQueueConfig = this.getCustomQueueResultRows(result['interactionQueueItems']);\r\n this.loadingCustomList = false;\r\n }, error1 => this.errorMessage = error1);\r\n this.lastCustomFilter = filter;\r\n }\r\n\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n getPageConfig() {\r\n this.errorMessage = '';\r\n this.webClientConfig.getPageConfig()\r\n .subscribe(pageConfig => {\r\n this.pageConfig = pageConfig;\r\n },\r\n error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getTimeInQueue(date) {\r\n let dateNow = new Date();\r\n return DateTimeService.dateDiff(dateNow, date);\r\n }\r\n\r\n getRegularUserAllocation() {\r\n let currentUsers: { userLogon: string, userDetails: any}[] = [];\r\n for (let i = 0; i < this.bpQueueManagerList.length; i++) {\r\n let item = this.bpQueueManagerList[i];\r\n if (item.stateLifeCycle == StateLifeCycle.lockedForHumanInteraction ||\r\n item.stateLifeCycle == StateLifeCycle.interacting) {\r\n\r\n let user = currentUsers.find(f => f.userLogon == item.modifiedBy);\r\n if (user == undefined) {\r\n this.getUserByLogon(item.modifiedBy, currentUsers, i);\r\n } else {\r\n this.bpQueueManagerList[i].labelUserName = user[0].logon;\r\n this.bpQueueManagerList[i].tooltipUserName = `${user[0].firstName} ${user[0].lastName}`;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getUserByLogon(user, currentUsers, index) {\r\n this.errorMessage = '';\r\n this.adminService.getUserByLogonName(user).subscribe(result => {\r\n currentUsers.push(user, result);\r\n this.bpQueueManagerList[index].labelUserName = result['logon'];\r\n this.bpQueueManagerList[index].tooltipUserName = `${result['firstName']} ${result['lastName']}`;\r\n }, error1 => this.errorMessage = error1 );\r\n }\r\n\r\n getCustomQueueConfig() {\r\n this.errorMessage = '';\r\n this.humanInteractionService.getCustomInteractionQueueConfig().subscribe(result => {\r\n this.customQueueConfigList = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n getCustomQueueResultRows(rows) {\r\n rows.forEach(f => {\r\n let customInteractionQueueName = '';\r\n\r\n if (this.customQueueConfigList && this.customQueueConfigList.length > 0) {\r\n customInteractionQueueName = this.customQueueConfigList\r\n .filter(custom => custom.id === f.customInteractionQueueConfigId).map(m => m.name)[0];\r\n } else {\r\n throw new Error('Não existe fila nomeada cadastrada!');\r\n }\r\n\r\n const date1 = new Date(this.dateTimeService.toLocalISOStringDateTime(f.stateModifyDate, false));\r\n const date2 = new Date();\r\n\r\n let diff = date2.getTime() - date1.getTime();\r\n\r\n const days = Math.floor(diff / (1000 * 60 * 60 * 24));\r\n diff -= days * (1000 * 60 * 60 * 24);\r\n\r\n const hours = Math.floor(diff / (1000 * 60 * 60));\r\n diff -= hours * (1000 * 60 * 60);\r\n\r\n const mins = Math.floor(diff / (1000 * 60));\r\n diff -= mins * (1000 * 60);\r\n\r\n const seconds = Math.floor(diff / (1000));\r\n diff -= seconds * (1000);\r\n\r\n const sla = days + ' dia(s), ' + hours + ' hora(s), ' + mins + ' min, ' + seconds + ' seg';\r\n\r\n let lockedTo = '';\r\n if (f.stateLifeCycle == 8 || f.stateLifeCycle == 11) {\r\n lockedTo = f.modifiedBy;\r\n }\r\n\r\n f.creationDate = this.dateTimeService.toLocalStringDateTime(f.creationDate, false);\r\n f.stateModifyDate = this.dateTimeService.toLocalStringDateTime(f.stateModifyDate, false);\r\n f.customInteractionQueueName = customInteractionQueueName;\r\n f.lockedTo = lockedTo;\r\n f.sla = sla;\r\n });\r\n\r\n return rows;\r\n }\r\n\r\n selectAll(element, className = 'checkbox-selection', isCustom = false) {\r\n const selectAllChecked = element.target.checked;\r\n if (!isCustom) {\r\n this.disableRegularAllocationBtn = !selectAllChecked;\r\n } else {\r\n this.disableCustomAllocationBtn = !selectAllChecked;\r\n }\r\n\r\n const aCheckBox = document.getElementsByClassName(className);\r\n for (let i = 0; i < aCheckBox.length; i++) {\r\n const item = document.getElementById(aCheckBox[i].id);\r\n item.checked = selectAllChecked;\r\n }\r\n }\r\n\r\n chkActions(className = 'checkbox-selection', isCustom = false) {\r\n const aCheckBox = document.getElementsByClassName(className);\r\n this.disableBtnQueueAction(aCheckBox, isCustom);\r\n this.checkSelectAll(aCheckBox, isCustom);\r\n }\r\n\r\n checkSelectAll(chkList, isCustom) {\r\n let total = chkList.length;\r\n let totalChecked = this.getTotalChecked(chkList);\r\n let resultChecked = total - totalChecked.length;\r\n\r\n const chkSelectAll = document.getElementById(`checkbox-selectAll${isCustom?'-custom':''}`);\r\n chkSelectAll.checked = resultChecked == 0;\r\n }\r\n\r\n getTotalChecked(chkList) {\r\n return Array.prototype.slice.call(chkList).filter(f => f.checked);\r\n }\r\n\r\n disableBtnQueueAction(aCheckBox, isCustom) {\r\n let totalChecked = this.getTotalChecked(aCheckBox);\r\n if (!isCustom) {\r\n this.disableRegularAllocationBtn = totalChecked.length == 0;\r\n } else {\r\n this.disableCustomAllocationBtn = totalChecked.length == 0;\r\n }\r\n }\r\n\r\n openQueueActionModal(className = 'checkbox-selection', isCustom = false) {\r\n let canOpenModal = true;\r\n const aCheckBox = document.getElementsByClassName(className);\r\n const totalChecked = this.getTotalChecked(aCheckBox);\r\n let params: any = {\r\n isCustom: isCustom,\r\n checkedInstances: totalChecked.map(m => parseFloat(m.value)),\r\n checkedInstancesStatesId: (totalChecked.map(m => m.dataset))\r\n .map(mm => mm.stateId).filter((value, index, self) => self.indexOf(value) === index)\r\n };\r\n\r\n if (isCustom) {\r\n this.customErrorMessage = '';\r\n params.customQueues = (totalChecked.map(m => m.dataset))\r\n .map(mm => mm.customQueueId).filter((value, index, self) => self.indexOf(value) === index);\r\n const selectedInstances = this.resultSearchCustomQueueConfig.filter(f => params.checkedInstances.indexOf(f.businessProcessInstanceId) != -1);\r\n\r\n canOpenModal = this.validateCustomCheckedInstances(params.checkedInstances);\r\n }\r\n\r\n if (canOpenModal) {\r\n const destComponent: any = QueueActionModalComponent;\r\n const result$ = this.modalService.showObjModal(destComponent, 'Definir alocação', params, 'modal-md');\r\n result$.asObservable()\r\n .subscribe(\r\n result => {\r\n if (result) {\r\n if (!isCustom) {\r\n this.getPagedQueueManager(this.pageIndex, this.filterQueue, false);\r\n } else {\r\n this.customAfterClosingModal();\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n openQueueShiftModal() {\r\n\r\n const aCheckBox = document.getElementsByClassName('checkbox-selection-custom');\r\n const totalChecked = this.getTotalChecked(aCheckBox);\r\n let params: any = {\r\n checkedInstances: totalChecked.map(m => parseFloat(m.value)),\r\n interactionQueuesToShift: []\r\n };\r\n const selectedInstances = this.getSelectedInstances(params.checkedInstances);\r\n let businessProcessId = selectedInstances[0].businessProcessId;\r\n let stateId = selectedInstances[0].stateId;\r\n\r\n params.interactionQueuesToShift = this.customQueueConfigList\r\n .filter(f => (f.stateId == stateId && f.businessProcessId == businessProcessId) ||\r\n (f.stateId == 0 && f.businessProcessId == businessProcessId));\r\n let canOpenModal = this.validateCustomCheckedInstances(params.checkedInstances, true);\r\n\r\n if (canOpenModal) {\r\n const destComponent: any = QueueShiftModalComponent;\r\n const result$ = this.modalService.showObjModal(destComponent, 'Definir fila', params, 'modal-md');\r\n result$.asObservable()\r\n .subscribe(\r\n result => {\r\n if (result) {\r\n this.customAfterClosingModal();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n validateCustomCheckedInstances(checkedInstances, isShift = false) {\r\n const selectedInstances = this.getSelectedInstances(checkedInstances);\r\n\r\n //validar se todas as instâncias selecionadas estão no mesmo estado do mesmo PN\r\n let equalInstances = selectedInstances\r\n .filter(f => f.businessProcessId == selectedInstances[0].businessProcessId &&\r\n f.stateId == selectedInstances[0].stateId);\r\n\r\n if (isShift && equalInstances) {\r\n equalInstances = equalInstances.filter(f => f.stateLifeCycle == 7);\r\n }\r\n\r\n if (!equalInstances || equalInstances.length != checkedInstances.length) {\r\n let phrase = 'para fazer a definição de alocação em lote';\r\n if (isShift) {\r\n phrase = 'e aguardando interação humana para fazer a transferência de fila em lote';\r\n }\r\n this.customErrorMessage = `As instâncias precisam estar no mesmo estado do processo de negócio ${phrase}`;\r\n setTimeout(() => {\r\n this.customErrorMessage = '';\r\n }, 7000);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n getSelectedInstances(checkedInstances) {\r\n return this.resultSearchCustomQueueConfig.filter(f => checkedInstances.indexOf(f.businessProcessInstanceId) != -1);\r\n }\r\n\r\n customAfterClosingModal() {\r\n this.disableCustomAllocationBtn = true;\r\n this.getPagedQueueManager(this.pageIndex, null, true);\r\n }\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9hZG1pbmlzdHJhdGlvbi9idXNpbmVzcy1wcm9jZXNzLXF1ZXVlLW1hbmFnZXIvcXVldWUtYWN0aW9uLW1vZGFsL3F1ZXVlLWFjdGlvbi1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsOEJBQThCO0VBQzlCLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYWRtaW5pc3RyYXRpb24vYnVzaW5lc3MtcHJvY2Vzcy1xdWV1ZS1tYW5hZ2VyL3F1ZXVlLWFjdGlvbi1tb2RhbC9xdWV1ZS1hY3Rpb24tbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImxhYmVsIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {AccessControlService} from '../../../../../services/access-control.service';\r\nimport {BpAdministrationService} from '../../../../../services/bp-administration.service';\r\n\r\n@Component({\r\n selector: 'app-queue-action-modal',\r\n templateUrl: './queue-action-modal.component.html',\r\n styleUrls: ['./queue-action-modal.component.css']\r\n})\r\nexport class QueueActionModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objInitialState;\r\n\r\n queueActionForm: FormGroup;\r\n\r\n messageError;\r\n messageSuccess;\r\n submitClick = false;\r\n loadingList = false;\r\n\r\n availableUsers;\r\n selectedInstances: number[];\r\n selectedStateIds: number[];\r\n hasUsers;\r\n isCustom = false;\r\n\r\n itemSaved: Subject = new Subject();\r\n\r\n get formData() {\r\n return this.queueActionForm.controls;\r\n }\r\n constructor(private formBuilder: FormBuilder, public bsModalRef: BsModalRef, private accessControlService: AccessControlService,\r\n private bpAdminService: BpAdministrationService) { }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n if (this.objInitialState){\r\n this.isCustom = this.objInitialState.isCustom;\r\n this.selectedInstances = this.objInitialState.checkedInstances;\r\n this.selectedStateIds = this.objInitialState.checkedInstancesStatesId;\r\n let customQueues = null;\r\n if (this.objInitialState.customQueues) {\r\n customQueues = this.objInitialState.customQueues;\r\n }\r\n this.loadUsers(this.objInitialState.checkedInstancesStatesId, customQueues);\r\n }\r\n }\r\n\r\n createForm() {\r\n this.queueActionForm = this.formBuilder.group({\r\n action: 'unlock',\r\n removeDrafts: false,\r\n userId: null\r\n })\r\n }\r\n\r\n loadUsers(statesId, customQueues = null) {\r\n this.messageError = '';\r\n const permissionName = 'Interagir';\r\n this.loadingList = true;\r\n if (!this.isCustom) {\r\n this.accessControlService.getUsersWithEffectivePermissionOnState(statesId, permissionName).subscribe(result => {\r\n this.setUsersResult(result);\r\n }, error1 => {\r\n this.messageError = this.getMessageError(error1);\r\n this.loadingList = false;\r\n })\r\n } else {\r\n this.accessControlService.getUsersPermissionOnStateAndCustomQueues(statesId, permissionName, customQueues).subscribe(result => {\r\n this.setUsersResult(result);\r\n }, error1 => {\r\n this.messageError = this.getMessageError(error1);\r\n this.loadingList = false;\r\n });\r\n }\r\n }\r\n\r\n setUsersResult(result) {\r\n this.loadingList = false;\r\n this.availableUsers = result;\r\n this.hasUsers = result.length > 0;\r\n }\r\n\r\n getMessageError(error) {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n return err;\r\n }\r\n\r\n onSave() {\r\n this.messageError = '';\r\n this.messageSuccess = '';\r\n this.submitClick = true;\r\n\r\n const values = this.queueActionForm.getRawValue();\r\n values.instanceIds = this.selectedInstances;\r\n let params: any = {\r\n instanceIds: this.selectedInstances,\r\n removeDrafts: this.isCustom ? !values.removeDrafts : values.removeDrafts\r\n };\r\n\r\n if (values.action == 'lock') {\r\n params.userId = values.userId;\r\n\r\n this.bpAdminService.transferBusinessProcessInstanceLocks(params).subscribe(result => {\r\n this.messageSuccess = 'Instância(s) alocada(s) para o usuário selecionado.';\r\n this.submitClick = false;\r\n setTimeout(() => {\r\n this.messageSuccess = '';\r\n this.itemSaved.next(true);\r\n this.bsModalRef.hide();\r\n }, 1500);\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.messageError = err;\r\n setTimeout(() => {\r\n this.messageError = '';\r\n }, 1500);\r\n });\r\n } else {\r\n this.bpAdminService.unlockBusinessProcessInstances(params).subscribe(result => {\r\n this.messageSuccess = 'Instância(s) desalocada(s) com sucesso.';\r\n this.submitClick = false;\r\n setTimeout(() => {\r\n this.messageSuccess = '';\r\n this.itemSaved.next(true);\r\n this.bsModalRef.hide();\r\n }, 1500);\r\n }, error1 => this.messageError = error1);\r\n }\r\n\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onActionChange() {\r\n if (this.formData.action.value == 'lock') {\r\n this.queueActionForm.get('userId').setValidators([ Validators.required ]);\r\n } else {\r\n this.queueActionForm.get('userId').clearValidators();\r\n this.queueActionForm.get('userId').setValue(null);\r\n }\r\n this.queueActionForm.updateValueAndValidity();\r\n }\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button {\\r\\n position: relative;\\r\\n right: 36px;\\r\\n top: 4px;\\r\\n padding: 3px;\\r\\n width: 31px;\\r\\n border-radius: 100px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button:hover {\\r\\n cursor: pointer;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n\\r\\n.highlight-number {\\r\\n padding: 0 9px;\\r\\n background: #ededed;\\r\\n margin: 0 3px;\\r\\n}\\r\\n\\r\\n\\r\\n.addButtonCol{\\r\\n /*display: flex;*/\\r\\n display: block;\\r\\n align-items: center;\\r\\n margin-top: 27px;\\r\\n}\\r\\n\\r\\n\\r\\n.badge-remove{\\r\\n margin-left: 5px;\\r\\n font-size: xx-small;\\r\\n margin-bottom: 5px;\\r\\n cursor: pointer;\\r\\n color: #add7f5\\r\\n}\\r\\n\\r\\n\\r\\n.badge-container{\\r\\n max-height: 60px;\\r\\n overflow: auto;\\r\\n display: inline-flex;\\r\\n border: 1px solid #e7e7e7;\\r\\n padding: 5px;\\r\\n margin: 5px 5px 12px;\\r\\n}\\r\\n\\r\\n\\r\\n.input-group-text{\\r\\n border-radius: 0 0.25rem 0.25rem 0;\\r\\n border-left: 0px;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n\\r\\n.datepicker{\\r\\n border-right: 0px\\r\\n}\\r\\n\\r\\n\\r\\n.clear{\\r\\n border-right: 0px;\\r\\n border-radius: 0;\\r\\n font-size: x-small;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9hZG1pbmlzdHJhdGlvbi9idXNpbmVzcy1wcm9jZXNzLXF1ZXVlLW1hbmFnZXIvcXVldWUtbWFuYWdlci1maWx0ZXIvcXVldWUtbWFuYWdlci1maWx0ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtFQUM5QixnQkFBZ0I7QUFDbEI7OztBQUdBO0VBQ0UsZ0VBQWdFO0FBQ2xFOzs7QUFHQTtFQUNFLDJCQUEyQjtBQUM3Qjs7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7OztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxRQUFRO0VBQ1IsWUFBWTtFQUNaLFdBQVc7RUFDWCxvQkFBb0I7RUFDcEIsa0JBQWtCO0FBQ3BCOzs7QUFFQTtFQUNFLGVBQWU7RUFDZix5QkFBeUI7QUFDM0I7OztBQUVBO0VBQ0UsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7OztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZ0JBQWdCO0FBQ2xCOzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZjtBQUNGOzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osb0JBQW9CO0FBQ3RCOzs7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxnQkFBZ0I7RUFDaEIsdUJBQXVCO0FBQ3pCOzs7QUFFQTtFQUNFO0FBQ0Y7OztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYWRtaW5pc3RyYXRpb24vYnVzaW5lc3MtcHJvY2Vzcy1xdWV1ZS1tYW5hZ2VyL3F1ZXVlLW1hbmFnZXItZmlsdGVyL3F1ZXVlLW1hbmFnZXItZmlsdGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJsYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0gKyAxNXB4KSBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4uY2FyZC10aXRsZXtcclxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY2xlYXItYnV0dG9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcmlnaHQ6IDM2cHg7XHJcbiAgdG9wOiA0cHg7XHJcbiAgcGFkZGluZzogM3B4O1xyXG4gIHdpZHRoOiAzMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmNsZWFyLWJ1dHRvbjpob3ZlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuXHJcbi5oaWdobGlnaHQtbnVtYmVyIHtcclxuICBwYWRkaW5nOiAwIDlweDtcclxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xyXG4gIG1hcmdpbjogMCAzcHg7XHJcbn1cclxuXHJcbi5hZGRCdXR0b25Db2x7XHJcbiAgLypkaXNwbGF5OiBmbGV4OyovXHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAyN3B4O1xyXG59XHJcblxyXG4uYmFkZ2UtcmVtb3Zle1xyXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgZm9udC1zaXplOiB4eC1zbWFsbDtcclxuICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAjYWRkN2Y1XHJcbn1cclxuXHJcbi5iYWRnZS1jb250YWluZXJ7XHJcbiAgbWF4LWhlaWdodDogNjBweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICBtYXJnaW46IDVweCA1cHggMTJweDtcclxufVxyXG5cclxuLmlucHV0LWdyb3VwLXRleHR7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDtcclxuICBib3JkZXItbGVmdDogMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlcntcclxuICBib3JkZXItcmlnaHQ6IDBweFxyXG59XHJcblxyXG4uY2xlYXJ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBmb250LXNpemU6IHgtc21hbGw7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiJdfQ== */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FormBuilder, FormGroup} from '@angular/forms';\r\nimport {BpAdministrationService} from '../../../../../services/bp-administration.service';\r\nimport {AdminService} from '../../../../../services/admin.service';\r\nimport {HumanInteractionService} from '../../../../../services/human-interaction.service';\r\nimport {DateTimeService} from '../../../../../services/date-time.service';\r\nimport {BusinessProcessService} from '../../../../../services/business-process.service';\r\nimport {AccessControlService} from '../../../../../services/access-control.service';\r\nimport {CustomValidator} from '../../../../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-queue-manager-filter',\r\n templateUrl: './queue-manager-filter.component.html',\r\n styleUrls: ['./queue-manager-filter.component.css']\r\n})\r\nexport class QueueManagerFilterComponent implements OnInit {\r\n\r\n @Input() isCustom = false;\r\n @Output() filtered: EventEmitter = new EventEmitter();\r\n @Output() filteredCustom: EventEmitter = new EventEmitter();\r\n @Output() retPleaseWait: EventEmitter = new EventEmitter();\r\n\r\n pleaseWait = false;\r\n filterForm: FormGroup;\r\n availableBp;\r\n availableState = [];\r\n availableUsers;\r\n availableCustomQueueConfig;\r\n\r\n\r\n columnList: any[];\r\n columnInfo;\r\n columnValue;\r\n locale = 'pt-br';\r\n enableFieldsCol = true;\r\n enableFieldsValue = false;\r\n enableAddButtonCol = false;\r\n hasOnlySpaces = false;\r\n searchForLimit = 5;\r\n allowedColumnOnCustomQueue = true;\r\n customQueueColumnsError = '';\r\n\r\n errorMessage = '';\r\n successMessage = '';\r\n\r\n allocatedOptions = [\r\n { label: 'Todas', value: '?' },\r\n { label: 'Somente propostas alocadas', value: '0' },\r\n { label: 'Somente propostas desalocadas', value: '1' }\r\n ];\r\n\r\n get formData() { return this.filterForm.controls; }\r\n\r\n constructor(private formBuilder: FormBuilder, private bpAdm: BpAdministrationService, private admService: AdminService, private accessControlService: AccessControlService,\r\n private humanInteractionService: HumanInteractionService, private dateTimeService: DateTimeService, private bpService: BusinessProcessService) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.retPleaseWait.next(true);\r\n this.createForm();\r\n this.loadUsers();\r\n\r\n this.loadBpList();\r\n if (this.isCustom) {\r\n this.loadCustomQueueConfig();\r\n } else {\r\n this.getQueue();\r\n }\r\n }\r\n\r\n createForm() {\r\n this.filterForm = this.formBuilder.group({\r\n businessProcessId: null,\r\n stateId: [{ value: null, disabled: true }],\r\n userLogon: null,\r\n lockedInstances: false,\r\n columnsComparisonType: 1,\r\n columns: [[]],\r\n initialDate: [null],\r\n finalDate: [null],\r\n customInteractionQueueConfigId: [{ value: null, disabled: true }],\r\n isAllocated: '?'\r\n });\r\n this.filterForm.setValidators(CustomValidator.validateDatetime('initialDate', 'finalDate'));\r\n if (this.isCustom) {\r\n this.filterForm.get('userLogon').disable();\r\n }\r\n }\r\n\r\n loadBpList() {\r\n if (this.isCustom) {\r\n this.bpService.getAllBusinessProcessesPublished().subscribe(result => {\r\n this.availableBp = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n } else {\r\n this.bpAdm.getBusinessProcessesForManaging().subscribe(result => {\r\n this.availableBp = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n }\r\n\r\n loadStates(businessProcessId) {\r\n if (!this.isCustom) {\r\n this.bpAdm.getStatesForManaging(businessProcessId).subscribe(result => {\r\n this.availableState = result;\r\n this.setDisableConfig(result.length > 0, 'stateId');\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n } else {\r\n this.bpService.getStatesByBusinessProcessId(businessProcessId).subscribe(result => {\r\n this.availableState = result;\r\n this.setDisableConfig(result.length > 0, 'stateId');\r\n if (result.length > 0) {\r\n this.loadCustomUsers();\r\n }\r\n\r\n const selectedState = result.filter(f => f.stateId == this.formData.stateId.value);\r\n if (selectedState && selectedState.length == 0) {\r\n this.formData.stateId.setValue(null);\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n setDisableConfig(enable: boolean, formControlName: string) {\r\n if (enable) {\r\n this.filterForm.get(formControlName).enable();\r\n } else {\r\n this.filterForm.get(formControlName).disable();\r\n }\r\n }\r\n\r\n loadUsers() {\r\n if (!this.isCustom) {\r\n this.admService.loadDropdownContent('api/admin/loadAllUsersDropDown').subscribe(result => {\r\n this.availableUsers = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n }\r\n\r\n loadCustomUsers() {\r\n const states = this.availableState.map(m => m.stateId);\r\n this.accessControlService.getUsersWithEffectivePermissionOnAnyState(states, 'Interagir').subscribe(result => {\r\n this.availableUsers = result.map(m => ({ id: m.userId, name: m.logon, enabled: m.enabled }));\r\n if (result.length > 0) {\r\n this.filterForm.get('userLogon').enable();\r\n } else {\r\n this.filterForm.get('userLogon').disable();\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadCustomQueueConfig(businessProcessId = null, stateId = null) {\r\n if (!this.formData.customInteractionQueueConfigId.value) {\r\n this.columnInfo = null;\r\n this.columnValue = null;\r\n this.filterForm.controls['columns'].setValue([]);\r\n this.customQueueColumnsError = '';\r\n }\r\n const formControlName = 'customInteractionQueueConfigId';\r\n this.availableCustomQueueConfig = [];\r\n // this.formData.customInteractionQueueConfigId.setValue(null);\r\n this.setDisableConfig(false, formControlName);\r\n\r\n this.humanInteractionService.getCustomInteractionQueueConfig(businessProcessId, stateId).subscribe(result => {\r\n this.availableCustomQueueConfig = result;\r\n const selectedCustomQueue = result.filter(f => f.id == this.formData.customInteractionQueueConfigId.value);\r\n if (selectedCustomQueue && selectedCustomQueue.length == 0) {\r\n this.formData.customInteractionQueueConfigId.setValue(null);\r\n }\r\n this.setDisableConfig(result.length > 0, formControlName);\r\n this.pleaseWait = false;\r\n this.retPleaseWait.next(false);\r\n }, error1 => {\r\n });\r\n }\r\n\r\n getQueue() {\r\n this.errorMessage = '';\r\n if (!this.isCustom) {\r\n this.humanInteractionService.getInteractionQueue().subscribe( queue => {\r\n this.columnList = queue.columns.filter(f => f.systemField !== 5);\r\n this.pleaseWait = false;\r\n this.retPleaseWait.next(false);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n console.log(error1);\r\n });\r\n } else {\r\n if (this.availableCustomQueueConfig && this.availableCustomQueueConfig.length > 0) {\r\n let fieldColumnSelected = this.availableCustomQueueConfig.filter(f => f.id == this.formData.customInteractionQueueConfigId.value)[0];\r\n if (fieldColumnSelected) {\r\n this.columnList = fieldColumnSelected.fieldColumns.filter(f => f.systemField != 8 && f.systemField != 5);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n changeBP(element) {\r\n if (this.isCustom && element === undefined && this.formData.customInteractionQueueConfigId.value === null) {\r\n this.formData.userLogon.setValue(null);\r\n this.setDisableConfig(false, 'userLogon');\r\n }\r\n this.changeState(element);\r\n if (this.isCustom) {\r\n if (element !== undefined) {\r\n this.loadCustomQueueConfig(element.businessProcessId);\r\n } else {\r\n this.loadCustomQueueConfig();\r\n }\r\n }\r\n }\r\n\r\n changeState(element) {\r\n if (!this.isCustom) {\r\n this.availableState = [];\r\n this.formData.stateId.setValue(null);\r\n this.setDisableConfig(false, 'stateId');\r\n\r\n if (element !== undefined) {\r\n this.loadStates(element.businessProcessId);\r\n }\r\n } else {\r\n this.changeStateCustom();\r\n }\r\n }\r\n\r\n changeStateCustom() {\r\n const bpFilter = this.filterForm.get('businessProcessId').value;\r\n const customQueueFilter = this.filterForm.get('customInteractionQueueConfigId').value;\r\n\r\n let bpParam = 0;\r\n if (bpFilter != undefined || bpFilter != null) {\r\n bpParam = bpFilter;\r\n } else if (customQueueFilter != undefined || customQueueFilter != null) {\r\n let fieldColumnSelected = this.availableCustomQueueConfig.filter(f => f.id == customQueueFilter)[0];\r\n bpParam = fieldColumnSelected.businessProcessId;\r\n } else {\r\n this.formData.stateId.setValue(null);\r\n this.availableState = [];\r\n this.setDisableConfig(false, 'stateId');\r\n }\r\n\r\n if (bpParam !== 0) {\r\n this.loadStates(bpParam);\r\n }\r\n }\r\n\r\n changeRegularUser(element) {\r\n if (element !== undefined) {\r\n this.formData.lockedInstances.setValue(false);\r\n }\r\n }\r\n\r\n changeCustomQueue(element) {\r\n this.columnInfo = null;\r\n this.columnValue = null;\r\n this.filterForm.controls['columns'].setValue([]);\r\n this.customQueueColumnsError = '';\r\n if (element === undefined && this.formData.businessProcessId.value === null) {\r\n this.formData.userLogon.setValue(null);\r\n this.setDisableConfig(false, 'userLogon');\r\n }\r\n this.getQueue();\r\n this.changeStateCustom();\r\n }\r\n\r\n getElementId(desc) {\r\n if (this.isCustom) {\r\n desc += 'Custom';\r\n }\r\n return desc;\r\n }\r\n\r\n resetFilter() {\r\n this.availableState = [];\r\n this.columnInfo = null;\r\n this.columnValue = null;\r\n this.enableFieldsValue = false;\r\n this.enableAddButtonCol = false;\r\n this.setDisableConfig(false, 'stateId');\r\n if (this.isCustom) {\r\n this.customQueueColumnsError = '';\r\n this.formData.userLogon.setValue(null);\r\n this.setDisableConfig(false, 'userLogon');\r\n this.loadCustomQueueConfig();\r\n }\r\n this.createForm();\r\n }\r\n\r\n // search for columns\r\n clearValue(event) {\r\n this.columnValue = '';\r\n // habilitar o campo de valor se houver alguma coluna selecionada.\r\n this.enableFieldsValue = event !== undefined;\r\n if (!this.enableFieldsValue) {\r\n this.hasOnlySpaces = false;\r\n }\r\n if (event === undefined) {\r\n this.enableAddButtonCol = false;\r\n } else {\r\n if (this.isCustom) { this.checkOneValueToOneColumn(event.name); }\r\n }\r\n\r\n }\r\n\r\n removeColumnValue(item: any) {\r\n let array = this.filterForm.controls['columns'].value;\r\n array.splice(array.findIndex(v => v.value === item.value && v.id === item.id), 1);\r\n this.filterForm.controls['columns'].setValue(array);\r\n this.checkOneValueToOneColumn(this.columnInfo.name);\r\n }\r\n\r\n addColumnValue() {\r\n let array = this.filterForm.controls['columns'].value;\r\n if (this.isCustom) {\r\n array.push({\r\n id: this.columnInfo.columnOrder + 1,\r\n name: this.columnInfo.name,\r\n value: this.columnValue.toString().trim()\r\n });\r\n this.checkOneValueToOneColumn(array[array.length - 1].name);\r\n } else {\r\n array.push( {\r\n id: this.columnInfo.id,\r\n name: this.columnInfo.name,\r\n value: this.columnValue.toString().trim()\r\n });\r\n }\r\n this.filterForm.controls['columns'].setValue(array);\r\n this.columnValue = '';\r\n this.enableAddButtonCol = false;\r\n }\r\n\r\n validateRequiredColumnValue() {\r\n const qtd = this.filterForm.controls['columns'].value.length;\r\n return ((this.columnValue === '' || this.columnValue === undefined) && this.enableFieldsValue && !this.hasOnlySpaces)\r\n && ((qtd <= this.searchForLimit - 1 && !this.isCustom) || (this.isCustom && qtd < 1));\r\n }\r\n\r\n disableSubmitButtonCondition() {\r\n return (this.formData.initialDate.value && !this.formData.finalDate.value)\r\n || (!this.formData.initialDate.value && this.formData.finalDate.value)\r\n || !this.filterForm.valid\r\n || (this.enableFieldsValue && this.columnValue !== '' && this.columnValue !== null)\r\n || (this.isCustom && this.availableCustomQueueConfig && this.availableCustomQueueConfig.length == 0)\r\n || (this.isCustom && this.formData.businessProcessId.value == null && this.formData.customInteractionQueueConfigId.value == null)\r\n || this.pleaseWait;\r\n }\r\n\r\n enableAddButton(event) {\r\n if (event.target.value.length > 0) {\r\n this.hasOnlySpaces = event.target.value.toString().trim() === '';\r\n } else {\r\n this.hasOnlySpaces = false;\r\n }\r\n this.enableAddButtonCol = event.target.value.toString().trim() !== '';\r\n }\r\n\r\n validateAddButton() {\r\n const qtd = this.filterForm.controls['columns'].value.length;\r\n return !this.enableAddButtonCol || (!(qtd < this.searchForLimit) && !this.isCustom)\r\n || (this.isCustom && !this.allowedColumnOnCustomQueue);\r\n }\r\n\r\n checkOneValueToOneColumn(selectedColumnName: string) {\r\n this.customQueueColumnsError = '';\r\n this.allowedColumnOnCustomQueue = false;\r\n const namesOnArray = this.filterForm.controls['columns'].value.map( column => column.name);\r\n\r\n if (namesOnArray.length === 0) {\r\n this.allowedColumnOnCustomQueue = true;\r\n }\r\n\r\n if (namesOnArray.includes(selectedColumnName)) {\r\n this.customQueueColumnsError = 'Essa coluna já foi inserida';\r\n this.allowedColumnOnCustomQueue = false;\r\n } else {\r\n this.allowedColumnOnCustomQueue = true;\r\n }\r\n }\r\n // end - search for columns\r\n\r\n // period\r\n blockUserInput() {\r\n return false;\r\n }\r\n // end - period\r\n\r\n search() {\r\n const filter = this.filterForm.getRawValue();\r\n\r\n this.collapseFilterWhenSearching();\r\n\r\n if (!this.isCustom) {\r\n filter.initialDate = this.dateTimeService.toUTC(filter.initialDate);\r\n filter.finalDate = this.dateTimeService.toUTC(filter.finalDate);\r\n this.filtered.emit(filter);\r\n\r\n } else {\r\n delete filter.columnsComparisonType;\r\n delete filter.lockedInstances;\r\n filter.stateLifeCycles = filter.isAllocated == '0' ? [8, 11] : filter.isAllocated == '1' ? [7] : [8, 7, 11];\r\n delete filter.isAllocated;\r\n filter.orderDirection = 1;\r\n if (filter.customInteractionQueueConfigId != null) {\r\n filter.customInteractionQueueConfigId = [ filter.customInteractionQueueConfigId ];\r\n } else {\r\n filter.customInteractionQueueConfigId = this.availableCustomQueueConfig.map(m => m.id);\r\n }\r\n\r\n\r\n this.filteredCustom.emit(filter);\r\n }\r\n }\r\n\r\n collapseFilterWhenSearching() {\r\n // fechar o filtro\r\n const collapseFilter = document.getElementById(this.getElementId('collapseFilter'));\r\n collapseFilter.classList.add('fa-plus');\r\n collapseFilter.classList.remove('fa-minus');\r\n const bodyFilter = document.getElementById(this.getElementId('bodyFilter'));\r\n const footerFilter = document.getElementById(this.getElementId('footerFilter'));\r\n bodyFilter.style.display = footerFilter.style.display = 'none';\r\n }\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9hZG1pbmlzdHJhdGlvbi9idXNpbmVzcy1wcm9jZXNzLXF1ZXVlLW1hbmFnZXIvcXVldWUtc2hpZnQtbW9kYWwvcXVldWUtc2hpZnQtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtFQUM5QixnQkFBZ0I7QUFDbEIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL2FkbWluaXN0cmF0aW9uL2J1c2luZXNzLXByb2Nlc3MtcXVldWUtbWFuYWdlci9xdWV1ZS1zaGlmdC1tb2RhbC9xdWV1ZS1zaGlmdC1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbiJdfQ== */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {BpAdministrationService} from '../../../../../services/bp-administration.service';\r\n\r\n@Component({\r\n selector: 'app-queue-shift-modal',\r\n templateUrl: './queue-shift-modal.component.html',\r\n styleUrls: ['./queue-shift-modal.component.css']\r\n})\r\nexport class QueueShiftModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objInitialState;\r\n queueShiftForm: FormGroup;\r\n\r\n selectedInstances: number[];\r\n availableInteractionQueuesToShift: number[];\r\n\r\n messageError;\r\n messageSuccess;\r\n submitClick = false;\r\n\r\n itemSaved: Subject = new Subject();\r\n\r\n get formData() {\r\n return this.queueShiftForm.controls;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private bsModalRef: BsModalRef, private bpAdmService: BpAdministrationService) { }\r\n\r\n ngOnInit() {\r\n if (this.objInitialState) {\r\n this.selectedInstances = this.objInitialState.checkedInstances;\r\n this.availableInteractionQueuesToShift = this.objInitialState.interactionQueuesToShift;\r\n }\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.queueShiftForm = this.formBuilder.group({\r\n queueId: [null, Validators.required]\r\n });\r\n }\r\n\r\n onSave() {\r\n this.messageSuccess = '';\r\n this.messageError = '';\r\n let params: any = {\r\n instanceIds: this.selectedInstances,\r\n queueId: parseFloat(this.formData.queueId.value)\r\n };\r\n this.bpAdmService.shiftInstanceQueues(params).subscribe(result => {\r\n if (result.message !== '') {\r\n this.messageError = result.message;\r\n } else {\r\n this.messageSuccess = 'Instância(s) transferida(s) com sucesso.';\r\n }\r\n\r\n setTimeout(() => {\r\n this.messageSuccess = '';\r\n this.itemSaved.next(true);\r\n this.bsModalRef.hide();\r\n }, 4500);\r\n }, error1 => {\r\n this.messageError = this.getMessageError(error1);\r\n });\r\n }\r\n\r\n getMessageError(error) {\r\n let err = error;\r\n if (error.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n return err;\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","export default \".tab-pane.active {\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n.library-content {\\r\\n background: #f7f7f7;\\r\\n}\\r\\n\\r\\n.tabScroll {\\r\\n /* min-height: 20rem; */\\r\\n max-height: 28rem;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.cursor-pointer {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2J1c2luZXNzLXByb2Nlc3MtZGV0YWlsL2J1c2luZXNzLXByb2Nlc3MtZGV0YWlsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGVBQWU7QUFDakIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL2J1c2luZXNzLXByb2Nlc3MvYnVzaW5lc3MtcHJvY2Vzcy1kZXRhaWwvYnVzaW5lc3MtcHJvY2Vzcy1kZXRhaWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50YWItcGFuZS5hY3RpdmUge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXI6ICNkOGQ4ZDggc29saWQgMXB4O1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbn1cclxuXHJcbi5saWJyYXJ5LWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbn1cclxuXHJcbi50YWJTY3JvbGwge1xyXG4gIC8qIG1pbi1oZWlnaHQ6IDIwcmVtOyAqL1xyXG4gIG1heC1oZWlnaHQ6IDI4cmVtO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5jdXJzb3ItcG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { Utils } from '../../../../services/utils';\r\nimport { DesignElementType } from '../../../../Models/enum/designElementType';\r\nimport { ElementLock } from '../../../../Models/elementLock';\r\nimport { CustomValidator } from '../../../../services/custom-validator';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { FieldType } from '../../../../Models/enum/fieldType';\r\nimport { EnumTranslator } from '../../../../Models/enum/enumTranslator';\r\nimport { WfTableComponent } from '../../../../common/table-sort/wf-table.component';\r\nimport { FieldDetailComponent } from '../field-detail/field-detail.component';\r\nimport { GenericInputModalComponent } from '../../../../generic-modal/generic-input-modal/generic-input-modal.component';\r\nimport { LibraryItemDetailsComponent } from './library-item-details/library-item-details.component';\r\nimport { HumanInteractionTokenResult } from '../../../../Models/humanInteractionTokenResult';\r\nimport { FieldEditType } from '../../../../Models/enum/fieldEditType';\r\n\r\n@Component({\r\n selector: 'app-business-process-detail',\r\n templateUrl: './business-process-detail.component.html',\r\n styleUrls: ['./business-process-detail.component.css', '../../../../styles/business-process-configuration.css']\r\n})\r\nexport class BusinessProcessDetailComponent implements OnInit {\r\n\r\n @ViewChild('businessProcessTabs', { static: false }) businessProcessTabs: TabsetComponent;\r\n @ViewChild('libraryTabs', { static: false }) libraryTabs: TabsetComponent;\r\n businessProcessForm: FormGroup;\r\n errorMessage = '';\r\n errorMessageFlow = '';\r\n errorMessageLayout = '';\r\n errorMessageView = '';\r\n errorMessageValidation = '';\r\n successMessage = '';\r\n pleaseWait = false;\r\n inscription: Subscription;\r\n utilsFunction = Utils;\r\n filterFlowText: string;\r\n filterLayoutText: string;\r\n filterViewsText: string;\r\n elementLock: ElementLock = null;\r\n lockingUserLogon: string;\r\n isLockedToOtherUser = false;\r\n isLockedToMe = false;\r\n isNew: boolean;\r\n destComponent: any = GenericInputModalComponent;\r\n libraryDetailsComponent: any = LibraryItemDetailsComponent;\r\n bpId: number;\r\n bpInfo: any[];\r\n flowList = [];\r\n layoutList = [];\r\n viewList = [];\r\n businessProcessErrorList = [];\r\n unrelatedLibraryItems = [];\r\n tabIdToSelect: number;\r\n libraryTabIdToSelect: number;\r\n graph;\r\n errorMessageGraph: string;\r\n get formData() { return this.businessProcessForm.controls; }\r\n @ViewChild('dataTableStates', { static: false }) dataTableStates: WfTableComponent;\r\n @ViewChild('dataTableFlows', { static: false }) dataTableFlows: WfTableComponent;\r\n @ViewChild('dataTableLayouts', { static: false }) dataTableLayouts: WfTableComponent;\r\n @ViewChild('dataTableFields', { static: false }) dataTableFields: WfTableComponent;\r\n @ViewChild('dataTableViews', {static: false}) dataTableViews: WfTableComponent;\r\n @ViewChild('dataTableErrors', {static: false}) dataTableErrors: WfTableComponent;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private bpService: BusinessProcessService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isNew = this.router.url === '/newBusinessProcess';\r\n this.createForm();\r\n if (this.isNew) {\r\n this.isLockedToMe = true;\r\n this.bpInfo = [];\r\n } else {\r\n this.inscription = this.route.params.subscribe(params => {\r\n this.bpId = params['id'];\r\n this.tabIdToSelect = params['tabId'];\r\n if (!isNaN(parseFloat(this.bpId.toString()))) {\r\n this.pleaseWait = true;\r\n this.getBusinessProcessForManagementById();\r\n } else {\r\n this.errorMessage = 'O parâmetro informado não é válido.';\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectTab() {\r\n if (this.businessProcessTabs) {\r\n this.businessProcessTabs.tabs[this.tabIdToSelect > 0 ? this.tabIdToSelect : 0].active = true;\r\n }\r\n }\r\n\r\n selectLibraryTab() {\r\n if (this.libraryTabs) {\r\n this.libraryTabs.tabs[this.libraryTabIdToSelect > 0 ? this.libraryTabIdToSelect : 0].active = true;\r\n }\r\n }\r\n\r\n createForm() {\r\n this.businessProcessForm = this.formBuilder.group({\r\n businessProcessId: [ 0 ],\r\n name: [ '', [ Validators.required, Validators.maxLength(100) ]],\r\n description: [ '', Validators.maxLength(300)],\r\n statesExecutionTimeout: [ null, [Validators.max(2147482), Validators.min(1), CustomValidator.numericButNotRequired]],\r\n continuousExecutionMaxCount: null,\r\n doContinuousExecution: false,\r\n initiateQuickInstance: false,\r\n modifiedBy: localStorage.getItem('userLogon'),\r\n creationDate: new Date()\r\n });\r\n }\r\n\r\n getBusinessProcessForManagementById() {\r\n this.errorMessage = '';\r\n this.bpService.getBusinessProcessForManagementById(this.bpId).subscribe(result => {\r\n if (result) {\r\n this.bpInfo = result;\r\n this.getCurrentElementLock();\r\n this.loadBPData();\r\n this.loadFields();\r\n this.loadFlowLibrary();\r\n this.loadLayoutLibrary();\r\n this.loadViewLibrary();\r\n this.loadBusinessProcessValidationErrors();\r\n this.loadGraph();\r\n if (this.tabIdToSelect === 2 ) { this.onOpenLibrary(1, 4); }\r\n this.pleaseWait = false;\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessage = 'Processo de negócio não encontrado.';\r\n }\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadGraph() {\r\n this.errorMessageGraph = '';\r\n this.bpService.getGraph(this.bpId)\r\n .subscribe(result => {\r\n if (result) {\r\n this.graph = result.graph;\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessageGraph = 'Erro ao gerar o gráfico.';\r\n }\r\n }, error => {\r\n this.pleaseWait = false;\r\n this.errorMessageGraph = error;\r\n });\r\n }\r\n\r\n loadFlowLibrary() {\r\n this.errorMessageFlow = '';\r\n this.bpService.getLibraryItems(this.bpId, 1, 4)\r\n .subscribe(result => {\r\n if (result) {\r\n this.flowList = result['libraryItems'];\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessageFlow = 'Biblioteca não encontrada.';\r\n }\r\n this.selectTab();\r\n this.selectLibraryTab();\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessageFlow = error1;\r\n });\r\n }\r\n\r\n loadLayoutLibrary() {\r\n this.errorMessageLayout = '';\r\n this.bpService.getLibraryItems(this.bpId, 2, 5)\r\n .subscribe(result => {\r\n if (result) {\r\n this.layoutList = result['libraryItems'];\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessageLayout = 'Biblioteca não encontrada.';\r\n }\r\n this.selectTab();\r\n this.selectLibraryTab();\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessageLayout = error1;\r\n });\r\n }\r\n\r\n loadViewLibrary() {\r\n this.errorMessageView = '';\r\n this.bpService.getLibraryItems(this.bpId, 3, 6)\r\n .subscribe(result => {\r\n if (result) {\r\n this.viewList = result['libraryItems'];\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessageView = 'Biblioteca não encontrada.';\r\n }\r\n this.selectTab();\r\n this.selectLibraryTab();\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessageView = error1;\r\n });\r\n }\r\n\r\n loadFields() {\r\n if (this.bpInfo['fields']) {\r\n this.bpInfo['fields'].forEach(field => {\r\n field.typeDescription = this.getFieldTypeEnumTranslated(field.type);\r\n if (field.type === FieldType.text) {\r\n field.typeDescription += ` (${field.length})`;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getCurrentElementLock() {\r\n this.errorMessage = '';\r\n this.bpService.getCurrentElementLock(DesignElementType.BusinessProcess, Number(this.bpId))\r\n .subscribe( element => {\r\n this.elementLock = element;\r\n if (element) {\r\n this.lockingUserLogon = element.user.logon;\r\n this.isLockedToOtherUser = this.lockingUserLogon && this.lockingUserLogon !== localStorage.getItem('userLogon');\r\n this.isLockedToMe = this.bpId === 0 ? true : !this.isLockedToOtherUser;\r\n this.isLockedToOtherUser ? this.businessProcessForm.disable() : this.businessProcessForm.enable();\r\n } else {\r\n this.businessProcessForm.disable();\r\n this.isLockedToOtherUser = false;\r\n this.isLockedToMe = false;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n loadBPData() {\r\n this.businessProcessForm.patchValue({\r\n businessProcessId: Number(this.bpId),\r\n name: this.bpInfo['name'],\r\n description: this.bpInfo['description'],\r\n statesExecutionTimeout: this.bpInfo['statesExecutionTimeout'] / 1000 === 0 ? null : this.bpInfo['statesExecutionTimeout'] / 1000,\r\n continuousExecutionMaxCount: this.bpInfo['continuousExecutionMaxCount'] === 0 ? null : this.bpInfo['continuousExecutionMaxCount'],\r\n doContinuousExecution: this.bpInfo['doContinuousExecution'],\r\n initiateQuickInstance: this.bpInfo['initiateQuickInstance'],\r\n creationDate: this.bpInfo['creationDate']\r\n });\r\n if (!this.isLockedToMe) { this.businessProcessForm.disable(); }\r\n this.setContinuousExecutionMaxCountValidation(this.bpInfo['doContinuousExecution']);\r\n }\r\n\r\n onEdit() {\r\n this.errorMessage = '';\r\n if (!this.isLockedToOtherUser) {\r\n this.businessProcessForm.enable();\r\n this.bpService.beginEditingElement(DesignElementType.BusinessProcess, Number(this.bpId), this.bpInfo['name'])\r\n .subscribe( () => { this.getCurrentElementLock(); }, error1 => { this.errorMessage = error1; });\r\n }\r\n }\r\n\r\n onUnlock() {\r\n this.errorMessage = '';\r\n this.bpService.endEditingElement(DesignElementType.BusinessProcess, Number(this.bpId), this.bpInfo['name'])\r\n .subscribe( () => {\r\n this.successMessage = 'Processo de negócio desbloqueado';\r\n setTimeout(() => { this.successMessage = ''; this.getCurrentElementLock(); }, 1700);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onSave() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n const newBpInfo = this.businessProcessForm.getRawValue();\r\n if (!newBpInfo.doContinuousExecution || !newBpInfo.continuousExecutionMaxCount) {\r\n newBpInfo.continuousExecutionMaxCount = 0;\r\n }\r\n if (newBpInfo.statesExecutionTimeout === '') {\r\n newBpInfo.statesExecutionTimeout = null;\r\n }\r\n if (this.isNew) {\r\n this.createBusinessProcess(newBpInfo);\r\n } else {\r\n this.updateBusinessProcess(newBpInfo);\r\n }\r\n }\r\n\r\n onBack() {\r\n if (this.isLockedToMe) {\r\n this.onUnlock();\r\n }\r\n this.router.navigate(['/businessProcessList']);\r\n }\r\n\r\n updateBusinessProcess(newBpInfo: any) {\r\n this.bpService.updateBusinessProcess(newBpInfo).subscribe(\r\n () => {\r\n this.successMessage = 'Processo de negócio atualizado com sucesso';\r\n this.pleaseWait = false;\r\n setTimeout(() => { this.successMessage = ''; this.onUnlock(); }, 1700);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.pleaseWait = false;\r\n }\r\n );\r\n }\r\n\r\n createBusinessProcess(newBpInfo: any) {\r\n this.bpService.createBusinessProcess(newBpInfo).subscribe(\r\n newBpId => {\r\n this.successMessage = 'Processo de negócio criado com sucesso';\r\n this.pleaseWait = false;\r\n setTimeout(() => { this.successMessage = ''; this.router.navigate(['/businessProcess', newBpId]); }, 1700);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.pleaseWait = false;\r\n }\r\n );\r\n }\r\n\r\n setContinuousExecutionMaxCountValidation(element) {\r\n if (element === true || element.checked) {\r\n this.businessProcessForm.get('continuousExecutionMaxCount').setValidators([\r\n Validators.max(999),\r\n Validators.min(1),\r\n CustomValidator.numeric\r\n ]);\r\n } else {\r\n this.businessProcessForm.get('continuousExecutionMaxCount').clearValidators();\r\n }\r\n this.businessProcessForm.get('continuousExecutionMaxCount').updateValueAndValidity();\r\n }\r\n\r\n // Library management\r\n onDeleteState(stateId: number) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão', 'Confirma a exclusão do estado?');\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpService.deleteBusinessProcessState(this.bpId, stateId).pipe(take(1))\r\n .subscribe( () => {\r\n this.getBusinessProcessForManagementById();\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n setTimeout( () => { document.getElementById('btnBack').focus(); }, 1000);\r\n });\r\n }\r\n });\r\n }\r\n\r\n onDeleteField(fieldId: number) {\r\n this.errorMessage = '';\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão', 'Confirma a exclusão do campo?');\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpService.deleteBusinessProcessField(this.bpId, fieldId).pipe(take(1))\r\n .subscribe( () => {\r\n this.tabIdToSelect = 1;\r\n this.getBusinessProcessForManagementById();\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n setTimeout( () => { document.getElementById('btnBack').focus(); }, 1000);\r\n });\r\n }\r\n });\r\n }\r\n\r\n onDeleteLibraryItem(item) {\r\n this.errorMessageLayout = '';\r\n this.errorMessageFlow = '';\r\n this.errorMessageView = '';\r\n let alert: any;\r\n const itemName = this.getItemTypeName(item.itemType);\r\n const designElementType = this.getDesignElementType(item.itemType);\r\n let contraction = 'do';\r\n if (item.itemType === 3) {\r\n contraction = 'da';\r\n }\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão', `Confirma a exclusão ${contraction} ${itemName}?`);\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpService.deleteLibraryItem(this.bpId, item.libraryItemId, designElementType).pipe(take(1))\r\n .subscribe( () => {\r\n this.tabIdToSelect = 2;\r\n switch (item.itemType) {\r\n case 1:\r\n this.libraryTabIdToSelect = 0;\r\n this.loadFlowLibrary();\r\n break;\r\n case 2:\r\n this.libraryTabIdToSelect = 1;\r\n this.loadLayoutLibrary();\r\n break;\r\n case 3:\r\n this.libraryTabIdToSelect = 2;\r\n this.loadViewLibrary();\r\n break;\r\n }\r\n }, error1 => {\r\n this.setErrorMessage(item.ItemType, error1);\r\n });\r\n }\r\n });\r\n }\r\n\r\n onViewField(fieldId: number) {\r\n const inputDataModal = {\r\n fieldId: fieldId,\r\n editType: FieldEditType.single,\r\n businessProcessId: this.bpId,\r\n };\r\n\r\n if (fieldId === 0) {\r\n this.bpService.checkRights(128)\r\n .subscribe( rights => {\r\n if (rights.length > 0) {\r\n this.openField('Cadastrar', inputDataModal);\r\n } else {\r\n this.modalService.showErrorMessage('Usuário não tem direito de efetuar esta ação.', true);\r\n }\r\n }, error1 => this.modalService.showErrorMessage(error1, true));\r\n } else {\r\n this.openField('Editar', inputDataModal);\r\n }\r\n }\r\n\r\n openField(viewType, inputDataModal) {\r\n const destComponent: any = FieldDetailComponent;\r\n const result$ = this.modalService.showObjModal(destComponent, `${viewType} Campo`, inputDataModal, 'modal-xl');\r\n if (result$) {\r\n result$.asObservable()\r\n .subscribe((result) => {\r\n this.tabIdToSelect = 1;\r\n this.getBusinessProcessForManagementById();\r\n });\r\n }\r\n }\r\n\r\n filterFlow() {\r\n const emptyFilter = (this.flowList && this.flowList.length === 0) ||\r\n this.filterFlowText === undefined || this.filterFlowText.trim() === '';\r\n if (emptyFilter) {\r\n return this.flowList;\r\n } else {\r\n return this.flowList.filter((v) => {\r\n return (v.name.toLowerCase().includes(this.filterFlowText.toLowerCase()));\r\n });\r\n }\r\n }\r\n\r\n filterLayout() {\r\n const emptyFilter = (this.layoutList && this.layoutList.length === 0) ||\r\n this.filterLayoutText === undefined || this.filterLayoutText.trim() === '';\r\n if (emptyFilter) {\r\n return this.layoutList;\r\n } else {\r\n return this.layoutList.filter((v) => {\r\n return (v.name.toLowerCase().includes(this.filterLayoutText.toLowerCase()));\r\n });\r\n }\r\n }\r\n\r\n filterView() {\r\n const emptyFilter = (this.viewList && this.viewList.length === 0) ||\r\n this.filterViewsText === undefined || this.filterViewsText.trim() === '';\r\n if (emptyFilter) {\r\n return this.viewList;\r\n } else {\r\n return this.viewList.filter((v) => {\r\n return (v.name.toLowerCase().includes(this.filterViewsText.toLowerCase()));\r\n });\r\n }\r\n }\r\n\r\n updateLibraryItem(item: any) {\r\n this.errorMessageFlow = '';\r\n this.errorMessageLayout = '';\r\n this.errorMessageView = '';\r\n\r\n let contraction = 'do';\r\n const title = this.getItemTypeName(item.itemType);\r\n const designElementType = this.getDesignElementType(item.itemType);\r\n let list: any[];\r\n switch (item.itemType) {\r\n case 1:\r\n list = this.flowList;\r\n break;\r\n case 2:\r\n list = this.layoutList;\r\n break;\r\n case 3:\r\n list = this.viewList;\r\n contraction = 'da';\r\n break;\r\n }\r\n const result$ = this.modalService.showInputModal(\r\n this.destComponent,\r\n `Renomear ${title}`,\r\n `Insira o novo nome ${contraction} ${title}`,\r\n 'OK', 'Cancelar',\r\n item.name,\r\n '^[a-zA-Z][a-zA-Z0-9_]+',\r\n 'Um nome válido deve ter entre 1 e 100 caracteres, deve ser iniciado por letra e deve ser composto somente por letras, números e underscore.',\r\n 100, 1, true\r\n );\r\n result$.asObservable()\r\n .subscribe(\r\n input => {\r\n if (input !== null) {\r\n const allNames = list.map(li => li.name);\r\n allNames.splice(allNames.indexOf(item.name), 1);\r\n const newName = input.replace(/\\s/g, '');\r\n if (allNames.includes(newName)) {\r\n const errorMsg = `Erro: Já existe um ${title} com o nome ${newName}`;\r\n this.setErrorMessage(item.itemType, errorMsg);\r\n return;\r\n }\r\n const modifiedItem = {\r\n libraryItemId: item.libraryItemId,\r\n name: newName\r\n };\r\n this.bpService.updateLibraryItem(this.bpId, designElementType, modifiedItem).subscribe(\r\n () => { item.name = newName; },\r\n error1 => {\r\n this.setErrorMessage(item.itemType, error1);\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n setErrorMessage(itemType, message) {\r\n switch (itemType) {\r\n case 1:\r\n this.errorMessageFlow = message;\r\n break;\r\n case 2:\r\n this.errorMessageLayout = message;\r\n break;\r\n case 3:\r\n this.errorMessageView = message;\r\n break;\r\n }\r\n }\r\n\r\n openFlowDesignerSetup() {\r\n window.open('./DesignerSetup/Crivo.Workflow.EditorDeFluxos.msi', '_self');\r\n }\r\n\r\n openLayoutDesignerSetup() {\r\n window.open('./DesignerSetup/Crivo.Workflow.EditorDeLayout.msi', '_self');\r\n }\r\n\r\n openFlowEditor(libraryItem) {\r\n this.errorMessageFlow = '';\r\n if ([1, 2, 3].includes(libraryItem.flowType)) {\r\n let flowExecutionType: number;\r\n switch (libraryItem.flowType) {\r\n case 1: flowExecutionType = 3;\r\n break;\r\n case 2: flowExecutionType = 1;\r\n break;\r\n case 3: flowExecutionType = 2;\r\n break;\r\n }\r\n this.bpService.generateFlowDesignerURL(this.bpId, libraryItem.libraryItemId, flowExecutionType)\r\n .subscribe((resp: any) => {\r\n if (resp) {\r\n window.open(resp.url, '_parent');\r\n }\r\n }, error1 => {\r\n this.errorMessageFlow = error1;\r\n });\r\n } else {\r\n this.errorMessageFlow = 'Erro ao abrir o editor de fluxos. Fluxo não identificado';\r\n }\r\n }\r\n\r\n openStateLayoutEditor(layoutId: number) {\r\n this.bpService.getTokenForLayoutEditor()\r\n .subscribe((resp: HumanInteractionTokenResult) => {\r\n if (resp) {\r\n const options = `{ \"BusinessProcessId\": ${this.bpId}, \"LibraryItemId\": ${layoutId} }`;\r\n window.open(resp.humanInteractionBaseUrl + '/LayoutEditorV2/Default.aspx?Token=' +\r\n resp.humanInteractionToken + '&LoginHandle=' + resp.loginHandle + '&data=' + options, '_blank');\r\n }\r\n });\r\n }\r\n\r\n openViewLayoutEditor(libraryItem) {\r\n this.errorMessage = '';\r\n this.bpService.generateLayoutDesignerURL(this.bpId, libraryItem)\r\n .subscribe((resp: any) => {\r\n if (resp) {\r\n window.open(resp.url, '_parent');\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n onAddFlow(flowType: string) {\r\n this.errorMessageFlow = '';\r\n let flowTypeDescription = '';\r\n switch (flowType) {\r\n case 'stateFlow': flowTypeDescription = 'Estado';\r\n break;\r\n case 'pageFlow': flowTypeDescription = 'Tela';\r\n break;\r\n case 'dataFlow': flowTypeDescription = 'Dados';\r\n break;\r\n default: this.errorMessageFlow = 'Erro ao criar o fluxo. O tipo de fluxo não foi identificado.';\r\n return;\r\n }\r\n const result$ = this.modalService.showInputModal(\r\n this.destComponent,\r\n `Novo fluxo de ${flowTypeDescription.toLowerCase()}`,\r\n `Insira o nome do novo fluxo de ${flowTypeDescription.toLowerCase()}`,\r\n 'OK', 'Cancelar',\r\n `NovoFluxo${flowTypeDescription}X`,\r\n '^[a-zA-Z][a-zA-Z0-9_]+',\r\n 'Um nome válido deve ter entre 1 e 100 caracteres, deve ser iniciado por letra e deve ser composto somente por letras, números e underscore.',\r\n 100, 1, true\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n input => {\r\n if (input !== null) {\r\n const flowName = input.replace(/\\s/g, '');\r\n this.bpService.createStateLibraryFlow(flowName, Number(this.bpId), flowType)\r\n .subscribe( newFlowId => {\r\n this.unrelatedLibraryItems.push(newFlowId);\r\n this.tabIdToSelect = 2;\r\n this.libraryTabIdToSelect = 0;\r\n this.filterFlowText = '';\r\n this.loadFlowLibrary();\r\n },\r\n error1 => {\r\n this.filterFlowText = '';\r\n this.errorMessageFlow = error1;\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n onAddLayout() {\r\n this.errorMessageLayout = '';\r\n const result$ = this.modalService.showInputModal(\r\n this.destComponent,\r\n `Novo layout de tela`,\r\n `Insira o nome do novo layout de tela`,\r\n 'OK', 'Cancelar',\r\n `NovoLayoutTelaX`,\r\n '^[a-zA-Z][a-zA-Z0-9_]+',\r\n 'Um nome válido deve ter entre 1 e 100 caracteres, deve ser iniciado por letra e deve ser composto somente por letras, números e underscore.',\r\n 100, 1, true\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n input => {\r\n if (input !== null) {\r\n const layoutName = input.replace(/\\s/g, '');\r\n console.log(layoutName);\r\n this.bpService.createStateLibraryLayout(layoutName, Number(this.bpId))\r\n .subscribe( newLayoutId => {\r\n this.unrelatedLibraryItems.push(newLayoutId);\r\n this.libraryTabIdToSelect = 1;\r\n this.tabIdToSelect = 2;\r\n this.filterLayoutText = '';\r\n this.loadLayoutLibrary();\r\n },\r\n error1 => {\r\n this.filterLayoutText = '';\r\n this.errorMessageLayout = error1;\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n onAddView() {\r\n this.errorMessageView = '';\r\n const result$ = this.modalService.showInputModal(\r\n this.destComponent,\r\n `Nova visão`,\r\n `Insira o nome da nova visão`,\r\n 'OK', 'Cancelar',\r\n `NovaVisaoX`,\r\n '^[a-zA-Z][a-zA-Z0-9_]+',\r\n 'Um nome válido deve ter entre 1 e 100 caracteres, deve ser iniciado por letra e deve ser composto somente por letras, números e underscore.',\r\n 100, 1, true\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n if (result !== null) {\r\n this.bpService.createStateLibraryView(result, Number(this.bpId))\r\n .subscribe( newLayoutId => {\r\n this.libraryTabIdToSelect = 2;\r\n this.tabIdToSelect = 2;\r\n this.filterViewsText = '';\r\n this.loadViewLibrary();\r\n },\r\n error1 => {\r\n this.filterViewsText = '';\r\n this.errorMessageView = error1;\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n onOpenLibrary(itemType: number, designElementType: number) {\r\n this.errorMessage = '';\r\n this.bpService.getUnrelatedLibraryItems(this.bpId, itemType, designElementType)\r\n .subscribe(\r\n result => {\r\n this.unrelatedLibraryItems = result;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n }\r\n );\r\n }\r\n\r\n onDetailsClick(libraryItem: any) {\r\n const libraryItemId = libraryItem.libraryItemId;\r\n const libraryIitemName = libraryItem.name;\r\n const designElementType = this.getDesignElementType(libraryItem.itemType);\r\n this.modalService.showModal(this.libraryDetailsComponent, `Detalhes do elemento ${libraryIitemName}`,\r\n libraryItemId, `${this.bpId.toString()}|${designElementType}`);\r\n }\r\n\r\n loadBusinessProcessValidationErrors() {\r\n this.errorMessageValidation = '';\r\n this.bpService.loadBusinessProcessValidationErrors(this.bpId)\r\n .subscribe( errorList => {\r\n this.businessProcessErrorList = errorList;\r\n }, error1 => {\r\n this.errorMessageValidation = error1;\r\n }\r\n );\r\n }\r\n\r\n getDesignElementType(itemType: number): number {\r\n switch (itemType) {\r\n case 1:\r\n return 4;\r\n case 2:\r\n return 5;\r\n case 3:\r\n return 6;\r\n default:\r\n return 0;\r\n }\r\n }\r\n\r\n getItemTypeName(itemType: number): string {\r\n switch (itemType) {\r\n case 1:\r\n return 'fluxo';\r\n case 2:\r\n return 'layout';\r\n case 3:\r\n return 'visão';\r\n default:\r\n return 'desconhecido';\r\n }\r\n }\r\n\r\n getFieldTypeEnumTranslated(fieldType) {\r\n return EnumTranslator.getEnumValueTranslated(FieldType[fieldType]);\r\n }\r\n\r\n}\r\n","export default \"div.graphCanvas {\\r\\n overflow: auto;\\r\\n text-align: center;\\r\\n margin: 0 0.5em;\\r\\n border: 1px solid #ddd;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\ndiv.graphCanvas svg g.node.dimmed {\\r\\n opacity: 0.25;\\r\\n}\\r\\n\\r\\ndiv.graphCanvas svg g.node.highlighted ellipse {\\r\\n stroke-width: 1.5px;\\r\\n}\\r\\n\\r\\ndiv.graphCanvas svg g.edge.dimmed {\\r\\n opacity: 0.25;\\r\\n}\\r\\n\\r\\n.tabScroll {\\r\\n /* min-height: 20rem; */\\r\\n max-height: 28rem;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2J1c2luZXNzLXByb2Nlc3MtZGV0YWlsL2dyYXBoLWRldGFpbC9ncmFwaC1kZXRhaWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLHNCQUFzQjtFQUN0Qix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBQ0E7RUFDRSxtQkFBbUI7QUFDckI7O0FBQ0E7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9idXNpbmVzcy1wcm9jZXNzLWRldGFpbC9ncmFwaC1kZXRhaWwvZ3JhcGgtZGV0YWlsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJkaXYuZ3JhcGhDYW52YXMge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW46IDAgMC41ZW07XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuZGl2LmdyYXBoQ2FudmFzIHN2ZyBnLm5vZGUuZGltbWVkIHtcclxuICBvcGFjaXR5OiAwLjI1O1xyXG59XHJcbmRpdi5ncmFwaENhbnZhcyBzdmcgZy5ub2RlLmhpZ2hsaWdodGVkIGVsbGlwc2Uge1xyXG4gIHN0cm9rZS13aWR0aDogMS41cHg7XHJcbn1cclxuZGl2LmdyYXBoQ2FudmFzIHN2ZyBnLmVkZ2UuZGltbWVkIHtcclxuICBvcGFjaXR5OiAwLjI1O1xyXG59XHJcblxyXG4udGFiU2Nyb2xsIHtcclxuICAvKiBtaW4taGVpZ2h0OiAyMHJlbTsgKi9cclxuICBtYXgtaGVpZ2h0OiAyOHJlbTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcbiJdfQ== */\"","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n HostListener,\r\n ElementRef, ViewChildren, QueryList\r\n} from '@angular/core';\r\nimport {ContextMenuOptions} from '../../../../../Models/contextMenu';\r\nimport {Router} from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-graph-detail',\r\n templateUrl: './graph-detail.component.html',\r\n styleUrls: ['./graph-detail.component.css']\r\n})\r\n\r\nexport class GraphDetailComponent implements OnInit, AfterViewInit{\r\n\r\n @Input() graphContext;\r\n @Input() businessProcessId;\r\n\r\n contextMenuOptions: ContextMenuOptions;\r\n currentNode;\r\n filterText:string;\r\n filterTextCount: number;\r\n graphWidth:number;\r\n isDisplayContextMenu:boolean;\r\n rightClickMenuPositionX:number;\r\n rightClickMenuPositionY:number;\r\n\r\n @ViewChildren('gNode') gNodes: QueryList;\r\n\r\n constructor( private router: Router) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.contextMenuOptions = new ContextMenuOptions();\r\n this.contextMenuOptions.items = [\r\n {\r\n id:'changeState',\r\n name: 'Modificar informações do estado',\r\n icon: 'fa fa-pen',\r\n hasHr: false,\r\n callback:()=>{\r\n if (this.currentNode.stateInfo) {\r\n this.router.navigate(['/state', this.businessProcessId, this.currentNode.stateInfo.stateId]);\r\n }\r\n }\r\n },\r\n {\r\n id:'openStateFlow',\r\n name: 'Abrir fluxo do estado',\r\n icon: 'fa fa-cogs',\r\n hasHr: false,\r\n callback:()=>{\r\n if (this.currentNode.stateInfo && this.currentNode.stateInfo.stateFlowDesignerLink) {\r\n window.open(this.currentNode.stateInfo.stateFlowDesignerLink, '_parent');\r\n } else {\r\n alert(\"Não existe fluxo associado para este estado\");\r\n }\r\n }\r\n },\r\n {\r\n id:'openStateFlowDebugger',\r\n name: 'Depurar fluxo do estado',\r\n icon: 'fa fa-bug',\r\n hasHr: false,\r\n callback:()=>{\r\n if (this.currentNode.stateInfo && this.currentNode.stateInfo.stateFlowDesignerLink) {\r\n window.open(this.currentNode.stateInfo.stateFlowDebuggerLink, '_parent');\r\n }else {\r\n alert(\"Não existe fluxo associado para este estado\");\r\n }\r\n }\r\n },\r\n {\r\n id:'openLayout',\r\n name: 'Alterar layout da tela',\r\n icon:'fa fa-desktop',\r\n hasHr: true,\r\n callback:()=>{\r\n if (this.currentNode.stateInfo && this.currentNode.stateInfo.pageLayoutEditorLink) {\r\n window.open(this.currentNode.stateInfo.pageLayoutEditorLink, '_blank');\r\n } else {\r\n alert(\"Não existe layout de tela associado para este estado\")\r\n }\r\n }\r\n },\r\n {\r\n id:'openPageFlow',\r\n name: 'Abrir fluxo de tela',\r\n icon:'',\r\n hasHr: false,\r\n callback:()=>{\r\n if (this.currentNode.stateInfo && this.currentNode.stateInfo.pageFlowDesignerLink) {\r\n window.open(this.currentNode.stateInfo.pageFlowDesignerLink, '_blank');\r\n } else {\r\n alert(\"Não existe fluxo de tela associado para este estado\")\r\n }\r\n }\r\n },\r\n {\r\n id:'openPageFlowDebugger',\r\n name: 'Depurar fluxo de tela',\r\n icon:'',\r\n hasHr: false,\r\n callback:()=>{\r\n if (this.currentNode.stateInfo && this.currentNode.stateInfo.pageFlowDesignerLink) {\r\n window.open(this.currentNode.stateInfo.pageFlowDebuggerLink, '_blank');\r\n } else {\r\n alert(\"Não existe fluxo de tela associado para este estado\")\r\n }\r\n }\r\n },\r\n ];\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.graphWidth = parseInt(this.graphContext.svgWidth, 10);\r\n }\r\n\r\n displayContextMenu(event, node) {\r\n event.preventDefault();\r\n this.isDisplayContextMenu = true;\r\n\r\n this.rightClickMenuPositionX = event.clientX;\r\n this.rightClickMenuPositionY = event.clientY - 180;\r\n this.currentNode = node;\r\n }\r\n\r\n @HostListener('document:click')\r\n documentClick(): void {\r\n this.isDisplayContextMenu = false;\r\n this.currentNode = undefined;\r\n }\r\n\r\n getRightClickMenuStyle() {\r\n return {\r\n position: 'fixed',\r\n left: `${this.rightClickMenuPositionX}px`,\r\n top: `${this.rightClickMenuPositionY}px`\r\n }\r\n }\r\n\r\n showGraph(){\r\n return this.graphContext && this.graphContext.nodes && this.graphContext.nodes.length > 0;\r\n }\r\n\r\n resizeGraph(level){\r\n let canvas = $('div.graphCanvas');\r\n let canvasWidth = canvas.innerWidth() || 1;\r\n let sizeRatio = 1;\r\n\r\n if (level == '0') {\r\n sizeRatio = canvasWidth / this.graphWidth;\r\n\r\n if (sizeRatio > 1) {\r\n sizeRatio = 1;\r\n }\r\n } else {\r\n level = parseInt(level, 10) / 100;\r\n sizeRatio = level || 1;\r\n }\r\n\r\n let newSize = this.graphWidth * sizeRatio;\r\n this.graphContext.svgWidth = newSize + \"pt\";\r\n }\r\n\r\n performHighlight() {\r\n this.reset();\r\n if (!this.filterText) return;\r\n let pattern = new RegExp(this.filterText, 'im');\r\n this.filterTextCount = 0;\r\n this.gNodes.forEach(n => {\r\n if (pattern.test(n.nativeElement.textContent)) {\r\n n.nativeElement.classList.add('highlighted');\r\n this.filterTextCount++;\r\n } else {\r\n n.nativeElement.classList.add('dimmed');\r\n }\r\n });\r\n }\r\n\r\n reset(){\r\n this.filterTextCount = undefined;\r\n this.gNodes.forEach(n => {\r\n n.nativeElement.classList.remove('highlighted');\r\n n.nativeElement.classList.remove('dimmed');\r\n });\r\n }\r\n}\r\n\r\n\r\n","export default \".fixedHeightTable {\\r\\n max-height: 50vh;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\nthead tr th {\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2J1c2luZXNzLXByb2Nlc3MtZGV0YWlsL2xpYnJhcnktaXRlbS1kZXRhaWxzL2xpYnJhcnktaXRlbS1kZXRhaWxzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsU0FBUztBQUNYIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2J1c2luZXNzLXByb2Nlc3MtZGV0YWlsL2xpYnJhcnktaXRlbS1kZXRhaWxzL2xpYnJhcnktaXRlbS1kZXRhaWxzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZml4ZWRIZWlnaHRUYWJsZSB7XHJcbiAgbWF4LWhlaWdodDogNTB2aDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG50aGVhZCB0ciB0aCB7XHJcbiAgdG9wOiAtMXB4O1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BusinessProcessService } from '../../../../../services/business-process.service';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-flow-details',\r\n templateUrl: './library-item-details.component.html',\r\n styleUrls: ['./library-item-details.component.css']\r\n})\r\nexport class LibraryItemDetailsComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objId: number;\r\n objMessage: string;\r\n errorMessage: string;\r\n businessProcessId: number;\r\n designElementType: number;\r\n data = [];\r\n\r\n constructor(\r\n private bpService: BusinessProcessService,\r\n public bsModalRef: BsModalRef,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.businessProcessId = Number(this.objMessage.split('|')[0]);\r\n this.designElementType = Number(this.objMessage.split('|')[1]);\r\n this.bpService.getReferencingStates(this.businessProcessId, this.objId, this.designElementType)\r\n .subscribe(\r\n d => { this.data = d; console.log(d); },\r\n error1 => this.errorMessage = error1\r\n );\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.page-link {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.link-pointer {\\r\\n cursor: pointer !important;\\r\\n}\\r\\n\\r\\n.btn-group-vertical .btn {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.top-minus-3 {\\r\\n top: -3px;\\r\\n}\\r\\n\\r\\n.top-minus-2 {\\r\\n top: -2px\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2J1c2luZXNzLXByb2Nlc3MtbGlzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFDQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFNBQVM7QUFDWDs7QUFFQTtFQUNFO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL2J1c2luZXNzLXByb2Nlc3MvYnVzaW5lc3MtcHJvY2Vzcy1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnBhZ2UtbGluayB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5saW5rLXBvaW50ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4ge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi50b3AtbWludXMtMyB7XHJcbiAgdG9wOiAtM3B4O1xyXG59XHJcblxyXG4udG9wLW1pbnVzLTIge1xyXG4gIHRvcDogLTJweFxyXG59XHJcbiJdfQ== */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport {take, tap} from 'rxjs/operators';\r\n\r\nimport { BusinessProcess } from '../../../Models/businessProcess';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport { ConsolidationModalComponent } from './consolidation-modal/consolidation-modal.component';\r\nimport { Utils } from '../../../services/utils';\r\nimport { HttpEventType } from '@angular/common/http';\r\nimport {WfTableComponent} from '../../../common/table-sort/wf-table.component';\r\nimport {ImportComponent} from './import/import.component';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-business-process-list',\r\n templateUrl: './business-process-list.component.html',\r\n styleUrls: ['./business-process-list.component.css']\r\n})\r\nexport class BusinessProcessListComponent implements OnInit {\r\n\r\n utilsFunctions = Utils;\r\n businessProcesses: BusinessProcess[];\r\n filterText: string;\r\n onlyValid: boolean;\r\n isSearching = false;\r\n pleaseWait = false;\r\n config: PaginationInstance;\r\n @ViewChild(WfTableComponent, { static: false }) wfDataTable: WfTableComponent;\r\n\r\n hasBusinessProcessRelationshipRight = false;\r\n hasHistoryReportConfigRight = false;\r\n hasDesignProcessRight = false;\r\n\r\n pageIndex = 1;\r\n itemsPerPage = 1;\r\n totalItems = 1;\r\n\r\n constructor(\r\n private bpService: BusinessProcessService,\r\n private modalService: GenericModalService,\r\n private webClientConfig: WebClientConfigurationService, public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkRights();\r\n this.bpService.getAllBusinessProcesses().subscribe(result => {\r\n this.businessProcesses = result;\r\n this.totalItems = result.length;\r\n this.getPageIndex(this.pageIndex, result.length);\r\n }, error1 => this.modalService.showErrorMessage(error1, true) );\r\n\r\n }\r\n\r\n checkRights() {\r\n this.checkRightsRelationShip();\r\n this.checkRightsHistoryReportConfig();\r\n this.checkRightsDesignProcess();\r\n }\r\n\r\n checkRightsRelationShip() {\r\n this.bpService.checkRights(16384).subscribe(s => {\r\n this.hasBusinessProcessRelationshipRight = s.length > 0;\r\n }, error1 => {\r\n this.modalService.showErrorMessage(error1, true);\r\n });\r\n }\r\n\r\n checkRightsHistoryReportConfig() {\r\n this.bpService.checkRights(65536).subscribe(s => {\r\n this.hasHistoryReportConfigRight = s.length > 0;\r\n }, error1 => {\r\n this.modalService.showErrorMessage(error1, true);\r\n });\r\n }\r\n\r\n checkRightsDesignProcess() {\r\n this.bpService.checkRights(128).subscribe(s => {\r\n this.hasDesignProcessRight = s.length > 0;\r\n }, error1 => {\r\n this.modalService.showErrorMessage(error1, true);\r\n console.error(error1);\r\n });\r\n }\r\n\r\n formatStatus(valid: number) {\r\n switch (valid) {\r\n case 1: return 'Válido';\r\n break;\r\n\r\n case 0: return 'Inválido';\r\n break;\r\n\r\n default: return 'Não identificado';\r\n break;\r\n }\r\n }\r\n\r\n checkValidation(bp: BusinessProcess) {\r\n return (bp.validity === 2 && bp.version === 1) || (bp.validity !== 2);\r\n }\r\n\r\n checkTooltipValidation(bp: BusinessProcess) {\r\n if (bp.validity !== 2 && bp.version !== 1) {\r\n return 'O processo de negócio já foi validado';\r\n }\r\n }\r\n\r\n checkPublication(bp: BusinessProcess) {\r\n return (bp.version === bp.publishedVersion) || (bp.validity !== 1);\r\n }\r\n\r\n checkTooltipPublication(bp: BusinessProcess) {\r\n if (bp.validity === 2) {\r\n return 'É necessário validar o processo de negócio antes de publicar';\r\n }\r\n if (bp.version === bp.publishedVersion) {\r\n return 'Versão publicada refere-se à versão mais recente';\r\n } else {\r\n return bp.validationDescription;\r\n }\r\n }\r\n\r\n deleteBusinessProcess(businessProcessId) {\r\n let alert: any;\r\n this.pleaseWait = true;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de Exclusão', 'Confirma a exclusão?');\r\n\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpService.businessProcessActions(businessProcessId, 'Delete').pipe(take(1))\r\n .subscribe( () => {\r\n this.pleaseWait = false;\r\n this.modalService.showSuccessMessage('Exclusão realizada com sucesso', false, 2000);\r\n this.getItemsPageLength();\r\n\r\n setTimeout(() => {\r\n this.ngOnInit();\r\n }, 2000);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.modalService.showErrorMessage(error1, true);\r\n });\r\n } else if (result.dismiss === Swal.DismissReason.cancel) {\r\n this.pleaseWait = false;\r\n }\r\n });\r\n }\r\n\r\n consolidateBusinessProcess(businessProcessId, businessProcessName) {\r\n const destComponent: any = ConsolidationModalComponent;\r\n const result$ = this.modalService.showModal(destComponent, 'Histórico de Modificações', businessProcessId, businessProcessName);\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe(result => {\r\n if (result) {\r\n setTimeout(() => {\r\n this.ngOnInit();\r\n }, 2000);\r\n }\r\n }, error1 => this.modalService.showErrorMessage(error1, true));\r\n }\r\n\r\n validateBusinessProcess(businessProcessId) {\r\n this.pleaseWait = true;\r\n this.bpService.businessProcessActions(businessProcessId, 'Validate').pipe(take(1))\r\n .subscribe( () => {\r\n this.pleaseWait = false;\r\n this.modalService.showSuccessMessage('Processo de negócio validado com sucesso', false, 2000);\r\n\r\n setTimeout(() => {\r\n this.ngOnInit();\r\n }, 2000);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.modalService.showErrorMessage(error1, true);\r\n });\r\n }\r\n\r\n publishBusinessProcess(businessProcessId) {\r\n this.pleaseWait = true;\r\n\r\n const alert = this.modalService\r\n .showConfirmModal('Confirmação de Publicação', 'Confirma a publicação?');\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpService.businessProcessActions(businessProcessId, 'Publish').pipe(take(1))\r\n .subscribe( () => {\r\n this.pleaseWait = false;\r\n this.modalService.showSuccessMessage('Processo de negócio publicado com sucesso', false, 2000);\r\n setTimeout(() => {\r\n this.ngOnInit();\r\n }, 2000);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.modalService.showErrorMessage(error1, true);\r\n });\r\n } else if (result.dismiss === Swal.DismissReason.cancel) {\r\n this.pleaseWait = false;\r\n }\r\n });\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n this.config = {\r\n id: 'custom',\r\n itemsPerPage: item,\r\n currentPage: this.pageIndex,\r\n totalItems: _totalItems\r\n };\r\n this.itemsPerPage = item;\r\n this.totalItems = _totalItems;\r\n }, error1 => this.modalService.showErrorMessage(error1, true));\r\n }\r\n\r\n getPageIndex(page, totalItems = this.totalItems) {\r\n this.pageIndex = page;\r\n this.getPaginationConfig(page, totalItems);\r\n }\r\n\r\n getItemsPageLength() {\r\n const totalItemsCount = this.totalItems;\r\n const itemsPerPage = this.itemsPerPage;\r\n const page = this.pageIndex;\r\n let start = (page * itemsPerPage) - (itemsPerPage - 1);\r\n let end = Math.min(start + itemsPerPage - 1, totalItemsCount);\r\n if (start == end) {\r\n this.pageIndex -= 1;\r\n // devo voltar 1 pagina;\r\n }\r\n }\r\n\r\n filterData() {\r\n let filteredArray = [];\r\n const emptyFilter = (this.businessProcesses && this.businessProcesses.length === 0)\r\n || this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter && !this.onlyValid) {\r\n // return this.businessProcesses;\r\n filteredArray = this.businessProcesses;\r\n }\r\n if (emptyFilter && this.onlyValid) {\r\n /*return this.businessProcesses.filter((v) => {\r\n return v.validity === 1;\r\n });*/\r\n filteredArray = this.businessProcesses.filter((v) => {\r\n return v.validity === 1;\r\n });\r\n }\r\n if (!emptyFilter && this.onlyValid) {\r\n // return this.businessProcesses.filter((v) => {\r\n // return (v.name.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 && v.validity === 1);\r\n // });\r\n filteredArray = this.businessProcesses.filter((v) => {\r\n return (v.name.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0 && v.validity === 1);\r\n });\r\n }\r\n if (!emptyFilter && !this.onlyValid) {\r\n // return this.businessProcesses.filter((v) => {\r\n // return (v.name.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0);\r\n // });\r\n filteredArray = this.businessProcesses.filter((v) => {\r\n return (v.name.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0);\r\n });\r\n }\r\n if (this.config) {\r\n if ((!emptyFilter || this.onlyValid) && this.isSearching) {\r\n // se estiver realizando o filtro ou marcando a opção para mostrar somente válidos:\r\n\r\n /*devo considerar como falso o isSearching, para que seja possível continuar navegando na paginação\r\n sem problemas*/\r\n this.isSearching = false;\r\n // devo definir a primeira página como a página atual\r\n this.config.currentPage = 1;\r\n }\r\n this.config.totalItems = this.totalItems = filteredArray.length;\r\n }\r\n return filteredArray;\r\n }\r\n\r\n enableSearching() {\r\n // identificar se a mudança do filterData() vem dos mecanismos de filtro ou mudança da paginação\r\n this.isSearching = true;\r\n }\r\n\r\n exportBusinessProcess(businessProcessId, businessProcessName) {\r\n this.bpService.exportBusinessProcess(businessProcessId, businessProcessName).subscribe(\r\n data => {\r\n switch (data.type) {\r\n case HttpEventType.DownloadProgress:\r\n console.log('Exportação status: ' + Math.round((data.loaded / data.total) * 100) + '%');\r\n break;\r\n case HttpEventType.Response:\r\n const downloadedFile = new Blob([data.body], { type: data.body.type });\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n a.download = encodeURIComponent(businessProcessName + '.bp');\r\n a.href = URL.createObjectURL(downloadedFile);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n break;\r\n }\r\n },\r\n error1 => {\r\n const errorMsg = `Erro ao realizar a exportação do processo de negócio: ${error1}`;\r\n this.modalService.showErrorMessage(errorMsg, true);\r\n }\r\n );\r\n }\r\n\r\n onImport() {\r\n const destComponent: any = ImportComponent;\r\n const result$ = this.modalService.showModal(destComponent, 'Importação do Processo de Negócio');\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe(result => {\r\n if (result) {\r\n setTimeout(() => {\r\n // tratamento para enviar a última pagina quando for nova fila, para que atualize corretamente\r\n let totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\r\n let totalItems = this.totalItems / this.itemsPerPage;\r\n // verificar se o valor sem arredondamento é menor que o valor arredondado\r\n // se for menor, quer dizer que ainda estará nesta página, caso contrário, deverá estar na próxima página\r\n this.pageIndex = totalItems < totalPages ? totalPages : totalPages + 1;\r\n this.ngOnInit();\r\n }, 2000);\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { RouterModule, Routes } from '@angular/router';\r\nimport { ModuleWithProviders } from '@angular/core';\r\n\r\nimport { HistoryReportVisibilityComponent } from './history-report-visibility/history-report-visibility.component';\r\nimport { MasterPageComponent } from '../../../master/masterpage.component';\r\nimport { AuthorizationCheck } from '../../../auth/authorizationCheck';\r\nimport { RelatedBusinessProcessConfigurationComponent } from './related-business-process-configuration/related-business-process-configuration.component';\r\nimport { ManageLockedElementsComponent } from './manage-locked-elements/manage-locked-elements.component';\r\nimport { RecoverVersionComponent } from './recover-version/recover-version.component';\r\nimport { BusinessProcessDetailComponent } from './business-process-detail/business-process-detail.component';\r\nimport {StateDetailComponent} from './state-detail/state-detail.component';\r\nimport {FieldsManagementComponent} from './fields-management/fields-management.component';\r\n\r\n\r\nconst BP_Routes: Routes = [\r\n { path: 'historyReportVisibilityComponent/:id',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: HistoryReportVisibilityComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'relatedBusinessProcessConfiguration/:id',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: RelatedBusinessProcessConfigurationComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'manageLockedElements/:id',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: ManageLockedElementsComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'businessProcessRecoverVersion/:id',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: RecoverVersionComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'businessProcess/:id',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: BusinessProcessDetailComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'businessProcess/:id/:tabId',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: BusinessProcessDetailComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'newBusinessProcess',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: BusinessProcessDetailComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'state/:businessProcessId/:stateId',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: StateDetailComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'newState/:businessProcessId',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: StateDetailComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'fieldsManagement/:businessProcessId',\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: FieldsManagementComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n }\r\n];\r\n\r\nexport const routing: ModuleWithProviders = RouterModule.forChild(BP_Routes) ;\r\n\r\n","export default \".consolidationTableList {\\r\\n min-height: 100px;\\r\\n height: 30vh;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\nthead tr th {\\r\\n /*background-color: #f7f7f7 !important;*/\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\ntextarea {\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.aLinkModal {\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n.alertCustomDanger {\\r\\n position: relative;\\r\\n padding: 0.75rem 1.25rem;\\r\\n margin-bottom: 1rem;\\r\\n border: 1px solid #f5c6cb;\\r\\n border-radius: 0.25rem;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2NvbnNvbGlkYXRpb24tbW9kYWwvY29uc29saWRhdGlvbi1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSx3Q0FBd0M7RUFDeEMsU0FBUztBQUNYOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLHdCQUF3QjtFQUN4QixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLHNCQUFzQjtBQUN4QiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9jb25zb2xpZGF0aW9uLW1vZGFsL2NvbnNvbGlkYXRpb24tbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb25zb2xpZGF0aW9uVGFibGVMaXN0IHtcclxuICBtaW4taGVpZ2h0OiAxMDBweDtcclxuICBoZWlnaHQ6IDMwdmg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxudGhlYWQgdHIgdGgge1xyXG4gIC8qYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNyAhaW1wb3J0YW50OyovXHJcbiAgdG9wOiAtMXB4O1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgcmVzaXplOiBub25lO1xyXG59XHJcblxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYUxpbmtNb2RhbCB7XHJcbiAgY29sb3I6IGJsdWU7XHJcbn1cclxuXHJcbi5hbGVydEN1c3RvbURhbmdlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNmNWM2Y2I7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\nimport {DesignChangeLogAction} from '../../../../Models/designChangeLogAction';\r\nimport {Utils} from '../../../../services/utils';\r\nimport {DesignElementType} from '../../../../Models/enum/designElementType';\r\nimport {take} from 'rxjs/operators';\r\nimport {AdminService} from '../../../../services/admin.service';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\nimport {error} from 'selenium-webdriver';\r\nimport {DateTimeService} from '../../../../services/date-time.service';\r\n\r\n@Component({\r\n selector: 'app-consolidation-modal',\r\n templateUrl: './consolidation-modal.component.html',\r\n styleUrls: ['./consolidation-modal.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class ConsolidationModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n utilsFunction = Utils;\r\n\r\n itemSaved: Subject;\r\n objId: number;\r\n objMessage: string;\r\n submitClick = false;\r\n\r\n consolidationForm: FormGroup;\r\n consolidationEntries: DesignChangeLogAction[];\r\n businessProcessDescription = '';\r\n\r\n messageError = '';\r\n submitted = '';\r\n pleaseWait = false;\r\n changeLog = false;\r\n\r\n get formData() { return this.consolidationForm.controls; }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private bpService: BusinessProcessService, private dateTimeService: DateTimeService) { }\r\n\r\n ngOnInit() {\r\n this.itemSaved = new Subject();\r\n\r\n this.createForm();\r\n this.messageError = '';\r\n\r\n this.businessProcessDescription = `${this.objMessage} (Id: ${this.objId})`;\r\n this.bpService.getBusinessProcessChangeLogEntries(this.objId).subscribe(result => {\r\n this.consolidationEntries = result;\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.messageError = err;\r\n console.error(error1);\r\n });\r\n }\r\n\r\n onSave() {\r\n this.messageError = '';\r\n this.submitted = '';\r\n this.pleaseWait = true;\r\n const consolidationData = this.consolidationForm.getRawValue();\r\n\r\n this.bpService.businessProcessActions(this.objId, 'Consolidate', consolidationData.txtChangeLog).pipe(take(1))\r\n .subscribe( () => {\r\n this.pleaseWait = false;\r\n this.submitClick = true;\r\n this.submitted = 'Consolidação realizada com sucesso!';\r\n this.itemSaved.next(true);\r\n\r\n setTimeout(() => {\r\n this.submitted = '';\r\n this.submitClick = false;\r\n this.bsModalRef.hide();\r\n this.ngOnInit();\r\n }, 2000);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.messageError = err;\r\n console.error(error1);\r\n });\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n createForm() {\r\n this.consolidationForm = this.formBuilder.group({\r\n businessProcessName: '',\r\n businessProcessId: 0,\r\n chkAlert: [false, Validators.requiredTrue],\r\n txtChangeLog: ['', Validators.maxLength(500)]\r\n });\r\n }\r\n\r\n enableChangeLog(enabled: boolean) {\r\n this.messageError = '';\r\n if (enabled) {\r\n this.bpService.hasBlockItems(this.objId).subscribe(isBlock => {\r\n if (!isBlock) {\r\n this.changeLog = true;\r\n } else {\r\n this.messageError = 'Há elementos bloqueados para outros usuários.';\r\n this.changeLog = false;\r\n this.checkUnlockRights();\r\n }\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.messageError = err;\r\n console.error(error1);\r\n });\r\n } else {\r\n this.changeLog = false;\r\n }\r\n }\r\n\r\n checkUnlockRights() {\r\n this.bpService.checkRights(536870912).subscribe(result => {\r\n let messageVerb = '';\r\n if (result.length > 0) {\r\n messageVerb = 'gerenciar';\r\n } else {\r\n messageVerb = 'visualizar';\r\n }\r\n this.messageError += `
Clique aqui para ${messageVerb} os itens bloqueados.`;\r\n });\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.tooltip-custom-class {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n/*.ng-select-container, .ng-select-container.ng-value-container, span.ng-value-label, .ng-value-container.ng-input input {\\r\\n background-color: #e9ecef;\\r\\n}*/\\r\\n\\r\\napp-dropdown-multiselect form .ng-select-container {\\r\\n background-color: #e9ecef;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2ZpZWxkLWRldGFpbC9maWVsZC1kZXRhaWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHlCQUF5QjtBQUMzQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9maWVsZC1kZXRhaWwvZmllbGQtZGV0YWlsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udG9vbHRpcC1jdXN0b20tY2xhc3Mge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi8qLm5nLXNlbGVjdC1jb250YWluZXIsIC5uZy1zZWxlY3QtY29udGFpbmVyLm5nLXZhbHVlLWNvbnRhaW5lciwgc3Bhbi5uZy12YWx1ZS1sYWJlbCwgLm5nLXZhbHVlLWNvbnRhaW5lci5uZy1pbnB1dCBpbnB1dCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxufSovXHJcblxyXG5hcHAtZHJvcGRvd24tbXVsdGlzZWxlY3QgZm9ybSAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {BehaviorSubject, Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\nimport {ElementLock} from '../../../../Models/elementLock';\r\nimport {FieldType} from '../../../../Models/enum/fieldType';\r\nimport {Utils} from '../../../../services/utils';\r\nimport {FieldDomainType} from '../../../../Models/enum/fieldDomainType';\r\nimport {DesignElementType} from '../../../../Models/enum/designElementType';\r\nimport {DropdownMultiselectComponent} from '../../../../common/dropdown-multiselect/dropdown-multiselect.component';\r\nimport {formatDate} from '@angular/common';\r\nimport {EditFieldsService} from '../../../../services/edit-fields.service';\r\nimport {FieldEditType} from '../../../../Models/enum/fieldEditType';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\nimport {AdminService} from '../../../../services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-field-detail',\r\n templateUrl: './field-detail.component.html',\r\n styleUrls: ['./field-detail.component.css', '../../../../styles/business-process-configuration.css']\r\n})\r\nexport class FieldDetailComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n @ViewChild('childStateDropDown', {static: false}) childStateDropDown: DropdownMultiselectComponent;\r\n utils = Utils;\r\n\r\n bpId: number;\r\n fieldId: number;\r\n itemSaved: Subject = new Subject();\r\n fieldDetailForm: FormGroup;\r\n enumFieldType: any[];\r\n enumDateExhibitionFormat: any[];\r\n enumFieldValidator: any[];\r\n enumDomain: any[];\r\n enumMaskType: any[];\r\n elementLock: ElementLock = null;\r\n submitted = '';\r\n submitClick = false;\r\n pleaseWait = false;\r\n isNew = false;\r\n isLockedToMe = false;\r\n isLockedToOtherUser = false;\r\n lockingUserLogon: string;\r\n errorMessage = '';\r\n successMessage = '';\r\n bpInfo: any[];\r\n fieldInfo: any;\r\n\r\n tableRowLenght = false;\r\n tableRowDateFormat = false;\r\n tableRowValidator = false;\r\n tableRowDomain = false;\r\n tableRowStates = false;\r\n tableRowMask = false;\r\n isFixedDomain = false;\r\n domainMaxLength = 4000;\r\n\r\n availableStates = [];\r\n selectedStatesxistingConfig = [];\r\n selectedStates = [];\r\n objInitialState;\r\n editType: FieldEditType;\r\n forceHideDomain: boolean;\r\n availableFields= [];\r\n fieldOriginalName: string;\r\n\r\n public disableMultiselectState$: BehaviorSubject = new BehaviorSubject(true);\r\n get formData() { return this.fieldDetailForm.controls; }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private bpService: BusinessProcessService,\r\n private editFieldsService: EditFieldsService) { }\r\n\r\n ngOnInit() {\r\n this.pleaseWait = true;\r\n this.getEnumArray();\r\n this.editType = this.objInitialState.editType;\r\n this.fieldId = this.objInitialState.fieldId;\r\n\r\n this.createForm();\r\n // this.disableMultiselectState$ = new BehaviorSubject(true);\r\n // this.itemSaved = new Subject();\r\n\r\n if (this.editType === FieldEditType.single) {\r\n this.ngInitSingleEdit();\r\n } else if (this.editType === FieldEditType.multiple) {\r\n this.ngInitMultipleEdit();\r\n }\r\n\r\n if (this.isNew) {\r\n this.isLockedToMe = true;\r\n this.bpInfo = [];\r\n this.fieldInfo = [];\r\n // habilitar os campos correspondentes com os que estão sendo exibidos em tela\r\n this.enableFieldType();\r\n } else {\r\n // caso seja um novo cadastro, ao clicar em salvar, deve-se alterar o título do campo.\r\n this.modalTitle = 'Editar Campo';\r\n }\r\n\r\n }\r\n\r\n ngInitSingleEdit(){\r\n this.isNew = this.objInitialState.fieldId === 0;\r\n this.bpId = this.objInitialState.businessProcessId;\r\n this.forceHideDomain = false;\r\n if (this.bpId) {\r\n this.getBusinessProcessForManagementById();\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessage = 'O parâmetro informado não é válido.';\r\n }\r\n this.disableMultiselectState$.next(false);\r\n }\r\n\r\n ngInitMultipleEdit(){\r\n this.availableStates = this.objInitialState.availableStates;\r\n this.availableFields = this.objInitialState.availableFields;\r\n this.forceHideDomain = true;\r\n this.disableMultiselectState$.next(false);\r\n\r\n this.isNew = this.objInitialState.fieldToEdit.isNew;\r\n\r\n //iremos tirar o tipo chave de correlação, pois não pode ser editável na tela de edição múltipla\r\n this.enumFieldType = this.enumFieldType.filter(item => item.key !== '6');\r\n if (!this.isNew){\r\n this.fieldInfo = this.objInitialState.fieldToEdit;\r\n this.fieldOriginalName = this.fieldInfo.name;\r\n this.loadFieldData();\r\n this.selectedStatesxistingConfig = this.fieldInfo['stateIdsInWhichIsEditable'];\r\n this.selectedStates = this.selectedStatesxistingConfig;\r\n this.isLockedToMe = true;\r\n this.isLockedToOtherUser = false;\r\n this.elementLock = new ElementLock();\r\n }\r\n this.fieldDetailForm.enable();\r\n this.pleaseWait = false;\r\n }\r\n\r\n getBusinessProcessForManagementById() {\r\n this.errorMessage = '';\r\n this.bpService.getBusinessProcessForManagementById(this.bpId)\r\n .subscribe(result => {\r\n this.bpInfo = result;\r\n this.availableStates = result['states'] ? result['states'].map(m => ({ id: m.stateId, label: m.name })) : [];\r\n if (this.fieldId !== 0) {\r\n this.fieldInfo = result['fields'] ? result['fields'].filter(f => f.fieldId === this.fieldId)[0] : [];\r\n this.selectedStatesxistingConfig = this.fieldInfo['stateIdsInWhichIsEditable'];\r\n this.selectedStates = this.selectedStatesxistingConfig;\r\n this.getCurrentElementLock();\r\n this.loadFieldData();\r\n } else {\r\n this.pleaseWait = false;\r\n }\r\n }, error1 => {\r\n let err = error1;\r\n this.pleaseWait = false;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n console.error(error1);\r\n });\r\n }\r\n\r\n getCurrentElementLock() {\r\n this.errorMessage = '';\r\n const userLogon = localStorage.getItem('userLogon').toLowerCase();\r\n this.bpService.getCurrentElementLock(DesignElementType.Field, this.fieldId)\r\n .subscribe( element => {\r\n this.elementLock = element;\r\n if (element) {\r\n this.lockingUserLogon = element.user.logon;\r\n this.isLockedToOtherUser = this.lockingUserLogon && this.lockingUserLogon.toLowerCase() !== userLogon;\r\n this.isLockedToMe = this.bpId === 0 ? true : !this.isLockedToOtherUser;\r\n\r\n if (this.isLockedToOtherUser) {\r\n // this.fieldDetailForm.disable();\r\n this.disableForm(true);\r\n } else {\r\n // this.fieldDetailForm.enable();\r\n this.disableForm(false);\r\n }\r\n } else {\r\n // this.fieldDetailForm.disable();\r\n this.disableForm(true);\r\n\r\n this.isLockedToOtherUser = false;\r\n this.isLockedToMe = false;\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n disableForm(element) {\r\n if (element) {\r\n this.fieldDetailForm.disable();\r\n } else {\r\n this.fieldDetailForm.enable();\r\n }\r\n\r\n // habilitar / desabilitar o dropdown de estado\r\n if (this.childStateDropDown) {\r\n // this.childStateDropDown.isDisable = element;\r\n this.disableMultiselectState$.next(element);\r\n }\r\n }\r\n\r\n getEnumArray() {\r\n const arrays = this.editFieldsService.getEnumArrays();\r\n\r\n this.enumFieldType = arrays.fieldType;\r\n this.enumDateExhibitionFormat = arrays.dateExibitionFormat;\r\n this.enumFieldValidator = arrays.fieldValidator;\r\n this.enumDomain = arrays.domain;\r\n }\r\n\r\n createForm() {\r\n this.fieldDetailForm = this.formBuilder.group({\r\n name: ['', Validators.compose([Validators.required, Validators.maxLength(100), Validators.pattern('^([a-z]|[A-Z])([a-z]|[A-Z]|\\\\d|_)*?$'), CustomValidator.reservedWords])],\r\n displayName: ['', Validators.maxLength(100)],\r\n description: ['', Validators.maxLength(100)],\r\n isRequired: false,\r\n isTrackable: true,\r\n type: 1,\r\n length: 0,\r\n dateExibitionFormat: 0,\r\n validator: 0,\r\n maskType: 0,\r\n domainType: 0,\r\n domain: [ '', Validators.maxLength(this.domainMaxLength)],\r\n stateIdsInWhichIsEditable: [],\r\n fieldId: this.fieldId,\r\n creationDate: [formatDate(Date.now(), 'yyyy-MM-dd', 'en_US')],\r\n modifiedDate: [formatDate(Date.now(), 'yyyy-MM-dd', 'en_US')]\r\n });\r\n }\r\n\r\n loadFieldData() {\r\n const fieldType = parseInt(this.fieldInfo['type'], 10);\r\n const domainType = parseInt(this.fieldInfo['domainType'], 10);\r\n const dateFormatType = parseInt(this.fieldInfo['dateExibitionFormat'], 10);\r\n let domainDesc = '';\r\n\r\n if (this.fieldInfo['domain']) {\r\n domainDesc = this.fieldInfo['domain'].join('\\n');\r\n }\r\n this.fieldDetailForm.patchValue({\r\n name: this.fieldInfo['name'],\r\n displayName: this.fieldInfo['displayName'],\r\n description: this.fieldInfo['description'],\r\n type: fieldType,\r\n length: this.fieldInfo['length'],\r\n dateExibitionFormat: dateFormatType,\r\n isTrackable: this.fieldInfo['isTrackable'],\r\n isRequired: this.fieldInfo['isRequired'],\r\n validator: this.fieldInfo['validator'],\r\n domainType: domainType,\r\n domain: domainDesc,\r\n maskType: parseInt(this.fieldInfo['maskType'], 10),\r\n creationDate: this.fieldInfo['creationDate'],\r\n modifiedDate: this.fieldInfo['modifiedDate']\r\n });\r\n this.enableFieldType(fieldType);\r\n\r\n this.onSelectDomain(domainType);\r\n if (!this.isLockedToMe) {\r\n this.fieldDetailForm.disable();\r\n }\r\n this.fieldDetailForm.patchValue({ maskType: parseInt(this.fieldInfo['maskType'], 10) });\r\n this.pleaseWait = false;\r\n }\r\n\r\n onSave() {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n\r\n const data = this.fieldDetailForm.getRawValue();\r\n data.stateIdsInWhichIsEditable = this.selectedStates;\r\n data.domain = data.domain.split('\\n');\r\n data.type = parseInt(data.type, 10);\r\n data.domainType = parseInt(data.domainType, 10);\r\n data.dateExibitionFormat = parseInt(data.dateExibitionFormat, 10);\r\n data.maskType = parseInt(data.maskType, 10);\r\n data.validator = parseInt(data.validator, 10);\r\n data.name = data.name.trim();\r\n data.displayName = data.displayName !== null ? data.displayName.trim() : '';\r\n data.description = data.description !== null ? data.description.trim() : '';\r\n\r\n if (this.editType === FieldEditType.single) {\r\n this.saveEditSingle(data);\r\n } else if (this.editType === FieldEditType.multiple) {\r\n this.saveEditMultiple(data);\r\n }\r\n\r\n }\r\n\r\n saveEditSingle(data) {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n this.submitClick = true;\r\n\r\n this.bpService.saveField(this.bpId, data).subscribe(s => {\r\n this.pleaseWait = false;\r\n let action = 'criado';\r\n if (data.fieldId !== 0) {\r\n action = 'atualizado';\r\n }\r\n this.successMessage = `O campo foi ${action} com sucesso.`;\r\n this.itemSaved.next(true);\r\n setTimeout(() => {\r\n if (data.fieldId !== 0) {\r\n this.onUnlock();\r\n }\r\n this.submitClick = false; this.successMessage = '';\r\n this.objInitialState.fieldId = s;\r\n\r\n this.ngOnInit();\r\n }, 2500);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n setTimeout(() => { this.submitClick = false; }, 2500);\r\n });\r\n }\r\n\r\n saveEditMultiple(data) {\r\n this.errorMessage = \"\";\r\n data.isNew = this.isNew;\r\n if (this.isNew || (data.name.toLowerCase() != this.fieldOriginalName.toLowerCase())) {\r\n // iremos validar se já existe um campo com o mesmo nome\r\n let hasField = this.availableFields.filter(f => f.name.toLowerCase() === data.name.toLowerCase()).length > 0;\r\n if (hasField) {\r\n this.errorMessage = `Já existe um campo com o nome '${data.name}'`;\r\n return;\r\n }\r\n }\r\n this.itemSaved.next(data);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onEdit() {\r\n this.errorMessage = '';\r\n if (!this.isLockedToOtherUser) {\r\n this.bpService.beginEditingElement(DesignElementType.Field, this.fieldId, this.fieldInfo['name'])\r\n .subscribe( () => { this.fieldDetailForm.enable(); this.getCurrentElementLock(); },\r\n error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n });\r\n }\r\n }\r\n\r\n onUnlock() {\r\n this.errorMessage = '';\r\n this.bpService.endEditingElement(DesignElementType.Field, this.fieldId, this.fieldInfo['name'])\r\n .subscribe( () => {\r\n this.successMessage = 'Campo desbloqueado';\r\n setTimeout(() => { this.successMessage = ''; this.getBusinessProcessForManagementById(); }, 1700);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n } );\r\n }\r\n\r\n onFieldTypeChange(element) {\r\n const selectedType = parseInt(element.target.value, 10);\r\n this.enableFieldType(selectedType);\r\n\r\n this.formData.dateExibitionFormat.setValue(0);\r\n this.formData.length.setValue(0);\r\n this.formData.maskType.setValue(0);\r\n this.formData.validator.setValue(0);\r\n }\r\n\r\n enableFieldType(selectedType: number = 0) {\r\n const fieldDomain = parseInt(this.fieldDetailForm.get('domainType').value, 10);\r\n\r\n this.tableRowLenght = selectedType === FieldType.text;\r\n this.tableRowDateFormat = selectedType === FieldType.date;\r\n this.tableRowValidator = selectedType !== FieldType.correlationKey && selectedType !== FieldType.boolean;\r\n this.tableRowDomain = selectedType !== FieldType.correlationKey && selectedType !== FieldType.boolean;\r\n this.tableRowStates = selectedType !== FieldType.correlationKey;\r\n this.tableRowMask = (selectedType === FieldType.text || selectedType === FieldType.floating)\r\n && fieldDomain === FieldDomainType.none;\r\n\r\n const result = this.editFieldsService.changeFieldType(this.fieldDetailForm, selectedType);\r\n this.enumMaskType = result.enumMaskType;\r\n\r\n }\r\n\r\n onSelectDomain(element) {\r\n const selectedItem = parseInt(element, 10);\r\n const selectedFieldType = parseInt(this.fieldDetailForm.get('type').value, 10);\r\n\r\n this.isFixedDomain = selectedItem === FieldDomainType.fixed;\r\n\r\n this.tableRowMask = (selectedFieldType === FieldType.text || selectedFieldType === FieldType.floating)\r\n && selectedItem === FieldDomainType.none;\r\n\r\n if (selectedItem === FieldDomainType.fixed) {\r\n this.fieldDetailForm.get('domain').setValidators([Validators.required, Validators.maxLength(this.domainMaxLength)]);\r\n } else {\r\n this.fieldDetailForm.get('domain').clearValidators();\r\n this.formData.domain.setValue(\"\");\r\n this.fieldDetailForm.get('domain').setValidators(Validators.maxLength(this.domainMaxLength));\r\n }\r\n }\r\n\r\n onClose() {\r\n if (this.editType === FieldEditType.single){\r\n if (this.isLockedToMe && !this.isNew) {\r\n this.onUnlock();\r\n }\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n } else if (this.editType === FieldEditType.multiple){\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n }\r\n\r\n getSelectedStates(element) {\r\n this.selectedStates = element;\r\n }\r\n\r\n adjustSpaces(value, formControlName) {\r\n // const value = element.target.value;\r\n Utils.adjustSpaces(value, this.fieldDetailForm, formControlName);\r\n }\r\n}\r\n","export default \".tab-pane.active {\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n.tabScroll {\\r\\n min-height: 25rem;\\r\\n max-height: 30rem;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.align-text-center{\\r\\n text-align: center!important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2ZpZWxkcy1tYW5hZ2VtZW50L2ZpZWxkcy1tYW5hZ2VtZW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5QiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9maWVsZHMtbWFuYWdlbWVudC9maWVsZHMtbWFuYWdlbWVudC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRhYi1wYW5lLmFjdGl2ZSB7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlcjogI2Q4ZDhkOCBzb2xpZCAxcHg7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxufVxyXG5cclxuLnRhYlNjcm9sbCB7XHJcbiAgbWluLWhlaWdodDogMjVyZW07XHJcbiAgbWF4LWhlaWdodDogMzByZW07XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmFsaWduLXRleHQtY2VudGVye1xyXG4gIHRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\"","import {ChangeDetectorRef, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren} from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {BehaviorSubject, Observable, Subscription} from 'rxjs';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport {BusinessProcessVersion} from '../../../../Models/businessProcessVersion';\r\nimport {WfTableComponent} from '../../../../common/table-sort/wf-table.component';\r\nimport {EnumTranslator} from '../../../../Models/enum/enumTranslator';\r\nimport {FieldType} from '../../../../Models/enum/fieldType';\r\nimport {take} from 'rxjs/operators';\r\nimport {FieldsMultipleEditionComponent} from './fields-multiple-edition/fields-multiple-edition.component';\r\nimport {EditFieldsService} from '../../../../services/edit-fields.service';\r\nimport {FieldDetailComponent} from '../field-detail/field-detail.component';\r\nimport {FieldEditType} from '../../../../Models/enum/fieldEditType';\r\n\r\n@Component({\r\n selector: 'app-fields-management',\r\n templateUrl: './fields-management.component.html',\r\n styleUrls: ['./fields-management.component.css']\r\n})\r\nexport class FieldsManagementComponent implements OnInit {\r\n\r\n @ViewChild('dataTableFields', { static: false }) dataTableFields: WfTableComponent;\r\n\r\n bpId: number;\r\n inscription: Subscription;\r\n bpInfo: BusinessProcessVersion;\r\n fields: any[];\r\n currentUserId = parseInt(localStorage.getItem('userId'));\r\n fieldsSelection = false;\r\n filterText: string;\r\n pleaseWait: boolean;\r\n blockFieldsError: string;\r\n saveFieldsError: string;\r\n saveFieldsSucess: boolean;\r\n selectAllFields: boolean;\r\n availableStates;\r\n\r\n dateExibitionFormats: any[];\r\n fieldValidators: any[];\r\n fieldTextMasks:any[];\r\n fieldFloatingMasks:any[];\r\n\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private bpService: BusinessProcessService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private modalService: GenericModalService,\r\n private cdRef: ChangeDetectorRef,\r\n private editFieldsService: EditFieldsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.inscription = this.route.params.subscribe(params => {\r\n this.bpId = params['businessProcessId'];\r\n this.getBusinessProcess();\r\n this.getFields();\r\n this.getAvailableStates();\r\n this.getEnumArray();\r\n });\r\n }\r\n\r\n getEnumArray() {\r\n let arrays = this.editFieldsService.getEnumArrays();\r\n this.dateExibitionFormats = arrays.dateExibitionFormat;\r\n this.fieldValidators = arrays.fieldValidator;\r\n this.fieldTextMasks = this.editFieldsService.getTextEnumMaskType();\r\n this.fieldTextMasks[0].label = \"\";\r\n this.fieldFloatingMasks = this.editFieldsService.getFloatingEnumMaskType();\r\n this.fieldFloatingMasks[0].label = \"\";\r\n }\r\n\r\n getBusinessProcess(){\r\n this.blockFieldsError = '';\r\n this.bpService.getLightBusinessProcess(this.bpId).subscribe(result => {\r\n if (result) {\r\n this.bpInfo = result;\r\n }\r\n }, error1 => this.blockFieldsError = error1);\r\n }\r\n\r\n getAvailableStates(){\r\n this.blockFieldsError = '';\r\n this.bpService.getStatesByBusinessProcessId(this.bpId).subscribe(result => {\r\n if (result){\r\n this.availableStates = result.map(m => ({ id: m.stateId, label: m.name }));\r\n }\r\n }, error1 => this.blockFieldsError = error1);\r\n }\r\n\r\n getFields(){\r\n this.blockFieldsError = '';\r\n this.pleaseWait = true;\r\n this.bpService.getFieldsByBusinessProcessId(this.bpId).subscribe(result => {\r\n this.pleaseWait = false;\r\n if (result){\r\n this.fields = result.fields;\r\n this.fields.forEach(field => {\r\n field.validatorDescription = this.getItemValue(field.validator, this.fieldValidators);\r\n field.selected = false;\r\n field.dirty = false;\r\n field.remove = false;\r\n field.extensionData = null;\r\n });\r\n }\r\n }, error1 => this.blockFieldsError = error1);\r\n }\r\n\r\n getFieldTypeEnumTranslated(fieldType) {\r\n if (!fieldType) return \"\";\r\n return EnumTranslator.getEnumValueTranslated(FieldType[fieldType]);\r\n }\r\n\r\n getItemValue(key, list) {\r\n if (key == null) return \"\";\r\n for (let x = 0; x < list.length; x ++)\r\n {\r\n if (list[x].key == key)\r\n {\r\n return list[x].label;\r\n }\r\n }\r\n return undefined;\r\n };\r\n\r\n changeFieldsSelection() {\r\n this.saveFieldsSucess = false;\r\n let count = 0;\r\n let filteredFields = this.filterData();\r\n filteredFields.forEach(field => {\r\n if (!field.blockingUserId || field.blockingUserId == this.currentUserId){\r\n field.selected = !this.fieldsSelection;\r\n count++;\r\n }\r\n });\r\n this.fieldsSelection = !this.fieldsSelection;\r\n }\r\n\r\n filterData() {\r\n const emptyFilter = (this.fields && this.fields.length === 0) || !this.filterText || this.filterText.trim() === '';\r\n if (emptyFilter) {\r\n return this.fields;\r\n }\r\n\r\n if (!emptyFilter) {\r\n return this.fields.filter((v) => {\r\n return (v.name.toLowerCase().indexOf(this.filterText.toLowerCase()) >= 0);\r\n });\r\n }\r\n }\r\n\r\n countSelectedFields() {\r\n return this.getLocalFields(CriteriaLocalField.Selected).length;\r\n }\r\n\r\n countDirtyOrRemovedFields() {\r\n return this.getLocalFields(CriteriaLocalField.DirtyOrRemoved).length;\r\n }\r\n\r\n hasSelectedAndRemovedItems() {\r\n const selected = this.getLocalFields(CriteriaLocalField.Selected);\r\n const removed = this.getLocalFields(CriteriaLocalField.Removed);\r\n return (selected.filter(\r\n field => {\r\n return removed.some( f2 => f2.elementId === field.elementId);\r\n }\r\n )).length > 0;\r\n }\r\n\r\n countAvailableFields(){\r\n let filteredFields = this.filterData();\r\n let list = filteredFields.filter((f) => !f.blockingUserId || f.blockingUserId == this.currentUserId);\r\n return list.length;\r\n }\r\n\r\n getLocalFields(criteria: CriteriaLocalField, completeField: boolean = false){\r\n if (!this.fields) return [];\r\n return this.fields.filter((v) => {\r\n switch (criteria){\r\n case CriteriaLocalField.Selected:\r\n return (v.selected);\r\n case CriteriaLocalField.SelectedAndNotNew:\r\n return (v.selected && v.fieldId != 0);\r\n case CriteriaLocalField.Dirty:\r\n return (v.dirty);\r\n case CriteriaLocalField.Removed:\r\n return (v.remove);\r\n case CriteriaLocalField.SelectedAndRemoved:\r\n return (v.remove && v.selected);\r\n case CriteriaLocalField.DirtyOrRemoved:\r\n return (v.dirty || v.remove);\r\n case CriteriaLocalField.CurrentUser:\r\n return (v.blockingUserId === this.currentUserId);\r\n }\r\n }).map(function(f){\r\n if (completeField){\r\n return f;\r\n }else{\r\n return {\r\n elementId : f.fieldId,\r\n elementName : f.name\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSelectFieldChange() {\r\n this.saveFieldsSucess = false;\r\n if (this.countSelectedFields() < this.countAvailableFields()){\r\n this.selectAllFields = false;\r\n this.fieldsSelection = false;\r\n }\r\n }\r\n\r\n flagForRemoval() {\r\n let alert: any;\r\n alert = this.modalService.showConfirmModal('Confirmação de Exclusão', 'Confirma a marcação para exclusão do(s) campo(s)?');\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.blockFieldsError = '';\r\n this.beginEditing(\r\n ()=>{\r\n this.fields.forEach(field => {\r\n if (field.selected){\r\n field.remove = true;\r\n field.dirty = false;\r\n field.blockingUserId = this.currentUserId;\r\n }\r\n });\r\n })\r\n }\r\n });\r\n };\r\n\r\n cancelRemove() {\r\n let list = this.getLocalFields(CriteriaLocalField.SelectedAndRemoved);\r\n if (list.length == 0) return;\r\n this.cancelEditing(list, () => {\r\n this.fields.forEach(field => {\r\n if (field.remove && field.selected) {\r\n field.remove = false;\r\n field.blockingUserId = null;\r\n }\r\n });\r\n }, false);\r\n\r\n }\r\n\r\n beginEditing(successCallback){\r\n this.blockFieldsError = \"\";\r\n let list = this.getLocalFields(CriteriaLocalField.SelectedAndNotNew);\r\n\r\n if (list.length == 0) {\r\n successCallback();\r\n return;\r\n }\r\n this.bpService.beginEditingGroup(3, list).subscribe(result => {\r\n successCallback();\r\n },\r\n error => {\r\n //mostra a msg de erro e recarrega todos os campos, pois não sabemos quais foram desbloqueados e quais não foram\r\n this.blockFieldsError = error;\r\n this.updateBlockingUserIdAttribute();\r\n });\r\n }\r\n\r\n cancelEditing(fields: any[], successCallback, callbackAnyway: boolean){\r\n this.blockFieldsError = \"\";\r\n if (fields.length == 0 || !successCallback) return;\r\n this.blockFieldsError = '';\r\n this.bpService.cancelEditingGroup(3, fields).subscribe(result => {\r\n successCallback(this);\r\n },\r\n error => {\r\n if (callbackAnyway) {\r\n successCallback(this);\r\n }\r\n //mostra a msg de erro e recarrega todos os campos, pois não sabemos quais foram desbloqueados e quais não foram\r\n this.blockFieldsError = error;\r\n //this.updateBlockingUserIdAttribute();\r\n });\r\n }\r\n\r\n updateBlockingUserIdAttribute(){\r\n //this.blockFieldsError = '';\r\n this.bpService.getFieldsByBusinessProcessId(this.bpId).subscribe(result => {\r\n if (result){\r\n let newFieldList = result.fields;\r\n this.fields.forEach(field => {\r\n let dbField = newFieldList.filter((f) => {\r\n return (f.fieldId === field.fieldId);\r\n });\r\n if (dbField && dbField.length === 1){\r\n field.blockingUserId = dbField[0].blockingUserId;\r\n if (field.blockingUserId != null && field.blockingUserId != this.currentUserId) {\r\n field.selected = false;\r\n }\r\n }\r\n });\r\n }\r\n }, error1 => this.blockFieldsError = this.blockFieldsError + ' ' + error1);\r\n }\r\n\r\n newField() {\r\n this.blockFieldsError = '';\r\n this.bpService.checkRights(128)\r\n .subscribe( rights => {\r\n if (rights.length > 0) {\r\n const field = {fieldId: 0, isNew: true};\r\n this.openEditModal('Cadastrar', field);\r\n } else {\r\n this.blockFieldsError = 'Erro: Usuário não tem direito de efetuar esta ação.';\r\n }\r\n }, error1 => {\r\n this.blockFieldsError = error1;\r\n });\r\n }\r\n\r\n editFields() {\r\n if (this.countSelectedFields() == 1){\r\n this.beginEditing(()=> {\r\n let selectedField = this.getLocalFields(CriteriaLocalField.Selected, true)[0];\r\n selectedField.blockingUserId = this.currentUserId;\r\n selectedField.isNew = false;\r\n this.openEditModal('Editar', selectedField);\r\n })\r\n } else if (this.countSelectedFields() > 1){\r\n this.beginEditing(() => {\r\n this.fields.forEach(field => {\r\n if (field.selected){\r\n field.blockingUserId = this.currentUserId;\r\n }\r\n });\r\n let inputDataModal = {\r\n countSelectedFields: this.countSelectedFields(),\r\n availableStates: this.availableStates\r\n };\r\n const destComponent: any = FieldsMultipleEditionComponent;\r\n const result$ = this.modalService.showObjModal(destComponent, `Editar Campos`, inputDataModal, 'modal-lg');\r\n\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe(result => {\r\n if (result) {\r\n this.applyChangesToSelectedFields(result);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n openEditModal(viewType, field){\r\n let inputDataModal = {\r\n fieldId: field.fieldId,\r\n fieldToEdit: field,\r\n editType: FieldEditType.multiple,\r\n availableStates: this.availableStates,\r\n availableFields: this.fields\r\n };\r\n\r\n const destComponent: any = FieldDetailComponent;\r\n const result$ = this.modalService.showObjModal(destComponent, `${viewType} Campo`, inputDataModal, 'modal-xl');\r\n if (result$) {\r\n result$.asObservable()\r\n .pipe(take(1))\r\n .subscribe(result => {\r\n if (!result) return;\r\n result.dirty = true;\r\n if (result.isNew) {\r\n result.blockingUserId = this.currentUserId;\r\n result.selected = false;\r\n this.fields.push(result);\r\n } else {\r\n this.applyChangesToSelectedField(result);\r\n }\r\n });\r\n }\r\n }\r\n\r\n applyChangesToSelectedFields(fieldChanges){\r\n let fields = this.getLocalFields(CriteriaLocalField.Selected, true);\r\n fields.forEach(f => {\r\n f.dirty = true;\r\n if (fieldChanges.chkDisplayName){\r\n f.displayName = fieldChanges.displayName.trim();\r\n }\r\n if (fieldChanges.chkDescription){\r\n f.description = fieldChanges.description.trim();\r\n }\r\n if (fieldChanges.chkType){\r\n f.type = fieldChanges.type;\r\n f.length = fieldChanges.length;\r\n f.dateExibitionFormat = fieldChanges.dateExibitionFormat;\r\n f.maskType = fieldChanges.maskType;\r\n if (fieldChanges.type === 5) {\r\n f.validator = 0;\r\n }\r\n }\r\n if (fieldChanges.chkRequired){\r\n f.isRequired = fieldChanges.isRequired;\r\n }\r\n if (fieldChanges.chkTrackable){\r\n f.isTrackable = fieldChanges.isTrackable;\r\n }\r\n if (fieldChanges.chkValidator){\r\n f.validator = fieldChanges.validator;\r\n }\r\n if (fieldChanges.chkStates){\r\n f.stateIdsInWhichIsEditable = fieldChanges.stateIdsInWhichIsEditable;\r\n }\r\n\r\n })\r\n }\r\n\r\n applyChangesToSelectedField(fieldChanges){\r\n let fields = this.getLocalFields(CriteriaLocalField.Selected, true);\r\n this.fields.forEach(f => {\r\n if (f.fieldId === fieldChanges.fieldId){\r\n f.dirty = true;\r\n f.name = fieldChanges.name;\r\n f.displayName = fieldChanges.displayName.trim();\r\n f.description = fieldChanges.description.trim();\r\n f.type = fieldChanges.type;\r\n f.length = fieldChanges.length;\r\n f.dateExibitionFormat = fieldChanges.dateExibitionFormat;\r\n f.maskType = fieldChanges.maskType;\r\n f.isRequired = fieldChanges.isRequired;\r\n f.isTrackable = fieldChanges.isTrackable;\r\n f.validator = fieldChanges.validator;\r\n f.stateIdsInWhichIsEditable = fieldChanges.stateIdsInWhichIsEditable;\r\n return;\r\n }\r\n })\r\n }\r\n\r\n onSave() {\r\n let alert = this.modalService.showConfirmModal('Confirmação para salvar', 'Tem certeza que deseja salvar todas as alterações? Essa operação não é reversível.');\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.saveFieldsError = '';\r\n this.blockFieldsError = '';\r\n this.saveFieldsSucess = false;\r\n\r\n let dirtyFields = this.getLocalFields(CriteriaLocalField.Dirty, true);\r\n let removedFields = this.getLocalFields(CriteriaLocalField.Removed, true);\r\n\r\n if (dirtyFields.length == 0 && removedFields.length == 0) return;\r\n\r\n this.bpService.saveFields(this.bpId, dirtyFields, removedFields).subscribe(result => {\r\n this.getFields();\r\n this.saveFieldsSucess = true;\r\n setTimeout(() => { this.saveFieldsSucess = false;}, 2500);\r\n },\r\n error => {\r\n this.saveFieldsError = error;\r\n });\r\n }\r\n });\r\n }\r\n\r\n onBack() {\r\n let alert: any;\r\n if (this.getLocalFields(CriteriaLocalField.DirtyOrRemoved).length == 0){\r\n this.navigateToBusinessProcessPage(this);\r\n return;\r\n }\r\n\r\n alert = this.modalService.showConfirmModal('Há alterações não salvas', 'Deseja descartar as alterações e voltar para edição de processo de negócio?');\r\n alert.then((result) => {\r\n if (result.value) {\r\n //iremos desbloquear todos os campos antes de voltar para a tela anterior\r\n let list = this.getLocalFields(CriteriaLocalField.CurrentUser);\r\n this.cancelEditing(list, this.navigateToBusinessProcessPage, true);\r\n }\r\n });\r\n }\r\n\r\n navigateToBusinessProcessPage(context){\r\n context.router.navigate(['/businessProcess', context.bpId, 1]);\r\n }\r\n\r\n\r\n\r\n\r\n}\r\nenum CriteriaLocalField {\r\n Selected,\r\n Dirty,\r\n Removed,\r\n CurrentUser,\r\n DirtyOrRemoved,\r\n SelectedAndRemoved,\r\n SelectedAndNotNew\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.tooltip-custom-class {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\napp-dropdown-multiselect form .ng-select-container {\\r\\n background-color: #e9ecef;\\r\\n}\\r\\n\\r\\n.form-group-inline {\\r\\n display: inline-flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.form-group{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.custom-checkbox{\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-checkbox-label{\\r\\n width: 85px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2ZpZWxkcy1tYW5hZ2VtZW50L2ZpZWxkcy1tdWx0aXBsZS1lZGl0aW9uL2ZpZWxkcy1tdWx0aXBsZS1lZGl0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxvQkFBb0I7RUFDcEIsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2ZpZWxkcy1tYW5hZ2VtZW50L2ZpZWxkcy1tdWx0aXBsZS1lZGl0aW9uL2ZpZWxkcy1tdWx0aXBsZS1lZGl0aW9uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udG9vbHRpcC1jdXN0b20tY2xhc3Mge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbmFwcC1kcm9wZG93bi1tdWx0aXNlbGVjdCBmb3JtIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xyXG59XHJcblxyXG4uZm9ybS1ncm91cC1pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9ybS1ncm91cHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmN1c3RvbS1jaGVja2JveHtcclxuICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4uY3VzdG9tLWNoZWNrYm94LWxhYmVse1xyXG4gIHdpZHRoOiA4NXB4O1xyXG59XHJcbiJdfQ== */\"","import {Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {BehaviorSubject, Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {BusinessProcessService} from '../../../../../services/business-process.service';\r\nimport {EditFieldsService} from '../../../../../services/edit-fields.service';\r\n\r\n@Component({\r\n selector: 'app-field-detail',\r\n templateUrl: './fields-multiple-edition.component.html',\r\n styleUrls: ['./fields-multiple-edition.component.css', '../../../../../styles/business-process-configuration.css']\r\n})\r\nexport class FieldsMultipleEditionComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n\r\n itemSaved: Subject;\r\n fieldDetailForm: FormGroup;\r\n\r\n enumFieldType: any[];\r\n enumDateExhibitionFormat: any[];\r\n enumFieldValidator: any[];\r\n enumMaskType: any[];\r\n fieldInfo: any\r\n countSelectedFields = 0;\r\n availableStates = [];\r\n selectedStatesxistingConfig = [];\r\n selectedStates = [];\r\n objInitialState;\r\n public disableMultiselectState$: BehaviorSubject;\r\n\r\n\r\n get formData() { return this.fieldDetailForm.controls; }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private bpService: BusinessProcessService, private editFieldsService: EditFieldsService) { }\r\n\r\n ngOnInit() {\r\n if (this.objInitialState){\r\n this.availableStates = this.objInitialState.availableStates;\r\n this.countSelectedFields = this.objInitialState.countSelectedFields;\r\n }\r\n this.disableMultiselectState$ = new BehaviorSubject(true);\r\n\r\n this.getEnumArray();\r\n\r\n this.itemSaved = new Subject()\r\n this.fieldInfo = {};\r\n this.createForm();\r\n this.loadFieldData();\r\n }\r\n\r\n getEnumArray() {\r\n let arrays = this.editFieldsService.getEnumArrays();\r\n\r\n this.enumFieldType = arrays.fieldType;\r\n this.enumFieldType = this.enumFieldType.filter(item => item.key !== '6');\r\n\r\n this.enumDateExhibitionFormat = arrays.dateExibitionFormat;\r\n this.enumFieldValidator = arrays.fieldValidator;\r\n }\r\n\r\n createForm() {\r\n this.fieldDetailForm = this.formBuilder.group({\r\n displayName: new FormControl({value: '', disabled: true}, [Validators.maxLength(100)]),\r\n chkDisplayName: false,\r\n description: new FormControl({value: '', disabled: true}, [Validators.maxLength(100)]),\r\n chkDescription: false,\r\n type: new FormControl({value: 0, disabled: true}),\r\n chkType: false,\r\n length: null,\r\n dateExibitionFormat: 1,\r\n maskType: 0,\r\n isRequired: new FormControl({value: false, disabled: true}),\r\n chkRequired: false,\r\n isTrackable: new FormControl({value: false, disabled: true}),\r\n chkTrackable: false,\r\n validator: new FormControl({value: 0, disabled: true}),\r\n chkValidator: false,\r\n chkStates: false\r\n });\r\n }\r\n\r\n loadFieldData() {\r\n this.fieldInfo['displayName'] = \"\";\r\n this.fieldInfo['description'] = \"\";\r\n this.fieldInfo['type'] = 1;\r\n this.fieldInfo['length'] = null;\r\n this.fieldInfo['dateExibitionFormat']=0;\r\n this.fieldInfo['isTrackable'] = false;\r\n this.fieldInfo['isRequired'] = false;\r\n this.fieldInfo['validator'] = 0;\r\n this.fieldInfo['maskType'] = 0;\r\n\r\n this.fieldDetailForm.patchValue({\r\n displayName: this.fieldInfo['displayName'],\r\n description: this.fieldInfo['description'],\r\n type: this.fieldInfo['type'],\r\n length: this.fieldInfo['length'],\r\n dateExibitionFormat: this.fieldInfo['dateExibitionFormat'],\r\n isTrackable: this.fieldInfo['isTrackable'],\r\n isRequired: this.fieldInfo['isRequired'],\r\n validator: this.fieldInfo['validator'],\r\n maskType: this.fieldInfo['maskType']\r\n });\r\n }\r\n\r\n onFieldTypeChange(element) {\r\n const selectedType = parseInt(element.target.value, 10);\r\n let result = this.editFieldsService.changeFieldType(this.fieldDetailForm, selectedType)\r\n this.enumMaskType = result.enumMaskType;\r\n this.resetTypeDependenciesValues();\r\n if (selectedType === 5){\r\n this.formData.chkValidator.setValue(false);\r\n this.formData.validator.setValue(0);\r\n this.formData.validator.disable();\r\n }\r\n }\r\n\r\n onChkRequiredChanged() {\r\n if (this.formData.chkRequired.value){\r\n this.formData.isRequired.enable();\r\n } else {\r\n this.formData.isRequired.disable();\r\n this.formData.isRequired.setValue(false);\r\n }\r\n }\r\n\r\n onChkTrackableChanged() {\r\n if (this.formData.chkTrackable.value){\r\n this.formData.isTrackable.enable();\r\n } else {\r\n this.formData.isTrackable.disable();\r\n this.formData.isTrackable.setValue(false);\r\n }\r\n }\r\n\r\n getSelectedStates(element) {\r\n this.selectedStates = element;\r\n }\r\n\r\n onChkStatesChanged() {\r\n this.disableMultiselectState$.next(!this.formData.chkStates.value);\r\n }\r\n\r\n onChkTypeChanged() {\r\n if (this.formData.chkType.value) {\r\n if (!this.formData.type.value){\r\n this.formData.type.setValue(1);\r\n }\r\n this.formData.type.enable();\r\n }\r\n else {\r\n this.formData.type.disable();\r\n this.formData.type.setValue(1);\r\n this.resetTypeDependenciesValues();\r\n }\r\n }\r\n\r\n resetTypeDependenciesValues(){\r\n this.formData.dateExibitionFormat.setValue(0);\r\n this.formData.length.setValue(null);\r\n this.formData.maskType.setValue(0);\r\n }\r\n\r\n getIntValue(stringValue){\r\n if (stringValue){\r\n return parseInt(stringValue, 10);\r\n }\r\n return 0;\r\n }\r\n\r\n onSave() {\r\n const data = this.fieldDetailForm.getRawValue();\r\n data.stateIdsInWhichIsEditable = this.selectedStates;\r\n data.type = this.getIntValue(data.type);\r\n data.dateExibitionFormat = this.getIntValue(data.dateExibitionFormat);\r\n data.maskType = this.getIntValue(data.maskType);\r\n data.validator = this.getIntValue(data.validator);\r\n data.length = this.getIntValue(data.length);\r\n\r\n this.itemSaved.next(data);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9oaXN0b3J5LXJlcG9ydC12aXNpYmlsaXR5L2hpc3RvcnktcmVwb3J0LXZpc2liaWxpdHkuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, OnDestroy, ViewChild} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport { AdminService } from '../../../../services/admin.service';\r\nimport { Group } from '../../../../Models/group';\r\nimport { take } from 'rxjs/operators';\r\nimport { CheckboxListComponent, ICheckboxListSettings} from '../../../../common/checkbox-list/checkbox-list.component';\r\n\r\n@Component({\r\n selector: 'app-history-report-visibility',\r\n templateUrl: './history-report-visibility.component.html',\r\n styleUrls: ['./history-report-visibility.component.css', '../../../../styles/business-process-configuration.css']\r\n})\r\nexport class HistoryReportVisibilityComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild(CheckboxListComponent, { static: false }) checkboxListComponent: CheckboxListComponent;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private bpService: BusinessProcessService,\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService\r\n ) { }\r\n\r\n get formData() {\r\n return this.form.controls;\r\n }\r\n\r\n form: FormGroup;\r\n\r\n fieldsData = [];\r\n existingFieldsConfig = [];\r\n existingStatesConfig = [];\r\n statesData = [];\r\n groupsWithConfigs = [];\r\n selectedFields = [];\r\n selectedStates = [];\r\n\r\n fieldListSettings: ICheckboxListSettings;\r\n stateListSettings: ICheckboxListSettings;\r\n\r\n errorMessage = '';\r\n successMessage = '';\r\n submitClick = false;\r\n\r\n bpId: number;\r\n bpName: string;\r\n bpDescription: string;\r\n inscription: Subscription;\r\n groupList: Observable;\r\n\r\n ngOnInit() {\r\n this.inscription = this.route.params.subscribe(\r\n params => {\r\n this.bpId = params['id'];\r\n }\r\n );\r\n\r\n this.initializeForm();\r\n\r\n if (!isNaN(parseFloat(this.bpId.toString()))) {\r\n this.bpService.getPublishedFieldsByBusinessProcessId(this.bpId)\r\n .subscribe( fields => {\r\n this.fieldsData = fields;\r\n this.setFieldListSettings();\r\n });\r\n\r\n this.bpService.getPublishedBusinessProcessById(this.bpId)\r\n .subscribe( businessProcess => {\r\n this.bpName = businessProcess.name;\r\n this.bpDescription = businessProcess.description;\r\n this.bpService.getStatesByBusinessProcessSpecificVersion(this.bpId, businessProcess.version)\r\n .subscribe( result => {\r\n this.statesData = result;\r\n this.setStateListSettings();\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n this.checkGroupsWithConfigs();\r\n this.loadGroups();\r\n } else {\r\n this.errorMessage = 'Erro: Não foi possível recuperar as informações para o valor informado.';\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.submitClick = true;\r\n this.errorMessage = '';\r\n\r\n const newConfig: NewConfiguration = {\r\n businessProcessId: this.bpId,\r\n groupId: this.form.controls.groupId.value,\r\n visibleFieldIds: this.selectedFields,\r\n visibleStateIds: this.selectedStates,\r\n };\r\n\r\n this.bpService.createHistoryReportViewConfig(newConfig)\r\n .pipe(take(1))\r\n .subscribe( resp => {\r\n this.checkGroupsWithConfigs();\r\n this.submitClick = true;\r\n this.successMessage = this.checkPreviousConfig(this.form.controls.groupId.value) ?\r\n 'Configuração atualizada com sucesso.' : 'Configuração criada com sucesso.';\r\n setTimeout(() => { this.submitClick = false; this.successMessage = ''; }, 2500);\r\n }, error1 => {\r\n this.errorMessage = this.extractErrorMessage(error1);\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n loadGroups() {\r\n this.groupList = this.admService.loadGroupList();\r\n }\r\n\r\n checkGroupsWithConfigs() {\r\n this.errorMessage = '';\r\n this.bpService.getHistoryReportViewConfigurations(this.bpId)\r\n .subscribe( configs => {\r\n this.groupsWithConfigs = configs.map( config => config.groupId);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n initializeForm() {\r\n this.form = this.formBuilder.group({\r\n groupId: [0, this.validateGroup],\r\n });\r\n }\r\n\r\n onGroupChange(element) {\r\n if (element.target.value == 0) {\r\n document.getElementById('groups').classList.add('is-invalid');\r\n this.submitClick = true;\r\n } else {\r\n document.getElementById('groups').classList.remove('is-invalid');\r\n this.submitClick = false;\r\n }\r\n this.errorMessage = '';\r\n if (element.target.value !== null) {\r\n this.bpService.getHistoryReportViewConfigurations(this.bpId)\r\n .subscribe( configs => {\r\n this.existingFieldsConfig = configs.filter(config => config.groupId == element.target.value)\r\n .map(config => config.visibleFieldIds)[0];\r\n this.selectedFields = this.existingFieldsConfig;\r\n this.existingStatesConfig = configs.filter(config => config.groupId == element.target.value)\r\n .map(config => config.visibleStateIds)[0];\r\n this.selectedStates = this.existingStatesConfig;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n document.getElementById('btnBack').focus();\r\n });\r\n }\r\n }\r\n\r\n onDelete() {\r\n this.submitClick = true;\r\n this.errorMessage = '';\r\n this.bpService.deleteHistoryReportViewConfiguration(this.bpId, Number(this.form.controls.groupId.value))\r\n .subscribe( success => {\r\n this.submitClick = true;\r\n this.successMessage = 'A configuração de visualização para o grupo selecionado foi excluída.';\r\n setTimeout(() => { this.submitClick = false; this.successMessage = ''; this.ngOnInit(); }, 2500);\r\n }, error => {\r\n this.errorMessage = error;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n validateGroup(input: FormControl) {\r\n return input.value === 0 ? { emptyGroup: true } : null;\r\n }\r\n\r\n checkPreviousConfig(groupId: string) {\r\n return this.groupsWithConfigs.indexOf(Number(groupId)) > -1;\r\n }\r\n\r\n extractErrorMessage(error1: any) {\r\n let res = '';\r\n if (error1 != null) {\r\n if (error1.includes('não existe') && error1.includes('campo')) {\r\n res = this.extractNamesFromErrorMessage(error1, 'field', this.fieldsData);\r\n } else if (error1.includes('não existe') && error1.includes('estado')) {\r\n res = this.extractNamesFromErrorMessage(error1, 'state', this.statesData);\r\n }\r\n }\r\n return (res !== '' ? res : error1);\r\n }\r\n\r\n // Types = field or state // itens = array de fields ou array de estados\r\n extractNamesFromErrorMessage(errorMessage: string, type: string, items: any[]) {\r\n const names = [];\r\n let name = '';\r\n const messages = errorMessage.match(/(ID=\\d+)+/g);\r\n messages.forEach(message => {\r\n const id = message.match(/(\\d)+/);\r\n items.forEach( item => {\r\n if (type === 'field' && item.fieldId === Number(id[0])) {\r\n name = item.name;\r\n }\r\n if (type === 'state' && item.stateId === Number(id[0])) {\r\n name = item.name;\r\n }\r\n });\r\n if (name !== '') {\r\n names.push(name);\r\n } else {\r\n names.push(message);\r\n }\r\n });\r\n return 'Os seguintes ' + (type === 'field' ? 'campos' : 'estados') + ' não existem ou foram excluídos: ' +\r\n names.join(', ');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.inscription.unsubscribe();\r\n }\r\n\r\n getSelectedFields(element) {\r\n this.selectedFields = element;\r\n }\r\n\r\n getSelectedStates(element) {\r\n this.selectedStates = element;\r\n }\r\n\r\n setFieldListSettings() {\r\n this.fieldListSettings = {\r\n height: 250,\r\n idPropertyName: 'fieldId',\r\n namePropertyName: 'name',\r\n listTitle: 'Visibilidade de campos',\r\n inputSearchId: 'inputSearchFields',\r\n listOf: 'field'\r\n };\r\n }\r\n\r\n setStateListSettings() {\r\n this.stateListSettings = {\r\n height: 250,\r\n idPropertyName: 'stateId',\r\n namePropertyName: 'name',\r\n listTitle: 'Visibilidade de estados',\r\n inputSearchId: 'inputSearchStates',\r\n listOf: 'state'\r\n };\r\n }\r\n\r\n}\r\n\r\nexport interface NewConfiguration {\r\n businessProcessId: number;\r\n groupId: number;\r\n visibleFieldIds: any[];\r\n visibleStateIds: any[];\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL2ltcG9ydC9pbXBvcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQyIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9pbXBvcnQvaW1wb3J0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWwtY29udGVudCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import {Component, ElementRef, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {BusinessProcess} from '../../../../Models/businessProcess';\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\nimport {FormsValidatorService} from '../../../../services/forms-validator.service';\r\nimport {HttpEventType} from '@angular/common/http';\r\nimport {Utils} from '../../../../services/utils';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\n\r\n@Component({\r\n selector: 'app-import',\r\n templateUrl: './import.component.html',\r\n styleUrls: ['./import.component.css', '../../../../styles/modals.css']\r\n})\r\nexport class ImportComponent implements OnInit {\r\n\r\n @ViewChild('lblFile', { static: false }) file: ElementRef;\r\n fileToUpload: File = null;\r\n fileUploadText = 'Selecione o arquivo';\r\n\r\n @Input() modalTitle: string;\r\n @Output() itemSaved: Subject;\r\n\r\n optScopeReplaceChecked = true;\r\n optScopeNewChecked = false;\r\n availableBP: BusinessProcess[];\r\n\r\n importForm: FormGroup;\r\n submitClick = false;\r\n successMessage = '';\r\n errorMessage = '';\r\n pleaseWaitMessage = '';\r\n\r\n get formData() { return this.importForm.controls; }\r\n\r\n constructor(public bsModalRef: BsModalRef, private formBuilder: FormBuilder, private bpService: BusinessProcessService,\r\n public modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.itemSaved = new Subject();\r\n this.createForm();\r\n this.loadAllBusinessProcesses();\r\n }\r\n\r\n loadAllBusinessProcesses() {\r\n this.bpService.getAllBusinessProcesses().subscribe(res => {\r\n this.availableBP = res.sort((a, b) => a.name.localeCompare(b.name));\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n });\r\n }\r\n\r\n createForm() {\r\n this.importForm = this.formBuilder.group({\r\n scopeReplace: ['', Validators.required],\r\n scopeNew: ['', Validators.maxLength(100)],\r\n fileBP: ['', Validators.compose([ Validators.required ])]\r\n });\r\n }\r\n\r\n onFileChange(files: FileList) {\r\n if (files.length > 0) {\r\n const ext = files[0].name.split('.')[1];\r\n // somente se a extensão for .bp, deixar continuar.\r\n if (ext === 'bp') {\r\n this.file.nativeElement.innerText = Array.from(files).map(r => r.name).join(', ');\r\n this.fileToUpload = files.item(0);\r\n }\r\n }\r\n }\r\n\r\n clearSelectedFile() {\r\n this.file.nativeElement.innerText = this.fileUploadText;\r\n this.fileToUpload = null;\r\n this.importForm.get('fileBP').patchValue('');\r\n }\r\n\r\n onImport() {\r\n this.enableFields(false);\r\n let bpName = '';\r\n const pleaseWaitLayout = ' []';\r\n\r\n this.errorMessage = '';\r\n\r\n if (this.optScopeReplaceChecked) {\r\n bpName = this.availableBP\r\n .filter(f => f.businessProcessId === this.importForm.controls.scopeReplace.value)\r\n .map(m => m.name)[0];\r\n } else {\r\n bpName = this.importForm.controls.scopeNew.value;\r\n }\r\n\r\n this.pleaseWaitMessage = pleaseWaitLayout.replace('[]', 'Upload de arquivo. Por favor, aguarde');\r\n this.bpService.uploadBusinessProcess(this.fileToUpload)\r\n .subscribe(data => {\r\n if (data.type === HttpEventType.UploadProgress) {\r\n console.log('upload in progress');\r\n }\r\n if (data.type === HttpEventType.Response) {\r\n console.log('upload complete');\r\n }\r\n },\r\n error1 => {\r\n this.enableFields(true);\r\n this.setErrorMessage(error1);\r\n this.pleaseWaitMessage = '';\r\n },\r\n () => {\r\n this.pleaseWaitMessage = pleaseWaitLayout.replace('[]', 'Importando processo de negócio');\r\n this.importBusinessProcess(bpName);\r\n });\r\n }\r\n\r\n importBusinessProcess(bpName){\r\n this.bpService.importBusinessProcess(bpName).subscribe(imp => {\r\n if (imp.type === HttpEventType.UploadProgress) {\r\n console.log('import in progress');\r\n }\r\n if (imp.type === HttpEventType.Response) {\r\n console.log('import complete');\r\n this.enableFields(true);\r\n this.pleaseWaitMessage = '';\r\n this.successMessage = 'Processo de Negócio importado com sucesso!';\r\n this.itemSaved.next(true);\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.bsModalRef.hide();\r\n }, 2000);\r\n }\r\n },\r\n error1 => {\r\n this.pleaseWaitMessage = '';\r\n this.enableFields(true);\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.errorMessage = err;\r\n console.error(error1);\r\n });\r\n }\r\n\r\n enableFields(enable){\r\n if (enable){\r\n this.importForm.get('scopeNew').enable();\r\n this.importForm.get('scopeReplace').enable();\r\n this.importForm.get('fileBP').enable();\r\n } else {\r\n this.importForm.get('scopeNew').disable();\r\n this.importForm.get('scopeReplace').disable();\r\n this.importForm.get('fileBP').disable();\r\n }\r\n }\r\n\r\n setErrorMessage(err) {\r\n if (err.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.pleaseWaitMessage = '';\r\n this.errorMessage = err;\r\n console.error(err);\r\n }\r\n\r\n optClick(element) {\r\n if (element.target.id.indexOf('Replace') > -1) {\r\n this.optScopeReplaceChecked = true;\r\n this.optScopeNewChecked = false;\r\n this.importForm.controls['scopeReplace'].setValidators([Validators.required]);\r\n FormsValidatorService.removeValidator( this.importForm, 'scopeNew');\r\n } else if (element.target.id.indexOf('New') > -1) {\r\n this.optScopeReplaceChecked = false;\r\n this.optScopeNewChecked = true;\r\n this.importForm.controls['scopeNew'].setValidators([ Validators.required ]);\r\n FormsValidatorService.removeValidator( this.importForm, 'scopeReplace');\r\n }\r\n this.importForm.get('scopeNew').updateValueAndValidity();\r\n this.importForm.get('scopeReplace').updateValueAndValidity();\r\n }\r\n\r\n validateScopeNew(element) {\r\n const value = element.target.value;\r\n // remover os espaços a mais e atualizar no form\r\n Utils.adjustSpaces(value, this.importForm, 'scopeNew');\r\n\r\n const allBp = this.availableBP.map(m => m.name.toLowerCase());\r\n if (allBp.indexOf(value.toLowerCase()) > -1) {\r\n this.importForm.controls['scopeNew'].setErrors({ isValidScopeNew: true });\r\n } else {\r\n this.importForm.controls['scopeNew'].setErrors(null);\r\n }\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.page-link {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL21hbmFnZS1sb2NrZWQtZWxlbWVudHMvbWFuYWdlLWxvY2tlZC1lbGVtZW50cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOztBQUVBO0VBQ0UsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9tYW5hZ2UtbG9ja2VkLWVsZW1lbnRzL21hbmFnZS1sb2NrZWQtZWxlbWVudHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucGFnZS1saW5rIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIl19 */\"","import {Component, OnInit} from '@angular/core';\r\nimport {FormArray, FormBuilder, FormControl, FormGroup} from '@angular/forms';\r\nimport {Subscription} from 'rxjs';\r\nimport {ActivatedRoute} from '@angular/router';\r\n\r\nimport {BusinessProcessService} from '../../../../services/business-process.service';\r\nimport {CustomValidator} from '../../../../services/custom-validator';\r\nimport {LockStatus} from '../../../../Models/enum/lockStatus';\r\nimport {Utils} from '../../../../services/utils';\r\nimport {DesignElementType} from '../../../../Models/enum/designElementType';\r\nimport {WebClientConfigurationService} from '../../../../services/configuration/web-client-configuration.service';\r\nimport {ElementLock} from '../../../../Models/elementLock';\r\nimport {LibraryItem} from '../../../../Models/parallelDesign/libraryItem';\r\nimport {LibraryItemType} from '../../../../Models/enum/libraryItemType';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n selector: 'app-manage-locked-elements',\r\n templateUrl: './manage-locked-elements.component.html',\r\n styleUrls: ['./manage-locked-elements.component.css']\r\n})\r\nexport class ManageLockedElementsComponent implements OnInit {\r\n\r\n utilsFunction = Utils;\r\n bpId: number;\r\n bpName: string;\r\n bpVersion: number;\r\n\r\n inscription: Subscription;\r\n\r\n elementsListSearch: string;\r\n manageLockedElementsForm: FormGroup;\r\n businessProcessLibrary: LibraryItem[];\r\n lockedElementsData = [];\r\n isRight = false;\r\n private userLogon = localStorage.getItem('userLogon');\r\n\r\n errorMessage: string;\r\n successMessage: string;\r\n pleaseWait = false;\r\n submitClick = false;\r\n showCurrentUserErrorMessage = false;\r\n\r\n get lockedElementsFormArray() {\r\n return this.manageLockedElementsForm.controls.lockedElements as FormArray;\r\n }\r\n\r\n constructor(private bpService: BusinessProcessService, private modalService: GenericModalService,\r\n private formBuilder: FormBuilder, private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n\r\n this.checkRights();\r\n this.createForm();\r\n\r\n this.inscription = this.route.params.subscribe(params => this.bpId = params['id']);\r\n\r\n if (!isNaN(parseFloat(this.bpId.toString()))) {\r\n\r\n this.pleaseWait = true;\r\n // recuperar informações do Processo de Negócio\r\n this.bpService.getLightBusinessProcess(this.bpId).subscribe( s => {\r\n this.bpName = s.name;\r\n this.bpVersion = s.version;\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n\r\n this.bpService.getBusinessProcessLibrary(this.bpId).subscribe(s => {\r\n this.businessProcessLibrary = s;\r\n console.log('library', this.businessProcessLibrary);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n\r\n // recuperar os elementos bloqueados\r\n this.getLockedElement();\r\n\r\n } else {\r\n this.errorMessage = 'O parâmetro informado não é válido.';\r\n }\r\n }\r\n\r\n getLockedElement() {\r\n this.lockedElementsData = [];\r\n this.bpService.getElementLockStatus(this.bpId, LockStatus.checkedOut).subscribe(s => {\r\n // this.lockedElementsData = s;\r\n s.forEach((item) => {\r\n this.lockedElementsData.push({\r\n changeDate: item.changeDate,\r\n elementId: item.elementId,\r\n elementType: item.elementType,\r\n elementTypeDesc: this.getElementTypeDesc(item.elementType, item.elementId),\r\n lockStatus: item.lockStatus,\r\n name: item.name,\r\n user: item.user,\r\n checkRight: (item.user.logon === this.userLogon || this.isRight)\r\n });\r\n });\r\n\r\n this.addItems(this.lockedElementsData, this.lockedElementsFormArray);\r\n this.pleaseWait = false;\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n }\r\n\r\n selectAll(element) {\r\n const selectAllChecked = element.target.checked;\r\n\r\n const mappedFields = this.lockedElementsData.map(el => ( { elementId: el.elementId, checkRight: el.checkRight } ));\r\n mappedFields.forEach( checkAll => {\r\n const controlPosition = mappedFields.indexOf(checkAll);\r\n if (controlPosition !== -1 && checkAll.checkRight) {\r\n this.manageLockedElementsForm.get('lockedElements')['controls'][controlPosition].setValue(selectAllChecked);\r\n }\r\n });\r\n }\r\n\r\n onChbxChange(element, formArray: FormArray, formGroup: FormGroup) {\r\n const selectAll = (formArray.value.indexOf(false)) !== -1 || (formArray.value.indexOf(null) !== -1);\r\n if (element.target.id.indexOf('elements') !== -1) {\r\n this.manageLockedElementsForm.patchValue({\r\n checkboxSelectAllElements: !selectAll\r\n });\r\n }\r\n }\r\n\r\n private addItems(itemData: any[], itemFormArray: FormArray) {\r\n itemData.forEach(() => itemFormArray.push(new FormControl(false)));\r\n }\r\n\r\n createForm() {\r\n this.manageLockedElementsForm = this.formBuilder.group({\r\n lockedElements: new FormArray([], CustomValidator.minSelectedCheckboxes(1)),\r\n checkboxSelectAllElements: []\r\n });\r\n }\r\n\r\n onSave() {\r\n let alert: any;\r\n this.successMessage = '';\r\n this.errorMessage = '';\r\n this.submitClick = true;\r\n this.showCurrentUserErrorMessage = false;\r\n\r\n const selectedElements: ElementLock[] = this.manageLockedElementsForm.value.lockedElements\r\n .map((checked, i) => checked ? ( {\r\n changeDate: this.lockedElementsData[i].changeDate,\r\n elementId: this.lockedElementsData[i].elementId,\r\n elementType: this.lockedElementsData[i].elementType,\r\n lockStatus: this.lockedElementsData[i].lockStatus,\r\n name: this.lockedElementsData[i].name,\r\n user: this.lockedElementsData[i].user\r\n }) : null)\r\n .filter(v => v !== null);\r\n\r\n const msg = `Você tem certeza que deseja desbloquear os elementos selecionados?\r\n
\r\n O desbloqueio implica no descarte de todas as alterações não salvas.`;\r\n alert = this.modalService\r\n .showConfirmModal('Desbloquear elementos', msg);\r\n\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpService.unlockElements(selectedElements).subscribe(s => {\r\n this.successMessage = 'Elemento(s) desbloqueado(s) com sucesso';\r\n setTimeout(() => {\r\n this.submitClick = false;\r\n this.successMessage = '';\r\n this.ngOnInit();\r\n }, 2500);\r\n }, error1 => {\r\n this.submitClick = false;\r\n this.errorMessage = error1;\r\n if (error1.indexOf('está bloqueado por outro usuário') !== -1){\r\n this.showCurrentUserErrorMessage = true;\r\n }\r\n console.error(error1);\r\n });\r\n } else if (result.dismiss === Swal.DismissReason.cancel) {\r\n this.submitClick = false;\r\n }\r\n });\r\n }\r\n\r\n filterLockedElements() {\r\n if (this.elementsListSearch !== '' && this.elementsListSearch !== undefined) {\r\n const filteredElements = this.lockedElementsData.filter(element => {\r\n return element.user.logon.toLowerCase().includes(this.elementsListSearch.toLowerCase());\r\n });\r\n\r\n this.lockedElementsData.forEach(element => {\r\n const id = 'trLockedElem' + element.elementId + element.elementType;\r\n if (filteredElements.includes(element)) {\r\n document.getElementById(id).removeAttribute('hidden');\r\n } else {\r\n document.getElementById(id).setAttribute('hidden', 'true');\r\n }\r\n });\r\n } else {\r\n this.lockedElementsData.forEach(element => {\r\n const id = 'trLockedElem' + element.elementId + element.elementType;\r\n document.getElementById(id).removeAttribute('hidden');\r\n });\r\n }\r\n }\r\n\r\n getElementTypeDesc(elemType: DesignElementType, elemId: number) {\r\n let desc = '';\r\n switch (elemType) {\r\n case 1: {\r\n desc = 'Processo de Negócio';\r\n break;\r\n }\r\n case 2: {\r\n desc = 'Estado';\r\n break;\r\n }\r\n case 3: {\r\n desc = 'Campo';\r\n break;\r\n }\r\n case 4: {\r\n if (this.businessProcessLibrary !== undefined && this.businessProcessLibrary.length > 0) {\r\n this.businessProcessLibrary.forEach((item) => {\r\n if (item.libraryItemId === elemId && item.itemType === LibraryItemType.flow) {\r\n switch (item.flowType) {\r\n case 1: {\r\n desc = 'Fluxo de dados';\r\n break;\r\n }\r\n case 2: {\r\n desc = 'Fluxo de estados';\r\n break;\r\n }\r\n case 3: {\r\n desc = 'Fluxo de tela';\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n desc = 'Fluxo nao identificado';\r\n }\r\n break;\r\n }\r\n case 5: {\r\n if (this.businessProcessLibrary !== undefined && this.businessProcessLibrary.length > 0) {\r\n this.businessProcessLibrary.forEach((item) => {\r\n if (item.libraryItemId === elemId && item.itemType === LibraryItemType.pageLayout) {\r\n switch (item.engineType) {\r\n case 1: {\r\n desc = 'Layout de tela v1';\r\n break;\r\n }\r\n case 2: {\r\n desc = 'Layout de tela v2';\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n desc = 'Layout nao identificado';\r\n }\r\n break;\r\n }\r\n case 6: {\r\n desc = 'Visão';\r\n break;\r\n }\r\n }\r\n return desc;\r\n }\r\n\r\n checkRights() {\r\n this.bpService.checkRights(536870912).subscribe(s => {\r\n this.isRight = s.length > 0;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n }\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.consolidationTableList {\\r\\n min-height: 100px;\\r\\n max-height: 50vh;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\nthead tr th {\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\ntextarea {\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL3JlY292ZXItdmVyc2lvbi9yZWNvdmVyLXZlcnNpb24tY2hhbmdlLWxvZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7RUFDRSxZQUFZO0FBQ2QiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL2J1c2luZXNzLXByb2Nlc3MvcmVjb3Zlci12ZXJzaW9uL3JlY292ZXItdmVyc2lvbi1jaGFuZ2UtbG9nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNvbnNvbGlkYXRpb25UYWJsZUxpc3Qge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gIG1heC1oZWlnaHQ6IDUwdmg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxudGhlYWQgdHIgdGgge1xyXG4gIHRvcDogLTFweDtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIHJlc2l6ZTogbm9uZTtcclxufVxyXG4iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { tap } from 'rxjs/operators';\r\nimport { DesignChangeLogAction } from '../../../../Models/designChangeLogAction';\r\nimport { Utils } from '../../../../services/utils';\r\n\r\n@Component({\r\n selector: 'app-recover-version-change-log',\r\n templateUrl: './recover-version-change-log.component.html',\r\n styleUrls: ['./recover-version-change-log.component.css']\r\n})\r\nexport class RecoverVersionChangeLogComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objId: number;\r\n objMessage: string;\r\n error = '';\r\n bpId: number;\r\n bpVersion: number;\r\n bpDescription: string;\r\n bpName: string;\r\n bpChangeLog: string;\r\n filterText: string;\r\n actions: DesignChangeLogAction[];\r\n utilsFunctions = Utils;\r\n localTimeZone: string;\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private bpService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n this.bpId = this.objId;\r\n this.bpVersion = Number(this.objMessage);\r\n\r\n this.bpService.getBusinessProcessChangeLog(this.bpId, this.bpVersion)\r\n .pipe(\r\n tap( bpChangeLog => {\r\n this.bpName = bpChangeLog.businessProcessName;\r\n this.bpDescription = bpChangeLog.businessProcessDescription;\r\n this.bpChangeLog = bpChangeLog.userChangeLog;\r\n }, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.error = err;\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.bpService.getChangeLogActions(this.bpId, this.bpVersion)\r\n .pipe(\r\n tap(acts => this.actions = acts, error1 => {\r\n let err = error1;\r\n if (error1.indexOf('401') !== -1) {\r\n err = 'Erro: Sessão expirada.';\r\n }\r\n this.error = err;\r\n } )\r\n )\r\n .subscribe();\r\n }\r\n\r\n filterData() {\r\n const emptyFilter = (this.actions && this.actions.length === 0) || this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter) {\r\n return this.actions;\r\n } else {\r\n return this.actions.filter(act => {\r\n return (\r\n ( act.elementTypeDesc.toLowerCase().includes(this.filterText.toLowerCase()) ||\r\n act.userLogon && act.userLogon.toLowerCase().includes(this.filterText.toLowerCase()) ||\r\n act.description && act.description.toLowerCase().includes(this.filterText.toLowerCase()) )\r\n );\r\n });\r\n }\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvYnVzaW5lc3MtcHJvY2Vzcy9yZWNvdmVyLXZlcnNpb24vcmVjb3Zlci12ZXJzaW9uLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Utils } from '../../../../services/utils';\r\nimport { BusinessProcessVersionFilter } from '../../../../Models/businessProcessVersionFilter';\r\nimport { WebClientConfigurationService } from '../../../../services/configuration/web-client-configuration.service';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport {map, take, tap} from 'rxjs/operators';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { RecoverVersionChangeLogComponent } from './recover-version-change-log.component';\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n selector: 'app-recover-version',\r\n templateUrl: './recover-version.component.html',\r\n styleUrls: ['./recover-version.component.css', '../../../../styles/business-process-configuration.css']\r\n})\r\nexport class RecoverVersionComponent implements OnInit {\r\n\r\n constructor(\r\n private bpService: BusinessProcessService,\r\n private route: ActivatedRoute,\r\n private webClientConfig: WebClientConfigurationService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n utilsFunctions = Utils;\r\n\r\n bpId: number;\r\n bpVersion: number;\r\n bpName: string;\r\n bpDescription: string;\r\n bpOriginVersion: string;\r\n bpPublicationDate: Date;\r\n bpModifiedBy: string;\r\n bpNewVersion: number;\r\n onlyPublished: boolean = null;\r\n data: Observable;\r\n hasData: boolean;\r\n isRecoveryRight = false;\r\n\r\n destComponent: any = RecoverVersionChangeLogComponent;\r\n filterParam: BusinessProcessVersionFilter;\r\n config: PaginationInstance;\r\n localTimeZone: string;\r\n\r\n errorMessage = '';\r\n successMessage = '';\r\n\r\n p = 1;\r\n total: number;\r\n\r\n ngOnInit() {\r\n this.localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n this.bpId = Number(this.route.snapshot.paramMap.get('id'));\r\n this.getPage(1);\r\n this.checkRecoverRight();\r\n\r\n this.bpService.getBusinessProcessById(this.bpId)\r\n .subscribe( businessProcess => {\r\n this.bpName = businessProcess.name;\r\n this.bpVersion = businessProcess.version;\r\n this.bpDescription = businessProcess.description;\r\n this.bpOriginVersion = businessProcess.originalVersion > 0 ? businessProcess.originalVersion.toString() : '';\r\n\r\n this.bpService.getBusinessProcessPublicationInfo(this.bpId)\r\n .subscribe( publicationInfo => {\r\n console.log(publicationInfo);\r\n if (publicationInfo !== null) {\r\n this.bpNewVersion = publicationInfo.businessProcessVersion;\r\n this.bpPublicationDate = publicationInfo.publicationDate;\r\n this.bpModifiedBy = publicationInfo.publishedBy;\r\n }\r\n });\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n }\r\n\r\n getPage(page: number) {\r\n this.filterParam = {\r\n businessProcessId: this.bpId,\r\n pageIndex: page,\r\n publishedVersions: this.onlyPublished ? true : null\r\n };\r\n\r\n this.data = this.bpService.getBusinessProcessOldVersions(this.filterParam)\r\n .pipe(\r\n tap( res => {\r\n this.total = res.total;\r\n this.p = page;\r\n this.getPaginationConfig(page, res.total);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n }),\r\n map( res => res.businessProcessVersions)\r\n );\r\n\r\n this.data.subscribe( value => this.hasData = value.length > 0 );\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.webClientConfig.getPageSizeConfig().subscribe(item => {\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n });\r\n }\r\n\r\n viewChangeLog(version: string) {\r\n this.modalService.showModal(this.destComponent, 'Detalhes do Changelog', this.bpId, version, 'modal-xl');\r\n }\r\n\r\n recoverBusinessProcessVersion(bpVersion: number) {\r\n this.errorMessage = '';\r\n this.successMessage = '';\r\n let alert: any;\r\n alert = this.modalService\r\n .showConfirmModal('Confirmação de Recuperação de Versão', 'Confirma a recuperação de dados?');\r\n\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.bpService.recoverBusinessProcessVersion(this.bpId, bpVersion).subscribe(s => {\r\n this.successMessage = `A versão ${bpVersion} do processo de negócio foi recuperada com sucesso.`;\r\n setTimeout(() => {\r\n this.successMessage = '';\r\n this.ngOnInit();\r\n }, 2000);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n if (error1 === 'Erro: Usuário não tem direito de efetuar esta ação.') {\r\n this.ngOnInit();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkRecoverRight() {\r\n this.bpService.checkRights(128).subscribe(s => {\r\n this.isRecoveryRight = s.length > 0;\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n console.error(error1);\r\n });\r\n }\r\n}\r\n","export default \".ckbKey {\\r\\n cursor: pointer;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n -webkit-user-select: none;\\r\\n -webkit-touch-callout: none;\\r\\n}\\r\\n\\r\\n.ckbKey > input { /* esconder o checkbox original */\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n width: 0;\\r\\n height: 0;\\r\\n}\\r\\n\\r\\n.ckbKey > i { /* configurar o checkbox */\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n background: transparent url('relatedbp-field-icons-off.png');\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.ckbKey > input + i:after {\\r\\n content: '';\\r\\n display: block;\\r\\n height: 16px;\\r\\n width: 16px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.ckbKey > input:checked + i:after {\\r\\n background: url('relatedbp-field-icons.png');\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL3JlbGF0ZWQtYnVzaW5lc3MtcHJvY2Vzcy1jb25maWd1cmF0aW9uL3JlbGF0ZWQtYnVzaW5lc3MtcHJvY2Vzcy1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFlO0VBQ2Ysc0JBQWlCO0dBQWpCLHFCQUFpQjtPQUFqQixpQkFBaUI7RUFDakIseUJBQXlCO0VBQ3pCLDJCQUEyQjtBQUM3Qjs7QUFFQSxrQkFBa0IsaUNBQWlDO0VBQ2pELGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7QUFDWDs7QUFFQSxlQUFlLDBCQUEwQjtFQUN2QyxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxZQUFZO0VBQ1osNERBQStFO0VBQy9FLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxjQUFjO0VBQ2QsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSw0Q0FBK0Q7QUFDakUiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL2J1c2luZXNzLXByb2Nlc3MvcmVsYXRlZC1idXNpbmVzcy1wcm9jZXNzLWNvbmZpZ3VyYXRpb24vcmVsYXRlZC1idXNpbmVzcy1wcm9jZXNzLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ja2JLZXkge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxufVxyXG5cclxuLmNrYktleSA+IGlucHV0IHsgLyogZXNjb25kZXIgbyBjaGVja2JveCBvcmlnaW5hbCAqL1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxufVxyXG5cclxuLmNrYktleSA+IGkgeyAgLyogY29uZmlndXJhciBvIGNoZWNrYm94ICovXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIn5zcmMvYXNzZXRzL2ltYWdlcy9yZWxhdGVkYnAtZmllbGQtaWNvbnMtb2ZmLnBuZ1wiKTtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5ja2JLZXkgPiBpbnB1dCArIGk6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTZweDtcclxuICB3aWR0aDogMTZweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5ja2JLZXkgPiBpbnB1dDpjaGVja2VkICsgaTphZnRlciB7XHJcbiAgYmFja2dyb3VuZDogdXJsKFwifnNyYy9hc3NldHMvaW1hZ2VzL3JlbGF0ZWRicC1maWVsZC1pY29ucy5wbmdcIik7XHJcbn1cclxuIl19 */\"","import {AfterViewInit, Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { take} from 'rxjs/operators';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { GenericModalService} from '../../../../services/generic-modal.service';\r\nimport { CheckboxListComponent, ICheckboxListSettings } from '../../../../common/checkbox-list/checkbox-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-related-business-process-configuration',\r\n templateUrl: './related-business-process-configuration.component.html',\r\n styleUrls: ['./related-business-process-configuration.component.css', '../../../../styles/business-process-configuration.css']\r\n})\r\nexport class RelatedBusinessProcessConfigurationComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild(CheckboxListComponent, { static: false }) checkboxListComponent: CheckboxListComponent;\r\n\r\n bpId: string;\r\n bpName: string;\r\n bpDescription: string;\r\n hasConfiguration: boolean;\r\n\r\n inscription: Subscription;\r\n\r\n relatedConfigurationForm: FormGroup;\r\n\r\n successMessage: string;\r\n errorMessage: string;\r\n submitClick = false;\r\n\r\n metadatasData = [];\r\n fieldsData = [];\r\n fieldsExistingConfig = [];\r\n metadataExistingConfig = [];\r\n selectedFields = [];\r\n selectedMetadata = [];\r\n selectedBPExistingConfig = [];\r\n selectedBP = [];\r\n bp = [];\r\n\r\n fieldListSettings: ICheckboxListSettings;\r\n metadataListSettings: ICheckboxListSettings;\r\n\r\n constructor(private bpService: BusinessProcessService, private formBuilder: FormBuilder, private route: ActivatedRoute,\r\n private modalService: GenericModalService) { }\r\n\r\n ngOnInit() {\r\n this.errorMessage = '';\r\n this.bpDescription = '';\r\n this.bpName = '';\r\n this.inscription = this.route.params.subscribe(params => this.bpId = params['id']);\r\n\r\n if (!isNaN(parseFloat(this.bpId))) {\r\n this.bpService.loadRelatedBPConfiguration(parseFloat(this.bpId)).subscribe(resp => {\r\n this.bpDescription = resp.businessProcess.description;\r\n this.bpName = resp.businessProcess.name;\r\n\r\n // carregar todos os Metadados Participantes\r\n this.metadatasData = resp.metadataSelections.map(metadataSelection => metadataSelection.metadataStructure);\r\n this.metadataExistingConfig = resp.metadataSelections.filter(f => f.isKey === true)\r\n .map( f => f.metadataStructure.metadataStructureId);\r\n this.setMetadataListSettings();\r\n this.selectedMetadata = this.metadataExistingConfig;\r\n\r\n // carregar todos os Campos Participantes\r\n this.fieldsData = resp.fieldSelections.map(fieldSelection => fieldSelection.field);\r\n this.fieldsExistingConfig = resp.fieldSelections.filter(f => f.isViewField === true)\r\n .map(f => f.field.fieldId);\r\n this.setFieldListSettings();\r\n this.selectedFields = this.fieldsExistingConfig;\r\n\r\n // inicio - carregar os Processos de Negócios\r\n this.bp = resp.allBusinessProcesses.map(m => ({ id: m.businessProcessId, label: m.name }));\r\n this.selectedBPExistingConfig = resp.relatedBusinessProcesses.map(m => m.businessProcessId );\r\n this.selectedBP = this.selectedBPExistingConfig;\r\n // fim - carregar os Processos de Negócios\r\n\r\n this.hasConfiguration = resp.hasConfiguration;\r\n }, error => {\r\n this.errorMessage = error;\r\n console.error(error);\r\n });\r\n } else {\r\n this.errorMessage = 'Erro: Não foi possível recuperar as informações para o valor informado.';\r\n }\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.relatedConfigurationForm = this.formBuilder.group({\r\n businessProcessScope: [ [] ],\r\n });\r\n }\r\n\r\n onSave() {\r\n this.submitClick = true;\r\n this.errorMessage = '';\r\n\r\n // const selectedBp = this.relatedConfigurationForm.value.businessProcessScope;\r\n const relatedBp = this.selectedBP; // selectedBp.map(m => m.id);\r\n if (relatedBp === undefined || relatedBp.length === 0) {\r\n let message = 'Nenhum processo de negócio foi relacionado.';\r\n message += ` A busca irá considerar apenas instâncias do processo de negócio ${this.bpName}.`;\r\n message += '
Continuar?';\r\n\r\n const alert = this.modalService\r\n .showConfirmModal('Aviso', message);\r\n alert.then((result) => {\r\n if (result.value) {\r\n this.hasConfiguration = true;\r\n this.save(relatedBp);\r\n } else if (result.dismiss === Swal.DismissReason.cancel) {\r\n this.submitClick = false;\r\n }\r\n });\r\n } else {\r\n this.hasConfiguration = true;\r\n this.save(relatedBp);\r\n }\r\n }\r\n\r\n save(relatedBp) {\r\n this.bpService.saveRelatedBPConfiguration(parseFloat(\r\n this.bpId), relatedBp, this.selectedMetadata, this.selectedFields, this.hasConfiguration)\r\n .pipe(take(1))\r\n .subscribe( resp => {\r\n this.submitClick = true;\r\n this.successMessage = this.hasConfiguration ?\r\n 'Configuração atualizada com sucesso.' : 'Configuração criada com sucesso.';\r\n setTimeout(() => { this.submitClick = false; this.successMessage = ''; }, 2500);\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n deleteConfig() {\r\n this.errorMessage = '';\r\n this.bpService.deleteRelatedBPConfiguration(parseFloat(this.bpId))\r\n .subscribe( success => {\r\n this.submitClick = true;\r\n this.successMessage = 'Configuração excluída com sucesso.';\r\n this.hasConfiguration = false;\r\n\r\n setTimeout(() => {\r\n this.submitClick = false;\r\n this.successMessage = '';\r\n this.ngOnInit();\r\n }, 2500);\r\n }, error => {\r\n this.errorMessage = error;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.inscription.unsubscribe();\r\n }\r\n\r\n setFieldListSettings() {\r\n this.fieldListSettings = {\r\n height: 250,\r\n idPropertyName: 'fieldId',\r\n namePropertyName: 'name',\r\n listTitle: 'Campos Participantes',\r\n inputSearchId: 'inputSearchFields',\r\n listOf: 'field'\r\n };\r\n }\r\n\r\n getSelectedFields(element) {\r\n this.selectedFields = element;\r\n }\r\n\r\n setMetadataListSettings() {\r\n this.metadataListSettings = {\r\n height: 250,\r\n idPropertyName: 'metadataStructureId',\r\n namePropertyName: 'name',\r\n listTitle: 'Metadados Participantes',\r\n inputSearchId: 'inputSearchMetadata',\r\n checkboxClass: 'ckbKey',\r\n listOf: 'metadata'\r\n };\r\n }\r\n\r\n getSelectedMetadata(element) {\r\n this.selectedMetadata = element;\r\n }\r\n\r\n getSelectedBP(element) {\r\n this.selectedBP = element;\r\n }\r\n\r\n}\r\n","export default \".tab-pane.active {\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n.library-content {\\r\\n background: #f7f7f7;\\r\\n}\\r\\n\\r\\n.btn-secondary-toogle {\\r\\n font-weight: normal!important;\\r\\n}\\r\\n\\r\\n.rightsContainer{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nul.rightsContainer {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\nul.rightsContainer li {\\r\\n list-style-type: none;\\r\\n display: table-cell;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.cursor-pointer {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.cursor-forbidden {\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL3N0YXRlLWRldGFpbC9zdGF0ZS1kZXRhaWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvUnVudGltZS9idXNpbmVzcy1wcm9jZXNzL3N0YXRlLWRldGFpbC9zdGF0ZS1kZXRhaWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50YWItcGFuZS5hY3RpdmUge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXI6ICNkOGQ4ZDggc29saWQgMXB4O1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbn1cclxuXHJcbi5saWJyYXJ5LWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcbn1cclxuXHJcbi5idG4tc2Vjb25kYXJ5LXRvb2dsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5yaWdodHNDb250YWluZXJ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbnVsLnJpZ2h0c0NvbnRhaW5lciB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZGlzcGxheTogdGFibGUtcm93O1xyXG59XHJcblxyXG51bC5yaWdodHNDb250YWluZXIgbGkge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5jdXJzb3ItcG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY3Vyc29yLWZvcmJpZGRlbiB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG4iXX0= */\"","import { Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { formatDate } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { Utils } from '../../../../services/utils';\r\nimport { ElementLock } from '../../../../Models/elementLock';\r\nimport { DesignElementType } from '../../../../Models/enum/designElementType';\r\nimport { HumanInteractionTokenResult } from '../../../../Models/humanInteractionTokenResult';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { GenericInputModalComponent } from '../../../../generic-modal/generic-input-modal/generic-input-modal.component';\r\nimport { CustomValidator } from '../../../../services/custom-validator';\r\n\r\n\r\n@Component({\r\n selector: 'app-state-detail',\r\n templateUrl: './state-detail.component.html',\r\n styleUrls: ['./state-detail.component.css', '../../../../styles/business-process-configuration.css']\r\n})\r\nexport class StateDetailComponent implements OnInit {\r\n\r\n @ViewChild('stateTabs', { static: false }) stateTabs: TabsetComponent;\r\n @ViewChildren('nextStatesCheckboxes') nextStatesCheckboxes: QueryList;\r\n stateForm: FormGroup;\r\n isNew: boolean;\r\n errorMessage = '';\r\n flowStateError = '';\r\n flowPageError = '';\r\n pageLayoutError = '';\r\n successMessage = '';\r\n pleaseWait = false;\r\n inscription: Subscription;\r\n utilsFunction = Utils;\r\n elementLock: ElementLock = null;\r\n lockingUserLogon: string;\r\n isLockedToOtherUser = false;\r\n isLockedToMe = false;\r\n stateId: number;\r\n bpId: number;\r\n stateInfo: any[];\r\n availableFlows: any[];\r\n availableStates: any[];\r\n availableLayouts: any[];\r\n availablePageFlows: any[];\r\n stateColumns = [];\r\n selectedNextStates = [];\r\n alertBackgroundColor = '#000';\r\n alertFontColor = '#ffffff';\r\n alertStart;\r\n stateFlowDesignerUrl;\r\n pageFlowDesignerUrl;\r\n debuggerUrl;\r\n destComponent: any = GenericInputModalComponent;\r\n\r\n get formData() { return this.stateForm.controls; }\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private bpService: BusinessProcessService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isNew = this.router.url.includes('/newState');\r\n this.createForm();\r\n this.inscription = this.route.params.subscribe(params => {\r\n this.bpId = params['businessProcessId'];\r\n if (!isNaN(parseFloat(this.bpId.toString()))) {\r\n this.pleaseWait = true;\r\n if (this.isNew) {\r\n this.isLockedToMe = true;\r\n this.stateInfo = [];\r\n this.loadSelectFields();\r\n this.pleaseWait = false;\r\n } else {\r\n this.stateId = params['stateId'];\r\n if (!isNaN(parseFloat(this.stateId.toString()))) {\r\n this.getStateForManagementById();\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessage = 'O parâmetro informado não é válido.';\r\n }\r\n }\r\n } else {\r\n this.errorMessage = 'O parâmetro informado não é válido.';\r\n }\r\n });\r\n }\r\n\r\n getStateForManagementById() {\r\n this.errorMessage = '';\r\n this.bpService.getStateForManagementById(this.bpId, this.stateId).subscribe(result => {\r\n if (result) {\r\n this.stateInfo = result;\r\n this.getCurrentElementLock();\r\n this.loadStateData();\r\n this.loadSelectFields();\r\n if (this.stateInfo['stateFlowId']) { this.generateStateFlowDesignerURL(this.stateInfo['stateFlowId']); }\r\n if (this.stateInfo['pageFlowId']) { this.generatePageFlowDesignerURL(this.stateInfo['pageFlowId']); }\r\n this.generateDebuggerURL();\r\n this.pleaseWait = false;\r\n } else {\r\n this.pleaseWait = false;\r\n this.errorMessage = 'Estado não encontrado.';\r\n }\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadSelectFields() {\r\n this.loadStateFlows();\r\n this.loadStates();\r\n this.loadPageLayouts();\r\n this.loadPageFlows();\r\n }\r\n\r\n createForm() {\r\n this.stateForm = this.formBuilder.group({\r\n captionTextTemplate: [''],\r\n creationDate: [formatDate(Date.now(), 'yyyy-MM-dd', 'en_US')],\r\n description: ['', Validators.maxLength(300)],\r\n detailsTextTemplate: [''],\r\n displayName: ['', Validators.maxLength(100)],\r\n executionTimeout: [null],\r\n flow: [''],\r\n hasContinuousHumanInteraction: [false],\r\n hasContinuousInteractionAlert: [false],\r\n hasTimer: [false],\r\n humanInteractionEngine: [2],\r\n interactionTimeout: [0],\r\n interactionTimeoutAlertBackgroundColor: ['#000'],\r\n interactionTimeoutAlertFontColor: ['#fff'],\r\n interactionTimeoutAlertStart: [null],\r\n interactionTimeoutStateId: [null],\r\n isInitial: [false],\r\n isTimerFloating: [false],\r\n isTimerVisible: [false],\r\n isValid: [false],\r\n maxAttachments: [null, [Validators.min(0), Validators.max(2147482), CustomValidator.numericButNotRequired]],\r\n maxSizePerAttachment: [null, [Validators.min(0), Validators.max(100), CustomValidator.numericButNotRequired]],\r\n modifiedBy: [null],\r\n name: ['', [ Validators.required, Validators.maxLength(100) ]],\r\n nextHumanInteractionTimeOut: [null],\r\n nextStates: [ ],\r\n nextStateIds: [ ],\r\n pageFlow: [''],\r\n pageFlowId: [null],\r\n pageLayout: [null],\r\n pageLayoutId: [null],\r\n pageLayoutName: [''],\r\n preDefinedOverrideStateId: [null],\r\n stateFlowId: [null],\r\n stateId: [0],\r\n timerDirection: [1],\r\n userInteractionTimeout: [0],\r\n validationDescription: [null],\r\n version: [0]\r\n });\r\n this.updateAlertStart(0);\r\n }\r\n\r\n loadStateData() {\r\n if (this.stateInfo['executionTimeout']) {\r\n this.stateInfo['executionTimeout'] = this.stateInfo['executionTimeout'] / 1000;\r\n }\r\n\r\n if (this.stateInfo['interactionTimeoutAlertStart']) {\r\n this.stateInfo['interactionTimeoutAlertStart'] = this.stateInfo['interactionTimeoutAlertStart'] / 1000;\r\n }\r\n\r\n if (this.stateInfo['nextHumanInteractionTimeOut']) {\r\n this.stateInfo['nextHumanInteractionTimeOut'] = this.stateInfo['nextHumanInteractionTimeOut'] / 1000;\r\n }\r\n\r\n if (this.stateInfo['userInteractionTimeout']) {\r\n this.stateInfo['userInteractionTimeout'] = this.stateInfo['userInteractionTimeout'] / 1000;\r\n }\r\n\r\n if (this.stateInfo['interactionTimeout']) {\r\n this.stateInfo['interactionTimeout'] = this.stateInfo['interactionTimeout'] / 1000;\r\n }\r\n\r\n if (this.stateInfo['interactionTimeoutAlertBackgroundColor']) {\r\n this.alertBackgroundColor = this.stateInfo['interactionTimeoutAlertBackgroundColor'];\r\n }\r\n\r\n if (this.stateInfo['interactionTimeoutAlertFontColor']) {\r\n this.alertFontColor = this.stateInfo['interactionTimeoutAlertFontColor'];\r\n }\r\n\r\n this.updateAlertStart(this.stateInfo['interactionTimeoutAlertStart']);\r\n this.selectedNextStates = this.stateInfo['nextStateIds'];\r\n\r\n this.stateForm.patchValue({\r\n captionTextTemplate: this.stateInfo['captionTextTemplate'],\r\n creationDate: this.stateInfo['creationDate'],\r\n description: this.stateInfo['description'],\r\n detailsTextTemplate: this.stateInfo['detailsTextTemplate'],\r\n displayName: this.stateInfo['displayName'],\r\n executionTimeout: this.stateInfo['executionTimeout'],\r\n hasContinuousHumanInteraction: this.stateInfo['hasContinuousHumanInteraction'],\r\n hasContinuousInteractionAlert: this.stateInfo['hasContinuousInteractionAlert'],\r\n hasTimer: this.stateInfo['hasTimer'],\r\n humanInteractionEngine: this.stateInfo['humanInteractionEngine'],\r\n interactionTimeout: this.stateInfo['interactionTimeout'],\r\n interactionTimeoutAlertBackgroundColor: this.stateInfo['interactionTimeoutAlertBackgroundColor'],\r\n interactionTimeoutAlertFontColor: this.stateInfo['interactionTimeoutAlertFontColor'],\r\n interactionTimeoutAlertStart: this.stateInfo['interactionTimeoutAlertStart'],\r\n interactionTimeoutStateId: this.stateInfo['interactionTimeoutStateId'],\r\n isInitial: this.stateInfo['isInitial'],\r\n isTimerFloating: this.stateInfo['isTimerFloating'],\r\n isTimerVisible: this.stateInfo['isTimerVisible'],\r\n isValid: this.stateInfo['isValid'],\r\n maxAttachments: this.stateInfo['maxAttachments'],\r\n maxSizePerAttachment: this.stateInfo['maxSizePerAttachment'],\r\n modifiedBy: this.stateInfo['modifiedBy'],\r\n name: this.stateInfo['name'],\r\n nextHumanInteractionTimeOut: this.stateInfo['nextHumanInteractionTimeOut'],\r\n nextStateIds: this.stateInfo['nextStateIds'],\r\n pageFlowId: this.stateInfo['pageFlowId'],\r\n pageLayoutId: this.stateInfo['pageLayoutId'],\r\n preDefinedOverrideStateId: this.stateInfo['preDefinedOverrideStateId'],\r\n stateFlowId: this.stateInfo['stateFlowId'],\r\n stateId: Number(this.stateId),\r\n timerDirection: this.stateInfo['timerDirection'],\r\n userInteractionTimeout: this.stateInfo['userInteractionTimeout'],\r\n version: this.stateInfo['version']\r\n });\r\n this.setValidationsWhenHasTimer(this.stateInfo['hasTimer'], this.stateInfo['isTimerVisible'], this.stateInfo['timerDirection']);\r\n this.setVisibleTimerValidators(this.stateInfo['isTimerVisible'], this.stateInfo['timerDirection'], this.stateInfo['hasTimer']);\r\n this.setTimerDirectionValidators(this.stateInfo['timerDirection'], this.stateInfo['isTimerVisible'], this.stateInfo['hasTimer']);\r\n if (!this.isLockedToMe) { this.stateForm.disable(); }\r\n }\r\n\r\n loadStateFlows() {\r\n this.errorMessage = '';\r\n this.bpService.getLibraryByType(this.bpId, 1, 2).subscribe(result => {\r\n if (result) {\r\n this.availableFlows = result;\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadPageLayouts() {\r\n this.errorMessage = '';\r\n this.bpService.getLibraryByType(this.bpId, 2, 0).subscribe(result => {\r\n if (result) {\r\n this.availableLayouts = result;\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadPageFlows() {\r\n this.errorMessage = '';\r\n this.bpService.getLibraryByType(this.bpId, 1, 3).subscribe(result => {\r\n if (result) {\r\n this.availablePageFlows = result;\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n loadStates() {\r\n this.errorMessage = '';\r\n this.bpService.getStatesByBusinessProcessId(this.bpId).subscribe(result => {\r\n if (result) {\r\n this.availableStates = result;\r\n\r\n this.stateColumns = [];\r\n\r\n const numberOfItemsPerColumn = Math.ceil(this.availableStates.length / 2);\r\n\r\n for (let i = 0; i !== this.availableStates.length; i++) {\r\n const column = Math.floor(i / numberOfItemsPerColumn);\r\n if (!this.stateColumns[column]) {\r\n this.stateColumns[column] = [];\r\n }\r\n\r\n this.checkNextState(this.availableStates[i]);\r\n\r\n this.stateColumns[column].push(this.availableStates[i]);\r\n }\r\n }\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n checkNextState(availableState) {\r\n if (!this.stateInfo['nextStateIds']) { return; }\r\n const nxtSt = this.stateInfo['nextStateIds'].filter(id => id === availableState.stateId);\r\n if (nxtSt && nxtSt.length === 1) {\r\n availableState.isNextState = true;\r\n }\r\n }\r\n\r\n onEdit() {\r\n this.errorMessage = '';\r\n if (!this.isLockedToOtherUser) {\r\n this.stateForm.enable();\r\n this.bpService.beginEditingElement(DesignElementType.State, Number(this.stateId), this.stateInfo['name'])\r\n .subscribe( () => { this.getCurrentElementLock(); }, error1 => { this.errorMessage = error1; });\r\n }\r\n }\r\n\r\n onUnlock() {\r\n this.errorMessage = '';\r\n this.bpService.endEditingElement(DesignElementType.State, Number(this.stateId), this.stateInfo['name'])\r\n .subscribe( () => {\r\n this.successMessage = 'Estado desbloqueado';\r\n setTimeout(() => { this.successMessage = ''; this.getCurrentElementLock(); }, 1700);\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onSave() {\r\n this.errorMessage = '';\r\n this.pleaseWait = true;\r\n const newStateInfo = this.stateForm.getRawValue();\r\n\r\n const stateFlowSelection = document.getElementById('stateFlow');\r\n newStateInfo.flow = stateFlowSelection.selectedOptions[0] ? stateFlowSelection.selectedOptions[0].dataset.name : '';\r\n const pageFlowSelection = document.getElementById('pageFlowId');\r\n newStateInfo.pageFlow = pageFlowSelection.selectedOptions[0] ? pageFlowSelection.selectedOptions[0].dataset.name : '';\r\n const pageLayoutSelection = document.getElementById('pageLayout');\r\n newStateInfo.pageLayoutName = pageLayoutSelection.selectedOptions[0] ?\r\n pageLayoutSelection.selectedOptions[0].dataset.name : '';\r\n newStateInfo.displayName = newStateInfo.displayName.trim();\r\n\r\n if (this.stateForm.controls.timerDirection.value === 1) {\r\n newStateInfo.userInteractionTimeout = 0;\r\n }\r\n\r\n if (!this.stateForm.controls.maxAttachments.value || this.stateForm.controls.maxAttachments.value === 0) {\r\n newStateInfo.maxAttachments = 0;\r\n newStateInfo.maxSizePerAttachment = 0;\r\n }\r\n\r\n if (newStateInfo.executionTimeout === '') { newStateInfo.executionTimeout = null; }\r\n\r\n newStateInfo.interactionTimeoutAlertBackgroundColor = this.alertBackgroundColor;\r\n newStateInfo.interactionTimeoutAlertFontColor = this.alertFontColor;\r\n\r\n newStateInfo.nextStateIds = this.selectedNextStates;\r\n\r\n if (this.isNew) {\r\n this.createBusinessProcess(newStateInfo);\r\n } else {\r\n this.updateBusinessProcessState(newStateInfo);\r\n }\r\n }\r\n\r\n createBusinessProcess(newStateInfo: any) {\r\n this.bpService.createBusinessProcessState(this.bpId, newStateInfo).subscribe(\r\n newStateId => {\r\n this.successMessage = 'Estado salvo com sucesso';\r\n this.pleaseWait = false;\r\n setTimeout(() => { this.successMessage = ''; this.router.navigate(['/state', this.bpId, newStateId]); }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n }\r\n );\r\n }\r\n\r\n updateBusinessProcessState(newStateInfo: any) {\r\n this.bpService.updateBusinessProcessState(this.bpId, newStateInfo).subscribe(\r\n () => {\r\n this.pleaseWait = false;\r\n this.successMessage = 'Estado alterado com sucesso';\r\n this.getStateForManagementById();\r\n setTimeout(() => { this.successMessage = ''; this.onUnlock(); }, 1700);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.errorMessage = error1;\r\n }\r\n );\r\n }\r\n\r\n updateAlertStart(param: number) {\r\n if (param) {\r\n this.alertStart = new Date(param * 1000).toISOString().substr(11, 8);\r\n }\r\n }\r\n\r\n clearSelectedValue(control: AbstractControl) {\r\n control.setValue(null);\r\n control.updateValueAndValidity();\r\n if (this.getName(control) === 'stateFlowId') {\r\n this.setStateFlowValidators(control.value);\r\n }\r\n if (this.getName(control) === 'pageLayoutId') {\r\n if (control.value === 0 || control.value === null) {\r\n this.stateForm.patchValue({\r\n captionTextTemplate: null,\r\n detailsTextTemplate: null\r\n });\r\n }\r\n }\r\n }\r\n\r\n addStateFlow() {\r\n this.flowStateError = '';\r\n const result$ = this.modalService.showInputModal(\r\n this.destComponent,\r\n 'Novo fluxo de estado',\r\n 'Insira o nome do novo fluxo de estado',\r\n 'OK', 'Cancelar',\r\n 'FluxoEstado' + this.stateForm.controls['name'].value,\r\n '^[a-zA-Z][a-zA-Z0-9_]+',\r\n 'Um nome válido deve ter entre 1 e 100 caracteres, deve ser iniciado por letra e deve ser composto somente por letras, números e underscore.',\r\n 100, 1, true\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n if (result !== null) {\r\n this.bpService.createStateLibraryFlow(result, Number(this.bpId), 'stateFlow')\r\n .subscribe( newFlowId => {\r\n this.loadStateFlows();\r\n this.stateForm.patchValue( {\r\n stateFlowId: newFlowId\r\n });\r\n },\r\n error1 => {\r\n this.stateForm.controls.stateFlowId.reset();\r\n this.flowStateError = error1;\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n addPageLayout() {\r\n this.pageLayoutError = '';\r\n const result$ = this.modalService.showInputModal(\r\n this.destComponent,\r\n 'Novo layout de tela',\r\n 'Insira o nome do novo layout de tela',\r\n 'OK', 'Cancelar',\r\n 'LayoutEstado' + this.stateForm.controls['name'].value,\r\n '^[a-zA-Z][a-zA-Z0-9_]+',\r\n 'Um nome válido deve ter entre 1 e 100 caracteres, deve ser iniciado por letra e deve ser composto somente por letras, números e underscore.',\r\n 100, 1, true\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n if (result !== null) {\r\n this.bpService.createStateLibraryLayout(result, Number(this.bpId))\r\n .subscribe( newPageLayoutId => {\r\n this.loadPageLayouts();\r\n this.stateForm.patchValue( {\r\n pageLayoutId: newPageLayoutId\r\n });\r\n },\r\n error1 => {\r\n this.stateForm.controls.pageLayoutId.reset();\r\n this.pageLayoutError = error1;\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n addPageFlow() {\r\n this.flowPageError = '';\r\n const result$ = this.modalService.showInputModal(\r\n this.destComponent,\r\n 'Novo fluxo de tela',\r\n 'Insira o nome do novo fluxo de tela',\r\n 'OK', 'Cancelar',\r\n 'FluxoPagina' + this.stateForm.controls['name'].value,\r\n '^[a-zA-Z][a-zA-Z0-9_]+',\r\n 'Um nome válido deve ter entre 1 e 100 caracteres, deve ser iniciado por letra e deve ser composto somente por letras, números e underscore.',\r\n 100, 1, true\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n result => {\r\n if (result !== null) {\r\n this.bpService.createStateLibraryFlow(result, Number(this.bpId), 'pageFlow')\r\n .subscribe(newFlowId => {\r\n this.loadPageFlows();\r\n this.stateForm.patchValue({\r\n pageFlowId: newFlowId\r\n });\r\n },\r\n error1 => {\r\n this.stateForm.controls.pageFlowId.reset();\r\n this.flowPageError = error1;\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n onBack() {\r\n if (this.isLockedToMe) {\r\n this.onUnlock();\r\n }\r\n this.router.navigate(['/businessProcess', this.bpId]);\r\n }\r\n\r\n getSelectedNextStates(value) {\r\n if (value.checked) {\r\n this.selectedNextStates.push(Number(value.id.match(/[-]?[0-9]+/g)[0]));\r\n } else {\r\n this.selectedNextStates.splice(this.selectedNextStates.indexOf(Number(value.id.match(/[-]?[0-9]+/g)[0])), 1);\r\n }\r\n }\r\n\r\n getCurrentElementLock() {\r\n this.errorMessage = '';\r\n const userLogon = localStorage.getItem('userLogon').toLowerCase();\r\n this.bpService.getCurrentElementLock(DesignElementType.State, Number(this.stateId))\r\n .subscribe( element => {\r\n this.elementLock = element;\r\n if (element) {\r\n this.lockingUserLogon = element.user.logon;\r\n this.isLockedToOtherUser = this.lockingUserLogon && this.lockingUserLogon.toLowerCase() !== userLogon;\r\n this.isLockedToMe = this.bpId === 0 ? true : !this.isLockedToOtherUser;\r\n this.isLockedToOtherUser ? this.stateForm.disable() : this.stateForm.enable();\r\n } else {\r\n this.stateForm.disable();\r\n this.isLockedToOtherUser = false;\r\n this.isLockedToMe = false;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n openStateLayoutEditor() {\r\n this.bpService.getTokenForLayoutEditor()\r\n .subscribe((resp: HumanInteractionTokenResult) => {\r\n if (resp) {\r\n // const layoutId = this.stateInfo['pageLayoutId'];\r\n const layoutId = this.stateForm.controls.pageLayoutId.value;\r\n // const bpId = this.bpId;\r\n const options = `{ \"BusinessProcessId\": ${this.bpId}, \"LibraryItemId\": ${layoutId} }`;\r\n window.open(resp.humanInteractionBaseUrl + '/LayoutEditorV2/Default.aspx?Token=' +\r\n resp.humanInteractionToken + '&LoginHandle=' + resp.loginHandle + '&data=' + options, '_blank');\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n generateStateFlowDesignerURL(stateFlowId) {\r\n this.flowStateError = '';\r\n // console.log(stateFlowId.selectedOptions[0].dataset.name);\r\n this.stateFlowDesignerUrl = undefined;\r\n if (!stateFlowId) { return; }\r\n this.setStateFlowValidators(stateFlowId);\r\n this.bpService.generateFlowDesignerURL(Number(this.bpId), stateFlowId, 1)\r\n .subscribe((resp: any) => {\r\n if (resp) {\r\n this.stateFlowDesignerUrl = resp.url;\r\n }\r\n }, error1 => this.flowStateError = error1);\r\n }\r\n\r\n generatePageFlowDesignerURL(pageFlowId: number) {\r\n this.flowPageError = '';\r\n this.pageFlowDesignerUrl = undefined;\r\n if (!pageFlowId) { return; }\r\n this.bpService.generateFlowDesignerURL(this.bpId, pageFlowId, 2)\r\n .subscribe((resp: any) => {\r\n if (resp) {\r\n this.pageFlowDesignerUrl = resp.url;\r\n }\r\n }, error1 => this.flowPageError = error1 );\r\n }\r\n\r\n generateDebuggerURL() {\r\n this.errorMessage = '';\r\n this.debuggerUrl = undefined;\r\n this.bpService.generateDebuggerURL(this.bpId, this.stateId, 1)\r\n .subscribe((resp: any) => {\r\n if (resp) {\r\n this.debuggerUrl = resp.url;\r\n }\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n openStateFlow() {\r\n if (!this.stateFlowDesignerUrl) { return; }\r\n window.open(this.stateFlowDesignerUrl, '_parent');\r\n }\r\n\r\n openPageFlow() {\r\n if (!this.pageFlowDesignerUrl) { return; }\r\n window.open(this.pageFlowDesignerUrl, '_parent');\r\n }\r\n\r\n openDebugger() {\r\n if (!this.debuggerUrl) { return; }\r\n window.open(this.debuggerUrl, '_parent');\r\n }\r\n\r\n openFlowDesignerSetup() {\r\n window.open('./DesignerSetup/Crivo.Workflow.EditorDeFluxos.msi', '_self');\r\n }\r\n\r\n setValidationsWhenHasTimer(hasTimer, isTimerVisible, timerDirection) {\r\n if (hasTimer === true) {\r\n this.stateForm.get('interactionTimeout').setValidators([\r\n Validators.min(1),\r\n Validators.max(2147482),\r\n CustomValidator.numeric\r\n ]);\r\n this.stateForm.get('interactionTimeoutStateId').setValidators(Validators.required);\r\n } else {\r\n this.stateForm.get('interactionTimeout').clearValidators();\r\n this.stateForm.get('interactionTimeoutStateId').clearValidators();\r\n this.stateForm.patchValue({\r\n interactionTimeout: 0,\r\n interactionTimeoutStateId: null,\r\n isTimerVisible: false\r\n });\r\n }\r\n this.stateForm.get('interactionTimeout').updateValueAndValidity();\r\n this.stateForm.get('interactionTimeoutStateId').updateValueAndValidity();\r\n this.setVisibleTimerValidators(isTimerVisible, timerDirection, hasTimer);\r\n }\r\n\r\n setVisibleTimerValidators(isTimerVisible, timerDirection, hasTimer) {\r\n if (hasTimer === true && isTimerVisible === true) {\r\n this.stateForm.get('interactionTimeoutAlertStart').setValidators([\r\n Validators.min(1),\r\n Validators.max(2147482),\r\n CustomValidator.numeric\r\n ]);\r\n } else {\r\n this.stateForm.get('interactionTimeoutAlertStart').clearValidators();\r\n this.stateForm.patchValue({\r\n interactionTimeoutAlertStart: null,\r\n timerDirection: 1,\r\n isTimerFloating: false\r\n });\r\n }\r\n this.stateForm.get('interactionTimeoutAlertStart').updateValueAndValidity();\r\n this.setTimerDirectionValidators(timerDirection, isTimerVisible, hasTimer);\r\n }\r\n\r\n setTimerDirectionValidators(timerDirection, isTimerVisible, hasTimer) {\r\n if (hasTimer === true && timerDirection === 2 && isTimerVisible === true) {\r\n this.stateForm.get('userInteractionTimeout').setValidators([\r\n Validators.min(1),\r\n Validators.max(2147482),\r\n CustomValidator.numeric\r\n ]);\r\n } else {\r\n this.stateForm.get('userInteractionTimeout').clearValidators();\r\n this.stateForm.patchValue({\r\n userInteractionTimeout: 0\r\n });\r\n }\r\n this.stateForm.get('userInteractionTimeout').updateValueAndValidity();\r\n }\r\n\r\n setStateFlowValidators(stateFlowId) {\r\n if (stateFlowId !== 0 && stateFlowId !== '' && stateFlowId !== null) {\r\n this.stateForm.get('executionTimeout').setValidators([\r\n Validators.min(0),\r\n Validators.max(2147482),\r\n CustomValidator.numericButNotRequired\r\n ]);\r\n } else {\r\n this.stateForm.get('executionTimeout').clearValidators();\r\n this.stateForm.patchValue({\r\n executionTimeout: null\r\n });\r\n }\r\n this.stateForm.get('executionTimeout').updateValueAndValidity();\r\n }\r\n\r\n setContinuousHumanInteractionValidation(hasContinuousHumanInteraction) {\r\n if (hasContinuousHumanInteraction.checked) {\r\n this.stateForm.get('nextHumanInteractionTimeOut').setValidators([\r\n Validators.min(1),\r\n Validators.max(2147482),\r\n CustomValidator.numeric\r\n ]);\r\n } else {\r\n this.stateForm.get('nextHumanInteractionTimeOut').clearValidators();\r\n this.stateForm.patchValue({\r\n nextHumanInteractionTimeOut: null,\r\n hasContinuousInteractionAlert: false\r\n });\r\n }\r\n this.stateForm.get('nextHumanInteractionTimeOut').updateValueAndValidity();\r\n }\r\n\r\n private getName(control: AbstractControl): string | null {\r\n const group = control.parent;\r\n if (!group) {\r\n return null;\r\n }\r\n let name = '';\r\n Object.keys(group.controls).forEach(key => {\r\n const childControl = group.get(key);\r\n if (childControl !== control) {\r\n return;\r\n }\r\n name = key;\r\n });\r\n return name;\r\n }\r\n\r\n}\r\n","export default \"svg.play-icon {\\r\\n font-size: 22px;\\r\\n color: #3bb7d5;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\nsvg.play-icon:hover {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.loading-indicator {\\r\\n position: fixed;\\r\\n z-index: 999;\\r\\n height: 2em;\\r\\n width: 2em;\\r\\n overflow: show;\\r\\n margin: auto;\\r\\n top: 0;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n/* Transparent Overlay */\\r\\n\\r\\n.loading-indicator:before {\\r\\n content: '';\\r\\n display: block;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: rgba(0,0,0,0.3);\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9pbnN0YW5jZS9idXNpbmVzc1Byb2Nlc3NTdGFydExpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZixjQUFjO0VBQ2QsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGVBQWU7RUFDZixZQUFZO0VBQ1osV0FBVztFQUNYLFVBQVU7RUFDVixjQUFjO0VBQ2QsWUFBWTtFQUNaLE1BQU07RUFDTixPQUFPO0VBQ1AsU0FBUztFQUNULFFBQVE7QUFDVjs7QUFFQSx3QkFBd0I7O0FBQ3hCO0VBQ0UsV0FBVztFQUNYLGNBQWM7RUFDZCxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxXQUFXO0VBQ1gsWUFBWTtFQUNaLGlDQUFpQztBQUNuQyIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvaW5zdGFuY2UvYnVzaW5lc3NQcm9jZXNzU3RhcnRMaXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJzdmcucGxheS1pY29uIHtcclxuICBmb250LXNpemU6IDIycHg7XHJcbiAgY29sb3I6ICMzYmI3ZDU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5zdmcucGxheS1pY29uOmhvdmVyIHtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmxvYWRpbmctaW5kaWNhdG9yIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIGhlaWdodDogMmVtO1xyXG4gIHdpZHRoOiAyZW07XHJcbiAgb3ZlcmZsb3c6IHNob3c7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLyogVHJhbnNwYXJlbnQgT3ZlcmxheSAqL1xyXG4ubG9hZGluZy1pbmRpY2F0b3I6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4zKTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport 'moment/locale/pt-br';\r\nimport { BusinessProcessService } from '../../../services/business-process.service';\r\nimport { BusinessProcess } from '../../../Models/businessProcess';\r\nimport { HumanInteractionTokenResult } from '../../../Models/humanInteractionTokenResult';\r\nimport { Utils } from '../../../services/utils';\r\nimport {HumanInteractionService} from \"../../../services/human-interaction.service\";\r\n\r\n@Component({\r\n selector: 'app-instance-list',\r\n templateUrl: './businessProcessStartList.component.html',\r\n styleUrls: ['./businessProcessStartList.component.css']\r\n})\r\nexport class BusinessProcessStartListComponent implements OnInit {\r\n\r\n businessProcess$: Observable;\r\n bpItens: BusinessProcess[];\r\n localTimeZone: string;\r\n utilsFunctions = Utils;\r\n errorMessage = '';\r\n initializingInstance = false;\r\n\r\n constructor(private bpService: BusinessProcessService, private humanInteractionService: HumanInteractionService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n this.businessProcess$ = this.bpService.getPublishedBusinessProcesses;\r\n this.businessProcess$.subscribe( result => {\r\n this.bpItens = result;\r\n }, error1 => this.errorMessage = error1);\r\n }\r\n\r\n onStartBusinessProcess(businessProcessId: number, initiateQuickInstance: boolean) {\r\n this.initializingInstance = true;\r\n if (initiateQuickInstance) {\r\n this.humanInteractionService.startBusinessProcess(businessProcessId)\r\n .subscribe(result => {\r\n if (result.hasError) {\r\n this.initializingInstance = false;\r\n alert(`Erro ao tentar iniciar instância: ${result.errorMessage}`);\r\n return;\r\n }\r\n if (result.hasTimeOut || !result.continueExecution) {\r\n this.initializingInstance = false;\r\n alert(`Instância ${result.instanceId} criada`);\r\n return;\r\n }\r\n if (result.continueExecution) {\r\n this.initializingInstance = false;\r\n this.bpService.openWindowInteraction(result.instanceId, false);\r\n }\r\n }, error1 => {\r\n this.initializingInstance = false;\r\n this.errorMessage = error1;\r\n });\r\n return;\r\n }\r\n this.bpService.openWindowNewInstance(businessProcessId);\r\n this.initializingInstance = false;\r\n }\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button {\\r\\n position: absolute;\\r\\n right: 9px;\\r\\n bottom: 4px;\\r\\n padding: 3px;\\r\\n width: 31px;\\r\\n border-radius: 100px;\\r\\n text-align: center;;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button:hover {\\r\\n cursor: pointer;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2UtaGlzdG9yeS9idXNpbmVzcy1wcm9jZXNzLWluc3RhbmNlLWhpc3RvcnkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtFQUM5QixnQkFBZ0I7QUFDbEI7OztBQUdBO0VBQ0UsZ0VBQWdFO0FBQ2xFOzs7QUFHQTtFQUNFLDJCQUEyQjtBQUM3Qjs7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7OztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsWUFBWTtFQUNaLFdBQVc7RUFDWCxvQkFBb0I7RUFDcEIsa0JBQWtCO0FBQ3BCOzs7QUFFQTtFQUNFLGVBQWU7RUFDZix5QkFBeUI7QUFDM0IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL3JlcG9ydHMvYnVzaW5lc3MtcHJvY2Vzcy1pbnN0YW5jZS1oaXN0b3J5L2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2UtaGlzdG9yeS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5cclxuc2VsZWN0LmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtICsgMTVweCkgY2VudGVyO1xyXG59XHJcblxyXG5cclxuLmNhcmQtdGl0bGV7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNsZWFyLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiA5cHg7XHJcbiAgYm90dG9tOiA0cHg7XHJcbiAgcGFkZGluZzogM3B4O1xyXG4gIHdpZHRoOiAzMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjs7XHJcbn1cclxuXHJcbi5jbGVhci1idXR0b246aG92ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { BusinessProcess } from '../../../../Models/businessProcess';\r\nimport { ReportsFilterComponent, ReportFilterType } from '../../../../common/reports-filter/reports-filter.component';\r\nimport { InstanceHistoryResultComponent } from '../../../../common/reports-filter/instance-history-result/instance-history-result.component';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-business-process-instance-history',\r\n templateUrl: './business-process-instance-history.component.html',\r\n styleUrls: ['./business-process-instance-history.component.css']\r\n})\r\nexport class BusinessProcessInstanceHistoryComponent implements OnInit {\r\n\r\n availableBusinessProcess: BusinessProcess[];\r\n searchType: ReportFilterType.instanceHistory;\r\n filter: any;\r\n filterCollapse$: BehaviorSubject;\r\n errorMessage = '';\r\n\r\n @ViewChild('reportsFilterComponent', {static: false}) reportsFilterComponent: ReportsFilterComponent;\r\n @ViewChild('instanceHistoryResultComponent', {static: false}) instanceHistoryResultComponent: InstanceHistoryResultComponent;\r\n\r\n constructor(\r\n private bpService: BusinessProcessService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.loadBusinessProcessList();\r\n this.filterCollapse$ = new BehaviorSubject(false);\r\n }\r\n\r\n loadBusinessProcessList() {\r\n this.errorMessage = '';\r\n this.bpService.getAllBusinessProcessesPublished()\r\n .subscribe(\r\n result => {\r\n this.availableBusinessProcess = result;\r\n }, error1 => this.errorMessage = error1\r\n );\r\n }\r\n\r\n searchMultipleBusinessProcessInstancesHistory(filter) {\r\n this.filter = filter;\r\n this.filterCollapse$.next(true);\r\n }\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.tooltip-custom-class {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\napp-dropdown-multiselect form .ng-select-container {\\r\\n background-color: #e9ecef;\\r\\n}\\r\\n\\r\\n.form-group-inline {\\r\\n display: inline-flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.form-group{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.custom-checkbox{\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-checkbox-label{\\r\\n width: 85px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2UtaGlzdG9yeS9pbnN0YW5jZS1oaXN0b3J5LWRldGFpbHMvZmllbGQtdmFsdWUtZGV0YWlscy9maWVsZC12YWx1ZS1kZXRhaWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL3JlcG9ydHMvYnVzaW5lc3MtcHJvY2Vzcy1pbnN0YW5jZS1oaXN0b3J5L2luc3RhbmNlLWhpc3RvcnktZGV0YWlscy9maWVsZC12YWx1ZS1kZXRhaWxzL2ZpZWxkLXZhbHVlLWRldGFpbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRvb2x0aXAtY3VzdG9tLWNsYXNzIHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5hcHAtZHJvcGRvd24tbXVsdGlzZWxlY3QgZm9ybSAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXAtaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jdXN0b20tY2hlY2tib3h7XHJcbiAgbWFyZ2luLWxlZnQ6IDVweDtcclxufVxyXG5cclxuLmN1c3RvbS1jaGVja2JveC1sYWJlbHtcclxuICB3aWR0aDogODVweDtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-field-value-detail',\r\n templateUrl: './field-value-detail.component.html',\r\n styleUrls: ['./field-value-detail.component.css']\r\n})\r\nexport class FieldValueDetailComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objInitialState;\r\n fieldValue;\r\n\r\n constructor(public bsModalRef: BsModalRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (this.objInitialState){\r\n this.fieldValue = this.objInitialState;\r\n }\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","export default \"/* Timeline */\\r\\n.visualization {\\r\\n width: 100%;\\r\\n /*max-height: 260px;*/\\r\\n cursor: auto!important;\\r\\n}\\r\\n.vis-item.vis-background.positive {\\r\\n background-color: blue!important;\\r\\n}\\r\\n.vis-item.vis-background.marker {\\r\\n border-left: 2px solid green;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2UtaGlzdG9yeS9pbnN0YW5jZS1oaXN0b3J5LWRldGFpbHMvaGlzdG9yeS10aW1lbGluZS9oaXN0b3J5LXRpbWVsaW5lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiO0VBQ0UsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixzQkFBc0I7QUFDeEI7QUFFQTtFQUNFLGdDQUFnQztBQUNsQztBQUNBO0VBQ0UsNEJBQTRCO0FBQzlCIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2UtaGlzdG9yeS9pbnN0YW5jZS1oaXN0b3J5LWRldGFpbHMvaGlzdG9yeS10aW1lbGluZS9oaXN0b3J5LXRpbWVsaW5lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaW1lbGluZSAqL1xyXG4udmlzdWFsaXphdGlvbiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLyptYXgtaGVpZ2h0OiAyNjBweDsqL1xyXG4gIGN1cnNvcjogYXV0byFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi52aXMtaXRlbS52aXMtYmFja2dyb3VuZC5wb3NpdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZSFpbXBvcnRhbnQ7XHJcbn1cclxuLnZpcy1pdGVtLnZpcy1iYWNrZ3JvdW5kLm1hcmtlciB7XHJcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBncmVlbjtcclxufVxyXG5cclxuIl19 */\"","import {AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport vis, { Timeline } from 'vis';\r\nimport moment from 'moment';\r\nimport {DateTimeService} from '../../../../../../services/date-time.service';\r\n\r\n@Component({\r\n selector: 'app-history-timeline',\r\n templateUrl: './history-timeline.component.html',\r\n styleUrls: ['./history-timeline.component.css']\r\n})\r\nexport class HistoryTimelineComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() timelineEvents;\r\n @Input() pageInstanceHistoryDetail;\r\n @Output() onEventClick: EventEmitter = new EventEmitter();\r\n events;\r\n instanceDuration;\r\n pageDuration;\r\n\r\n @ViewChild('visElement', { static: false }) visElement: ElementRef;\r\n\r\n\r\n constructor(\r\n private dateTimeService: DateTimeService,\r\n private route: ActivatedRoute,\r\n ) { }\r\n\r\n ngOnInit() {\r\n //isso é necessário para aparecer a descrição da data em português na linha do tempo\r\n moment.locale('pt-br');\r\n this.applyEventTimestamps(this.timelineEvents);\r\n this.applyPageDuration(this.pageInstanceHistoryDetail);\r\n this.applyInstanceDuration();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n let dataSet = [];\r\n let index = 0;\r\n\r\n let lastVersion=0;\r\n let groups = [];\r\n let lastEventIsOverride;\r\n this.events.forEach(ev => {\r\n if (ev.version != lastVersion){\r\n groups.push({\r\n id: ev.version,\r\n content: `Versão ${ev.version}`\r\n });\r\n lastVersion = ev.version;\r\n }\r\n if (ev.eventType == 1) { //StateChange\r\n if (lastEventIsOverride){\r\n lastEventIsOverride = false;\r\n } else {\r\n dataSet.push({\r\n id: index,\r\n content: \"\",\r\n type:\"point\",\r\n style:\"cursor: pointer\",\r\n start: ev.localStateLifeCycleModifyDate,\r\n title: \"Transição para o estado \" + ev.stateName + '
' + this.dateTimeService.toLocalStringDateTime(ev.stateLifeCycleModifyDate),\r\n group: ev.version\r\n });\r\n }\r\n\r\n index++;\r\n }else if (ev.eventType == 2) { //Override\r\n lastEventIsOverride = true;\r\n dataSet.push({\r\n id: index,\r\n content: \"\",\r\n type:\"point\",\r\n style: \"background-color: #97b0f8;cursor: pointer;border-radius: 4px;border-width: 2.9px;border-style: solid;border-color: #e08393;width:20px;height:20.4px\",\r\n start: ev.localStateLifeCycleModifyDate,\r\n title: \"Imposição para o estado \" + ev.stateName + '
' + this.dateTimeService.toLocalStringDateTime(ev.stateLifeCycleModifyDate),\r\n group: ev.version\r\n });\r\n index++;\r\n }\r\n });\r\n dataSet.push({\r\n id: \"SG_1_1\",\r\n type: \"background\",\r\n start: this.pageDuration.from,\r\n end: this.pageDuration.to,\r\n // subgroup: \"sg_3\",\r\n // subgroupOrder: 0,\r\n className: \"positive\",\r\n group: this.pageDuration.version,\r\n });\r\n\r\n let items = new vis.DataSet(dataSet);\r\n\r\n // Configuration for the Timeline\r\n var options = {\r\n editable: false,\r\n margin: {\r\n item: 20,\r\n axis: 40,\r\n },\r\n maxHeight: 400,\r\n max: this.instanceDuration.from,\r\n min: this.instanceDuration.to,\r\n moment: moment\r\n };\r\n\r\n // Create a Timeline\r\n var timeline = new vis.Timeline(this.visElement.nativeElement, items, new vis.DataSet(groups), options);\r\n\r\n index = 0;\r\n\r\n timeline.on(\"click\", (properties) => {\r\n if (this.onEventClick && this.events[properties.item]){\r\n this.onEventClick.emit(this.events[properties.item]);\r\n }\r\n });\r\n }\r\n\r\n\r\n applyEventTimestamps(events){\r\n let previousEventDate = undefined;\r\n\r\n events.forEach(e => {\r\n e.localStateLifeCycleModifyDate = this.dateTimeService.tolocalDateTime(e.stateLifeCycleModifyDate);\r\n if (previousEventDate && e.stateLifeCycleModifyDate < previousEventDate) {\r\n e.timestamp = previousEventDate;\r\n } else {\r\n e.timestamp = e.stateLifeCycleModifyDate;\r\n }\r\n previousEventDate = e.stateLifeCycleModifyDate;\r\n })\r\n }\r\n\r\n applyPageDuration(page) {\r\n let minDate, maxDate, lastState, lastInitialStateLifeCycle, maxStateLifeCycle;\r\n page.stateLifeCycles.forEach(lifeCycle => {\r\n if (lastState != lifeCycle.stateId)\r\n {\r\n lastState = lifeCycle.stateId;\r\n lastInitialStateLifeCycle = lifeCycle;\r\n }\r\n\r\n if (!minDate || lifeCycle.stateLifeCycleModifyDate < minDate) {\r\n minDate = lifeCycle.stateLifeCycleModifyDate;\r\n }\r\n if (!maxDate || lifeCycle.stateLifeCycleModifyDate > maxDate) {\r\n maxStateLifeCycle = lifeCycle;\r\n maxDate = lifeCycle.stateLifeCycleModifyDate;\r\n }\r\n })\r\n\r\n if (minDate && maxDate) {\r\n if (lastInitialStateLifeCycle.executionOrder < maxStateLifeCycle.executionOrder) {\r\n maxDate = lastInitialStateLifeCycle.stateLifeCycleModifyDate;\r\n }\r\n this.pageDuration = {\r\n from: this.dateTimeService.tolocalDateTime(minDate),\r\n to: this.dateTimeService.tolocalDateTime(maxDate),\r\n version: page.businessProcessVersion\r\n };\r\n }\r\n };\r\n\r\n applyInstanceDuration(){\r\n this.events = [];\r\n let minDate = new Date(2999, 11, 31);\r\n let maxDate = new Date(1900, 0, 1);\r\n\r\n this.timelineEvents.forEach(evt => {\r\n if (evt.timestamp < minDate) {\r\n minDate = evt.timestamp;\r\n }\r\n if (evt.timestamp > maxDate) {\r\n maxDate = evt.timestamp;\r\n }\r\n\r\n this.events.push(evt);\r\n })\r\n\r\n this.instanceDuration = {\r\n from: this.dateTimeService.tolocalDateTime(minDate), // Início do 1º ciclo de vida do primeiro estado visível pelo usuário na instância\r\n to: this.dateTimeService.tolocalDateTime(maxDate) // Fim do último ciclo de vida do último estado visível pelo usuário na instância\r\n };\r\n }\r\n}\r\n","export default \".instanceInfoContainer {\\r\\n margin-bottom: 1em !important;\\r\\n}\\r\\n\\r\\ndl#instanceInfo dt {\\r\\n float: left;\\r\\n font-weight: bold;\\r\\n margin-bottom: 0.2em;\\r\\n clear: both;\\r\\n}\\r\\n\\r\\ndl#instanceInfo {\\r\\n float: left;\\r\\n width: 80%;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\ndiv.instanceInfoContainer {\\r\\n margin: 1em 0 0.5em 0;\\r\\n}\\r\\n\\r\\nspan.businessProcessInfo {\\r\\n color: #706d6d;\\r\\n font-size: 80%;\\r\\n}\\r\\n\\r\\n.lifeCycleDetails {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n font-size: 75%;\\r\\n color: #706d6d;\\r\\n font-weight: normal;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.tableScroll {\\r\\n width: 100%;\\r\\n max-height: 28rem;\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.sticky-col {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.first-col {\\r\\n min-width: 100px;\\r\\n left: -1px;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.fieldName{\\r\\n left: -1px;\\r\\n width: 100px;\\r\\n min-width: 100px;\\r\\n overflow: hidden;\\r\\n word-wrap:break-word;\\r\\n box-shadow: inset 1px 0px 0 #dee2e6, inset -1px 0px 0 #dee2e6;\\r\\n}\\r\\n\\r\\n.cellFieldBorderline{\\r\\n border-right: 2px solid #939698;\\r\\n}\\r\\n\\r\\ntd.valueChange {\\r\\n color: Red;\\r\\n background-color: #fef7f7;\\r\\n background-color: rgba(255, 0, 0, 0.03);\\r\\n}\\r\\n\\r\\n.untrackableImage {\\r\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyppVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMi1jMDAxIDYzLjEzOTQzOSwgMjAxMC8xMC8xMi0wODo0NTozMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIEVsZW1lbnRzIDExLjAgV2luZG93cyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4QTU0RDYxRkNDODMxMUUyQTFDNEU1MDQyQ0E4ODVFMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4QTU0RDYyMENDODMxMUUyQTFDNEU1MDQyQ0E4ODVFMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhBNTRENjFEQ0M4MzExRTJBMUM0RTUwNDJDQTg4NUUzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjhBNTRENjFFQ0M4MzExRTJBMUM0RTUwNDJDQTg4NUUzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+0K7bSgAAALpJREFUeNpi/P//PwMlgLnBt5GBgZGRgeGWIyF6JpDewsDrgGrC/2cNDP/PEKRnAumZYBroYmTMwgBUwCDVwA6kTYF0LJTPgINOR/cCE1SSGM0QGh1AnTkT6kxU54Ociex8kDiaF9D9iE/zTLg4EmbC6kxjoMlnGWdi9QaOMCBO8zNsBpCimaALCGkm6AL89GLsLgA5mzjNp3Glg5k40wE2Gi0aGcGJAeR3BoZ0orKfMWruZaQ0OwMEGAA9eBpK7AyXIAAAAABJRU5ErkJggg==);\\r\\n background-position: right;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.field-value-color {\\r\\n height: 13px;\\r\\n width: 13px;\\r\\n margin: 3px 2px 0;\\r\\n float: right;\\r\\n display: inline-block;\\r\\n vertical-align: baseline;\\r\\n background: url('thumb-field-value-color.png') no-repeat scroll;\\r\\n}\\r\\n\\r\\n.fixTh {\\r\\n background-color: #fff;\\r\\n border-bottom: 0;\\r\\n box-shadow: inset 0 0.1px 0 #dee2e6, inset 0 -1px 0 #dee2e6;\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 29px;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\nth.stateLifeCycleCol{\\r\\n min-width: 50px;\\r\\n}\\r\\n\\r\\n.custom-checkbox-menu{\\r\\n display: flex;\\r\\n padding-left: 2rem\\r\\n}\\r\\n\\r\\n.custom-control-label{\\r\\n font-weight: 400!important;\\r\\n}\\r\\n\\r\\nhr{\\r\\n margin: 3px\\r\\n}\\r\\n\\r\\n.link-pointer {\\r\\n cursor: pointer !important;\\r\\n}\\r\\n\\r\\n.hideLine{\\r\\n display:none !important\\r\\n}\\r\\n\\r\\n.fieldValueChange {\\r\\n background-position: left;\\r\\n background-repeat: no-repeat;\\r\\n background-image: url('valueChange.png');\\r\\n}\\r\\n\\r\\ntd.currentWindowImage > div {\\r\\n background-color: #d5ddf6;\\r\\n background-position: left;\\r\\n height: 13px;\\r\\n width: 25px;\\r\\n}\\r\\n\\r\\ndiv.overrideImage{\\r\\n background-color: rgb(151, 176, 248);\\r\\n border-radius: 4px;\\r\\n border-width: 2.9px;\\r\\n border-style: solid;\\r\\n border-color: rgb(224, 131, 147);\\r\\n width: 20px;\\r\\n height: 20.4px;\\r\\n}\\r\\n\\r\\ndiv.stateChangeImage{\\r\\n padding: 0;\\r\\n border-width: 4px;\\r\\n border-style: solid;\\r\\n border-radius: 4px;\\r\\n color: #1a1a1a;\\r\\n border-color: #97b0f8;\\r\\n background-color: #d5ddf6;\\r\\n}\\r\\n\\r\\n.stateChangeImageItem {\\r\\n position: absolute;\\r\\n color: #1A1A1A;\\r\\n border-color: #97B0F8;\\r\\n border-width: 1px;\\r\\n display: inline-block;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2J1c2luZXNzLXByb2Nlc3MtaW5zdGFuY2UtaGlzdG9yeS9pbnN0YW5jZS1oaXN0b3J5LWRldGFpbHMvaW5zdGFuY2UtaGlzdG9yeS1kZXRhaWxzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsVUFBVTtFQUNWLFNBQVM7QUFDWDs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxjQUFjO0FBQ2hCOztBQUdBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVixjQUFjO0VBQ2QsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSx3QkFBZ0I7RUFBaEIsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQiw2REFBNkQ7QUFDL0Q7O0FBRUE7RUFDRSwrQkFBK0I7QUFDakM7O0FBRUE7RUFDRSxVQUFVO0VBQ1YseUJBQXlCO0VBQ3pCLHVDQUF1QztBQUN6Qzs7QUFFQTtFQUNFLDYrQ0FBNitDO0VBQzcrQywwQkFBMEI7RUFDMUIsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsK0RBQWdGO0FBQ2xGOztBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQiwyREFBMkQ7RUFDM0Qsd0JBQXdCO0VBQ3hCLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsV0FBVztBQUNiOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGFBQWE7RUFDYjtBQUNGOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0U7QUFDRjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFO0FBQ0Y7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsNEJBQTRCO0VBQzVCLHdDQUF5RDtBQUMzRDs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6Qix5QkFBeUI7RUFDekIsWUFBWTtFQUNaLFdBQVc7QUFDYjs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixnQ0FBZ0M7RUFDaEMsV0FBVztFQUNYLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHFCQUFxQjtFQUNyQix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLFVBQVU7QUFDWiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvcmVwb3J0cy9idXNpbmVzcy1wcm9jZXNzLWluc3RhbmNlLWhpc3RvcnkvaW5zdGFuY2UtaGlzdG9yeS1kZXRhaWxzL2luc3RhbmNlLWhpc3RvcnktZGV0YWlscy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmluc3RhbmNlSW5mb0NvbnRhaW5lciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmRsI2luc3RhbmNlSW5mbyBkdCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC4yZW07XHJcbiAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbmRsI2luc3RhbmNlSW5mbyB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IDgwJTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbmRpdi5pbnN0YW5jZUluZm9Db250YWluZXIge1xyXG4gIG1hcmdpbjogMWVtIDAgMC41ZW0gMDtcclxufVxyXG5cclxuc3Bhbi5idXNpbmVzc1Byb2Nlc3NJbmZvIHtcclxuICBjb2xvcjogIzcwNmQ2ZDtcclxuICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuXHJcbi5saWZlQ3ljbGVEZXRhaWxzIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgY29sb3I6ICM3MDZkNmQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4udGFibGVTY3JvbGwge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC1oZWlnaHQ6IDI4cmVtO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4uc3RpY2t5LWNvbCB7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLmZpcnN0LWNvbCB7XHJcbiAgbWluLXdpZHRoOiAxMDBweDtcclxuICBsZWZ0OiAtMXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uZmllbGROYW1le1xyXG4gIGxlZnQ6IC0xcHg7XHJcbiAgd2lkdGg6IDEwMHB4O1xyXG4gIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB3b3JkLXdyYXA6YnJlYWstd29yZDtcclxuICBib3gtc2hhZG93OiBpbnNldCAxcHggMHB4IDAgI2RlZTJlNiwgaW5zZXQgLTFweCAwcHggMCAjZGVlMmU2O1xyXG59XHJcblxyXG4uY2VsbEZpZWxkQm9yZGVybGluZXtcclxuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjOTM5Njk4O1xyXG59XHJcblxyXG50ZC52YWx1ZUNoYW5nZSB7XHJcbiAgY29sb3I6IFJlZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmN2Y3O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjAzKTtcclxufVxyXG5cclxuLnVudHJhY2thYmxlSW1hZ2Uge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlwcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TWkxak1EQXhJRFl6TGpFek9UUXpPU3dnTWpBeE1DOHhNQzh4TWkwd09EbzBOVG96TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVWc1pXMWxiblJ6SURFeExqQWdWMmx1Wkc5M2N5SWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzRRVFUwUkRZeFJrTkRPRE14TVVVeVFURkRORVUxTURReVEwRTRPRFZGTXlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvNFFUVTBSRFl5TUVORE9ETXhNVVV5UVRGRE5FVTFNRFF5UTBFNE9EVkZNeUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2poQk5UUkVOakZFUTBNNE16RXhSVEpCTVVNMFJUVXdOREpEUVRnNE5VVXpJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamhCTlRSRU5qRkZRME00TXpFeFJUSkJNVU0wUlRVd05ESkRRVGc0TlVVeklpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCswSzdiU2dBQUFMcEpSRUZVZU5waS9QLy9Qd01sZ0xuQnQ1R0JnWkdSZ2VHV0l5RjZKcERld3NEcmdHckMvMmNORFAvUEVLUm5BdW1aWUJyb1ltVE13Z0JVd0NEVndBNmtUWUYwTEpUUGdJTk9SL2NDRTFTU0dNMFFHaDFBblRrVDZreFU1NE9jaWV4OGtEaWFGOUQ5aUUvelRMZzRFbWJDNmt4am9NbG5HV2RpOVFhT01DQk84ek5zQnBDaW1hQUxDR2ttNkFMODlHTHNMZ0E1bXpqTnAzR2xnNWs0MHdFMkdpMGFHY0dKQWVSM0JvWjBvcktmTVdydVphUTBPd01FR0FBOWVCcEs3QXlYSUFBQUFBQkpSVTVFcmtKZ2dnPT0pO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbi5maWVsZC12YWx1ZS1jb2xvciB7XHJcbiAgaGVpZ2h0OiAxM3B4O1xyXG4gIHdpZHRoOiAxM3B4O1xyXG4gIG1hcmdpbjogM3B4IDJweCAwO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvdGh1bWItZmllbGQtdmFsdWUtY29sb3IucG5nKSBuby1yZXBlYXQgc2Nyb2xsO1xyXG59XHJcblxyXG4uZml4VGgge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXB4IDAgI2RlZTJlNiwgaW5zZXQgMCAtMXB4IDAgI2RlZTJlNjtcclxuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICB0b3A6IDI5cHg7XHJcbiAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbnRoLnN0YXRlTGlmZUN5Y2xlQ29se1xyXG4gIG1pbi13aWR0aDogNTBweDtcclxufVxyXG5cclxuLmN1c3RvbS1jaGVja2JveC1tZW51e1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcGFkZGluZy1sZWZ0OiAycmVtXHJcbn1cclxuXHJcbi5jdXN0b20tY29udHJvbC1sYWJlbHtcclxuICBmb250LXdlaWdodDogNDAwIWltcG9ydGFudDtcclxufVxyXG5cclxuaHJ7XHJcbiAgbWFyZ2luOiAzcHhcclxufVxyXG5cclxuLmxpbmstcG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5oaWRlTGluZXtcclxuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudFxyXG59XHJcblxyXG4uZmllbGRWYWx1ZUNoYW5nZSB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvdmFsdWVDaGFuZ2UucG5nKTtcclxufVxyXG5cclxudGQuY3VycmVudFdpbmRvd0ltYWdlID4gZGl2IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkZGY2O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XHJcbiAgaGVpZ2h0OiAxM3B4O1xyXG4gIHdpZHRoOiAyNXB4O1xyXG59XHJcblxyXG5kaXYub3ZlcnJpZGVJbWFnZXtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTUxLCAxNzYsIDI0OCk7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJvcmRlci13aWR0aDogMi45cHg7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItY29sb3I6IHJnYigyMjQsIDEzMSwgMTQ3KTtcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIwLjRweDtcclxufVxyXG5cclxuZGl2LnN0YXRlQ2hhbmdlSW1hZ2V7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXItd2lkdGg6IDRweDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBjb2xvcjogIzFhMWExYTtcclxuICBib3JkZXItY29sb3I6ICM5N2IwZjg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZGRmNjtcclxufVxyXG5cclxuLnN0YXRlQ2hhbmdlSW1hZ2VJdGVtIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY29sb3I6ICMxQTFBMUE7XHJcbiAgYm9yZGVyLWNvbG9yOiAjOTdCMEY4O1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG5cclxuIl19 */\"","import {Component, ElementRef, Input, OnInit, QueryList, TemplateRef, ViewChild, ViewChildren} from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { AdminService } from '../../../../../services/admin.service';\r\nimport {ReportsServiceService} from '../../../../../services/reports-service';\r\nimport {GenericModalService} from '../../../../../services/generic-modal.service';\r\nimport {Subscription} from 'rxjs';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {FieldValueDetailComponent} from './field-value-details/field-value-detail.component';\r\nimport {Title} from \"@angular/platform-browser\";\r\nimport {HttpEventType} from '@angular/common/http';\r\nimport {formatDate} from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-instance-history-details',\r\n templateUrl: './instance-history-details.component.html',\r\n styleUrls: ['./instance-history-details.component.css']\r\n})\r\nexport class InstanceHistoryDetailsComponent implements OnInit {\r\n\r\n inscription: Subscription;\r\n bpInstanceId: number;\r\n timelineEvents;\r\n instanceHistoryDetail;\r\n fields;\r\n states;\r\n stateLifeCycles;\r\n availableStateLifeCycles;\r\n fieldValueDetailComponent: any = FieldValueDetailComponent;\r\n loadCompleted: boolean;\r\n errorMessage: string;\r\n hideEmptyFields: boolean;\r\n hideNotTrackableFields: boolean;\r\n showLifeCycleDetails: boolean;\r\n bsModalRef;\r\n attachments:[];\r\n hasAttachments;\r\n\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private reportService: ReportsServiceService,\r\n private route: ActivatedRoute,\r\n private modalService: GenericModalService,\r\n private titleService:Title\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.loadCompleted = false;\r\n this.inscription = this.route.params.subscribe(params => {\r\n this.bpInstanceId = params['id'];\r\n this.titleService.setTitle(`Histórico de Execução da Instância ${this.bpInstanceId}`);\r\n this.loadAttachments();\r\n this.loadStateLifeCycles();\r\n this.hideEmptyFields = false;\r\n this.hideNotTrackableFields = false;\r\n this.showLifeCycleDetails = true;\r\n });\r\n }\r\n\r\n loadStateLifeCycles() {\r\n this.reportService.getStatesLifeCycles()\r\n .subscribe(\r\n result => {\r\n this.availableStateLifeCycles = result;\r\n this.loadTimelineEvents();\r\n }, error1 => {\r\n this.errorMessage = error1;\r\n }\r\n );\r\n }\r\n\r\n loadAttachments(){\r\n this.errorMessage = \"\";\r\n this.reportService.getAttachmentsByInstance(this.bpInstanceId)\r\n .subscribe(\r\n result => {\r\n this.attachments = result;\r\n this.hasAttachments = result && result.length > 0;\r\n }, error => {\r\n this.errorMessage = error;\r\n }\r\n );\r\n }\r\n\r\n loadTimelineEvents() {\r\n this.errorMessage = '';\r\n this.reportService.getTimelineEvents(this.bpInstanceId)\r\n .subscribe(\r\n result => {\r\n this.timelineEvents = result;\r\n let lastTimelineEvent = this.timelineEvents && this.timelineEvents.length && this.timelineEvents[this.timelineEvents.length - 1];\r\n this.getInstanceHistoryDetails(lastTimelineEvent);\r\n }, error => {\r\n this.loadCompleted = true;\r\n this.errorMessage = error;\r\n console.error(error)\r\n }\r\n );\r\n }\r\n\r\n getInstanceHistoryDetails(lastTimelineEvent) {\r\n this.errorMessage = '';\r\n this.fields = [];\r\n this.instanceHistoryDetail = undefined;\r\n this.reportService.getInstanceHistoryDetails(this.bpInstanceId, lastTimelineEvent.executionOrder, lastTimelineEvent.version)\r\n .subscribe(\r\n result => {\r\n this.instanceHistoryDetail = result;\r\n this.loadCompleted = true;\r\n if (result){\r\n result.fields.forEach(f => {\r\n this.fields.push(new FieldWrapper(f));\r\n });\r\n\r\n this.states = [];\r\n this.stateLifeCycles = [];\r\n\r\n let currentState;\r\n result.stateLifeCycles.forEach(lifeCycle => {\r\n let isStateChange = false;\r\n\r\n if (!currentState || (lifeCycle.stateCount !== currentState.stateCount)) {\r\n isStateChange = (currentState !== undefined); // O primeiro estado não representa mudança de estado\r\n currentState = new StateWrapper(lifeCycle.stateId, lifeCycle.stateName, lifeCycle.executionOrder, lifeCycle.stateCount);\r\n this.states.push(currentState);\r\n }\r\n\r\n let lifeCycleWrapper = new StateLifeCycleWrapper(lifeCycle, undefined);\r\n this.stateLifeCycles.push(lifeCycleWrapper);\r\n currentState.lifeCycles.push(lifeCycleWrapper);\r\n\r\n lifeCycle.fieldValues.forEach(fieldValue => {\r\n let field = this.fieldById(fieldValue.id);\r\n if (field)\r\n field.PushValue(fieldValue, isStateChange);\r\n });\r\n\r\n });\r\n }\r\n },\r\n error => {\r\n this.loadCompleted = true;\r\n this.errorMessage = error;\r\n console.error(error)\r\n }\r\n );\r\n }\r\n\r\n fieldById(fieldId: number){\r\n let result = this.fields.filter(f => f.id == fieldId);\r\n if (result && result.length == 1)\r\n return result[0];\r\n return undefined;\r\n }\r\n\r\n translateStateLifeCycleValue(value){\r\n let translatedValue = this.availableStateLifeCycles.filter(a => a.value == value);\r\n if (translatedValue && translatedValue.length == 1)\r\n return translatedValue[0].translatedName;\r\n return value;\r\n }\r\n\r\n onEventClick(event: any) {\r\n this.loadCompleted = false;\r\n this.getInstanceHistoryDetails(event);\r\n }\r\n\r\n onDetailsClick(field, fieldValue) {\r\n this.modalService.showObjModal(this.fieldValueDetailComponent, `Conteúdo do campo ${field.name}`,\r\n fieldValue);\r\n }\r\n\r\n openLegendModal(template: TemplateRef) {\r\n this.bsModalRef = this.modalService.showObjModalWithTemplate(template, {}, 'modal-md');\r\n }\r\n\r\n onCloseModal() {\r\n this.bsModalRef.hide();\r\n }\r\n\r\n openAttachModal(template: TemplateRef) {\r\n this.bsModalRef = this.modalService.showObjModalWithTemplate(template, {});\r\n }\r\n\r\n downloadAttachment(file) {\r\n this.reportService.getAttachmentContent(file.id, file.name).subscribe(\r\n data => {\r\n switch (data.type) {\r\n case HttpEventType.DownloadProgress:\r\n console.log('Download status: ' + Math.round((data.loaded / data.total) * 100) + '%');\r\n break;\r\n case HttpEventType.Response:\r\n const downloadedFile = new Blob([data.body], { type: data.body.type });\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n //a.download = encodeURIComponent(file.name);\r\n a.download = file.name;\r\n a.href = URL.createObjectURL(downloadedFile);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n break;\r\n }\r\n },\r\n error => {\r\n const errorMsg = `Erro ao realizar o download do anexo da instância: ${error}`;\r\n this.errorMessage = errorMsg;\r\n console.log(errorMsg);\r\n }\r\n );\r\n }\r\n\r\n downloadPdf(onlyCurrentHistory: boolean) {\r\n let current_date = new Date();\r\n let offset = current_date.getTimezoneOffset();\r\n let currentUrl = location.href;\r\n let bpName = this.instanceHistoryDetail.businessProcessName;\r\n let sDate = formatDate(new Date(),'ddMMyyyy',\"pt-BR\");\r\n let fileName = `${bpName}${this.bpInstanceId}${sDate}.pdf`;\r\n this.reportService.getInstanceHistoryPdf(this.bpInstanceId, bpName, currentUrl, onlyCurrentHistory,offset).subscribe(\r\n data => {\r\n switch (data.type) {\r\n case HttpEventType.DownloadProgress:\r\n console.log('Download pdf status: ' + Math.round((data.loaded / data.total) * 100) + '%');\r\n break;\r\n case HttpEventType.Response:\r\n const downloadedFile = new Blob([data.body], { type: data.body.type });\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n //a.download = encodeURIComponent(file.name);\r\n a.download = fileName;\r\n a.href = URL.createObjectURL(downloadedFile);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n break;\r\n }\r\n },\r\n error => {\r\n const errorMsg = `Erro ao realizar o download do pdf da instância: ${error}`;\r\n this.errorMessage = errorMsg;\r\n console.log(errorMsg);\r\n }\r\n );\r\n }\r\n}\r\n\r\n\r\nexport class FieldWrapper {\r\n MAX_VISIBLE_CONTENT_LENGTH = 50;\r\n\r\n isTrackable:boolean;\r\n isEmpty:boolean;\r\n name:string;\r\n shortName:string;\r\n id:number;\r\n displayName:string;\r\n values;\r\n\r\n constructor(field) {\r\n this.isTrackable = field.isTrackable;\r\n this.isEmpty = field.isEmpty;\r\n this.name = field.name;\r\n this.shortName = field.name.substring(0, 40);\r\n this.id = field.id;\r\n this.displayName = field.displayName;\r\n this.values = [];\r\n }\r\n\r\n _augmentFieldValue(fieldValue, previousValue, isStateChange) {\r\n let hasChanged = previousValue && previousValue.value != fieldValue.value;\r\n\r\n let fullValue = fieldValue.value;\r\n if (fullValue && fullValue.length > this.MAX_VISIBLE_CONTENT_LENGTH) {\r\n fieldValue.hasZoomableContent = true;\r\n fieldValue.shortenedValue = fullValue.substring(0, this.MAX_VISIBLE_CONTENT_LENGTH);\r\n } else {\r\n fieldValue.hasZoomableContent = false;\r\n fieldValue.shortenedValue = fullValue;\r\n }\r\n\r\n fieldValue.cssClass = (isStateChange && 'stateChange' || '')\r\n + (hasChanged && ' valueChange' || '')\r\n + (fieldValue.hasZoomableContent && ' zoomable' || '');\r\n };\r\n\r\n public PushValue(fieldValue, isStateChange) {\r\n this._augmentFieldValue(fieldValue, (this.values.length && this.values[this.values.length - 1]), isStateChange);\r\n this.values.push(fieldValue);\r\n };\r\n}\r\n\r\nexport class StateWrapper {\r\n id:number;\r\n executionOrder:number;\r\n name:string;\r\n stateCount:number;\r\n lifeCycles;\r\n\r\n constructor(id, name, executionOrder, stateCount) {\r\n this.id = id;\r\n this.executionOrder = executionOrder;\r\n this.name = name;\r\n this.stateCount = stateCount;\r\n this.lifeCycles = [];\r\n }\r\n}\r\n\r\nexport class StateLifeCycleWrapper {\r\n modifiedBy:string;\r\n runtimeHostName:string;\r\n kind;\r\n modifyDate;\r\n isStateChange:boolean;\r\n errorSummary:string;\r\n errorDetail:string;\r\n warningMessage:string;\r\n stateCount:number;\r\n executionOrder:number;\r\n\r\n constructor(lifeCycle, isStateChange: boolean) {\r\n this.modifiedBy = lifeCycle.modifiedBy;\r\n this.runtimeHostName = lifeCycle.runtimeHostName;\r\n this.kind = lifeCycle.stateLifeCycle;\r\n this.modifyDate = lifeCycle.stateLifeCycleModifyDate\r\n this.isStateChange = isStateChange;\r\n this.errorSummary = lifeCycle.errorSummary;\r\n this.errorDetail = lifeCycle.errorDetail;\r\n this.warningMessage = lifeCycle.warningMessage;\r\n this.stateCount = lifeCycle.stateCount;\r\n this.executionOrder = lifeCycle.executionOrder;\r\n }\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvcmVwb3J0cy9idXNpbmVzcy1wcm9jZXNzLWluc3RhbmNlLWhpc3Rvcnkvdmlldy1pbnN0YW5jZS1yZXBvcnQvdmlldy1pbnN0YW5jZS1yZXBvcnQuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ReportsServiceService } from '../../../../../services/reports-service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DomSanitizer, Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-view-instance-report',\r\n templateUrl: './view-instance-report.component.html',\r\n styleUrls: ['./view-instance-report.component.css']\r\n})\r\nexport class ViewInstanceReportComponent implements OnInit {\r\n\r\n html: any;\r\n errorMessage = '';\r\n inscription: Subscription;\r\n instanceId: number;\r\n viewId: number;\r\n\r\n constructor(\r\n private reportsService: ReportsServiceService,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private titleService: Title\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.errorMessage = '';\r\n this.inscription = this.route.params.subscribe(params => {\r\n this.instanceId = params['instanceId'];\r\n this.viewId = params['viewId'];\r\n this.titleService.setTitle(`Visualização da Instância ${this.instanceId} através de um Layout `);\r\n });\r\n this.reportsService.getHtmlView(this.instanceId, this.viewId)\r\n .subscribe( response => {\r\n this.html = this.sanitizer.bypassSecurityTrustHtml(response.html);\r\n }, error1 => {\r\n console.log(error1);\r\n this.errorMessage = error1;\r\n });\r\n }\r\n\r\n downloadView() {\r\n this.errorMessage = '';\r\n this.reportsService.getPdfView(this.instanceId, this.viewId)\r\n .subscribe(data => {\r\n const fileName = `Instance_${this.instanceId}_View_${this.viewId}.pdf`;\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n a.download = encodeURIComponent(fileName);\r\n a.href = URL.createObjectURL(data);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n },\r\n err => {\r\n this.errorMessage = err;\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n\r\n}\r\n","export default \".modal-content {\\r\\n background: #ffffff !important;\\r\\n}\\r\\n\\r\\n.tooltip-custom-class {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\napp-dropdown-multiselect form .ng-select-container {\\r\\n background-color: #e9ecef;\\r\\n}\\r\\n\\r\\n.form-group-inline {\\r\\n display: inline-flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.form-group{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.custom-checkbox{\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-checkbox-label{\\r\\n width: 85px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2luc3RhbmNlLWhpc3Rvcnktc3RhdGVMaWZlQ3ljbGUvaW5zdGFuY2UtaGlzdG9yeS1yZXN1bHQtbW9kYWwvaW5zdGFuY2UtaGlzdG9yeS1yZXN1bHQtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL3JlcG9ydHMvaW5zdGFuY2UtaGlzdG9yeS1zdGF0ZUxpZmVDeWNsZS9pbnN0YW5jZS1oaXN0b3J5LXJlc3VsdC1tb2RhbC9pbnN0YW5jZS1oaXN0b3J5LXJlc3VsdC1tb2RhbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1vZGFsLWNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRvb2x0aXAtY3VzdG9tLWNsYXNzIHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5hcHAtZHJvcGRvd24tbXVsdGlzZWxlY3QgZm9ybSAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXAtaW5saW5lIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jdXN0b20tY2hlY2tib3h7XHJcbiAgbWFyZ2luLWxlZnQ6IDVweDtcclxufVxyXG5cclxuLmN1c3RvbS1jaGVja2JveC1sYWJlbHtcclxuICB3aWR0aDogODVweDtcclxufVxyXG4iXX0= */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-instance-history-result-modal',\r\n templateUrl: './instance-history-result-modal.component.html',\r\n styleUrls: ['./instance-history-result-modal.component.css']\r\n})\r\nexport class InstanceHistoryResultModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n objInitialState;\r\n filter;\r\n availableBusinessProcess;\r\n tableMaxHeight;\r\n stateName;\r\n lifeCycleName;\r\n\r\n constructor(public bsModalRef: BsModalRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.tableMaxHeight = '65vh';\r\n if (this.objInitialState){\r\n this.availableBusinessProcess = this.objInitialState.availableBusinessProcess;\r\n this.filter = this.objInitialState.filter;\r\n this.stateName = this.objInitialState.stateName;\r\n this.lifeCycleName = this.objInitialState.lifeCycleName;\r\n }\r\n }\r\n\r\n onClose() {\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","export default \"\\r\\n.sticky-col {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: #ECECEC;\\r\\n}\\r\\n\\r\\n.first-col {\\r\\n width: 100px;\\r\\n min-width: 100px;\\r\\n max-width: 100px;\\r\\n left: 0px;\\r\\n}\\r\\n\\r\\n.second-col {\\r\\n width: 100px;\\r\\n min-width: 100px;\\r\\n max-width: 100px;\\r\\n left: 100px;\\r\\n}\\r\\n\\r\\n.legend\\r\\n{\\r\\n font-size: 0.7em;\\r\\n color: #999;\\r\\n}\\r\\n\\r\\n.tabScroll {\\r\\n max-height: 32rem;\\r\\n overflow-y: auto;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2luc3RhbmNlLWhpc3Rvcnktc3RhdGVMaWZlQ3ljbGUvaW5zdGFuY2UtaGlzdG9yeS1zdGF0ZUxpZmVDeWNsZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtFQUNFLHdCQUF3QjtFQUN4QixnQkFBZ0I7RUFDaEIseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsU0FBUztBQUNYOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsV0FBVztBQUNiOztBQUVBOztFQUVFLGdCQUFnQjtFQUNoQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvcmVwb3J0cy9pbnN0YW5jZS1oaXN0b3J5LXN0YXRlTGlmZUN5Y2xlL2luc3RhbmNlLWhpc3Rvcnktc3RhdGVMaWZlQ3ljbGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uc3RpY2t5LWNvbCB7XHJcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VDRUNFQztcclxufVxyXG5cclxuLmZpcnN0LWNvbCB7XHJcbiAgd2lkdGg6IDEwMHB4O1xyXG4gIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDBweDtcclxuICBsZWZ0OiAwcHg7XHJcbn1cclxuXHJcbi5zZWNvbmQtY29sIHtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgbWluLXdpZHRoOiAxMDBweDtcclxuICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gIGxlZnQ6IDEwMHB4O1xyXG59XHJcblxyXG4ubGVnZW5kXHJcbntcclxuICBmb250LXNpemU6IDAuN2VtO1xyXG4gIGNvbG9yOiAjOTk5O1xyXG59XHJcblxyXG4udGFiU2Nyb2xsIHtcclxuICBtYXgtaGVpZ2h0OiAzMnJlbTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { AdminService } from '../../../../services/admin.service';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { BusinessProcess } from '../../../../Models/businessProcess';\r\nimport { ReportsFilterComponent } from '../../../../common/reports-filter/reports-filter.component';\r\nimport {ReportsServiceService} from '../../../../services/reports-service';\r\nimport {GenericModalService} from '../../../../services/generic-modal.service';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {InstanceHistoryResultComponent} from '../../../../common/reports-filter/instance-history-result/instance-history-result.component';\r\nimport {InstanceHistoryResultModalComponent} from './instance-history-result-modal/instance-history-result-modal.component';\r\n\r\n@Component({\r\n selector: 'app-instance-history-stateLifeCyle',\r\n templateUrl: './instance-history-stateLifeCycle.component.html',\r\n styleUrls: ['./instance-history-stateLifeCycle.component.css']\r\n})\r\nexport class InstanceHistoryStateLifeCycleComponent implements OnInit {\r\n\r\n availableBusinessProcess: BusinessProcess[];\r\n reportResult;\r\n availableStateLifeCycles: string[];\r\n resultError:string;\r\n submitted:boolean;\r\n filterCollapse$: BehaviorSubject;\r\n lastFilter;\r\n\r\n\r\n @ViewChild('reportsFilterComponent', { static: false }) reportsFilterComponent: ReportsFilterComponent;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private bpService: BusinessProcessService,\r\n private reportService: ReportsServiceService,\r\n private modalService: GenericModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.submitted = false;\r\n this.loadBusinessProcessList();\r\n this.loadStateLifeCycles();\r\n this.filterCollapse$ = new BehaviorSubject(false)\r\n }\r\n\r\n\r\n loadBusinessProcessList() {\r\n this.resultError = '';\r\n this.bpService.getAllBusinessProcesses()\r\n .subscribe(\r\n result => {\r\n this.availableBusinessProcess = result;\r\n }, error1 => this.resultError = error1\r\n );\r\n }\r\n\r\n loadStateLifeCycles() {\r\n this.resultError = '';\r\n this.reportService.getStatesLifeCycles()\r\n .subscribe(\r\n result => {\r\n this.availableStateLifeCycles = result;\r\n }, error1 => {\r\n this.resultError = error1;\r\n }\r\n );\r\n }\r\n\r\n\r\n searchReport(filter){\r\n if (!filter.pageIndex){\r\n filter.pageIndex = 0;\r\n }\r\n\r\n this.submitted = false;\r\n this.reportResult = null;\r\n this.resultError = '';\r\n this.lastFilter = filter;\r\n this.reportService.getInstanceSummaryReport(filter)\r\n .subscribe(\r\n result => {\r\n this.submitted = true;\r\n this.reportResult = result;\r\n if (result){\r\n result.forEach(r =>{\r\n let bp = this.availableBusinessProcess.filter(bp => bp.businessProcessId == r.businessProcessId);\r\n if (bp && bp.length == 1){\r\n r.businessProcessName = bp[0].name;\r\n }\r\n })\r\n this.filterCollapse$.next(true);\r\n }\r\n },\r\n error => {\r\n this.resultError = error;\r\n }\r\n );\r\n }\r\n\r\n onResetFilter() {\r\n this.submitted = false;\r\n this.resultError = '';\r\n }\r\n\r\n showInstancesHistoryModal(item, lifeCycleValue, lifeCycleName) {\r\n let newFilter = this.lastFilter;\r\n newFilter.businessProcess = [item.businessProcessId];\r\n newFilter.states = [item.stateId];\r\n newFilter.stateLifeCycles = [lifeCycleValue];\r\n\r\n let inputDataModal = {\r\n filter: newFilter,\r\n availableBusinessProcess: this.availableBusinessProcess,\r\n stateName: item.stateName,\r\n lifeCycleName: lifeCycleName\r\n };\r\n\r\n const destComponent: any = InstanceHistoryResultModalComponent;\r\n this.modalService.showObjModal(destComponent, 'Histórico de Execução', inputDataModal, 'modal-xl');\r\n }\r\n\r\n\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button {\\r\\n position: relative;\\r\\n right: 36px;\\r\\n top: 4px;\\r\\n padding: 3px;\\r\\n width: 31px;\\r\\n border-radius: 100px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button:hover {\\r\\n cursor: pointer;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL2luc3RhbmNlLW92ZXJyaWRlLXJlcG9ydC9pbnN0YW5jZS1vdmVycmlkZS1yZXBvcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtFQUM5QixnQkFBZ0I7QUFDbEI7OztBQUdBO0VBQ0UsZ0VBQWdFO0FBQ2xFOzs7QUFHQTtFQUNFLDJCQUEyQjtBQUM3Qjs7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7OztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxRQUFRO0VBQ1IsWUFBWTtFQUNaLFdBQVc7RUFDWCxvQkFBb0I7RUFDcEIsa0JBQWtCO0FBQ3BCOzs7QUFFQTtFQUNFLGVBQWU7RUFDZix5QkFBeUI7QUFDM0IiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL3JlcG9ydHMvaW5zdGFuY2Utb3ZlcnJpZGUtcmVwb3J0L2luc3RhbmNlLW92ZXJyaWRlLXJlcG9ydC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5cclxuc2VsZWN0LmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtICsgMTVweCkgY2VudGVyO1xyXG59XHJcblxyXG5cclxuLmNhcmQtdGl0bGV7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNsZWFyLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHJpZ2h0OiAzNnB4O1xyXG4gIHRvcDogNHB4O1xyXG4gIHBhZGRpbmc6IDNweDtcclxuICB3aWR0aDogMzFweDtcclxuICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jbGVhci1idXR0b246aG92ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { AdminService } from '../../../../services/admin.service';\r\nimport { BusinessProcessService } from '../../../../services/business-process.service';\r\nimport { ReportsFilterComponent } from '../../../../common/reports-filter/reports-filter.component';\r\nimport { ReportsServiceService } from '../../../../services/reports-service';\r\nimport { GenericModalService } from '../../../../services/generic-modal.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { WebClientConfigurationService } from '../../../../services/configuration/web-client-configuration.service';\r\n\r\n@Component({\r\n selector: 'app-instance-override-report',\r\n templateUrl: './instance-override-report.component.html',\r\n styleUrls: ['./instance-override-report.component.css']\r\n})\r\nexport class InstanceOverrideReportComponent implements OnInit {\r\n\r\n config: PaginationInstance;\r\n resultError: string;\r\n reportResult;\r\n submitted: boolean;\r\n filter: any;\r\n filterCollapse$: BehaviorSubject;\r\n p = 1;\r\n total: number;\r\n\r\n @ViewChild('reportsFilterComponent', { static: false }) reportsFilterComponent: ReportsFilterComponent;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private bpService: BusinessProcessService,\r\n private reportService: ReportsServiceService,\r\n private modalService: GenericModalService,\r\n private webClientConfig: WebClientConfigurationService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.submitted = false;\r\n this.filterCollapse$ = new BehaviorSubject(false);\r\n }\r\n\r\n getFilter(filter) {\r\n this.filter = filter;\r\n this.filterCollapse$.next(true);\r\n this.searchReport(1);\r\n }\r\n\r\n searchReport(page) {\r\n this.filter.pageIndex = page - 1;\r\n this.filter.stateLifeCycle = this.filter.stateLifeCycleValue;\r\n\r\n this.submitted = false;\r\n this.reportResult = null;\r\n this.resultError = '';\r\n\r\n this.reportService.getInstanceOverrideReport(this.filter)\r\n .subscribe(result => {\r\n this.submitted = true;\r\n this.reportResult = result;\r\n this.total = result.total;\r\n this.p = 1;\r\n this.getPaginationConfig(page, result.total);\r\n if (result) {\r\n console.log(result);\r\n this.reportResult = result.items;\r\n }\r\n },\r\n error => {\r\n this.resultError = error;\r\n }\r\n );\r\n }\r\n\r\n onResetFilter() {\r\n this.submitted = false;\r\n this.resultError = '';\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.resultError = '';\r\n this.webClientConfig.getPageSizeConfig()\r\n .subscribe(item => {\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }, error1 => this.resultError = error1);\r\n }\r\n\r\n onStatusClick(text) {\r\n this.modalService.showInfoMessage(text, true, undefined, 'Detalhes da falha na imposição:');\r\n }\r\n\r\n onDetailsClick(businessProcessInstanceId) {\r\n window.open(`/instanceHistoryDetails/${businessProcessInstanceId}`, '_blank', 'width=1800,height=850,toolbar=no,resizable=yes,alwaysRaised=true,scrollbars=yes,location=no');\r\n }\r\n\r\n}\r\n","import { RouterModule, Routes } from '@angular/router';\r\nimport { ModuleWithProviders } from '@angular/core';\r\nimport { AuthorizationCheck} from '../../../auth/authorizationCheck';\r\nimport { InstanceHistoryDetailsComponent } from './business-process-instance-history/instance-history-details/instance-history-details.component';\r\nimport { ViewInstanceReportComponent } from './business-process-instance-history/view-instance-report/view-instance-report.component';\r\n\r\n\r\n\r\n\r\nconst Reports_Routes: Routes = [\r\n { path: 'instanceHistoryDetails/:id',\r\n component: InstanceHistoryDetailsComponent, canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: 'customInstanceView/:instanceId/:viewId',\r\n component: ViewInstanceReportComponent,\r\n canActivate: [AuthorizationCheck],\r\n runGuardsAndResolvers: 'always'\r\n }\r\n];\r\n\r\nexport const reportsRouting: ModuleWithProviders = RouterModule.forChild(Reports_Routes) ;\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1ZpZXdzL1J1bnRpbWUvcmVwb3J0cy90aW1pbmctYW5hbHlzaXMtcmVwb3J0L3Jlc3VsdC10ZW1wbGF0ZS9yZXN1bHQtdGVtcGxhdGUuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-result-template',\r\n templateUrl: './result-template.component.html',\r\n styleUrls: ['./result-template.component.css']\r\n})\r\nexport class ResultTemplateComponent implements OnInit {\r\n\r\n @Input() reportData = [];\r\n @Input() level: number;\r\n @Input() graphWidth: string;\r\n @Input() filterFactor: any;\r\n\r\n subLevelVisibility = [];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getWidth () {\r\n return parseInt(this.graphWidth, 10) || 100;\r\n }\r\n\r\n getPercentBasedWidth(item, i) {\r\n return (item[`range${i}Perc`] / 100) * this.getWidth();\r\n }\r\n\r\n generateCountGraph(item) {\r\n let html = '
';\r\n\r\n [1, 2, 3, 4].forEach(i => {\r\n var width = this.getCountBasedWidth(item, i),\r\n count = item[`range${i}Count`];\r\n\r\n if (count > 0) {\r\n html += `
${count}
`;\r\n }\r\n });\r\n\r\n html += '
';\r\n\r\n return html;\r\n }\r\n\r\n getCountBasedWidth(item, i) {\r\n let itemCount = item['range' + i + 'Count'];\r\n let graphWidth = this.getWidth();\r\n\r\n let relativeSize = itemCount / item.maxRange;\r\n let computedSize = relativeSize * graphWidth;\r\n\r\n return computedSize;\r\n }\r\n\r\n generatePercentGraph (item) {\r\n let html = '
';\r\n\r\n [1, 2, 3, 4].forEach(i => {\r\n const width = this.getPercentBasedWidth(item, i),\r\n percent = item['range' + i + 'Perc'];\r\n let label = percent.toFixed(2).replace('.', ',');\r\n\r\n if (label.toString().indexOf(',00') > -1) {\r\n label = label.replace(',00', '');\r\n }\r\n\r\n if (percent > 0) {\r\n html += `
${label}
`;\r\n }\r\n });\r\n\r\n html += '
';\r\n\r\n return html;\r\n }\r\n\r\n getSubLevelVisibility (item) {\r\n for (let i = 0; i < this.subLevelVisibility.length; i++) {\r\n if (this.subLevelVisibility[i].groupingLabel == item.groupingLabel) {\r\n return this.subLevelVisibility[i].isVisible;\r\n }\r\n }\r\n\r\n const visibilityItem = { groupingLabel: item.groupingLabel, isVisible: false };\r\n this.subLevelVisibility.push(visibilityItem);\r\n\r\n return false;\r\n }\r\n\r\n setSubLevelVisibility(item) {\r\n for (let i = 0; i < this.subLevelVisibility.length; i++) {\r\n if (this.subLevelVisibility[i].groupingLabel == item.groupingLabel) {\r\n this.subLevelVisibility[i].isVisible = !this.subLevelVisibility[i].isVisible;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n adjustGroupingLabelExibition(label: string) {\r\n const length = 24;\r\n if (label.length > length) {\r\n label = label.substr(0, length) + '...';\r\n }\r\n return label;\r\n }\r\n\r\n}\r\n","export default \"body {\\r\\n}\\r\\n\\r\\nlabel.timingAnalisysValueLabel {\\r\\n width: 35px;\\r\\n height: 20px;\\r\\n}\\r\\n\\r\\ntd.timingAnalisysValueCell {\\r\\n width: 35px;\\r\\n height: 20px;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\ntd.timingAnalisysRuleCell {\\r\\n width: 100px;\\r\\n height: 20px;\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.range1 {\\r\\n background-color: #009933;\\r\\n}\\r\\n\\r\\n.range2 {\\r\\n background-color: #FFB9B9;\\r\\n}\\r\\n\\r\\n.range3 {\\r\\n background-color: #FF7575;\\r\\n}\\r\\n\\r\\n.range4 {\\r\\n background-color: #FF0000;\\r\\n}\\r\\n\\r\\n.timingAnalysisReportBar\\r\\n{\\r\\n border-spacing: 2px;\\r\\n text-overflow: clip;\\r\\n display: inline-block;\\r\\n align: center;\\r\\n}\\r\\n\\r\\ndiv.timingAnalisysReportInlineDiv {\\r\\n display: inline-block;\\r\\n align: center;\\r\\n}\\r\\n\\r\\nlabel.timingAnalisysReportValues\\r\\n{\\r\\n display: block;\\r\\n overflow-x: hidden;\\r\\n overflow-y: hidden;\\r\\n}\\r\\n\\r\\n.resultItem {\\r\\n}\\r\\n\\r\\n.resultItem .separator {\\r\\n height: 2px;\\r\\n}\\r\\n\\r\\n.resultItem .separator hr {\\r\\n border: 1px solid #ddd;\\r\\n border-width: 1px 0 0 0;\\r\\n}\\r\\n\\r\\n.groupingCell {\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.groupingLabel {\\r\\n max-width: 260px;\\r\\n min-width: 210px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.resultItem .subItem .groupingLabel LABEL\\r\\n{\\r\\n margin-left: 2em;\\r\\n}\\r\\n\\r\\n.graphContainer {\\r\\n min-width: 345px;\\r\\n max-width: 345px;\\r\\n}\\r\\n\\r\\n.graphContainer .ranges\\r\\n{\\r\\n display: table;\\r\\n}\\r\\n\\r\\n.graphCell {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n.graphBar {\\r\\n overflow: hidden;\\r\\n font-size: 0.9em;\\r\\n font-weight: bold;\\r\\n text-align: center;\\r\\n color: black;\\r\\n white-space: nowrap;\\r\\n text-overflow: clip;\\r\\n padding: 0.2em 0;\\r\\n}\\r\\n\\r\\n.groupTotal {\\r\\n min-width: 100px;\\r\\n max-width: 100px;\\r\\n margin-left: 2px;\\r\\n}\\r\\n\\r\\n.accordionContainer\\r\\n{\\r\\n min-width: 20px;\\r\\n max-width: 20px;\\r\\n}\\r\\n\\r\\n.accordionButton\\r\\n{\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.graphHeader {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.timingAnalisysValidationCell {\\r\\n width: 10px;\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timingAnalisysFieldLabel {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timingAnalisysFieldContainer {\\r\\n display: inline-block;\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n\\r\\n.timingAnalisysFieldset\\r\\n{\\r\\n display: inline-block;\\r\\n padding-top: 10px;\\r\\n padding-left: 53px;\\r\\n padding-right: 61px;\\r\\n padding-bottom: 5px;\\r\\n height: 190px;\\r\\n}\\r\\n\\r\\n.timingAnalisysBusinessProcessFieldset\\r\\n{\\r\\n width: 350px;\\r\\n}\\r\\n\\r\\n.timingAnalisysGroupingFieldset\\r\\n{\\r\\n text-align: center;\\r\\n width: 130px;\\r\\n}\\r\\n\\r\\n.timingAnalisysGroupingElements {\\r\\n width: 120px;\\r\\n}\\r\\n\\r\\n.timingAnalisysReportFilterBlock {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.timingAnalisysButton\\r\\n{\\r\\n width: 900px;\\r\\n text-align: right;\\r\\n padding-bottom: 15px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvUnVudGltZS9yZXBvcnRzL3RpbWluZy1hbmFseXNpcy1yZXBvcnQvdGltaW5nLWFuYWx5c2lzLXJlcG9ydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTs7RUFFRSxtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsYUFBYTtBQUNmOztBQUVBOztFQUVFLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsa0JBQWtCO0FBQ3BCOztBQUdBO0FBQ0E7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixtQkFBbUI7QUFDckI7O0FBRUE7O0VBRUUsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBQUNsQjs7QUFFQTs7RUFFRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCOztBQUVBOztFQUVFLGVBQWU7RUFDZixlQUFlO0FBQ2pCOztBQUVBOztFQUVFLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsV0FBVztFQUNYLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLG1CQUFtQjtBQUNyQjs7QUFFQTs7RUFFRSxxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLGFBQWE7QUFDZjs7QUFFQTs7RUFFRSxZQUFZO0FBQ2Q7O0FBRUE7O0VBRUUsa0JBQWtCO0VBQ2xCLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFHQTtFQUNFLHFCQUFxQjtFQUNyQixtQkFBbUI7QUFDckI7O0FBRUE7O0VBRUUsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixvQkFBb0I7QUFDdEIiLCJmaWxlIjoic3JjL2FwcC9WaWV3cy9SdW50aW1lL3JlcG9ydHMvdGltaW5nLWFuYWx5c2lzLXJlcG9ydC90aW1pbmctYW5hbHlzaXMtcmVwb3J0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJib2R5IHtcclxufVxyXG5cclxubGFiZWwudGltaW5nQW5hbGlzeXNWYWx1ZUxhYmVsIHtcclxuICB3aWR0aDogMzVweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbnRkLnRpbWluZ0FuYWxpc3lzVmFsdWVDZWxsIHtcclxuICB3aWR0aDogMzVweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbnRkLnRpbWluZ0FuYWxpc3lzUnVsZUNlbGwge1xyXG4gIHdpZHRoOiAxMDBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5yYW5nZTEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk5MzM7XHJcbn1cclxuXHJcbi5yYW5nZTIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkI5Qjk7XHJcbn1cclxuXHJcbi5yYW5nZTMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjc1NzU7XHJcbn1cclxuXHJcbi5yYW5nZTQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMDA7XHJcbn1cclxuXHJcbi50aW1pbmdBbmFseXNpc1JlcG9ydEJhclxyXG57XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDJweDtcclxuICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBhbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5kaXYudGltaW5nQW5hbGlzeXNSZXBvcnRJbmxpbmVEaXYgIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxubGFiZWwudGltaW5nQW5hbGlzeXNSZXBvcnRWYWx1ZXNcclxue1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG4ucmVzdWx0SXRlbSB7XHJcbn1cclxuXHJcbi5yZXN1bHRJdGVtIC5zZXBhcmF0b3Ige1xyXG4gIGhlaWdodDogMnB4O1xyXG59XHJcblxyXG4ucmVzdWx0SXRlbSAuc2VwYXJhdG9yIGhyIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xyXG59XHJcblxyXG4uZ3JvdXBpbmdDZWxsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5ncm91cGluZ0xhYmVsIHtcclxuICBtYXgtd2lkdGg6IDI2MHB4O1xyXG4gIG1pbi13aWR0aDogMjEwcHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnJlc3VsdEl0ZW0gLnN1Ykl0ZW0gLmdyb3VwaW5nTGFiZWwgTEFCRUxcclxue1xyXG4gIG1hcmdpbi1sZWZ0OiAyZW07XHJcbn1cclxuXHJcbi5ncmFwaENvbnRhaW5lciB7XHJcbiAgbWluLXdpZHRoOiAzNDVweDtcclxuICBtYXgtd2lkdGg6IDM0NXB4O1xyXG59XHJcblxyXG4uZ3JhcGhDb250YWluZXIgLnJhbmdlc1xyXG57XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuXHJcbi5ncmFwaENlbGwge1xyXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbn1cclxuXHJcbi5ncmFwaEJhciB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBmb250LXNpemU6IDAuOWVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gIHBhZGRpbmc6IDAuMmVtIDA7XHJcbn1cclxuXHJcbi5ncm91cFRvdGFsIHtcclxuICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gIG1heC13aWR0aDogMTAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDJweDtcclxufVxyXG5cclxuLmFjY29yZGlvbkNvbnRhaW5lclxyXG57XHJcbiAgbWluLXdpZHRoOiAyMHB4O1xyXG4gIG1heC13aWR0aDogMjBweDtcclxufVxyXG5cclxuLmFjY29yZGlvbkJ1dHRvblxyXG57XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5ncmFwaEhlYWRlciB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi50aW1pbmdBbmFsaXN5c1ZhbGlkYXRpb25DZWxsIHtcclxuICB3aWR0aDogMTBweDtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuXHJcbi50aW1pbmdBbmFsaXN5c0ZpZWxkTGFiZWwge1xyXG4gIGRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLnRpbWluZ0FuYWxpc3lzRmllbGRDb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4udGltaW5nQW5hbGlzeXNGaWVsZHNldFxyXG57XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogNTNweDtcclxuICBwYWRkaW5nLXJpZ2h0OiA2MXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgaGVpZ2h0OiAxOTBweDtcclxufVxyXG5cclxuLnRpbWluZ0FuYWxpc3lzQnVzaW5lc3NQcm9jZXNzRmllbGRzZXRcclxue1xyXG4gIHdpZHRoOiAzNTBweDtcclxufVxyXG5cclxuLnRpbWluZ0FuYWxpc3lzR3JvdXBpbmdGaWVsZHNldFxyXG57XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdpZHRoOiAxMzBweDtcclxufVxyXG5cclxuLnRpbWluZ0FuYWxpc3lzR3JvdXBpbmdFbGVtZW50cyB7XHJcbiAgd2lkdGg6IDEyMHB4O1xyXG59XHJcblxyXG5cclxuLnRpbWluZ0FuYWxpc3lzUmVwb3J0RmlsdGVyQmxvY2sge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4udGltaW5nQW5hbGlzeXNCdXR0b25cclxue1xyXG4gIHdpZHRoOiA5MDBweDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4iXX0= */\"","import {Component, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {ReportsServiceService} from '../../../../services/reports-service';\r\n\r\n@Component({\r\n selector: 'app-timing-analysis-report',\r\n templateUrl: './timing-analysis-report.component.html',\r\n styleUrls: ['./timing-analysis-report.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TimingAnalysisReportComponent implements OnInit {\r\n\r\n constructor(private reportService: ReportsServiceService) { }\r\n\r\n filter: any;\r\n filterCollapse$: BehaviorSubject;\r\n result: any;\r\n errorMessage = '';\r\n\r\n ngOnInit() {\r\n this.filterCollapse$ = new BehaviorSubject(false);\r\n }\r\n\r\n searchReport(filter) {\r\n this.filter = filter;\r\n const specifiedFilter = {\r\n businessProcessId: filter.businessProcessId,\r\n endDateTime: filter.dateRange.end,\r\n firstRange: filter.firstRange,\r\n grouping: filter.grouping,\r\n secondRange: filter.secondRange,\r\n startDateTime: filter.dateRange.start,\r\n stateLifeCycle: filter.stateLifeCycleValue,\r\n thirdRange: filter.thirdRange\r\n };\r\n this.filterCollapse$.next(true);\r\n\r\n this.reportService.getBusinessProcessInstanceTimesAndAmount(specifiedFilter).subscribe(\r\n res => {\r\n this.result = res;\r\n },\r\n error1 => this.errorMessage = error1\r\n );\r\n }\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { BusinessProcessListComponent } from './business-process/business-process-list.component';\r\nimport { BusinessProcessStartListComponent } from './instance/businessProcessStartList.component';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { TooltipModule} from 'ngx-bootstrap/tooltip';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\n\r\nimport { ConsolidationModalComponent } from './business-process/consolidation-modal/consolidation-modal.component';\r\nimport { HistoryReportVisibilityComponent } from './business-process/history-report-visibility/history-report-visibility.component';\r\nimport { routing } from './business-process/business-process.routing';\r\nimport { RelatedBusinessProcessConfigurationComponent } from './business-process/related-business-process-configuration/related-business-process-configuration.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { ManageLockedElementsComponent } from './business-process/manage-locked-elements/manage-locked-elements.component';\r\nimport { RecoverVersionComponent } from './business-process/recover-version/recover-version.component';\r\nimport { RecoverVersionChangeLogComponent } from './business-process/recover-version/recover-version-change-log.component';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { CommonComponentsModule } from '../../common/common.module';\r\nimport { BusinessProcessDetailComponent } from './business-process/business-process-detail/business-process-detail.component';\r\nimport { ImportComponent } from './business-process/import/import.component';\r\nimport { StateDetailComponent } from './business-process/state-detail/state-detail.component';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\nimport { GenericInputModalComponent } from '../../generic-modal/generic-input-modal/generic-input-modal.component';\r\nimport { FieldDetailComponent } from './business-process/field-detail/field-detail.component';\r\nimport { FieldsManagementComponent } from './business-process/fields-management/fields-management.component';\r\nimport { LibraryItemDetailsComponent } from './business-process/business-process-detail/library-item-details/library-item-details.component';\r\nimport { FieldsMultipleEditionComponent } from './business-process/fields-management/fields-multiple-edition/fields-multiple-edition.component';\r\nimport { GraphDetailComponent } from './business-process/business-process-detail/graph-detail/graph-detail.component';\r\nimport { BusinessProcessInstanceHistoryComponent } from './reports/business-process-instance-history/business-process-instance-history.component';\r\nimport { BusinessProcessInstanceOverrideComponent } from './administration/business-process-instance-override/business-process-instance-override.component';\r\nimport { DropdownMultiselectComponent } from '../../common/dropdown-multiselect/dropdown-multiselect.component';\r\nimport { ReportsFilterComponent } from '../../common/reports-filter/reports-filter.component';\r\nimport { InstanceHistoryStateLifeCycleComponent } from './reports/instance-history-stateLifeCycle/instance-history-stateLifeCycle.component';\r\nimport { TabIntanceOverrideComponent } from './administration/business-process-instance-override/tab-intance-override/tab-intance-override.component';\r\nimport { ScheduleModalComponent } from './administration/business-process-instance-override/schedule-modal/schedule-modal.component';\r\nimport { InstanceHistoryDetailsComponent} from './reports/business-process-instance-history/instance-history-details/instance-history-details.component';\r\nimport {reportsRouting} from './reports/reports.routing';\r\nimport { HistoryTimelineComponent } from './reports/business-process-instance-history/instance-history-details/history-timeline/history-timeline.component';\r\nimport {FieldValueDetailComponent} from './reports/business-process-instance-history/instance-history-details/field-value-details/field-value-detail.component';\r\nimport { GenericSelectModalComponent } from '../../generic-modal/generic-select-modal/generic-select-modal.component';\r\nimport { ViewInstanceReportComponent } from './reports/business-process-instance-history/view-instance-report/view-instance-report.component';\r\nimport { InstanceHistoryResultModalComponent } from './reports/instance-history-stateLifeCycle/instance-history-result-modal/instance-history-result-modal.component';\r\nimport { FileSizePipe } from '../../services/pipes/file-size.pipe';\r\nimport { TimingAnalysisReportComponent } from './reports/timing-analysis-report/timing-analysis-report.component';\r\nimport { InstanceOverrideReportComponent } from './reports/instance-override-report/instance-override-report.component';\r\nimport { ResultTemplateComponent } from './reports/timing-analysis-report/result-template/result-template.component';\r\nimport { BusinessProcessQueueManagerComponent } from './administration/business-process-queue-manager/business-process-queue-manager.component';\r\nimport { QueueManagerFilterComponent } from './administration/business-process-queue-manager/queue-manager-filter/queue-manager-filter.component';\r\nimport { QueueActionModalComponent } from './administration/business-process-queue-manager/queue-action-modal/queue-action-modal.component';\r\nimport { QueueShiftModalComponent } from './administration/business-process-queue-manager/queue-shift-modal/queue-shift-modal.component';\r\nimport {NgxFilesizeModule} from 'ngx-filesize';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n BusinessProcessListComponent,\r\n BusinessProcessStartListComponent,\r\n ConsolidationModalComponent,\r\n HistoryReportVisibilityComponent,\r\n RelatedBusinessProcessConfigurationComponent,\r\n ManageLockedElementsComponent,\r\n RecoverVersionComponent,\r\n RecoverVersionChangeLogComponent,\r\n BusinessProcessDetailComponent,\r\n ImportComponent,\r\n StateDetailComponent,\r\n GenericInputModalComponent,\r\n GenericSelectModalComponent,\r\n FieldDetailComponent,\r\n FieldsManagementComponent,\r\n LibraryItemDetailsComponent,\r\n FieldsMultipleEditionComponent,\r\n GraphDetailComponent,\r\n BusinessProcessInstanceHistoryComponent,\r\n BusinessProcessInstanceOverrideComponent,\r\n InstanceHistoryStateLifeCycleComponent,\r\n TabIntanceOverrideComponent,\r\n InstanceHistoryDetailsComponent,\r\n ScheduleModalComponent,\r\n HistoryTimelineComponent,\r\n FieldValueDetailComponent,\r\n ViewInstanceReportComponent,\r\n InstanceHistoryResultModalComponent,\r\n TimingAnalysisReportComponent,\r\n InstanceOverrideReportComponent,\r\n ResultTemplateComponent,\r\n BusinessProcessQueueManagerComponent,\r\n QueueManagerFilterComponent,\r\n QueueActionModalComponent,\r\n QueueShiftModalComponent\r\n ],\r\n entryComponents: [\r\n BusinessProcessListComponent,\r\n BusinessProcessStartListComponent,\r\n ConsolidationModalComponent,\r\n RecoverVersionChangeLogComponent,\r\n ImportComponent,\r\n StateDetailComponent,\r\n GenericInputModalComponent,\r\n GenericSelectModalComponent,\r\n FieldDetailComponent,\r\n FieldsManagementComponent,\r\n LibraryItemDetailsComponent,\r\n FieldsMultipleEditionComponent,\r\n GraphDetailComponent,\r\n BusinessProcessInstanceHistoryComponent,\r\n BusinessProcessInstanceOverrideComponent,\r\n DropdownMultiselectComponent,\r\n ReportsFilterComponent,\r\n InstanceHistoryStateLifeCycleComponent,\r\n TabIntanceOverrideComponent,\r\n InstanceHistoryDetailsComponent,\r\n ScheduleModalComponent,\r\n HistoryTimelineComponent,\r\n FieldValueDetailComponent,\r\n InstanceHistoryResultModalComponent,\r\n TimingAnalysisReportComponent,\r\n InstanceOverrideReportComponent,\r\n BusinessProcessQueueManagerComponent,\r\n QueueActionModalComponent,\r\n QueueShiftModalComponent\r\n ],\r\n imports: [\r\n CommonComponentsModule,\r\n CommonModule,\r\n FormsModule,\r\n NgSelectModule,\r\n ReactiveFormsModule,\r\n NgxPaginationModule,\r\n routing,\r\n reportsRouting,\r\n ModalModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n TabsModule.forRoot(),\r\n ColorPickerModule,\r\n NgxFilesizeModule\r\n ],\r\n exports: [\r\n // FileSizePipe\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\r\n})\r\n\r\nexport class RuntimeModule { }\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 70vh;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=home.component.css.map */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvVmlld3MvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFHRSxhQUFhO0VBR2IsdUJBQXVCO0VBR3ZCLG1CQUFtQjtFQUNuQixZQUFZO0FBQ2Q7O0FBRUEsNkNBQTZDIiwiZmlsZSI6InNyYy9hcHAvVmlld3MvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDcwdmg7XHJcbn1cclxuXHJcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWhvbWUuY29tcG9uZW50LmNzcy5tYXAgKi9cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css', '../../master/masterpage.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n username = localStorage.getItem('userLogon');\r\n\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n get catchError(): string {\r\n if (this.authenticationService.errorMessage) {\r\n return `Falha ao carregar os itens do menu para o usuário.
${this.authenticationService.errorMessage}`;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n document.title = 'Home';\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Route, Router } from '@angular/router';\r\nimport { DynamicMenuService } from './services/dynamic-menu.service';\r\nimport { StyleBuilder } from './services/style-builder';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private menu: DynamicMenuService,\r\n private styleBuilder: StyleBuilder\r\n ) { }\r\n\r\n title = 'app';\r\n\r\n ngOnInit(): void {\r\n if (localStorage.getItem('navMenu')) {\r\n this.menu.setRouteMenu(JSON.parse(localStorage.getItem('navMenu')));\r\n }\r\n this.styleBuilder.setLayoutConfig();\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class AppConfig {\r\n\r\n private configuration: IAppConfig = null;\r\n private env: Object = null;\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n\r\n\r\n public loadAppConfig() {\r\n // const jsonFile = 'assets/config/tsconfig.json';\r\n // return new Promise((resolve, reject) => {\r\n // this.http.get(jsonFile).toPromise().then((response) => {\r\n // this.configuration = response;\r\n // resolve();\r\n // }).catch((response: any) => {\r\n // reject(`Could not load file '${jsonFile}': ${JSON.stringify(response)}`);\r\n // });\r\n // });\r\n }\r\n}\r\n\r\nexport interface IAppConfig {\r\n apiUrl: string;\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { APP_INITIALIZER, LOCALE_ID, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport ptBr from '@angular/common/locales/pt';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './master/components/login/login.component';\r\nimport { HttpClientInterceptor } from './interceptor/httpInterceptor';\r\nimport { ErrorInterceptor } from './interceptor/errorInterceptor';\r\nimport { AuthorizationCheck } from './auth/authorizationCheck';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { HomeComponent } from './Views/home/home.component';\r\nimport { MasterPageComponent } from './master/masterpage.component';\r\nimport { AppConfig } from './app.config';\r\nimport { DynamicMenuService } from './services/dynamic-menu.service';\r\nimport { BusinessProcessService } from './services/business-process.service';\r\nimport { MasterModule } from './master/master.module';\r\nimport { AdminModule } from './Views/Admin/admin.module';\r\nimport { RuntimeModule } from './Views/Runtime/runtime.module';\r\nimport { GenericModalComponent } from './generic-modal/generic-modal.component';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { EditFieldsService } from './services/edit-fields.service';\r\nimport { HumanInteractionModule } from './Views/HumanInteraction/human-interaction.module';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ConfigurationModule } from './Views/Configuration/configuration.module';\r\nimport { BatchModule } from './Views/Batch/batch.module';\r\nimport { AccountModule } from './Views/Account/account.module';\r\nimport { NotFoundPageComponent } from './master/components/not-found-page/not-found-page.component';\r\n\r\nexport function tokenGetter() {\r\n return localStorage.getItem('TokenInfo');\r\n}\r\n\r\nregisterLocaleData(ptBr);\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n HomeComponent,\r\n GenericModalComponent,\r\n NotFoundPageComponent\r\n ],\r\n entryComponents: [ GenericModalComponent, NotFoundPageComponent ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n MasterModule,\r\n AdminModule,\r\n RuntimeModule,\r\n HumanInteractionModule,\r\n ConfigurationModule,\r\n BatchModule,\r\n BsDatepickerModule.forRoot(),\r\n BrowserAnimationsModule,\r\n AccountModule,\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokenGetter,\r\n allowedDomains: ['localhost:5000'],\r\n disallowedRoutes: []\r\n }\r\n }),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forRoot([\r\n { path: 'home', component: MasterPageComponent, children: [{ outlet: 'master', path: '', component: HomeComponent }]\r\n , canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n },\r\n { path: '', redirectTo: '/home', pathMatch: 'full' },\r\n { path: 'login', component: LoginComponent },\r\n { path: '**', component: NotFoundPageComponent }\r\n ], {onSameUrlNavigation: 'reload'}\r\n )\r\n ],\r\n providers: [\r\n AuthorizationCheck, AuthenticationService, AppConfig, DynamicMenuService, BusinessProcessService, EditFieldsService, BsModalRef,\r\n { provide: APP_INITIALIZER, useFactory: (config: AppConfig) => () => config.loadAppConfig(), deps: [AppConfig], multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpClientInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n { provide: LOCALE_ID, useValue: window.navigator.language }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport {JwtHelperService} from '@auth0/angular-jwt';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {AuthenticationService} from '../services/authentication.service';\r\n\r\n@Injectable( { providedIn: 'root' } )\r\nexport class AuthorizationCheck implements CanActivate {\r\n\r\n constructor(private jwtHelper: JwtHelperService, private router: Router,\r\n private http: HttpClient, private authenticationService: AuthenticationService) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const token = localStorage.getItem('TokenInfo');\r\n\r\n // If token data exist, user may login to application\r\n if (token && !this.jwtHelper.isTokenExpired(token)) {\r\n //console.log(this.jwtHelper.decodeToken(token));\r\n return true;\r\n }\r\n\r\n const isRefreshSuccess = await this.authenticationService.tryRefreshingTokens(token);\r\n if (!isRefreshSuccess) {\r\n setTimeout(() => {\r\n this.authenticationService.forceCloseModal();\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n }, 800);\r\n }\r\n return isRefreshSuccess;\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, HostListener, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFileUpload]'\r\n})\r\nexport class FileUploadDragDropDirective {\r\n\r\n // fonte: https://stackblitz.com/edit/file-upload-drag-n-drop-ecfyqf?file=src%2Fapp%2Ffile-drag-n-drop.directive.ts\r\n\r\n @Output() private filesChangeEmiter : EventEmitter = new EventEmitter();\r\n @HostBinding('style.background') private background = '#ffffff';\r\n @HostBinding('style.border') private borderStyle = '1px solid';\r\n @HostBinding('style.border-color') private borderColor = '#CCCCCC';\r\n @HostBinding('style.border-radius') private borderRadius = '5px';\r\n // @HostBinding('style.border-top-left-radius') private borderTopLeftRadius = '5px';\r\n // @HostBinding('style.border-top-right-radius') private borderTopRightRadius = '5px';\r\n\r\n constructor() { }\r\n\r\n @HostListener('dragover', ['$event']) public onDragOver(evt){\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = 'lightgray';\r\n this.borderColor = '#aba5ab';\r\n this.borderStyle = 'solid 3px';\r\n }\r\n\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt){\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#ffffff';\r\n this.borderColor = '#CCCCCC';\r\n this.borderStyle = 'solid 1px';\r\n }\r\n\r\n @HostListener('drop', ['$event']) public onDrop(evt){\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#ffffff';\r\n this.borderColor = '#CCCCCC';\r\n this.borderStyle = 'solid 1px';\r\n let files = evt.dataTransfer.files;\r\n let valid_files : Array = files;\r\n this.filesChangeEmiter.emit(valid_files);\r\n }\r\n}\r\n","import { Directive, TemplateRef, Input, ViewContainerRef } from '@angular/core';\r\nimport { StateLifeCycle } from '../../Models/enum/stateLifeCycle';\r\n\r\n@Directive({\r\n selector: '[appShowByRequiredPermission]'\r\n})\r\nexport class ShowByRequiredPermissionDirective {\r\n\r\n stateExpressionPattern = new RegExp(/(\\S+)\\s+(state)\\s*\\:\\s*([^\\s]+)\\s+when\\s+([^\\s]+)/);\r\n _userStatePermissions = {};\r\n _expression: string;\r\n _state: any;\r\n overridableStateLifeCycles = [\r\n StateLifeCycle.waitingForHumanInteraction,\r\n StateLifeCycle.waitingForResponse,\r\n StateLifeCycle.finished,\r\n StateLifeCycle.error\r\n ];\r\n\r\n constructor(\r\n private templateRef: TemplateRef,\r\n private viewContainerRef: ViewContainerRef\r\n ) { }\r\n\r\n @Input()\r\n set appShowByRequiredPermission(expression: any) {\r\n this._expression = expression;\r\n }\r\n\r\n @Input()\r\n set appShowByRequiredPermissionState(state: any) {\r\n this._state = state;\r\n }\r\n\r\n @Input()\r\n set appShowByRequiredPermissionStatePermissions(permissions: any[]) {\r\n this._userStatePermissions = permissions;\r\n const requiredPermission = this.parsePermissionExpression(this._expression);\r\n if (this.checkPermission(requiredPermission.action, requiredPermission.securableObject, requiredPermission.lifeCycle)) {\r\n if (this.viewContainerRef['_embeddedViews'].length < 1) {\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n } else {\r\n this.viewContainerRef.clear();\r\n }\r\n }\r\n\r\n parsePermissionExpression(expression) {\r\n const res = {\r\n action: '',\r\n objectType: null,\r\n securableObject: null,\r\n lifeCycle: null\r\n };\r\n\r\n if (this.stateExpressionPattern.test(expression)) {\r\n res.action = RegExp.$1;\r\n res.objectType = RegExp.$2;\r\n res.securableObject = RegExp.$3;\r\n res.lifeCycle = RegExp.$4;\r\n }\r\n return res;\r\n }\r\n\r\n checkPermission(action, securableObject, lifeCycle) {\r\n let hasPermission = false,\r\n allowedStates;\r\n\r\n if (action.toLowerCase() !== 'trace') {\r\n if (!action || !securableObject || !lifeCycle) {\r\n return false;\r\n }\r\n } else {\r\n if (!action || !securableObject) {\r\n return false;\r\n }\r\n }\r\n\r\n switch (action.toLowerCase()) {\r\n case 'cancel':\r\n allowedStates = this._userStatePermissions['Cancelar'] || [];\r\n hasPermission = (Number(lifeCycle) !== 13) && allowedStates.includes(Number(securableObject));\r\n break;\r\n\r\n case 'override':\r\n allowedStates = this._userStatePermissions['Impor'] || [];\r\n hasPermission = this.overridableStateLifeCycles.includes(Number(lifeCycle))\r\n && this._state.preDefinedOverrideStateId\r\n && allowedStates.includes(Number(securableObject))\r\n && allowedStates.includes(Number(this._state.preDefinedOverrideStateId));\r\n break;\r\n\r\n case 'view':\r\n allowedStates = this._userStatePermissions['VisualizarInstância'] || [];\r\n hasPermission = allowedStates.includes(Number(securableObject));\r\n break;\r\n }\r\n return hasPermission;\r\n }\r\n\r\n}\r\n","export default \"label:not(.header-info)\\r\\n{\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\nlabel.header-info {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.card-title {\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\ninput {\\r\\n margin:0 7px 0 0;\\r\\n vertical-align: middle;\\r\\n position: relative;\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\n.disabledGroup {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n.hasConfigGroup {\\r\\n background-color: #f2f6ff;\\r\\n}\\r\\n\\r\\n.list-line:hover {\\r\\n background-color: #eeeeee;\\r\\n}\\r\\n\\r\\n.list-line {\\r\\n padding: 0.35rem 1.25rem;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.list-box {\\r\\n padding: 0 0 0.6rem 0;\\r\\n}\\r\\n\\r\\n.select-all-lines {\\r\\n border-bottom: 1px solid #ccc;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n.search-box {\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n border-radius: 0;\\r\\n border-width: 1px 0;\\r\\n height: 36px;\\r\\n padding-left: 1.4rem;\\r\\n}\\r\\n\\r\\n.custom-list-header {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 0;\\r\\n z-index: 1;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.page-link {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.ckbKey {\\r\\n cursor: pointer;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n -webkit-user-select: none;\\r\\n -webkit-touch-callout: none;\\r\\n}\\r\\n\\r\\n.ckbKey > input { /* esconder o checkbox original */\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n width: 0;\\r\\n height: 0;\\r\\n}\\r\\n\\r\\n.ckbKey > i { /* configurar o checkbox */\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n background: transparent url('relatedbp-field-icons-off.png');\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.ckbKey > input + i:after {\\r\\n content: '';\\r\\n display: block;\\r\\n height: 16px;\\r\\n width: 16px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.ckbKey > input:checked + i:after {\\r\\n background: url('relatedbp-field-icons.png');\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixTQUFTO0FBQ1g7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsNkJBQTZCO0VBQzdCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGdFQUFnRTtBQUNsRTs7QUFFQTtFQUNFLFdBQVc7RUFDWCxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0Usd0JBQWdCO0VBQWhCLGdCQUFnQjtFQUNoQixNQUFNO0VBQ04sVUFBVTtFQUNWLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxlQUFlO0VBQ2Ysc0JBQWlCO0dBQWpCLHFCQUFpQjtPQUFqQixpQkFBaUI7RUFDakIseUJBQXlCO0VBQ3pCLDJCQUEyQjtBQUM3Qjs7QUFFQSxrQkFBa0IsaUNBQWlDO0VBQ2pELGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsUUFBUTtFQUNSLFNBQVM7QUFDWDs7QUFFQSxlQUFlLDBCQUEwQjtFQUN2QyxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxZQUFZO0VBQ1osNERBQStFO0VBQy9FLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxjQUFjO0VBQ2QsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSw0Q0FBK0Q7QUFDakUiLCJmaWxlIjoic3JjL2FwcC9jb21tb24vY2hlY2tib3gtbGlzdC9jaGVja2JveC1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJsYWJlbDpub3QoLmhlYWRlci1pbmZvKVxyXG57XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxubGFiZWwuaGVhZGVyLWluZm8ge1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5jYXJkLXRpdGxlIHtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICBtYXJnaW46MCA3cHggMCAwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTFweDtcclxufVxyXG5cclxuLmRpc2FibGVkR3JvdXAge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4uaGFzQ29uZmlnR3JvdXAge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmY2ZmY7XHJcbn1cclxuXHJcbi5saXN0LWxpbmU6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XHJcbn1cclxuXHJcbi5saXN0LWxpbmUge1xyXG4gIHBhZGRpbmc6IDAuMzVyZW0gMS4yNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4ubGlzdC1ib3gge1xyXG4gIHBhZGRpbmc6IDAgMCAwLjZyZW0gMDtcclxufVxyXG5cclxuLnNlbGVjdC1hbGwtbGluZXMge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0gKyAxNXB4KSBjZW50ZXI7XHJcbn1cclxuXHJcbi5zZWFyY2gtYm94IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBib3JkZXItd2lkdGg6IDFweCAwO1xyXG4gIGhlaWdodDogMzZweDtcclxuICBwYWRkaW5nLWxlZnQ6IDEuNHJlbTtcclxufVxyXG5cclxuLmN1c3RvbS1saXN0LWhlYWRlciB7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICB0b3A6IDA7XHJcbiAgei1pbmRleDogMTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uY2VudHJhbGl6ZWQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnBhZ2UtbGluayB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2tiS2V5IHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbn1cclxuXHJcbi5ja2JLZXkgPiBpbnB1dCB7IC8qIGVzY29uZGVyIG8gY2hlY2tib3ggb3JpZ2luYWwgKi9cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgb3BhY2l0eTogMDtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi5ja2JLZXkgPiBpIHsgIC8qIGNvbmZpZ3VyYXIgbyBjaGVja2JveCAqL1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIGhlaWdodDogMTZweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCJ+c3JjL2Fzc2V0cy9pbWFnZXMvcmVsYXRlZGJwLWZpZWxkLWljb25zLW9mZi5wbmdcIik7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uY2tiS2V5ID4gaW5wdXQgKyBpOmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IDE2cHg7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uY2tiS2V5ID4gaW5wdXQ6Y2hlY2tlZCArIGk6YWZ0ZXIge1xyXG4gIGJhY2tncm91bmQ6IHVybChcIn5zcmMvYXNzZXRzL2ltYWdlcy9yZWxhdGVkYnAtZmllbGQtaWNvbnMucG5nXCIpO1xyXG59XHJcblxyXG4iXX0= */\"","import { Component, EventEmitter, Input, OnInit, Output, OnChanges, SimpleChanges, AfterViewInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-checkbox-list',\r\n templateUrl: './checkbox-list.component.html',\r\n styleUrls: ['./checkbox-list.component.css']\r\n})\r\nexport class CheckboxListComponent implements OnInit, OnChanges, AfterViewInit {\r\n\r\n public selectedItems: Array = [];\r\n form: FormGroup;\r\n itemListSearch: string;\r\n filteredItems: Array = [];\r\n @Input() dependency?: any;\r\n @Input() existingConfig?: any[] = [];\r\n @Output() existingConfigChange = new EventEmitter();\r\n @Input() settings?: ICheckboxListSettings;\r\n @Input() itemsData?: any[] = [];\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n\r\n get itemsFormArray() {\r\n return this.form.controls.items as FormArray;\r\n }\r\n\r\n constructor(\r\n private formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initializeForm();\r\n this.addCheckboxes();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.form) {\r\n this.form.controls.checkboxSelectAll.reset();\r\n this.form.controls.items.reset();\r\n }\r\n this.selectConfiguredItems();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['existingConfig'] || changes['dependency']) {\r\n this.existingConfigChange.emit(this.existingConfig);\r\n if (this.form) {\r\n this.form.controls.checkboxSelectAll.reset();\r\n this.form.controls.items.reset();\r\n }\r\n if (changes['existingConfig'] && this.form) {\r\n this.selectConfiguredItems();\r\n setTimeout(() => { this.getSelectedItems(); }, 300);\r\n }\r\n }\r\n }\r\n\r\n initializeForm() {\r\n this.form = this.formBuilder.group({\r\n items: new FormArray([]),\r\n checkboxSelectAll: [],\r\n });\r\n }\r\n\r\n private addCheckboxes() {\r\n this.itemsData.forEach(() => this.itemsFormArray.push(new FormControl(false)));\r\n }\r\n\r\n private selectConfiguredItems() {\r\n if (this.existingConfig) {\r\n if (this.existingConfig.length === this.itemsData.length) {\r\n this.form.controls.checkboxSelectAll.setValue(true);\r\n }\r\n const mappedItems = this.itemsData.map(item => item[this.settings.idPropertyName]);\r\n this.existingConfig.forEach( selectedItem => {\r\n const controlPosition = mappedItems.indexOf(selectedItem);\r\n if (controlPosition !== -1) { this.form.get('items')['controls'][controlPosition].setValue(true); }\r\n });\r\n }\r\n }\r\n\r\n private selectAll(element) {\r\n const selectAllChecked = element.target.checked;\r\n const values = [];\r\n let i = 0;\r\n this.itemsFormArray.controls.forEach( control => {\r\n const id = 'lbl' + this.settings.listOf + this.itemsData[i][this.settings.idPropertyName];\r\n const chbxElement = document.getElementById(id);\r\n values.push(chbxElement.hasAttribute('hidden') ? control.value : selectAllChecked);\r\n i++;\r\n });\r\n this.itemsFormArray.setValue(values);\r\n this.getSelectedItems();\r\n }\r\n\r\n private onChbxChange() {\r\n const selectAll = (this.itemsFormArray.value.indexOf(false)) !== -1 || (this.itemsFormArray.value.indexOf(null) !== -1);\r\n if (this.filteredItems.length === 0) {\r\n this.form.patchValue({\r\n checkboxSelectAll: !selectAll,\r\n });\r\n } else {\r\n this.form.patchValue({\r\n checkboxSelectAll: this.checkAllResults()\r\n });\r\n }\r\n this.getSelectedItems();\r\n }\r\n\r\n private filterItems() {\r\n if (this.itemListSearch !== '' && this.itemListSearch !== undefined) {\r\n this.filteredItems = this.itemsData.filter(item => {\r\n return item[this.settings.namePropertyName].toLowerCase().includes(this.itemListSearch.toLowerCase());\r\n });\r\n this.itemsData.forEach(item => {\r\n const id = 'lbl' + this.settings.listOf + item[this.settings.idPropertyName];\r\n if (this.filteredItems.includes(item)) {\r\n document.getElementById(id).removeAttribute('hidden');\r\n } else {\r\n document.getElementById(id).setAttribute('hidden', 'true');\r\n }\r\n });\r\n this.form.patchValue({\r\n checkboxSelectAll: this.checkAllResults()\r\n });\r\n } else {\r\n this.filteredItems = [];\r\n this.itemsData.forEach(item => {\r\n const id = 'lbl' + this.settings.listOf + item[this.settings.idPropertyName];\r\n document.getElementById(id).removeAttribute('hidden');\r\n });\r\n this.onChbxChange();\r\n }\r\n }\r\n\r\n checkAllResults(): boolean {\r\n if (this.filteredItems.length < 1) { return false; }\r\n let res = true;\r\n this.filteredItems.forEach( item => {\r\n const chkId = 'chk' + this.settings.listOf + item[this.settings.idPropertyName] ;\r\n const chkElement = document.getElementById(chkId);\r\n if (!chkElement.checked) {\r\n res = false;\r\n return;\r\n }\r\n });\r\n return res;\r\n }\r\n\r\n getSelectedItems() {\r\n this.selectedItems = this.form.value.items\r\n .map((checked, i) => checked ? this.itemsData[i][this.settings.idPropertyName] : null)\r\n .filter(v => v !== null);\r\n this.selected.emit(this.selectedItems);\r\n }\r\n\r\n}\r\n\r\nexport interface ICheckboxListSettings {\r\n height?: number;\r\n idPropertyName?: string;\r\n namePropertyName?: string;\r\n listTitle?: string;\r\n inputSearchId?: string;\r\n checkboxClass?: string;\r\n listOf: string;\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { WfTableComponent } from './table-sort/wf-table.component';\r\nimport { TableSortComponent } from './table-sort/table-sort.component';\r\nimport { CheckboxListComponent } from './checkbox-list/checkbox-list.component';\r\nimport { DropdownMultiselectComponent } from './dropdown-multiselect/dropdown-multiselect.component';\r\nimport { ContextMenuComponent } from './context-menu/context-menu.component';\r\nimport { FilterComponent } from './filter/filter.component';\r\nimport { ReportsFilterComponent } from './reports-filter/reports-filter.component';\r\nimport { InstanceHistoryResultComponent } from './reports-filter/instance-history-result/instance-history-result.component';\r\nimport { ShowByRequiredPermissionDirective } from './_directives/show-by-required-permission.directive';\r\nimport { SafeHtmlPipe } from '../services/pipes/safe-html.pipe';\r\nimport { LocalDatetimePipe } from '../services/pipes/local-datetime.pipe';\r\nimport {BrDatetimePipe} from '../services/pipes/br-dateTime.pipe';\r\nimport {BrDecimalPipe} from '../services/pipes/br-decimal.pipe';\r\nimport { FileUploadDragDropDirective } from './_directives/file-upload-drag-drop.directive';\r\nimport {FileSizePipe} from '../services/pipes/file-size.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n WfTableComponent,\r\n TableSortComponent,\r\n CheckboxListComponent,\r\n DropdownMultiselectComponent,\r\n ContextMenuComponent,\r\n FilterComponent,\r\n ReportsFilterComponent,\r\n InstanceHistoryResultComponent,\r\n ShowByRequiredPermissionDirective,\r\n SafeHtmlPipe,\r\n LocalDatetimePipe,\r\n BrDatetimePipe,\r\n BrDecimalPipe,\r\n FileUploadDragDropDirective,\r\n FileSizePipe\r\n ],\r\n entryComponents: [\r\n WfTableComponent,\r\n TableSortComponent,\r\n CheckboxListComponent,\r\n DropdownMultiselectComponent,\r\n ContextMenuComponent,\r\n FilterComponent,\r\n ReportsFilterComponent,\r\n InstanceHistoryResultComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n ModalModule.forRoot(),\r\n TabsModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n NgxPaginationModule,\r\n NgSelectModule\r\n ],\r\n exports: [\r\n WfTableComponent,\r\n TableSortComponent,\r\n CheckboxListComponent,\r\n DropdownMultiselectComponent,\r\n ContextMenuComponent,\r\n FilterComponent,\r\n ReportsFilterComponent,\r\n InstanceHistoryResultComponent,\r\n ShowByRequiredPermissionDirective,\r\n SafeHtmlPipe,\r\n LocalDatetimePipe,\r\n BrDatetimePipe,\r\n BrDecimalPipe,\r\n NgSelectModule,\r\n FileUploadDragDropDirective,\r\n FileSizePipe\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\r\n})\r\n\r\nexport class CommonComponentsModule { }\r\n","export default \"hr {\\r\\n margin: 5px;\\r\\n}\\r\\n\\r\\n\\r\\n.context-menu-list {\\r\\n position: absolute;\\r\\n display: inline-block;\\r\\n min-width: 340px;\\r\\n max-width: 360px;\\r\\n padding: 4px 0;\\r\\n margin: 5px;\\r\\n font-family: inherit;\\r\\n font-size: smaller;\\r\\n list-style-type: none;\\r\\n background: #fff;\\r\\n border: 1px solid #bebebe;\\r\\n border-radius: 3px;\\r\\n box-shadow: 0 2px 5px rgba(0, 0, 0, .5);\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n\\r\\n.context-menu-item {\\r\\n position: relative;\\r\\n padding: 3px 15px;\\r\\n color: #2f2f2f;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n.context-menu-item.context-menu-hover {\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n background-color: #2980b9;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVc7QUFDYjs7O0FBR0E7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLFdBQVc7RUFDWCxvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUVsQix1Q0FBdUM7RUFDdkMsZ0JBQWdCO0FBQ2xCOzs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsY0FBYztFQUNkLHlCQUF5QjtFQUN6QixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQixzQkFBc0I7RUFDdEIsZUFBZTtBQUNqQjs7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsZUFBZTtFQUNmLHlCQUF5QjtBQUMzQiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJociB7XHJcbiAgbWFyZ2luOiA1cHg7XHJcbn1cclxuXHJcblxyXG4uY29udGV4dC1tZW51LWxpc3Qge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWluLXdpZHRoOiAzNDBweDtcclxuICBtYXgtd2lkdGg6IDM2MHB4O1xyXG4gIHBhZGRpbmc6IDRweCAwO1xyXG4gIG1hcmdpbjogNXB4O1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjYmViZWJlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIC41KTtcclxuICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAuNSk7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmNvbnRleHQtbWVudS1pdGVtIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogM3B4IDE1cHg7XHJcbiAgY29sb3I6ICMyZjJmMmY7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNvbnRleHQtbWVudS1pdGVtLmNvbnRleHQtbWVudS1ob3ZlciB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTgwYjk7XHJcbn1cclxuXHJcbiJdfQ== */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ContextMenuOptions} from '../../Models/contextMenu';\r\n\r\n@Component({\r\n selector: 'app-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.css']\r\n})\r\nexport class ContextMenuComponent implements OnInit{\r\n @Input() contextMenuOptions: ContextMenuOptions;\r\n @Output() onContextMenuItemClick: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onContextMenuClick(event, data): any {\r\n data();\r\n }\r\n\r\n addClass(event): void {\r\n if (event.target.nodeName.toLowerCase() == \"div\") {\r\n event.target.className += ' context-menu-hover';\r\n }\r\n }\r\n\r\n removeClass(event): void {\r\n if (event.target.nodeName.toLowerCase() == \"div\") {\r\n event.target.className = event.target.className.replace('context-menu-hover', '');\r\n }\r\n }\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport {FormsValidatorService} from '../../services/forms-validator.service';\r\nimport {Observable} from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-dropdown-multiselect',\r\n templateUrl: './dropdown-multiselect.component.html',\r\n styleUrls: ['./dropdown-multiselect.component.css'],\r\n})\r\nexport class DropdownMultiselectComponent implements OnInit {\r\n\r\n @Input() dmCloseOnSelect: boolean;\r\n @Input() dmPlaceholder: string;\r\n @Input() dmBindLabel: string;\r\n @Input() dmBindValue: string;\r\n @Input() dmId: string;\r\n @Input() dmSelectedItems = [];\r\n @Input() itemsData: [];\r\n @Input() dmNgModel: any[];\r\n @Input() isRequired: boolean;\r\n @Input() isDisable: boolean;\r\n @Input() resetSelectedValue?: boolean;\r\n @Input() disable: Observable;\r\n @Input() dmDropdownPosition = 'auto';\r\n\r\n @Output() selected = new EventEmitter();\r\n @Output() isValid = new EventEmitter();\r\n\r\n genericFormGroup: FormGroup;\r\n\r\n constructor(private formBuilder: FormBuilder) { }\r\n\r\n get formData() { return this.genericFormGroup.controls; }\r\n\r\n ngOnInit() {\r\n this.initializeForm();\r\n this.selected.emit(this.dmSelectedItems);\r\n\r\n if (this.disable) {\r\n this.disable.subscribe(val => {\r\n if (val) {\r\n this.genericFormGroup.get('ngGenericSelect').disable();\r\n } else {\r\n this.genericFormGroup.get('ngGenericSelect').enable();\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n // ngOnChanges(changes: SimpleChanges): void {\r\n // if (this.genericFormGroup) {\r\n // setTimeout(() => {\r\n // if (changes['itemsData']) {\r\n // this.disabledConditions();\r\n // }\r\n // }, 300);\r\n // }\r\n // }\r\n\r\n\r\n disabledConditions() {\r\n if (this.genericFormGroup) {\r\n\r\n if (this.isRequired && this.itemsData && this.itemsData.length > 0 && this.isDisable) {\r\n // quando é requerido, tem todos os dados e está desabilitado (qdo depende de um outro campo para preenchimento da lista)\r\n this.genericFormGroup.get('ngGenericSelect').enable();\r\n } else {\r\n if (this.isDisable) {\r\n this.genericFormGroup.get('ngGenericSelect').disable();\r\n } else {\r\n this.genericFormGroup.get('ngGenericSelect').enable();\r\n }\r\n }\r\n }\r\n }\r\n\r\n initializeForm() {\r\n this.genericFormGroup = this.formBuilder.group({\r\n ngGenericSelect: [[], Validators.required]\r\n });\r\n this.disabledConditions();\r\n if (this.isRequired !== undefined && !this.isRequired) {\r\n FormsValidatorService.removeValidator( this.genericFormGroup, 'ngGenericSelect');\r\n }\r\n }\r\n\r\n onSelectAll(availableItems: any[]) {\r\n const selected = availableItems.map(item => item[this.dmBindValue]);\r\n this.genericFormGroup.get('ngGenericSelect').patchValue(selected);\r\n this.selected.emit(this.genericFormGroup.value.ngGenericSelect);\r\n this.isValid.emit(this.genericFormGroup.valid);\r\n }\r\n\r\n onClearAll() {\r\n this.genericFormGroup.get('ngGenericSelect').patchValue([]);\r\n this.selected.emit(this.genericFormGroup.value.ngGenericSelect);\r\n this.isValid.emit(this.genericFormGroup.valid);\r\n }\r\n\r\n changeValue() {\r\n this.selected.emit(this.genericFormGroup.value.ngGenericSelect);\r\n this.isValid.emit(this.genericFormGroup.valid);\r\n }\r\n\r\n reset() {\r\n this.genericFormGroup.reset();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-filter',\r\n templateUrl: './filter.component.html'\r\n})\r\nexport class FilterComponent implements OnInit {\r\n\r\n filterText: string;\r\n filterBoolCondition: boolean;\r\n filteredItems: Array = [];\r\n @Input() settings?: IFilterSettings;\r\n @Input() incomingData?: any[] = [];\r\n @Output() filtered: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.filterItems();\r\n }\r\n\r\n filterItems() {\r\n if (this.settings.textFilterPropertyName && this.settings.showBooleanFilter) {\r\n this.filterDataWithBoolCheck();\r\n return;\r\n }\r\n if (!this.settings.textFilterPropertyName && !this.settings.textFilterPropertyNames\r\n && this.settings.showBooleanFilter) {\r\n this.filterDataOnlyBoolCheck();\r\n return;\r\n }\r\n if (this.settings.textFilterPropertyName && !this.settings.showBooleanFilter) {\r\n this.filterDataOnlyText();\r\n return;\r\n }\r\n if (this.settings.textFilterPropertyNames && this.settings.textFilterPropertyNames.length > 0\r\n && this.settings.showBooleanFilter) {\r\n this.filterDataMultiplePropertiesWithBoolCheck();\r\n return;\r\n }\r\n if (this.settings.textFilterPropertyNames && this.settings.textFilterPropertyNames.length > 0\r\n && !this.settings.showBooleanFilter) {\r\n this.filterDataMultipleProperties();\r\n } else {\r\n console.log('O componente de filtro não foi configurado corretamente');\r\n }\r\n }\r\n\r\n filterDataOnlyText() {\r\n const emptyFilter = (this.incomingData && this.incomingData.length === 0) ||\r\n this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter) {\r\n this.filteredItems = this.incomingData;\r\n } else {\r\n this.filteredItems = this.incomingData.filter((v) => {\r\n return (v[this.settings.textFilterPropertyName].toLowerCase().includes(this.filterText.toLowerCase()));\r\n });\r\n }\r\n this.emitFilteredItems();\r\n }\r\n\r\n filterDataOnlyBoolCheck() {\r\n if (!this.filterBoolCondition) {\r\n this.filteredItems = this.incomingData;\r\n } else {\r\n this.filteredItems = this.incomingData.filter((v) => {\r\n return v[this.settings.booleanConditionPropertyName] === this.settings.booleanTrueResult;\r\n });\r\n }\r\n this.emitFilteredItems();\r\n }\r\n\r\n filterDataMultipleProperties() {\r\n const emptyFilter = (this.incomingData && this.incomingData.length === 0) ||\r\n this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter) {\r\n this.filteredItems = this.incomingData;\r\n } else {\r\n this.filteredItems = [];\r\n this.settings.textFilterPropertyNames.forEach(\r\n propertyName => {\r\n const compatibleItemsForEachProperty = (this.incomingData.filter((v) => {\r\n return (v[propertyName] ? v[propertyName].toString().toLowerCase()\r\n .includes(this.filterText.toLowerCase()) : false);\r\n }));\r\n compatibleItemsForEachProperty.forEach(\r\n item => {\r\n if (item.length < 1 || this.filteredItems.includes(item)) { return; } else { this.filteredItems.push(item); }\r\n }\r\n );\r\n }\r\n );\r\n }\r\n this.emitFilteredItems();\r\n }\r\n\r\n filterDataWithBoolCheck() {\r\n const emptyFilter = (this.incomingData && this.incomingData.length === 0)\r\n || this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter && !this.filterBoolCondition) {\r\n this.filteredItems = this.incomingData;\r\n }\r\n if (emptyFilter && this.filterBoolCondition) {\r\n this.filteredItems = this.incomingData.filter((v) => {\r\n return v[this.settings.booleanConditionPropertyName] === this.settings.booleanTrueResult;\r\n });\r\n }\r\n if (!emptyFilter && this.filterBoolCondition) {\r\n this.filteredItems = this.incomingData.filter((v) => {\r\n return (v[this.settings.textFilterPropertyName].toLowerCase().indexOf(\r\n this.filterText.toLowerCase()) >= 0 && v[this.settings.booleanConditionPropertyName] === this.settings.booleanTrueResult);\r\n });\r\n }\r\n if (!emptyFilter && !this.filterBoolCondition) {\r\n this.filteredItems = this.incomingData.filter((v) => {\r\n return (v[this.settings.textFilterPropertyName].toLowerCase().indexOf(\r\n this.filterText.toLowerCase()) >= 0);\r\n });\r\n }\r\n this.emitFilteredItems();\r\n }\r\n\r\n emitFilteredItems() {\r\n this.filtered.emit(this.filteredItems);\r\n }\r\n\r\n filterDataMultiplePropertiesWithBoolCheck() {\r\n const emptyFilter = (this.incomingData && this.incomingData.length === 0) ||\r\n this.filterText === undefined || this.filterText.trim() === '';\r\n if (emptyFilter && !this.filterBoolCondition) {\r\n this.filteredItems = this.incomingData;\r\n }\r\n if (emptyFilter && this.filterBoolCondition) {\r\n this.filteredItems = this.incomingData.filter((v) => {\r\n return v[this.settings.booleanConditionPropertyName] === this.settings.booleanTrueResult;\r\n });\r\n }\r\n if (!emptyFilter && this.filterBoolCondition) {\r\n this.filteredItems = [];\r\n this.settings.textFilterPropertyNames.forEach(\r\n propertyName => {\r\n const compatibleItemsForEachProperty = (this.incomingData.filter((v) => {\r\n return (v[propertyName] ? v[propertyName].toLowerCase()\r\n .includes(this.filterText.toLowerCase()) &&\r\n v[this.settings.booleanConditionPropertyName] === this.settings.booleanTrueResult : false);\r\n }));\r\n compatibleItemsForEachProperty.forEach(\r\n item => {\r\n if (item.length < 1 || this.filteredItems.includes(item)) { return; } else { this.filteredItems.push(item); }\r\n }\r\n );\r\n }\r\n );\r\n }\r\n if (!emptyFilter && !this.filterBoolCondition) {\r\n this.filteredItems = [];\r\n this.settings.textFilterPropertyNames.forEach(\r\n propertyName => {\r\n const compatibleItemsForEachProperty = (this.incomingData.filter((v) => {\r\n return (v[propertyName] ? v[propertyName].toLowerCase()\r\n .includes(this.filterText.toLowerCase()) : false);\r\n }));\r\n compatibleItemsForEachProperty.forEach(\r\n item => {\r\n if (item.length < 1 || this.filteredItems.includes(item)) { return; } else { this.filteredItems.push(item); }\r\n }\r\n );\r\n }\r\n );\r\n }\r\n this.emitFilteredItems();\r\n }\r\n\r\n}\r\n\r\nexport interface IFilterSettings {\r\n placeholder?: string;\r\n width: number;\r\n checkboxLabel?: string;\r\n inputTextSearchId?: string; // ID do campo de busca para automatização dos testes\r\n inputBoolSearchId?: string;\r\n showBooleanFilter?: boolean; // Ex: só publicados, só ativos, etc.\r\n textFilterPropertyName?: string; // Nome da única propriedade que será considerada no filtro\r\n textFilterPropertyNames?: string[]; // Array de nomes de propriedades a serem consideradas no filtro (incompatível com chkbox)\r\n booleanConditionPropertyName?: string; // Nome da propriedade booleana a ser considerada no filtro\r\n booleanTrueResult?: any; // Valor que define a propriedade booleana como verdadeira. Ex: 1, sim, true, Y, etc.\r\n}\r\n","export default \".centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.instance-history-table-list {\\r\\n font-size: 90%;\\r\\n max-height: 90vh;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.table.table-foot-fixed tfoot {\\r\\n background-color: #fff;\\r\\n border-bottom: 0;\\r\\n box-shadow: inset 0 1px 0 #dee2e6, inset 0 -1px 0 #dee2e6;\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n bottom: -1px;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\nthead tr th {\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\n.link-pointer {\\r\\n cursor: pointer !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL3JlcG9ydHMtZmlsdGVyL2luc3RhbmNlLWhpc3RvcnktcmVzdWx0L2luc3RhbmNlLWhpc3RvcnktcmVzdWx0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIseURBQXlEO0VBQ3pELHdCQUFnQjtFQUFoQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFNBQVM7QUFDWDs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9yZXBvcnRzLWZpbHRlci9pbnN0YW5jZS1oaXN0b3J5LXJlc3VsdC9pbnN0YW5jZS1oaXN0b3J5LXJlc3VsdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbnN0YW5jZS1oaXN0b3J5LXRhYmxlLWxpc3Qge1xyXG4gIGZvbnQtc2l6ZTogOTAlO1xyXG4gIG1heC1oZWlnaHQ6IDkwdmg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRhYmxlLnRhYmxlLWZvb3QtZml4ZWQgdGZvb3Qge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwICNkZWUyZTYsIGluc2V0IDAgLTFweCAwICNkZWUyZTY7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICBib3R0b206IC0xcHg7XHJcbiAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbnRoZWFkIHRyIHRoIHtcclxuICB0b3A6IC0xcHg7XHJcbn1cclxuXHJcbi5saW5rLXBvaW50ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BusinessProcess } from '../../../Models/businessProcess';\r\nimport { Utils } from '../../../services/utils';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { Observable } from 'rxjs';\r\nimport { ReportsServiceService } from '../../../services/reports-service';\r\nimport { WebClientConfigurationService } from '../../../services/configuration/web-client-configuration.service';\r\nimport { tap } from 'rxjs/operators';\r\nimport { AccessControlService } from '../../../services/access-control.service';\r\nimport { BpAdministrationService } from '../../../services/bp-administration.service';\r\nimport Swal from 'sweetalert2';\r\nimport { GenericModalService } from '../../../services/generic-modal.service';\r\nimport { GenericSelectModalComponent } from '../../../generic-modal/generic-select-modal/generic-select-modal.component';\r\nimport { formatDate } from '@angular/common';\r\nimport { HttpEventType } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-instance-history-result',\r\n templateUrl: './instance-history-result.component.html',\r\n styleUrls: ['./instance-history-result.component.css']\r\n})\r\nexport class InstanceHistoryResultComponent implements OnInit {\r\n\r\n utilsFunctions = Utils;\r\n config: PaginationInstance;\r\n data$: Observable;\r\n hasData: boolean;\r\n stateLifeCycles: any[];\r\n userStatePermissions = {};\r\n pleaseWait = false;\r\n _filter: any;\r\n @Input() businessProcessList: BusinessProcess[];\r\n @Input() tableMaxHeight;\r\n destComponent: any = GenericSelectModalComponent;\r\n p = 1;\r\n total: number;\r\n\r\n\r\n constructor(\r\n private reportService: ReportsServiceService,\r\n private webClientConfig: WebClientConfigurationService,\r\n private accessControlService: AccessControlService,\r\n private bpAdministrationService: BpAdministrationService,\r\n private modalService: GenericModalService,\r\n ) { }\r\n\r\n @Input()\r\n set filter(filter: any) {\r\n this._filter = filter;\r\n this.getPage(1);\r\n }\r\n\r\n ngOnInit() {\r\n this.loadLifeCycles();\r\n this.getEntries(1);\r\n this.pleaseWait = false;\r\n }\r\n\r\n getPage(page: number) {\r\n this.data$ = new Observable();\r\n if (this._filter.businessProcessInstanceId) {\r\n this._filter.pageIndex = 1;\r\n this.data$ = this.reportService.getBusinessProcessInstanceByIdForReport(this._filter.businessProcessInstanceId)\r\n .pipe(\r\n tap( res => {\r\n this.total = res.total;\r\n this.p = 1;\r\n this.getPaginationConfig(page, res.total);\r\n }, error1 => {\r\n this.showErrorMessage(error1);\r\n }),\r\n );\r\n } else {\r\n this._filter.pageIndex = page;\r\n this.data$ = this.reportService.searchMultipleBusinessProcessInstancesHistory(this._filter)\r\n .pipe(\r\n tap( res => {\r\n this.total = res.total;\r\n this.p = page;\r\n this.getPaginationConfig(page, res.total);\r\n }, error1 => {\r\n this.showErrorMessage(error1);\r\n }),\r\n );\r\n }\r\n this.data$\r\n .subscribe( value => {\r\n this.hasData = value['items'].length > 0;\r\n });\r\n // document.getElementById('cardFilter').classList.add('collapsed-card');\r\n // document.getElementById('bodyFilter').style.display = 'none';\r\n // document.getElementById('footerFilter').style.display = 'none';\r\n }\r\n\r\n getPaginationConfig(_currentPage: number, _totalItems: number) {\r\n this.webClientConfig.getPageSizeConfig()\r\n .subscribe(item => {\r\n this.config = {\r\n id: 'server',\r\n itemsPerPage: item,\r\n currentPage: _currentPage,\r\n totalItems: _totalItems\r\n };\r\n }, error1 => this.showErrorMessage(error1));\r\n }\r\n\r\n getBusinessProcessName(businessProcessId: number): string {\r\n return this.businessProcessList[this.businessProcessList\r\n .map( businessProcess => businessProcess.businessProcessId)\r\n .indexOf(businessProcessId)].name;\r\n }\r\n\r\n loadLifeCycles() {\r\n this.reportService.getStatesLifeCycles()\r\n .subscribe(\r\n result => {\r\n this.stateLifeCycles = result;\r\n }, error1 => {\r\n this.showErrorMessage(error1);\r\n }\r\n );\r\n }\r\n\r\n getLifeCycleName(lifeCycleId: number): string {\r\n return this.stateLifeCycles[this.stateLifeCycles\r\n .map( lifeCycle => lifeCycle.value)\r\n .indexOf(lifeCycleId)].translatedName;\r\n }\r\n\r\n getEntries(securableObjectType) {\r\n const coll = {};\r\n this.accessControlService.getAllEffectiveEntriesBySecurableObjectTypeAndUser(securableObjectType)\r\n .subscribe( statePermissions => {\r\n statePermissions.forEach( entry => {\r\n const objName = entry.permission.name;\r\n if (!coll[objName]) {\r\n coll[objName] = [];\r\n }\r\n coll[objName].push(entry.securableObject.securableObjectId);\r\n });\r\n this.userStatePermissions = coll;\r\n }, error1 => {\r\n this.showErrorMessage(error1);\r\n this.userStatePermissions = {};\r\n });\r\n }\r\n\r\n cancelInstanceExecution(businessProcessInstanceId) {\r\n this.pleaseWait = true;\r\n const alert = this.modalService\r\n .showConfirmModal('Cancelamento de instância', 'Deseja realmente efetuar esta operação?');\r\n alert.then( result => {\r\n if (result.value) {\r\n this.bpAdministrationService.cancelBusinessProcessInstance(businessProcessInstanceId)\r\n .subscribe( () => {\r\n this.pleaseWait = false;\r\n this.showSuccessMessage('Cancelamento efetuado com sucesso.');\r\n setTimeout(() => { this.getPage(this.p); }, 2000);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.showErrorMessage(error1);\r\n });\r\n } else if (result.dismiss === Swal.DismissReason.cancel) {\r\n this.pleaseWait = false;\r\n }\r\n });\r\n }\r\n\r\n reexecuteInstance(businessProcessInstanceId) {\r\n this.pleaseWait = true;\r\n const alert = this.modalService\r\n .showConfirmModal('Reexecução de instância', 'Deseja reexecutar esta instância?');\r\n alert.then( result => {\r\n if (result.value) {\r\n this.bpAdministrationService.requestPreDefinedOverrideBusinessProcessInstance(businessProcessInstanceId)\r\n .subscribe( overrideInfo => {\r\n this.pleaseWait = false;\r\n this.showSuccessMessageWithAction(`Imposição da instância ${businessProcessInstanceId} requisitada com sucesso.
\r\n Para consultar se houve falha na execução, acesse o relatório Imposições Irregulares.`);\r\n setTimeout(() => { this.getPage(this.p); }, 2000);\r\n }, error1 => {\r\n this.pleaseWait = false;\r\n this.showErrorMessage(error1);\r\n });\r\n } else if (result.dismiss === Swal.DismissReason.cancel) {\r\n this.pleaseWait = false;\r\n }\r\n });\r\n }\r\n\r\n viewInstance(businessProcessInstanceId) {\r\n this.pleaseWait = true;\r\n this.bpAdministrationService.getBusinessProcessViewsByInstanceId(businessProcessInstanceId)\r\n .subscribe( views => {\r\n this.pleaseWait = false;\r\n if (views.length > 0) {\r\n const result$ = this.modalService.showselectModal(\r\n this.destComponent,\r\n 'Visualização da instância a partir de um layout',\r\n 'Escolha o layout a ser exibido:',\r\n 'OK', 'Cancelar',\r\n views\r\n );\r\n result$.asObservable()\r\n .pipe()\r\n .subscribe(\r\n viewId => {\r\n if (viewId !== null) {\r\n // aqui será aberta a view\r\n window.open(`/customInstanceView/${businessProcessInstanceId}/${viewId}`, '_blank', 'width=1800,height=850,toolbar=no,resizable=yes,alwaysRaised=true,scrollbars=yes,location=no');\r\n }\r\n }\r\n );\r\n } else {\r\n this.showInfoMessage('Não existem layouts cadastrados para a versão de Processo de Negócio desta instância.');\r\n }\r\n }, error1 => {\r\n this.showErrorMessage(error1);\r\n this.pleaseWait = false;\r\n });\r\n }\r\n\r\n showErrorMessage(text: string) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `${text}`,\r\n showConfirmButton: true,\r\n confirmButtonColor: '#721c24',\r\n background: '#f8d7da',\r\n width: '50%'\r\n }).fire();\r\n }\r\n\r\n showInfoMessage(text: string) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n timer: 6000,\r\n icon: 'info',\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `${text}`,\r\n showConfirmButton: false,\r\n confirmButtonColor: '#0c5460',\r\n background: '#d1ecf1',\r\n width: '50%'\r\n }).fire();\r\n }\r\n\r\n showSuccessMessage(text: string) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n timer: 3000,\r\n icon: 'success',\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `${text}`,\r\n showConfirmButton: false,\r\n background: '#d4edda',\r\n width: '50%'\r\n }).fire();\r\n }\r\n\r\n showSuccessMessageWithAction(text: string) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n timer: 8000,\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `${text}`,\r\n showConfirmButton: true,\r\n confirmButtonColor: '#155724',\r\n background: '#d4edda',\r\n width: '50%'\r\n }).fire();\r\n }\r\n\r\n generatePDF(instanceId, bpId, onlyCurrentHistory) {\r\n let current_date = new Date();\r\n let offset = current_date.getTimezoneOffset();\r\n let currentUrl = location.href;\r\n let bpName = this.getBusinessProcessName(bpId);\r\n let sDate = formatDate(new Date(),'ddMMyyyy',\"pt-BR\");\r\n let fileName = `${bpName}${instanceId}${sDate}.pdf`;\r\n this.reportService.getInstanceHistoryPdf(instanceId, bpName, currentUrl, onlyCurrentHistory,offset).subscribe(\r\n data => {\r\n switch (data.type) {\r\n case HttpEventType.DownloadProgress:\r\n console.log('Download pdf status: ' + Math.round((data.loaded / data.total) * 100) + '%');\r\n break;\r\n case HttpEventType.Response:\r\n const downloadedFile = new Blob([data.body], { type: data.body.type });\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n //a.download = encodeURIComponent(file.name);\r\n a.download = fileName;\r\n a.href = URL.createObjectURL(downloadedFile);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n break;\r\n }\r\n },\r\n error => {\r\n const errorMsg = `Erro ao realizar o download do pdf da instância: ${error}`;\r\n this.showErrorMessage(errorMsg);\r\n }\r\n );\r\n\r\n }\r\n\r\n onDetailsClick(businessProcessInstanceId) {\r\n window.open(`/instanceHistoryDetails/${businessProcessInstanceId}`, '_blank', 'width=1800,height=850,toolbar=no,resizable=yes,alwaysRaised=true,scrollbars=yes,location=no');\r\n }\r\n}\r\n","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n\\r\\n.card-title{\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button {\\r\\n position: relative;\\r\\n right: 36px;\\r\\n top: 4px;\\r\\n padding: 3px;\\r\\n width: 31px;\\r\\n border-radius: 100px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n\\r\\n.clear-button:hover {\\r\\n cursor: pointer;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n\\r\\n.highlight-number {\\r\\n padding: 0 9px;\\r\\n background: #ededed;\\r\\n margin: 0 3px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL3JlcG9ydHMtZmlsdGVyL3JlcG9ydHMtZmlsdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOzs7QUFHQTtFQUNFLGdFQUFnRTtBQUNsRTs7O0FBR0E7RUFDRSwyQkFBMkI7QUFDN0I7OztBQUVBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOzs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsUUFBUTtFQUNSLFlBQVk7RUFDWixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLGtCQUFrQjtBQUNwQjs7O0FBRUE7RUFDRSxlQUFlO0VBQ2YseUJBQXlCO0FBQzNCOzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsYUFBYTtBQUNmIiwiZmlsZSI6InNyYy9hcHAvY29tbW9uL3JlcG9ydHMtZmlsdGVyL3JlcG9ydHMtZmlsdGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJsYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0gKyAxNXB4KSBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4uY2FyZC10aXRsZXtcclxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jZW50cmFsaXplZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY2xlYXItYnV0dG9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcmlnaHQ6IDM2cHg7XHJcbiAgdG9wOiA0cHg7XHJcbiAgcGFkZGluZzogM3B4O1xyXG4gIHdpZHRoOiAzMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmNsZWFyLWJ1dHRvbjpob3ZlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuXHJcbi5oaWdobGlnaHQtbnVtYmVyIHtcclxuICBwYWRkaW5nOiAwIDlweDtcclxuICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xyXG4gIG1hcmdpbjogMCAzcHg7XHJcbn1cclxuIl19 */\"","import { AfterViewChecked, Component, EventEmitter, Input, OnInit, DoCheck, Output } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ReportsServiceService } from '../../services/reports-service';\r\nimport { User } from '../../Models/user';\r\nimport { AdminService} from '../../services/admin.service';\r\nimport { BusinessProcessService } from '../../services/business-process.service';\r\nimport { BpAdministrationService } from '../../services/bp-administration.service';\r\nimport { Utils } from '../../services/utils';\r\nimport { DateTimeService } from '../../services/date-time.service';\r\nimport { CustomValidator } from '../../services/custom-validator';\r\n\r\n@Component({\r\n selector: 'app-reports-filter',\r\n templateUrl: './reports-filter.component.html',\r\n styleUrls: ['./reports-filter.component.css']\r\n})\r\nexport class ReportsFilterComponent implements OnInit, AfterViewChecked, DoCheck {\r\n\r\n businessProcessList: any[];\r\n @Input() reportFilterType: ReportFilterType;\r\n @Input() collapsed$: BehaviorSubject = new BehaviorSubject(false);\r\n @Output() onSearch: EventEmitter = new EventEmitter();\r\n @Output() onResetFilter: EventEmitter = new EventEmitter();\r\n utilsFuncs = Utils;\r\n statesList: any[];\r\n fieldsList: any[];\r\n availableUsers: User[];\r\n instanceIdModel: string;\r\n stateLifeCycles: string[];\r\n filterReportForm: FormGroup;\r\n dmSelectedBusinessProcess = [];\r\n dmSelectedStates = [];\r\n dmSelectedLifeCycles = [];\r\n dmSelectedUsers = [];\r\n moreThanOneOrAnyBusinessProcessIsSelected$ = new BehaviorSubject(true);\r\n instanceIdHasValue$ = new BehaviorSubject(false);\r\n disableState$ = new BehaviorSubject(true);\r\n clauses: Clauses[];\r\n validClauses = true;\r\n validInstanceId = true;\r\n showInstanceId: boolean;\r\n showUser: boolean;\r\n showState: boolean;\r\n showFields: boolean;\r\n showOverrideStatus: boolean;\r\n showTimeUnits: boolean;\r\n showGroupBy: boolean;\r\n showRanges: boolean;\r\n singleBusinessProcess: boolean;\r\n requireBusinessProcess: boolean;\r\n requiredLifeCycle: boolean;\r\n singleStateLifeCycle: boolean;\r\n overrideStatusTypes = [];\r\n timeUnits = [\r\n { value: 1, name: 'Milissegundos', factor: 1 },\r\n { value: 2, name: 'Segundos', factor: 1000 },\r\n { value: 3, name: 'Minutos', factor: 60000 },\r\n { value: 4, name: 'Horas', factor: 3600000 },\r\n { value: 5, name: 'Dias', factor: 86400000 }\r\n ];\r\n groupBy = [\r\n { value: 0, name: 'Somente por estado', content: [2] },\r\n { value: 1, name: 'Somente por usuário', content: [1] },\r\n { value: 2, name: 'Por estado e usuário', content: [2, 1] },\r\n { value: 3, name: 'Por usuário e estado', content: [1, 2] }\r\n ];\r\n get formData() { return this.filterReportForm.controls; }\r\n get dateRangeData() { return this.formData.dateRange['controls']; }\r\n get fieldValuesData() { return this.formData.fieldValues['controls']; }\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private admService: AdminService,\r\n private bpService: BusinessProcessService,\r\n private reportService: ReportsServiceService,\r\n private bpAdmService: BpAdministrationService,\r\n private dateTimeService: DateTimeService\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (!this.reportFilterType) {\r\n this.reportFilterType = ReportFilterType.instanceHistory;\r\n }\r\n this.applyReportFilterType();\r\n\r\n this.createForm();\r\n this.loadBusinessProcessList();\r\n this.loadStateLifeCycles();\r\n\r\n this.loadUsersDropdown();\r\n this.setFirstClause();\r\n if (this.reportFilterType === 3) {\r\n this.setTimingAnalysisInitialValues();\r\n }\r\n\r\n if (this.showOverrideStatus) {\r\n this.loadOverrideStatusType();\r\n }\r\n\r\n if (this.collapsed$) {\r\n this.collapsed$.subscribe(val => {\r\n if (val) {\r\n // @ts-ignore\r\n $('#cardFilter').CardWidget('collapse');\r\n } else {\r\n // @ts-ignore\r\n $('#cardFilter').CardWidget('expand');\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.filterReportForm) {\r\n this.moreThanOneOrAnyBusinessProcessIsSelected$.subscribe(\r\n () => {\r\n this.disableState();\r\n }\r\n );\r\n this.instanceIdHasValue$.subscribe(\r\n value => {\r\n this.disableState();\r\n value ? this.filterReportForm.disable() : this.filterReportForm.enable();\r\n }\r\n );\r\n }\r\n }\r\n\r\n applyReportFilterType() {\r\n switch (this.reportFilterType) {\r\n case ReportFilterType.instanceHistory:\r\n this.showInstanceId = true;\r\n this.showUser = true;\r\n this.showState = true;\r\n this.showFields = true;\r\n this.singleBusinessProcess = false;\r\n break;\r\n case ReportFilterType.instanceHistoryStateLifeCycle:\r\n this.showInstanceId = false;\r\n this.showUser = false;\r\n this.showState = true;\r\n this.showFields = true;\r\n this.singleBusinessProcess = false;\r\n break;\r\n case ReportFilterType.overrideInstance:\r\n this.showInstanceId = true;\r\n this.showUser = false;\r\n this.showState = false;\r\n this.showFields = false;\r\n this.singleBusinessProcess = true;\r\n this.requireBusinessProcess = false;\r\n this.showOverrideStatus = true;\r\n this.singleStateLifeCycle = true;\r\n break;\r\n case ReportFilterType.timingAnalysis:\r\n this.showInstanceId = false;\r\n this.showUser = false;\r\n this.showState = false;\r\n this.showFields = false;\r\n this.singleBusinessProcess = true;\r\n this.requireBusinessProcess = true;\r\n this.requiredLifeCycle = true;\r\n this.singleStateLifeCycle = true;\r\n this.showTimeUnits = true;\r\n this.showGroupBy = true;\r\n this.showRanges = true;\r\n break;\r\n }\r\n }\r\n\r\n loadBusinessProcessList() {\r\n this.bpService.getAllBusinessProcessesPublished()\r\n .subscribe(\r\n result => {\r\n this.businessProcessList = result;\r\n }, error1 => console.error(error1)\r\n );\r\n }\r\n\r\n loadOverrideStatusType() {\r\n this.bpAdmService.getOverrideStatusTypes().subscribe(r => {\r\n this.overrideStatusTypes = r.filter(t => {\r\n return t.value == 1 || t.value == 3 || t.value == 4;\r\n });\r\n });\r\n }\r\n ngAfterViewChecked() {\r\n const listItems = >document.getElementsByClassName('ng-option');\r\n if (this.availableUsers && this.showUser) {\r\n this.changeColorData(listItems, this.availableUsers);\r\n }\r\n }\r\n\r\n changeColorData(listItems: HTMLCollectionOf, availableItems: any[]) {\r\n availableItems.forEach( item => {\r\n for (let i = 0 ; i < listItems.length ; i++ ) {\r\n if ( !item.enabled && item.logon === (listItems[i].children[0]).innerText ) {\r\n const item1 = listItems[i].children[0];\r\n item1.style.color = '#ccc';\r\n }\r\n }\r\n });\r\n }\r\n\r\n loadUsersDropdown() {\r\n this.admService.loadUserList()\r\n .subscribe(result => {\r\n this.availableUsers = result;\r\n }, error => console.error(error));\r\n }\r\n\r\n getStatesAndFields(businessProcessId) {\r\n this.loadFieldsDropDown(businessProcessId);\r\n this.loadStatesDropDown(businessProcessId);\r\n }\r\n\r\n loadStatesDropDown(businessProcessId: number) {\r\n this.bpService.getStatesByBusinessProcessId(businessProcessId)\r\n .subscribe(result => {\r\n this.statesList = result;\r\n }, error => console.error(error)\r\n );\r\n }\r\n\r\n loadFieldsDropDown(businessProcessId: number) {\r\n this.fieldsList = this.businessProcessList[this.businessProcessList\r\n .map(bp => bp.businessProcessId).indexOf(businessProcessId)].fields;\r\n }\r\n\r\n\r\n loadStateLifeCycles() {\r\n if (this.reportFilterType == ReportFilterType.overrideInstance) {\r\n this.reportService.getStateLifeCyclesForOverride()\r\n .subscribe(\r\n result => {\r\n this.stateLifeCycles = result;\r\n }, error => {\r\n console.error(error);\r\n }\r\n );\r\n } else {\r\n this.reportService.getStatesLifeCycles()\r\n .subscribe(\r\n result => {\r\n this.stateLifeCycles = result;\r\n }, error1 => {\r\n console.error(error1);\r\n }\r\n );\r\n }\r\n }\r\n\r\n createForm() {\r\n this.filterReportForm = this.formBuilder.group({\r\n businessProcessInstanceId: null,\r\n businessProcess: [[]],\r\n businessProcessId: this.requireBusinessProcess ? [null, Validators.required] : null,\r\n states: [[]],\r\n stateLifeCycles: [[]],\r\n stateLifeCycleValue: null,\r\n users: [[]],\r\n pageIndex: null,\r\n fieldValues: this.formBuilder.group({\r\n composition: 'all',\r\n clauses: [[]]\r\n }),\r\n dateRange: this.formBuilder.group({\r\n start: [ this.currentDayInterval().start, [Validators.required] ],\r\n end: [ this.currentDayInterval().end, [Validators.required] ]\r\n }),\r\n overrideStatus: null,\r\n timeUnitValue: null,\r\n grouping: null,\r\n firstRange: this.reportFilterType === 3 ? [null, [Validators.required]] : null,\r\n secondRange: this.reportFilterType === 3 ? [null, [Validators.required]] : null,\r\n thirdRange: this.reportFilterType === 3 ? [null, [Validators.required]] : null\r\n });\r\n this.filterReportForm.controls['dateRange'].setValidators(CustomValidator.validateDatetime('start', 'end'));\r\n }\r\n\r\n setTimingAnalysisInitialValues() {\r\n this.filterReportForm.patchValue({\r\n firstRange: 5,\r\n secondRange: 10,\r\n thirdRange: 20,\r\n grouping: 0,\r\n timeUnitValue: 2,\r\n stateLifeCycleValue: 2\r\n });\r\n }\r\n\r\n setRangeValidators() {\r\n const firstRangeValue = this.filterReportForm.get('firstRange').value;\r\n const secondRangeValue = this.filterReportForm.get('secondRange').value;\r\n const thirdRangeValue = this.filterReportForm.get('thirdRange').value;\r\n this.filterReportForm.get('firstRange').setValidators([Validators.min(0), Validators.max(secondRangeValue - 1), Validators.required]);\r\n this.filterReportForm.get('secondRange').setValidators([Validators.min(firstRangeValue), Validators.max(thirdRangeValue - 1), Validators.required]);\r\n this.filterReportForm.get('thirdRange').setValidators([Validators.min(secondRangeValue), Validators.max(99999), Validators.required]);\r\n this.filterReportForm.updateValueAndValidity();\r\n }\r\n\r\n setFirstClause() {\r\n const firstClause = {\r\n field: null,\r\n fieldValue: null,\r\n ordinal: 1\r\n };\r\n this.clauses = [firstClause];\r\n }\r\n\r\n disableOtherFields(modelErrors = null) {\r\n this.validInstanceId = modelErrors === null;\r\n if (this.instanceIdModel !== null && this.instanceIdModel !== '') {\r\n this.instanceIdHasValue$.next(true);\r\n this.filterReportForm.clearValidators();\r\n } else {\r\n this.instanceIdHasValue$.next(false);\r\n this.filterReportForm.get('dateRange').get('start').setValidators([Validators.required]);\r\n this.filterReportForm.get('dateRange').get('end').setValidators([Validators.required]);\r\n }\r\n this.filterReportForm.updateValueAndValidity();\r\n }\r\n\r\n disableState() {\r\n this.moreThanOneOrAnyBusinessProcessIsSelected$\r\n .subscribe( moreThanOneBPIsSelected => {\r\n this.instanceIdHasValue$.subscribe( instanceIdHasValue => {\r\n if (moreThanOneBPIsSelected || instanceIdHasValue) {\r\n this.disableState$.next(true);\r\n } else {\r\n this.disableState$.next(false);\r\n }\r\n });\r\n });\r\n }\r\n\r\n getSelectedBusinessProcess(items) {\r\n this.moreThanOneOrAnyBusinessProcessIsSelected$.next(true);\r\n this.dmSelectedBusinessProcess = items;\r\n if (items && items.length === 1) {\r\n this.moreThanOneOrAnyBusinessProcessIsSelected$.next(false);\r\n this.filterReportForm.get('fieldValues').enable();\r\n this.getStatesAndFields(items[0]);\r\n } else {\r\n this.dmSelectedStates = [];\r\n this.clauses = [];\r\n this.validClauses = true;\r\n this.filterReportForm.get('fieldValues').disable();\r\n this.setFirstClause();\r\n }\r\n }\r\n\r\n changeSingleBusinessProcess(item) {\r\n // this.moreThanOneOrAnyBusinessProcessIsSelected$.next(false);\r\n // this.filterReportForm.get('fieldValues').enable();\r\n // this.getStatesAndFields(item);\r\n }\r\n\r\n getSelectedStates(items) {\r\n this.dmSelectedStates = items;\r\n }\r\n\r\n getSelectedLifeCycles(items) {\r\n this.dmSelectedLifeCycles = items;\r\n }\r\n\r\n getSelectedUsers(items) {\r\n this.dmSelectedUsers = items;\r\n }\r\n\r\n clearBusinessProcessId() {\r\n this.instanceIdModel = null;\r\n if (this.showInstanceId) {\r\n document.getElementById('instanceId').focus();\r\n }\r\n this.disableOtherFields();\r\n }\r\n\r\n resetFilter() {\r\n this.createForm();\r\n this.clearBusinessProcessId();\r\n this.dmSelectedStates = [];\r\n this.dmSelectedBusinessProcess = [];\r\n this.dmSelectedLifeCycles = [];\r\n this.dmSelectedUsers = [];\r\n this.statesList = [];\r\n this.fieldsList = [];\r\n this.clauses = [];\r\n this.moreThanOneOrAnyBusinessProcessIsSelected$.next(true);\r\n this.validClauses = true;\r\n this.setFirstClause();\r\n if (this.onResetFilter) {\r\n this.onResetFilter.emit();\r\n }\r\n }\r\n\r\n blockUserInput() {\r\n return false;\r\n }\r\n\r\n // Métodos de gerenciamento das cláusulas de busca por campo\r\n\r\n removeClause(removedClause) {\r\n let newClauseSet = [];\r\n let validClauses = this.validClauses;\r\n this.clauses.forEach( clause => {\r\n if (clause.ordinal !== removedClause.ordinal) {\r\n newClauseSet.push(clause);\r\n }\r\n });\r\n newClauseSet.forEach(function (clause, index) {\r\n clause.ordinal = index + 1;\r\n if (clause.field) {\r\n clause.fieldValue ? validClauses = true : validClauses = false;\r\n }\r\n });\r\n if (newClauseSet.length === 0) {\r\n newClauseSet = [{\r\n field: null,\r\n fieldValue: null,\r\n ordinal: 1\r\n }];\r\n }\r\n this.validClauses = validClauses;\r\n this.clauses = newClauseSet;\r\n this.maybeAddOneMoreClause();\r\n }\r\n\r\n getUsedSlots() {\r\n const filledClausesOnly = [];\r\n this.clauses.forEach( clause => {\r\n if (clause.fieldValue !== null && clause.fieldValue !== '') {\r\n filledClausesOnly.push(clause);\r\n }\r\n });\r\n return filledClausesOnly;\r\n }\r\n\r\n maybeAddOneMoreClause() {\r\n let lastUsedSlot = 0;\r\n let lastUnusedSlot = -1;\r\n let validClauses = true;\r\n if (this.clauses) {\r\n this.clauses.forEach(function (clause, index) {\r\n if (clause.fieldValue) {\r\n lastUsedSlot = index;\r\n } else {\r\n lastUnusedSlot = index;\r\n }\r\n if (clause.field) {\r\n clause.fieldValue ? validClauses = true : validClauses = false;\r\n }\r\n });\r\n if (this.clauses.length < 3 && lastUsedSlot > lastUnusedSlot) {\r\n const newSlot = {\r\n field: null,\r\n fieldValue: null,\r\n ordinal: this.clauses.length + 1\r\n };\r\n this.clauses.push(newSlot);\r\n }\r\n }\r\n this.validClauses = validClauses;\r\n }\r\n\r\n getCalculatedRange(selectedTimeUnit, input): number {\r\n let calculatedRange = input;\r\n this.timeUnits.forEach(\r\n timeUnit => {\r\n if (timeUnit.value == selectedTimeUnit) {\r\n calculatedRange = timeUnit.factor * input;\r\n }\r\n }\r\n );\r\n return calculatedRange;\r\n }\r\n\r\n search() {\r\n const filter = this.filterReportForm.getRawValue();\r\n filter.businessProcessInstanceId = this.instanceIdModel === '' ? null : this.instanceIdModel;\r\n filter.fieldValues.clauses = this.getUsedSlots();\r\n filter.businessProcess = this.dmSelectedBusinessProcess;\r\n filter.states = this.dmSelectedStates.length > 0 ? this.dmSelectedStates : null;\r\n filter.stateLifeCycles = this.dmSelectedLifeCycles;\r\n filter.users = this.dmSelectedUsers;\r\n filter.firstRange = this.getCalculatedRange(filter.timeUnitValue, filter.firstRange);\r\n filter.secondRange = this.getCalculatedRange(filter.timeUnitValue, filter.secondRange);\r\n filter.thirdRange = this.getCalculatedRange(filter.timeUnitValue, filter.thirdRange);\r\n filter.grouping = this.groupBy.map(group => group.content)[filter.grouping];\r\n filter.dateRange.start = this.dateTimeService.toUTC(filter.dateRange.start);\r\n filter.dateRange.end = this.dateTimeService.toUTC(filter.dateRange.end);\r\n if (this.onSearch) {\r\n this.onSearch.emit(filter);\r\n }\r\n }\r\n\r\n currentDayInterval = function() {\r\n const now = new Date();\r\n return {\r\n start: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0)).toISOString()\r\n .substr(0, 16),\r\n end: new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59)).toISOString()\r\n .substr(0, 16)\r\n };\r\n };\r\n}\r\n\r\nexport interface Clauses {\r\n field: number;\r\n fieldValue: any;\r\n ordinal: number;\r\n}\r\n\r\nexport enum ReportFilterType {\r\n instanceHistory,\r\n instanceHistoryStateLifeCycle,\r\n overrideInstance,\r\n timingAnalysis\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi90YWJsZS1zb3J0L3RhYmxlLXNvcnQuY29tcG9uZW50LmNzcyJ9 */\"","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n DoCheck,\r\n IterableDiffers,\r\n EventEmitter,\r\n Output,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { WfTableComponent } from './wf-table.component';\r\nimport { PaginationEngine } from '../../Models/enum/paginationEngine';\r\n\r\n@Component({\r\n selector: 'app-table-sort',\r\n templateUrl: './table-sort.component.html',\r\n styleUrls: ['./table-sort.component.css']\r\n})\r\nexport class TableSortComponent implements OnInit, DoCheck, OnChanges {\r\n\r\n @Input() columnName: string;\r\n @Input() dataTable: WfTableComponent;\r\n @Output() sortData: EventEmitter = new EventEmitter();\r\n\r\n @Input() sortDirection: SortDirection = SortDirection.none;\r\n @Input() paginationEngine: PaginationEngine = PaginationEngine.client;\r\n @Input() firstSortColumnName?: string;\r\n\r\n sortGenericClass = 'fa-sort';\r\n sortAscClass = 'fa-sort-up';\r\n sortDescClass = 'fa-sort-down';\r\n differ: any;\r\n\r\n\r\n constructor(differs: IterableDiffers) {\r\n this.differ = differs.find([]).create(null);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes && changes['dataTable'].currentValue && this.firstSortColumnName && this.sortDirection) {\r\n this.sortDirection === 1 ? this.sortDirection = 2 : this.sortDirection = 1;\r\n this.changeIcon();\r\n this.firstSortColumnName = null;\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (!this.dataTable || !this.dataTable.rows) {\r\n return;\r\n }\r\n const change = this.differ.diff(this.dataTable.rows);\r\n if (change) {\r\n let span = this.getSpanElement();\r\n if (change && this.dataTable.lastColumnSort && this.dataTable.lastColumnSort != this.columnName && span && this.sortDirection != SortDirection.none){\r\n this.sortDirection = SortDirection.none;\r\n span.classList.remove(this.sortDescClass);\r\n span.classList.remove(this.sortAscClass);\r\n span.classList.add(this.sortGenericClass);\r\n }\r\n }\r\n }\r\n\r\n getSpanElement() {\r\n if (this.dataTable) {\r\n const elementId = this.firstSortColumnName ? `sort_${this.firstSortColumnName}_${this.dataTable.dataTableId}` : this.getSortId();\r\n const span = document.getElementById(elementId);\r\n return span;\r\n }\r\n }\r\n\r\n onSort() {\r\n if (!this.dataTable || !this.dataTable.rows || !this.columnName) {\r\n return;\r\n }\r\n\r\n this.changeIcon();\r\n\r\n if (this.paginationEngine === 1) {\r\n const filterInfo = {\r\n columnName: this.columnName,\r\n sortDirection: this.sortDirection\r\n };\r\n this.sortData.emit(filterInfo);\r\n } else {\r\n this.sortRows();\r\n }\r\n\r\n this.dataTable.lastColumnSort = this.columnName;\r\n }\r\n\r\n changeIcon() {\r\n const span = this.getSpanElement();\r\n if (span) {\r\n switch (this.sortDirection) {\r\n case SortDirection.none:\r\n case SortDirection.desc:\r\n this.sortDirection = SortDirection.asc;\r\n span.classList.remove(this.sortGenericClass);\r\n span.classList.remove(this.sortDescClass);\r\n span.classList.add(this.sortAscClass);\r\n break;\r\n case SortDirection.asc:\r\n this.sortDirection = SortDirection.desc;\r\n span.classList.remove(this.sortAscClass);\r\n span.classList.add(this.sortDescClass);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n sortRows() {\r\n if (this.sortDirection == SortDirection.asc) {\r\n this.dataTable.rows.sort((one, two) => {\r\n if (typeof(two[this.columnName]) === 'boolean' && typeof(one[this.columnName]) === 'boolean') {\r\n return one[this.columnName].toString().localeCompare(two[this.columnName].toString());\r\n } else if (typeof(one[this.columnName]) === 'number' && typeof(two[this.columnName]) === 'number') {\r\n return one[this.columnName] - two[this.columnName] ;\r\n } else {\r\n if (!one[this.columnName]) { return -1; }\r\n if (!two[this.columnName]) { return 1; } else { return one[this.columnName].localeCompare(two[this.columnName]); }\r\n }\r\n });\r\n } else {\r\n this.dataTable.rows.sort((one, two) => {\r\n if (typeof(two[this.columnName]) === 'boolean' && typeof(one[this.columnName]) === 'boolean') {\r\n return two[this.columnName].toString().localeCompare(one[this.columnName].toString());\r\n } else if (typeof(two[this.columnName]) === 'number' && typeof(one[this.columnName]) === 'number') {\r\n return two[this.columnName] - one[this.columnName];\r\n } else {\r\n if (!two[this.columnName]) { return -1; }\r\n if (!one[this.columnName]) { return 1; } else { return two[this.columnName].localeCompare(one[this.columnName]); }\r\n }\r\n });\r\n }\r\n }\r\n\r\n getSortId() {\r\n return 'sort_' + this.columnName + '_' + this.dataTable.dataTableId;\r\n }\r\n\r\n\r\n}\r\nexport enum SortDirection {\r\n none,\r\n asc,\r\n desc\r\n}\r\n","export default \".page-link {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.table.table-foot-fixed tfoot {\\r\\n background-color: #f5f5f5;\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n bottom: -1px;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n/* Estilos usados na fila de instâncias versão grid */\\r\\n\\r\\n.grid-queue.table-bordered {\\r\\n border: 2px solid #f5f5f5;\\r\\n}\\r\\n\\r\\n.grid-queue.table-bordered th,\\r\\n.grid-queue.table-bordered td {\\r\\n border: 2px solid #f5f5f5;\\r\\n}\\r\\n\\r\\n.grid-queue tbody {\\r\\n background-color: white;\\r\\n border: 1px solid #dee2e6;\\r\\n}\\r\\n\\r\\n.grid-queue tfoot > tr > td {\\r\\n padding-top: 1rem;\\r\\n padding-bottom: 0.9rem;\\r\\n}\\r\\n\\r\\ntable.grid-queue {\\r\\n margin-top: 3px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL3RhYmxlLXNvcnQvd2YtdGFibGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsd0JBQWdCO0VBQWhCLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osV0FBVztBQUNiOztBQUVBLHFEQUFxRDs7QUFFckQ7RUFDRSx5QkFBeUI7QUFDM0I7O0FBQ0E7O0VBRUUseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvY29tbW9uL3RhYmxlLXNvcnQvd2YtdGFibGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wYWdlLWxpbmsge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnRhYmxlLnRhYmxlLWZvb3QtZml4ZWQgdGZvb3Qge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICBib3R0b206IC0xcHg7XHJcbiAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi8qIEVzdGlsb3MgdXNhZG9zIG5hIGZpbGEgZGUgaW5zdMOibmNpYXMgdmVyc8OjbyBncmlkICovXHJcblxyXG4uZ3JpZC1xdWV1ZS50YWJsZS1ib3JkZXJlZCB7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI2Y1ZjVmNTtcclxufVxyXG4uZ3JpZC1xdWV1ZS50YWJsZS1ib3JkZXJlZCB0aCxcclxuLmdyaWQtcXVldWUudGFibGUtYm9yZGVyZWQgdGQge1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICNmNWY1ZjU7XHJcbn1cclxuXHJcbi5ncmlkLXF1ZXVlIHRib2R5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xyXG59XHJcblxyXG4uZ3JpZC1xdWV1ZSB0Zm9vdCA+IHRyID4gdGQge1xyXG4gIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAwLjlyZW07XHJcbn1cclxuXHJcbnRhYmxlLmdyaWQtcXVldWUge1xyXG4gIG1hcmdpbi10b3A6IDNweDtcclxufVxyXG4iXX0= */\"","import { Component, ElementRef, EventEmitter, Injectable, Input, OnInit, AfterViewInit, Output, TemplateRef } from '@angular/core';\r\nimport { PaginationInstance } from 'ngx-pagination';\r\nimport { WebClientConfigurationService } from '../../services/configuration/web-client-configuration.service';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { PaginationEngine } from '../../Models/enum/paginationEngine';\r\n\r\n@Component({\r\n selector: 'app-wf-table',\r\n templateUrl: './wf-table.component.html',\r\n styleUrls: ['./wf-table.component.css'],\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class WfTableComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() rows?;\r\n @Input() columns?;\r\n @Input() hasPagination?: boolean;\r\n @Input() headFixed?: boolean;\r\n @Input() footerFixed?: boolean;\r\n @Input() additionalClasses?: string;\r\n @Input() paginationConfig?: PaginationInstance;\r\n @Input() paginationEngine?: PaginationEngine = PaginationEngine.client;\r\n\r\n @Input() columnsTemplate: TemplateRef;\r\n @Input() rowsTemplate: TemplateRef;\r\n\r\n @Output() changePage: EventEmitter = new EventEmitter();\r\n\r\n currentColumnsTemplate: TemplateRef;\r\n currentRowsTemplate: TemplateRef;\r\n\r\n classHeadFixed = 'table-head-fixed';\r\n public lastColumnSort: string = \"\";\r\n public dataTableId: string;\r\n\r\n constructor(\r\n private webClientConfig: WebClientConfigurationService,\r\n private authenticationService: AuthenticationService,\r\n private _elementRef: ElementRef\r\n ) { }\r\n\r\n\r\n ngOnInit() {\r\n this.currentColumnsTemplate = this.columnsTemplate;\r\n this.currentRowsTemplate = this.rowsTemplate;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataTableId = this._elementRef.nativeElement.id;\r\n }\r\n\r\n showTable() {\r\n return this.hasPagination ? this.paginationConfig : true;\r\n }\r\n\r\n onPageChange(page) {\r\n if (this.paginationEngine === PaginationEngine.server) {\r\n this.changePage.emit(page);\r\n } else {\r\n this.paginationConfig.currentPage = page;\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n","import { AfterContentChecked, Component, Input, OnInit} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-generic-input-modal',\r\n templateUrl: './generic-input-modal.component.html'\r\n})\r\nexport class GenericInputModalComponent implements OnInit, AfterContentChecked {\r\n\r\n @Input() modalTitle: string;\r\n @Input() modalDescription: string;\r\n @Input() okButton: string;\r\n @Input() cancelButton: string;\r\n @Input() inputSuggestion: string;\r\n @Input() validationPattern: string;\r\n @Input() patternErrorMessage: string;\r\n @Input() maxLength: number;\r\n @Input() minLength: number;\r\n @Input() isRequired: boolean;\r\n @Input() cleanSpaces: boolean;\r\n\r\n modalInput: string;\r\n input: Subject;\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.input = new Subject();\r\n if (this.cleanSpaces) {\r\n this.modalInput = this.inputSuggestion.split(' ').join('');\r\n } else {\r\n this.modalInput = this.inputSuggestion.split(' ').filter(f => f !== '').join(' ');\r\n }\r\n }\r\n\r\n ngAfterContentChecked() {\r\n const elem = document.getElementById('modalInput');\r\n elem.focus();\r\n elem.blur();\r\n elem.focus();\r\n }\r\n\r\n onCloseOrCancel() {\r\n this.input.next(null);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onOK() {\r\n this.input.next(this.modalInput);\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dlbmVyaWMtbW9kYWwvZ2VuZXJpYy1tb2RhbC5jb21wb25lbnQuY3NzIn0= */\"","import {Component, ComponentFactoryResolver, ComponentRef, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\nimport {BsModalRef} from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-generic-modal',\r\n templateUrl: './generic-modal.component.html',\r\n styleUrls: ['./generic-modal.component.css']\r\n})\r\nexport class GenericModalComponent implements OnInit {\r\n\r\n @Input() modalTitle: string;\r\n @Output() itemSaved: Subject;\r\n objId: number;\r\n objMessage: string;\r\n component: any;\r\n @ViewChild('container', { read: ViewContainerRef, static: true }) viewContainerRef: ViewContainerRef;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, public bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit() {\r\n this.itemSaved = new Subject();\r\n this.addEditor();\r\n }\r\n addEditor() {\r\n const comp: any = this.component;\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.component);\r\n const ref = this.viewContainerRef.createComponent(factory);\r\n /*const ref2: ComponentRef = this.viewContainerRef.createComponent(factory);\r\n ref.instance.objId = this.objId;\r\n ref2.instance.objId = this.objId;\r\n ref.instance.objMessage = this.objMessage;*/\r\n\r\n ref.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onClose() {\r\n this.itemSaved.next(false);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, AfterViewChecked } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-generic-select-modal',\r\n templateUrl: './generic-select-modal.component.html'\r\n})\r\nexport class GenericSelectModalComponent implements OnInit, AfterViewChecked {\r\n\r\n @Input() modalTitle: string;\r\n @Input() modalDescription: string;\r\n @Input() okButton: string;\r\n @Input() cancelButton: string;\r\n\r\n private _listOfItems: any[];\r\n modalSelect: string;\r\n selectedItem: Subject;\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef\r\n ) { }\r\n\r\n @Input() set listOfItems(list: any[]) {\r\n this._listOfItems = list;\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedItem = new Subject();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n document.getElementById('modalSelect').focus();\r\n }\r\n\r\n onCloseOrCancel() {\r\n this.selectedItem.next(null);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n onOK() {\r\n this.selectedItem.next(this.modalSelect);\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport {Observable, throwError} from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService, private router: Router) { }\r\n\r\n intercept(request: HttpRequest, newRequest: HttpHandler): Observable> {\r\n\r\n return newRequest.handle(request).pipe(catchError(err => {\r\n\r\n // if 401 response returned from api, logout from application & redirect to login page.\r\n if (err.status === 401) {\r\n setTimeout(() => {\r\n this.authenticationService.forceCloseModal();\r\n this.authenticationService.logout();\r\n this.router.navigate(['/login']);\r\n }, 800);\r\n }\r\n\r\n let errorMessage = '';\r\n\r\n // const error = err.error.message || err.statusText;\r\n // return Observable.throw(error);\r\n if (err.error && err.error.message && err.status === 500) {\r\n\r\n // client-side error\r\n errorMessage = `Erro: ${err.error.message}`;\r\n if (err.error.message.includes('No connection could be made')) {\r\n errorMessage += `\\nVerifique se o serviço APIService está ativo.`;\r\n }\r\n\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${err.status}\\nMessage: ${err.message}`;\r\n }\r\n\r\n\r\n return throwError(errorMessage);\r\n }));\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpHeaders} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport {JwtHelperService} from '@auth0/angular-jwt';\r\nimport {AppConfig} from '../app.config';\r\n\r\n// case insensitive check against config and value\r\nconst startsWithAny = (arr: string[] = []) => (value = '') => {\r\n return arr.some(test => value.toLowerCase().startsWith(test.toLowerCase()));\r\n};\r\n\r\n// http, https, protocol relative\r\nconst isAbsoluteURL = startsWithAny(['assets']);\r\n\r\n\r\n@Injectable()\r\nexport class HttpClientInterceptor implements HttpInterceptor {\r\n\r\n\r\n private baseUrl : string;\r\n\r\n constructor(private jwtHelper: JwtHelperService, private appConfig : AppConfig) {\r\n }\r\n\r\n\r\n\r\n intercept(request: HttpRequest, newRequest: HttpHandler): Observable> {\r\n\r\n if (isAbsoluteURL(request.url)) {\r\n return newRequest.handle(request);\r\n }\r\n\r\n //this.baseUrl = this.appConfig.getApiAddress();\r\n //let apiReq = request.clone({ url: `${this.baseUrl}${request.url}` });\r\n let apiReq = request.clone();\r\n\r\n // Get Token data from local storage\r\n const tokenInfo = localStorage.getItem('TokenInfo');\r\n\r\n if (tokenInfo && !this.jwtHelper.isTokenExpired(tokenInfo)) {\r\n /*if (apiReq.url.indexOf('upload') > -1) {\r\n apiReq = apiReq.clone({\r\n headers: new HttpHeaders({\r\n Authorization: `Bearer ${tokenInfo}`,\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache'\r\n })\r\n });\r\n } else {\r\n apiReq = apiReq.clone({\r\n headers: new HttpHeaders({\r\n Authorization: `Bearer ${tokenInfo}`,\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache'\r\n })\r\n });\r\n }*/\r\n\r\n apiReq = apiReq.clone({\r\n headers: new HttpHeaders({\r\n Authorization: `Bearer ${tokenInfo}`,\r\n // 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache'\r\n })\r\n });\r\n }\r\n\r\n\r\n return newRequest.handle(apiReq);\r\n }\r\n}\r\n","export default \".main-footer .footer-menu {\\r\\n text-align: right;\\r\\n font-size: x-small;\\r\\n line-height: 24px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=footer-menu.component.css.map */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFzdGVyL2NvbXBvbmVudHMvZm9vdGVyLW1lbnUvZm9vdGVyLW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsaUJBQWlCO0FBQ3JCOztBQUVBLG9EQUFvRCIsImZpbGUiOiJzcmMvYXBwL21hc3Rlci9jb21wb25lbnRzL2Zvb3Rlci1tZW51L2Zvb3Rlci1tZW51LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWFpbi1mb290ZXIgLmZvb3Rlci1tZW51IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiB4LXNtYWxsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbn1cclxuXHJcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWZvb3Rlci1tZW51LmNvbXBvbmVudC5jc3MubWFwICovXHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { formatDate } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-footer-menu',\r\n templateUrl: './footer-menu.component.html',\r\n styleUrls: ['./footer-menu.component.css']\r\n})\r\nexport class FooterMenuComponent implements OnInit {\r\n\r\n isLoggedIn$: Observable;\r\n currentYear: string;\r\n\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n this.isLoggedIn$ = this.authenticationService.isLoggedIn;\r\n this.currentYear = formatDate(new Date(), 'yyyy', 'pt-BR');\r\n }\r\n\r\n}\r\n","export default \"/*.navbar-light .navbar-nav .show > .nav-link */\\r\\n.iconOptMenu {\\r\\n color: black;\\r\\n font-size: 18px;\\r\\n}\\r\\n.divRoundedCircle {\\r\\n text-align: center;\\r\\n padding-top: 4px;\\r\\n margin-right: 5px;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n background-color: #f4f6f9 !important;\\r\\n}\\r\\n.header {\\r\\n height: 68px;\\r\\n}\\r\\n.wrapper .content-wrapper {\\r\\n min-height: calc(100vh - calc(3.5rem + 1px) - calc(2.2rem + 1px));\\r\\n}\\r\\n/*# sourceMappingURL=header-menu.component.css.map */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFzdGVyL2NvbXBvbmVudHMvaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0M7RUFDRSxZQUFZO0VBQ1osZUFBZTtBQUNqQjtBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsV0FBVztFQUNYLFlBQVk7RUFDWixvQ0FBb0M7QUFDdEM7QUFFQTtFQUNFLFlBQVk7QUFDZDtBQUVBO0VBQ0UsaUVBQWlFO0FBQ25FO0FBR0Esb0RBQW9EIiwiZmlsZSI6InNyYy9hcHAvbWFzdGVyL2NvbXBvbmVudHMvaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluayAqL1xyXG4uaWNvbk9wdE1lbnUge1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5kaXZSb3VuZGVkQ2lyY2xlICB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgd2lkdGg6IDMwcHg7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZjkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmhlYWRlciB7XHJcbiAgaGVpZ2h0OiA2OHB4O1xyXG59XHJcblxyXG4ud3JhcHBlciAuY29udGVudC13cmFwcGVyIHtcclxuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gY2FsYygzLjVyZW0gKyAxcHgpIC0gY2FsYygyLjJyZW0gKyAxcHgpKTtcclxufVxyXG5cclxuXHJcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWRlci1tZW51LmNvbXBvbmVudC5jc3MubWFwICovXHJcbiJdfQ== */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {AuthenticationService} from '../../../services/authentication.service';\r\nimport {first} from 'rxjs/operators';\r\nimport {Router} from '@angular/router';\r\nimport {MasterPageComponent} from '../../masterpage.component';\r\nimport {GenericModalService} from '../../../services/generic-modal.service';\r\nimport {ChangePasswordComponent} from '../../../Views/Account/change-password/change-password.component';\r\n\r\n@Component({\r\n selector: 'app-header-menu',\r\n templateUrl: './header-menu.component.html',\r\n styleUrls: ['./header-menu.component.css']\r\n})\r\n\r\nexport class HeaderMenuComponent implements OnInit {\r\n\r\n // menuItems$: Observable;\r\n\r\n // isExpanded = false;\r\n\r\n isLoggedIn$: Observable;\r\n\r\n username = localStorage.getItem('userLogon');\r\n\r\n /*collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }*/\r\n\r\n changeBrand() {\r\n if (document.body.classList.contains('sidebar-collapse')) {\r\n document.getElementById('horizontal-brand').hidden = false;\r\n document.getElementById('rounded-brand').hidden = true;\r\n } else {\r\n document.getElementById('horizontal-brand').hidden = true;\r\n document.getElementById('rounded-brand').hidden = false;\r\n this.master.closeSideBarDropDown();\r\n }\r\n }\r\n\r\n constructor(private authenticationService: AuthenticationService, private router: Router, private master: MasterPageComponent,\r\n private modalService: GenericModalService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.isLoggedIn$ = this.authenticationService.isLoggedIn;\r\n // this.menuItems$ = this.authenticationService.getMenus;\r\n\r\n }\r\n\r\n onLogout() {\r\n this.authenticationService.logout()\r\n .subscribe(\r\n (data) => {\r\n this.router.navigate(['/login']);\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n openChangePassModal() {\r\n const comp: any = ChangePasswordComponent;\r\n this.modalService.showObjModal(comp, 'Alterar senha', '', 'modal-md');\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21hc3Rlci9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { DynamicMenuService } from '../../../services/dynamic-menu.service';\r\nimport { StyleBuilder } from '../../../services/style-builder';\r\nimport { menuComponentFromTo, MenuModelFromTo } from '../../../Models/menuComponentFromTo';\r\nimport { AdminService } from '../../../services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: 'Login.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n loginForm: FormGroup;\r\n submitClick = false;\r\n submitted = false;\r\n error = '';\r\n menuComponent: MenuModelFromTo[] = menuComponentFromTo;\r\n authenticationObj = {\r\n username: '',\r\n password: ''\r\n };\r\n get catchError(): string {\r\n if (this.error) {\r\n return this.error;\r\n } else {\r\n return this.styleBuilder.errorMessage;\r\n }\r\n }\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private menu: DynamicMenuService,\r\n private styleBuilder: StyleBuilder,\r\n private adminService: AdminService) { }\r\n\r\n ngOnInit() {\r\n\r\n document.title = 'Login';\r\n\r\n this.loginForm = new FormGroup({\r\n username: new FormControl(this.authenticationObj.username, [\r\n Validators.required\r\n ]),\r\n password: new FormControl(this.authenticationObj.password, [\r\n Validators.required\r\n ]),\r\n });\r\n\r\n // reset login status\r\n this.authenticationService.logout();\r\n\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get formData() { return this.loginForm.controls; }\r\n\r\n onLogin() {\r\n this.submitted = true;\r\n this.submitClick = true;\r\n this.error = '';\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n this.submitClick = false;\r\n return;\r\n }\r\n\r\n\r\n this.authenticationService.login(this.formData.username.value, this.formData.password.value)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n if (data.isTempPassword) {\r\n if (data.hasSecurityQuiz) {\r\n this.router.navigate(['/updateSecurityQuestions'],\r\n { state: { username: this.formData.username.value, isAnswer: false, token: data.token } });\r\n } else {\r\n this.router.navigate(['/changeTempPassword'],\r\n { state: { changeTempPassLogin: this.formData.username.value } });\r\n }\r\n } else {\r\n this.authenticationService.getMenus.subscribe(r => {\r\n if (r) {\r\n localStorage.setItem('navMenu', JSON.stringify(r));\r\n if (localStorage.getItem('navMenu')) {\r\n this.menu.setRouteMenu(JSON.parse(localStorage.getItem('navMenu')));\r\n this.navigateToFavPage();\r\n }\r\n }\r\n });\r\n }\r\n },\r\n error1 => {\r\n this.error = error1;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n navigateToFavPage() {\r\n const returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n this.adminService.getUserFavoritePage().subscribe(\r\n result => {\r\n if (returnUrl !== '/' || !result || result.url === null || result.url === '') {\r\n this.router.navigate([returnUrl]);\r\n } else {\r\n const url = this.menuComponent.find(m => m.urlMenu === result.url);\r\n if (url !== undefined) {\r\n localStorage.setItem('favPage', `/${url.routeMenu}`);\r\n this.router.navigate([`/${url.routeMenu}`]);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","export default \"a .navbar-brand {\\r\\n white-space: normal;\\r\\n text-align: center;\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\n.box-shadow {\\r\\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n.nav-box {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.nav-sidebar .menu-open > .nav-link svg.right,\\r\\n.nav-sidebar .menu-is-opening > .nav-link svg.right {\\r\\n transform: rotate(\\r\\n -90deg\\r\\n );\\r\\n}\\r\\n\\r\\n.nav-sidebar .menu-is-opening>.nav-link svg.right,\\r\\n.nav-sidebar .menu-open>.nav-link svg.right {\\r\\n transform: rotate(\\r\\n -90deg\\r\\n );\\r\\n}\\r\\n\\r\\n.nav-sidebar > .nav-item .nav-icon.svg-inline--fa {\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n.sidebar .nav-link p {\\r\\n font-size: 0.83rem;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.brand-link {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\naside:hover p.link-wrap {\\r\\n width: auto;\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\nhtml {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n html {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=nav-menu.component.css.map */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFzdGVyL2NvbXBvbmVudHMvbmF2LW1lbnUvbmF2LW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIscUJBQXFCO0FBQ3ZCOztBQUVBO0VBRUUsaURBQWlEO0FBQ25EOztBQUVBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtBQUNyQjs7QUFFQTs7RUFFRTs7R0FBbUM7QUFDckM7O0FBRUE7O0VBRUU7O0dBQW1DO0FBQ3JDOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsV0FBVztFQUNYLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRTtJQUNFLGVBQWU7RUFDakI7QUFDRjs7QUFLQSxpREFBaUQiLCJmaWxlIjoic3JjL2FwcC9tYXN0ZXIvY29tcG9uZW50cy9uYXYtbWVudS9uYXYtbWVudS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYSAubmF2YmFyLWJyYW5kIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbn1cclxuXHJcbi5ib3gtc2hhZG93IHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxufVxyXG5cclxuLm5hdi1ib3gge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm5hdi1zaWRlYmFyIC5tZW51LW9wZW4gPiAubmF2LWxpbmsgc3ZnLnJpZ2h0LFxyXG4ubmF2LXNpZGViYXIgLm1lbnUtaXMtb3BlbmluZyA+IC5uYXYtbGluayBzdmcucmlnaHQge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKFxyXG4gICAgLTkwZGVnXHJcbiAgKTtcclxufVxyXG5cclxuLm5hdi1zaWRlYmFyIC5tZW51LWlzLW9wZW5pbmc+Lm5hdi1saW5rIHN2Zy5yaWdodCxcclxuLm5hdi1zaWRlYmFyIC5tZW51LW9wZW4+Lm5hdi1saW5rIHN2Zy5yaWdodCB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoXHJcbiAgICAtOTBkZWdcclxuICApO1xyXG59XHJcblxyXG4ubmF2LXNpZGViYXIgPiAubmF2LWl0ZW0gLm5hdi1pY29uLnN2Zy1pbmxpbmUtLWZhIHtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi5zaWRlYmFyIC5uYXYtbGluayBwIHtcclxuICBmb250LXNpemU6IDAuODNyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmJyYW5kLWxpbmsge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbmFzaWRlOmhvdmVyIHAubGluay13cmFwIHtcclxuICB3aWR0aDogYXV0bztcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG5odG1sIHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIGh0bWwge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyojIHNvdXJjZU1hcHBpbmdVUkw9bmF2LW1lbnUuY29tcG9uZW50LmNzcy5tYXAgKi9cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { MenuItem } from '../../../Models/menuItem';\r\nimport { Router } from '@angular/router';\r\nimport { menuComponentFromTo } from '../../../Models/menuComponentFromTo';\r\nimport {MasterPageComponent} from '../../masterpage.component';\r\ndeclare const $;\r\nwindow['$'] = window['jQuery'] = $;\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\n\r\nexport class NavMenuComponent implements OnInit {\r\n\r\n menuItems$: Observable;\r\n\r\n isLoggedIn$: Observable;\r\n\r\n menu: MenuItem[];\r\n collapsedLogo: string;\r\n extendedLogo: string;\r\n brandLink: string;\r\n\r\n constructor(private authenticationService: AuthenticationService, private router: Router, private master: MasterPageComponent) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.extendedLogo = localStorage.getItem('extendedLogo');\r\n this.collapsedLogo = localStorage.getItem('collapsedLogo');\r\n this.brandLink = localStorage.getItem('favPage') ? localStorage.getItem('favPage') : '/home';\r\n this.isLoggedIn$ = this.authenticationService.isLoggedIn;\r\n this.menuItems$ = this.authenticationService.getMenus;\r\n this.menuItems$.subscribe( result => {\r\n if (result != null) {\r\n localStorage.setItem('navMenu', JSON.stringify(result));\r\n }\r\n this.menu = JSON.parse(localStorage.getItem('navMenu'));\r\n });\r\n if (document.body.classList.contains('sidebar-collapse')) {\r\n document.getElementById('horizontal-brand').hidden = true;\r\n document.getElementById('rounded-brand').hidden = false;\r\n } else {\r\n document.getElementById('horizontal-brand').hidden = false;\r\n document.getElementById('rounded-brand').hidden = true;\r\n }\r\n\r\n }\r\n\r\n collapse() {\r\n document.body.classList.add('sidebar-collapse');\r\n document.body.classList.remove('sidebar-open');\r\n document.getElementById('horizontal-brand').hidden = true;\r\n document.getElementById('rounded-brand').hidden = false;\r\n }\r\n\r\n changeBrand(event: string) {\r\n\r\n if (document.body.classList.contains('sidebar-collapse')) {\r\n if (event === 'over') {\r\n document.getElementById('horizontal-brand').hidden = false;\r\n document.getElementById('rounded-brand').hidden = true;\r\n const firstSelectElement = $('form:first select:first');\r\n if (firstSelectElement.length > 0) {\r\n $('form:first select:first').blur();\r\n }\r\n\r\n if (document.getElementsByClassName('ng-dropdown-panel').length > 0) {\r\n let d = (document.getElementsByClassName('ng-dropdown-panel')[0]);\r\n d.style.zIndex = '1030';\r\n }\r\n } else {\r\n document.getElementById('horizontal-brand').hidden = true;\r\n document.getElementById('rounded-brand').hidden = false;\r\n\r\n this.master.closeSideBarDropDown();\r\n }\r\n }\r\n }\r\n\r\n getLIClass(menuItem: MenuItem) {\r\n return `nav-item nav-menu-items ${!menuItem.parentId ? 'liParent' : 'liChild'}`;\r\n }\r\n\r\n getIconClass(menuItem: MenuItem) {\r\n let cls = 'nav-icon fa';\r\n if (!menuItem.parentId) {\r\n cls += ' ' + menuItem.itemIcon;\r\n } else if ( menuItem.parentId && menuItem.children && menuItem.children.length > 0 ) {\r\n cls += 's fa-circle';\r\n } else {\r\n cls += 'r fa-circle';\r\n }\r\n return cls;\r\n }\r\n\r\n expandDropDown(event) {\r\n // necessário para que o evento click não seja executado novamente no menu \"pai\", caso haja.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n // verificar se existe a classe. se não, adicioná-las\r\n const target = event.currentTarget.classList;\r\n const targetId = event.currentTarget.id;\r\n const targetParentElement = event.currentTarget.parentNode.parentNode;\r\n\r\n if (!(target.contains('menu-is-opening') || target.contains('menu-open'))) {\r\n target.add('menu-is-opening', 'menu-open');\r\n\r\n const navItems = document.querySelectorAll('.nav-menu-items');\r\n navItems.forEach(function(q) {\r\n // remover as classes dos demais itens\r\n\r\n const item = document.getElementById(q.id);\r\n // verificar se item é o pai do menu que está aberto, caso seja, não poderá remover a classe\r\n if (targetParentElement !== item && item.classList.contains('menu-is-opening')) {\r\n if (q.id !== targetId) {\r\n item.classList.remove('menu-is-opening', 'menu-open');\r\n }\r\n }\r\n });\r\n } else {\r\n target.remove('menu-is-opening', 'menu-open');\r\n }\r\n\r\n }\r\n\r\n getUrl(url: string) {\r\n const menu = menuComponentFromTo.find(e => e.urlMenu === url);\r\n return menu ? menu.routeMenu : '';\r\n }\r\n\r\n getElementId(menuItem: MenuItem) {\r\n let id = menuItem.name;\r\n if (!menuItem.parentId) {\r\n id += 'Parent'; // ' ' + menuItem.name;\r\n }\r\n return id.normalize('NFD').replace(/[\\u0300-\\u036f( )+]/g, '');\r\n }\r\n\r\n onLogout() {\r\n this.authenticationService.logout();\r\n }\r\n\r\n}\r\n","export default \".error-icon {\\r\\n font-size: 110px;\\r\\n}\\r\\n\\r\\n.error-code {\\r\\n font-size: 70px;\\r\\n}\\r\\n\\r\\n.centralized {\\r\\n margin: 25px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n height: 90vh;\\r\\n}\\r\\n\\r\\n.message {\\r\\n font-size: 50px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFzdGVyL2NvbXBvbmVudHMvbm90LWZvdW5kLXBhZ2Uvbm90LWZvdW5kLXBhZ2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvbWFzdGVyL2NvbXBvbmVudHMvbm90LWZvdW5kLXBhZ2Uvbm90LWZvdW5kLXBhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lcnJvci1pY29uIHtcclxuICBmb250LXNpemU6IDExMHB4O1xyXG59XHJcblxyXG4uZXJyb3ItY29kZSB7XHJcbiAgZm9udC1zaXplOiA3MHB4O1xyXG59XHJcblxyXG4uY2VudHJhbGl6ZWQge1xyXG4gIG1hcmdpbjogMjVweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDkwdmg7XHJcbn1cclxuXHJcbi5tZXNzYWdlIHtcclxuICBmb250LXNpemU6IDUwcHg7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found-page',\r\n templateUrl: './not-found-page.component.html',\r\n styleUrls: ['./not-found-page.component.css']\r\n})\r\nexport class NotFoundPageComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { MasterPageComponent } from './masterpage.component';\r\nimport { NavMenuComponent } from './components/nav-menu/nav-menu.component';\r\nimport { HeaderMenuComponent } from './components/header-menu/header-menu.component';\r\nimport { FooterMenuComponent } from './components/footer-menu/footer-menu.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n MasterPageComponent,\r\n NavMenuComponent,\r\n HeaderMenuComponent,\r\n FooterMenuComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n exports: [\r\n MasterPageComponent,\r\n NavMenuComponent,\r\n HeaderMenuComponent,\r\n FooterMenuComponent\r\n ]\r\n})\r\nexport class MasterModule { }\r\n","export default \".card-master {\\r\\n margin-bottom: 0;\\r\\n min-height: calc(100vh - calc(3.5rem + 1px) - calc(3.5rem + 1px) - 64px - 1rem);\\r\\n}\\r\\n\\r\\n.card-master-home {\\r\\n margin-bottom: 0;\\r\\n min-height: calc(100vh - calc(3.5rem + 1px) - calc(3.5rem + 1px));\\r\\n}\\r\\n\\r\\n.title-card h5 {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=masterpage.component.css.map */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFzdGVyL21hc3RlcnBhZ2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQjtFQUNoQiwrRUFBK0U7QUFDakY7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsaUVBQWlFO0FBQ25FOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBLG1EQUFtRCIsImZpbGUiOiJzcmMvYXBwL21hc3Rlci9tYXN0ZXJwYWdlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2FyZC1tYXN0ZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIGNhbGMoMy41cmVtICsgMXB4KSAtIGNhbGMoMy41cmVtICsgMXB4KSAtIDY0cHggLSAxcmVtKTtcclxufVxyXG5cclxuLmNhcmQtbWFzdGVyLWhvbWUge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIGNhbGMoMy41cmVtICsgMXB4KSAtIGNhbGMoMy41cmVtICsgMXB4KSk7XHJcbn1cclxuXHJcbi50aXRsZS1jYXJkIGg1IHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4vKiMgc291cmNlTWFwcGluZ1VSTD1tYXN0ZXJwYWdlLmNvbXBvbmVudC5jc3MubWFwICovXHJcbiJdfQ== */\"","import {Component, Input, OnInit} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {MenuItem} from '../Models/menuItem';\r\nimport {AuthorizationCheck} from '../auth/authorizationCheck';\r\nimport {menuComponentFromTo} from '../Models/menuComponentFromTo';\r\n\r\n@Component({\r\n selector: 'app-masterpage',\r\n templateUrl: './masterpage.component.html',\r\n styleUrls: ['./masterpage.component.css']\r\n})\r\nexport class MasterPageComponent implements OnInit {\r\n\r\n constructor(private route: Router) { }\r\n\r\n rota = this.route.url;\r\n pageTitle: string;\r\n pageTitleId: string;\r\n\r\n setPageTitle(menuItems: MenuItem[]) {\r\n\r\n // Encontra em 'menuComponentFromTo' o objeto que combina com a rota atual\r\n const currentPage = menuComponentFromTo.find(\r\n i => i.routeMenu\r\n === this.rota.match(/[a-zA-z]+/)[0]);\r\n\r\n // Se este objeto já possui a propriedade de título, posso pegar o título diretamente do objeto\r\n if (currentPage && currentPage.title) {\r\n this.pageTitle = document.title = currentPage.title;\r\n this.pageTitleId = currentPage.title.normalize('NFD').replace(/[\\u0300-\\u036f( )+]/g, '');\r\n\r\n // Senão (se este objeto não possui a propriedade de título), preciso identificar seu nome para usá-lo como título\r\n } else {\r\n\r\n menuItems.forEach((item) => {\r\n if (item.url && item.url.indexOf('.aspx') > -1) {\r\n const menuRoute = menuComponentFromTo.find(e => e.urlMenu === item.url);\r\n\r\n if (menuRoute !== undefined) {\r\n if (menuRoute.routeMenu === this.rota.replace('/', '')) {\r\n // definindo o título dentro da página (card) e o título no navegador\r\n this.pageTitle = document.title = item.name;\r\n this.pageTitleId = item.name.normalize('NFD').replace(/[\\u0300-\\u036f( )+]/g, '');\r\n return;\r\n }\r\n }\r\n }\r\n if (item.children && item.children.length > 0) {\r\n this.setPageTitle(item.children);\r\n }\r\n });\r\n }\r\n }\r\n\r\n closeSideBarDropDown() {\r\n // fechar os dropdown quando o menu estiver collapsado\r\n const li = document.getElementsByClassName('liParent');\r\n for (let i = 0; i < li.length; i++) {\r\n const el = document.getElementById(li[i].id);\r\n el.classList.remove('menu-is-opening', 'menu-open');\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (localStorage.getItem('navMenu')) {\r\n this.setPageTitle(JSON.parse(localStorage.getItem('navMenu')));\r\n }\r\n }\r\n\r\n getPageTitleId(name: string) {\r\n return `id_tit_${name.normalize('NFD').replace(/[\\u0300-\\u036f( )+]/g, '')}`;\r\n }\r\n\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {DropDownContent} from '../Models/dropDownContent';\r\nimport {SecurableObjectAcessControlEntry} from '../Models/SecurableObjectAcessControlEntry';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccessControlService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getSecurableObjectPermissions(securableObjectType: number) {\r\n return this.http.post('api/accessControl/GetSecurableObjectPermissions',\r\n { securableObjectType: securableObjectType } );\r\n }\r\n\r\n getAccessControlEntries(params: any) {\r\n return this.http.post('api/accessControl/LoadAccessControlEntries', params);\r\n }\r\n\r\n deleteAccessControlEntries(params: any[]) {\r\n return this.http.post('api/accessControl/DeleteAccessControlEntries', params);\r\n }\r\n\r\n addAccessControlEntries(params: any[]) {\r\n return this.http.post('api/accessControl/AddAccessControlEntries', params);\r\n }\r\n\r\n getAllEffectiveEntriesBySecurableObjectTypeAndUser(securableObjectType) {\r\n return this.http.get(`api/accessControl/getAllEffectiveEntriesBySecurableObjectTypeAndUser/${securableObjectType}`);\r\n }\r\n\r\n getUsersWithEffectivePermissionOnState(stateIds: number[], permissionName: string) {\r\n return this.http.post('api/accessControl/getUsersWithEffectivePermissionOnState',\r\n { stateIds: stateIds, permissionName: permissionName });\r\n }\r\n\r\n getUsersWithEffectivePermissionOnAnyState(stateIds: number[], permissionName: string) {\r\n return this.http.post('api/accessControl/getUsersWithEffectivePermissionOnAnyState',\r\n { stateIds: stateIds, permissionName: permissionName});\r\n }\r\n\r\n getUsersPermissionOnStateAndCustomQueues(stateIds: number[], permissionName: string, customQueueIds: number[]) {\r\n const params = {\r\n stateIds: stateIds,\r\n permissionName: permissionName,\r\n customQueueIds: customQueueIds\r\n };\r\n return this.http.post('api/accessControl/getUsersPermissionOnStateAndCustomQueues', params);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { Group } from '../Models/group';\r\nimport { LdapConfiguration } from '../Views/Admin/ldap/ldap.component';\r\nimport { User } from '../Models/user';\r\nimport {Profile, Right} from '../Models/profile';\r\nimport { GlobalVariableGroup } from '../Models/globalVariableGroup';\r\nimport {UserSecurityConfig} from '../Models/userSecurityConfig';\r\nimport {MenuItem} from '../Models/menuItem';\r\nimport {DropDownContent} from '../Models/dropDownContent';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AdminService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string, private modalService: BsModalService) { }\r\n\r\n loadGroupList() {\r\n return this.http.get('/api/loadGroups');\r\n }\r\n\r\n loadUserList() {\r\n return this.http.post('/api/admin/loadUsers', null);\r\n }\r\n\r\n loadDropdownContent(url: string) {\r\n return this.http.post(url, null);\r\n }\r\n\r\n loadUserById(params: any): Observable {\r\n return this.http.post('/api/admin/loadUserById', params)\r\n .pipe();\r\n }\r\n\r\n loadGroupById(groupId: number): Observable {\r\n return this.http.post('api/loadGroupById', { groupId })\r\n .pipe();\r\n }\r\n\r\n loadGroupUsers(groupId: number): Observable {\r\n return this.http.post('api/loadGroupUsers', { groupId })\r\n .pipe();\r\n }\r\n\r\n loadProfiles() {\r\n return this.http.post('/api/admin/loadProfiles', null);\r\n }\r\n\r\n loadGlobalVariablesGroups() {\r\n return this.http.post('/api/globalVariable/configGroup', null);\r\n }\r\n\r\n saveUser(params: any): Observable {\r\n return this.http.post('api/admin/saveUser', params )\r\n .pipe();\r\n }\r\n\r\n saveGroup(params: any): Observable {\r\n return this.http.post('api/saveGroup', params )\r\n .pipe();\r\n }\r\n\r\n getLdapConfiguration() {\r\n return this.http.get('/api/ldap/configuration');\r\n }\r\n\r\n testConnection(config: LdapConfiguration): Observable {\r\n return this.http.post('/api/ldap/testConnection', config )\r\n .pipe();\r\n }\r\n\r\n findGroups(config: LdapConfiguration): Observable {\r\n return this.http.post('/api/ldap/findGroups', config )\r\n .pipe();\r\n }\r\n\r\n getGroupAttributeNames(entries: any): Observable {\r\n return this.http.post('/api/ldap/groupAttributeNames', entries )\r\n .pipe();\r\n }\r\n\r\n countGroupRelatedBPInstances(groupId: number): Observable {\r\n return this.http.post('api/countGroupRelatedBPInstances', { groupId })\r\n .pipe();\r\n }\r\n\r\n\r\n getUserAttributeNames(requestParams: any): Observable {\r\n return this.http.post('/api/ldap/userAttributeNames', requestParams )\r\n .pipe();\r\n }\r\n\r\n saveLdapConfig(params: any): Observable {\r\n return this.http.post('/api/ldap/save', params )\r\n .pipe();\r\n }\r\n\r\n getUserSecurityConfig() {\r\n return this.http.get('/api/userSecurityConfig/get');\r\n }\r\n\r\n udpateUserSecurityConfig(config: UserSecurityConfig): Observable {\r\n return this.http.post('/api/userSecurityConfig/update', config )\r\n .pipe();\r\n }\r\n\r\n getRights() {\r\n return this.http.get('/api/profile/getRights');\r\n }\r\n\r\n getAllMenuItens() {\r\n return this.http.get('/api/menuItems/getAll');\r\n }\r\n\r\n saveProfile(profile: Profile, oldProfile: Profile): Observable {\r\n return this.http.post('/api/profile/save', {'profile': profile, 'oldProfile': oldProfile} )\r\n .pipe();\r\n }\r\n\r\n getProfile(profileId: number) {\r\n return this.http.post('/api/profile/get', {profileId});\r\n }\r\n\r\n checkItemsRight(item: number) {\r\n return this.http.post('api/rights/checkItemRights', {idMenu: item});\r\n }\r\n\r\n getUsersByGlobalVariableGroupUserFilter(filterParam: any) {\r\n return this.http.post('api/user/getUsersByGlobalVariableGroupUserFilter', filterParam );\r\n }\r\n\r\n getUserByLogonName(userLogon) {\r\n return this.http.get(`api/user/getUserByLogonName/${userLogon}`);\r\n }\r\n\r\n getUserFavoritePage() {\r\n return this.http.get(`api/user/getUserFavoritePage`);\r\n }\r\n\r\n}\r\n","import { Injectable, Component, OnInit, Inject } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { filter, map, catchError, finalize} from 'rxjs/operators';\r\nimport {BehaviorSubject, from, Observable, throwError} from 'rxjs';\r\nimport {MenuItem} from '../Models/menuItem';\r\nimport {JwtHelperService} from '@auth0/angular-jwt';\r\nimport {AppConfig} from '../app.config';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\nimport {Router} from '@angular/router';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class AuthenticationService {\r\n\r\n private loggedIn = new BehaviorSubject(false);\r\n\r\n private menuItems = new BehaviorSubject(null);\r\n\r\n errorMessage = '';\r\n\r\n get isLoggedIn() {\r\n return this.loggedIn.asObservable();\r\n }\r\n\r\n get getMenus() {\r\n return this.menuItems.asObservable();\r\n }\r\n\r\n constructor(private http: HttpClient, private appConfig: AppConfig,\r\n private jwtHelper: JwtHelperService, private modalService: BsModalService, private router: Router) { }\r\n\r\n login(username: string, password: string) {\r\n\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n });\r\n\r\n return this.http.post('api/login', { username, password },{headers: headers, withCredentials: true})\r\n .pipe(\r\n /* Catch a backend error and let the component know */\r\n catchError( err => {\r\n /* Rethrow error */\r\n return throwError( err );\r\n }),\r\n map(user => {\r\n // login successful if there's a jwt token in the response\r\n if (user && user.token) {\r\n if (!user.isTempPassword) {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('userLogon', username);\r\n localStorage.setItem('TokenInfo', user.token);\r\n localStorage.setItem('userId', user.userId);\r\n localStorage.setItem('refreshToken', user.refreshToken);\r\n\r\n this.loggedIn.next(true);\r\n this.getMenuItems();\r\n }\r\n } else {\r\n this.loggedIn.next(false);\r\n }\r\n return user;\r\n }),\r\n );\r\n }\r\n\r\n logout() {\r\n return this.http.get('/api/logout')\r\n .pipe(\r\n map(() => {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('userLogon');\r\n localStorage.removeItem('userId');\r\n localStorage.removeItem('TokenInfo');\r\n localStorage.removeItem('refreshToken');\r\n localStorage.removeItem('navMenu');\r\n localStorage.removeItem('favPage');\r\n this.loggedIn.next(false);\r\n })\r\n );\r\n }\r\n\r\n private getMenuItems() {\r\n this.errorMessage = '';\r\n this.http.get('/api/userMenuItems').subscribe(result => {\r\n this.menuItems.next(result);\r\n }, error => { console.error(error); this.errorMessage = error; }) ;\r\n\r\n }\r\n\r\n public async tryRefreshingTokens(token: string): Promise {\r\n // Try refreshing tokens using refresh token\r\n if (!token) {\r\n return false;\r\n }\r\n\r\n const refreshToken: string = localStorage.getItem('refreshToken');\r\n const credentials = { token: token, refreshToken: refreshToken };\r\n let isRefreshSuccess: boolean;\r\n try {\r\n const response = await this.http.post('/api/token/refresh', credentials, {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n }),\r\n observe: 'response'\r\n }).toPromise();\r\n\r\n // If token refresh is successful, set new tokens in local storage.\r\n const newToken = (response).body.token;\r\n const newRefreshToken = (response).body.refreshToken;\r\n localStorage.setItem('TokenInfo', newToken);\r\n localStorage.setItem('refreshToken', newRefreshToken);\r\n isRefreshSuccess = true;\r\n } catch (ex) {\r\n isRefreshSuccess = false;\r\n }\r\n\r\n this.loggedIn.next(isRefreshSuccess);\r\n return isRefreshSuccess;\r\n }\r\n\r\n checkAuthModal() {\r\n const token = localStorage.getItem('TokenInfo');\r\n\r\n if (token && this.jwtHelper.isTokenExpired(token)) {\r\n setTimeout(() => {\r\n this.forceCloseModal();\r\n this.router.navigate(['/login']);\r\n }, 800);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n forceCloseModal() {\r\n if (this.modalService.getModalsCount() > 0) {\r\n document.body.className = document.body.className.replace('modal-open', '');\r\n }\r\n\r\n for (let i = 1; i <= this.modalService.getModalsCount(); i++) {\r\n this.modalService.hide(i);\r\n }\r\n }\r\n\r\n getUserSecurityQuestions(login, token) {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n });\r\n\r\n return this.http.post('api/securityQuestions/pageLoad', { username: login, token: token },{headers: headers})\r\n .pipe(\r\n /* Catch a backend error and let the component know */\r\n catchError( err => {\r\n /* Rethrow error */\r\n return throwError( err );\r\n }),\r\n map(user => {\r\n return user;\r\n }),\r\n );\r\n }\r\n\r\n saveQuestions(answers: any[], userName, loginForgotPass, questions: any[], token) {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n });\r\n return this.http.post('api/securityQuestions/save', { answers, userName, loginForgotPass, questions, token }, {headers: headers})\r\n .pipe(\r\n /* Catch a backend error and let the component know */\r\n catchError( err => {\r\n /* Rethrow error */\r\n return throwError( err );\r\n }),\r\n map(user => {\r\n return user;\r\n }),\r\n );\r\n }\r\n\r\n saveTempPassword(loginHandleQuiz, username, currentPassword, newPassword, confirmNewPassword) {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n });\r\n return this.http.post('api/changePassword/saveTempPassword',\r\n { tokenQuiz: loginHandleQuiz, username, currentPassword, newPassword, confirmNewPassword }, { headers });\r\n }\r\n\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\nimport {NodeConfigurationType} from '../Models/enum/nodeConfigurationType';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BatchService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getAllBatchTemplates() {\r\n return this.http.get('api/batch/getAllBatchTemplates');\r\n }\r\n\r\n deleteBatchTemplate(batchTemplateId: number) {\r\n return this.http.delete(`api/batch/deleteBatchTemplate/${batchTemplateId}`);\r\n }\r\n\r\n searchPagedBatchSubmission(filter: any) {\r\n return this.http.post('api/batch/searchPagedBatchSubmission', filter);\r\n }\r\n\r\n cancelSubmission(batchSubmissionId: number) {\r\n return this.http.get(`api/batch/cancelSubmission/${batchSubmissionId}`);\r\n }\r\n\r\n continueBatchSubmission(batchSubmissionId: number) {\r\n return this.http.get(`api/batch/continueBatchSubmission/${batchSubmissionId}`);\r\n }\r\n\r\n finishBatchSubmission(batchSubmissionId: number) {\r\n return this.http.get(`api/batch/finishBatchSubmission/${batchSubmissionId}`);\r\n }\r\n\r\n pauseBatchSubmission(batchSubmissionId: number) {\r\n return this.http.get(`api/batch/pauseBatchSubmission/${batchSubmissionId}`);\r\n }\r\n\r\n getErrorBatchItems(batchSubmissionId: number) {\r\n let headers = new HttpHeaders();\r\n headers = headers.set('Accept', 'application/download');\r\n return this.http.get(`api/batch/getErrorBatchSubmissionItems/${batchSubmissionId}`,\r\n { headers: headers, responseType: 'blob' });\r\n }\r\n\r\n createBatchTemplate(batchTemplate: any) {\r\n return this.http.post('api/batch/createBatchTemplate', batchTemplate);\r\n }\r\n\r\n updateBatchTemplate(batchTemplate: any) {\r\n return this.http.put('api/batch/updateBatchTemplate', batchTemplate);\r\n }\r\n\r\n getUsersByBatchTemplateBusinessProcess(batchTemplateId: number) {\r\n return this.http.get(`api/batch/getUsersByBatchTemplateBusinessProcess/${batchTemplateId}`);\r\n }\r\n\r\n getStatesByPublishedBusinessProcess(businesProcessId: number) {\r\n return this.http.get(`api/batch/getStatesByPublishedBusinessProcess/${businesProcessId}`);\r\n }\r\n\r\n getAllConfigurationNodesByType(nodeConfigurationType: NodeConfigurationType) {\r\n return this.http.get(`api/batch/getAllConfigurationNodesByType/${nodeConfigurationType}`);\r\n }\r\n\r\n getBusinessProcessesForStartByUser(userLogon: string) {\r\n return this.http.get(`api/batch/getBusinessProcessesForStartByUser/${userLogon}`);\r\n }\r\n\r\n submitBatch(submission: any, uploadSession) {\r\n return this.http.post('api/batch/submitBatch', { submission: submission, uploadSession });\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class BpAdministrationService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) {}\r\n\r\n getOverrideDefinitionTypes() {\r\n return this.http.get('api/getOverrideDefinitionTypes');\r\n }\r\n\r\n getOverrideStatusTypes() {\r\n return this.http.get('api/getOverrideStatusTypes');\r\n }\r\n\r\n getBusinessProcessesOverride() {\r\n return this.http.get('api/getBusinessProcessesOverride');\r\n }\r\n\r\n getStatesOverride(businessProcessId) {\r\n return this.http.get(`api/getStatesOverride/${businessProcessId}`);\r\n }\r\n\r\n verifyInstaceId(businessProcessId, businessProcessInstanceId) {\r\n return this.http.get(`api/verifyInstaceId/${businessProcessId}/${businessProcessInstanceId}`);\r\n }\r\n\r\n requestOverrideInstanceById(businessProcessInstanceId, toStateName, automaticAllocation) {\r\n return this.http.post('api/requestOverrideByInstanceId',\r\n { businessProcessInstanceId, toStateName, automaticAllocation });\r\n }\r\n\r\n requestOverrideInstanceByPeriod(params) {\r\n return this.http.post('api/requestOverrideByPeriod', params);\r\n }\r\n\r\n requestOverrideInstanceByRetroactive(params) {\r\n return this.http.post('api/requestOverrideByRetroactive', params);\r\n }\r\n\r\n requestPreDefinedOverrideBusinessProcessInstance(businessProcessInstanceId) {\r\n return this.http.get(`api/requestPreDefinedOverrideBusinessProcessInstance/${businessProcessInstanceId}`);\r\n }\r\n\r\n cancelBusinessProcessInstance(businessProcessInstanceId) {\r\n return this.http.post('api/cancelBusinessProcessInstance', businessProcessInstanceId);\r\n }\r\n\r\n getBusinessProcessViewsByInstanceId(businessProcessInstanceId) {\r\n return this.http.get(`api/getBusinessProcessViewsByInstanceId/${businessProcessInstanceId}`);\r\n }\r\n\r\n createSchedulingWithOverrideInstance(param) {\r\n return this.http.post('api/scheduling/createSchedulingWithOverrideInstance', param);\r\n }\r\n\r\n getPagedOverrideInstanceScheduling(pageIndex) {\r\n return this.http.get(`api/scheduling/getPagedOverrideInstanceScheduling/${pageIndex}`);\r\n }\r\n\r\n deleteSchedulingWithOverrideInstance(param) {\r\n return this.http.post('api/scheduling/deleteSchedulingWithOverrideInstance', param);\r\n }\r\n\r\n updateSchedulingWithOverrideInstance(param) {\r\n return this.http.post('api/scheduling/updateSchedulingWithOverrideInstance', param);\r\n }\r\n\r\n getBusinessProcessesForManaging() {\r\n return this.http.get('api/runtime/getBusinessProcessesForManaging');\r\n }\r\n\r\n getStatesForManaging(businessProcessId) {\r\n return this.http.get(`api/runtime/getStatesForManaging/${businessProcessId}`);\r\n }\r\n\r\n searchQueueManager(param) {\r\n return this.http.post('api/runtime/searchQueueManager', param);\r\n }\r\n\r\n transferBusinessProcessInstanceLocks(params) {\r\n return this.http.post('api/runtime/transferBusinessProcessInstanceLocks', params);\r\n }\r\n\r\n unlockBusinessProcessInstances(params) {\r\n return this.http.post('api/runtime/unlockBusinessProcessInstances', params);\r\n }\r\n\r\n lockBusinessProcessForHumanInteraction(businessProcessInstanceId) {\r\n return this.http.post('api/runtime/lockBusinessProcessForHumanInteraction', businessProcessInstanceId);\r\n }\r\n\r\n shiftInstanceQueues(params) {\r\n return this.http.post('api/runtime/shiftInstanceQueues', params);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport {HttpClient, HttpEvent, HttpRequest} from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { BusinessProcess } from '../Models/businessProcess';\r\nimport { DropDownContent } from '../Models/dropDownContent';\r\nimport { DesignChangeLogAction } from '../Models/designChangeLogAction';\r\nimport { NewConfiguration } from '../Views/Runtime/business-process/history-report-visibility/history-report-visibility.component';\r\nimport { RelatedBusinessProcessConfig } from '../Models/relatedBusinessProcessConfig';\r\nimport { take } from 'rxjs/operators';\r\nimport { ElementLock, ElementLockScreen } from '../Models/elementLock';\r\nimport { LockStatus } from '../Models/enum/lockStatus';\r\nimport { BusinessProcessVersion } from '../Models/businessProcessVersion';\r\nimport { BusinessProcessVersionFilter } from '../Models/businessProcessVersionFilter';\r\nimport { DesignElementType } from '../Models/enum/designElementType';\r\nimport {HumanInteractionTokenResult} from '../Models/humanInteractionTokenResult';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class BusinessProcessService {\r\n\r\n private businessProcesses = new BehaviorSubject(null);\r\n\r\n get getPublishedBusinessProcesses() {\r\n this.getBPList();\r\n return this.businessProcesses.asObservable();\r\n }\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n private getBPList() {\r\n this.http.post('/api/bp/BusinessProcessStartList', null).subscribe(result => {\r\n this.businessProcesses.next(result);\r\n }, error => console.error(error) );\r\n\r\n }\r\n\r\n openWindowInteraction(instanceId, isPreview: boolean, windowOrigin: number = 8) {\r\n this.getUrlForHumanInteraction(instanceId, isPreview, windowOrigin)\r\n .subscribe((resp: any) => {\r\n if (resp) {\r\n window.open(resp.url, '_blank');\r\n }\r\n });\r\n }\r\n\r\n openWindowNewInstance(businessProcessId: number) {\r\n this.getUrlForNewInstance(businessProcessId)\r\n .subscribe((resp: any) => {\r\n if (resp) {\r\n window.open(resp.url, '_blank');\r\n }\r\n });\r\n }\r\n\r\n getTokenForLayoutEditor() {\r\n return this.http.get('/api/runtime/tokenForLayoutEditor');\r\n }\r\n\r\n getUrlForHumanInteraction(instanceId, isPreview, windowOrigin) {\r\n return this.http.post('/api/runtime/urlForHumanInteraction',\r\n { instanceId: instanceId, isPreview: isPreview, windowOrigin: windowOrigin } );\r\n }\r\n\r\n getUrlForNewInstance(businessProcessId) {\r\n return this.http.get(`/api/runtime/urlForNewInstance/${businessProcessId}`);\r\n }\r\n\r\n getAllBusinessProcesses() {\r\n return this.http.get('api/bp/getAllBusinessProcesses');\r\n }\r\n\r\n getAllBusinessProcessesPublished() {\r\n return this.http.get('/api/bp/getAllBusinessProcessesPublished');\r\n }\r\n\r\n getAllBusinessProcessesPublishedWithStates() {\r\n return this.http.get('/api/bp/getAllBusinessProcessesPublishedWithStates');\r\n }\r\n\r\n getStatesByBusinessProcessName(businessProcessName: string) {\r\n return this.http.post('api/bp/getStatesByBusinessProcessName', { businessProcessName: businessProcessName } );\r\n }\r\n\r\n businessProcessActions(businessProcessId: number, action: string, userChangelog: string = '') {\r\n // action: informar Delete, Publish ou Consolidate\r\n return this.http.post('api/bp/businessProcessActions',\r\n { businessProcessId: businessProcessId, businessProcessAction: action, userChangelog: userChangelog} );\r\n }\r\n\r\n getBusinessProcessChangeLogEntries(businessProcessId: number) {\r\n return this.http.post('api/bp/businessProcessChangeLogEntries', { businessProcessId: businessProcessId });\r\n }\r\n\r\n getChangeLogActions(businessProcessId: number, businessProcessVersion: number) {\r\n return this.http.post('api/bp/getChangeLogActions',\r\n { businessProcessId: businessProcessId, businessProcessVersion: businessProcessVersion });\r\n }\r\n\r\n getBusinessProcessChangeLog(businessProcessId: number, businessProcessVersion: number) {\r\n return this.http.post('api/bp/getBusinessProcessChangeLog',\r\n { businessProcessId: businessProcessId, businessProcessVersion: businessProcessVersion });\r\n }\r\n\r\n hasBlockItems(businessProcessId: number) {\r\n return this.http.post('api/bp/hasElementsBlock', { businessProcessId: businessProcessId });\r\n }\r\n\r\n checkRights(rights) {\r\n return this.http.post('api/rights/checkRights', {requiredRights: [rights]});\r\n }\r\n\r\n getPublishedFieldsByBusinessProcessId(businessProcessId: number) {\r\n return this.http.post('api/bp/loadFields', { businessProcessId: businessProcessId });\r\n }\r\n\r\n getBusinessProcessById(businessProcessId: number) {\r\n return this.http.post('api/bp/getBusinessProcessById', { businessProcessId: businessProcessId });\r\n }\r\n\r\n getStatesByBusinessProcessSpecificVersion(businessProcessId: number, businessProcessVersion: number) {\r\n return this.http.post('api/bp/loadStates',\r\n { businessProcessId: businessProcessId, businessProcessVersion: businessProcessVersion });\r\n }\r\n\r\n getPublishedBusinessProcessById(businessProcessId: number) {\r\n return this.http.post('api/bp/getPublishedBusinessProcess', { businessProcessId: businessProcessId });\r\n }\r\n\r\n getBusinessProcessPublicationInfo(businessProcessId: number) {\r\n return this.http.post('api/bp/getBusinessProcessPublicationInfo', { businessProcessId: businessProcessId });\r\n }\r\n\r\n getBusinessProcessOldVersions(businessProcessVersionFilter: BusinessProcessVersionFilter) {\r\n return this.http.post('api/bp/getBusinessProcessOldVersions', businessProcessVersionFilter);\r\n }\r\n\r\n getHistoryReportViewConfigurations(businessProcessId: number) {\r\n return this.http.post('api/bp/getHistoryReportViewConfigurations', { businessProcessId: businessProcessId });\r\n }\r\n\r\n createHistoryReportViewConfig(config: NewConfiguration) {\r\n return this.http.post('api/bp/createHistoryReportViewConfig', config );\r\n }\r\n\r\n deleteHistoryReportViewConfiguration(businessProcessId: number, groupId: number) {\r\n return this.http.delete(`api/bp/deleteHistoryReportViewConfiguration/${businessProcessId}/${groupId}`)\r\n .pipe(take(1));\r\n }\r\n\r\n loadRelatedBPConfiguration(businessProcessId: number) {\r\n return this.http.post('api/bp/loadRelatedBPConfiguration', { businessProcessId: businessProcessId });\r\n }\r\n\r\n saveRelatedBPConfiguration(businessProcessId: number, relatedBPScopes: number[],\r\n metadataStructures: number[], fields: number[], hasConfiguration: boolean) {\r\n return this.http.post('api/bp/saveRelatedBPConfiguration',\r\n {\r\n businessProcessId: businessProcessId,\r\n relatedBusinessProcessesScopes: relatedBPScopes,\r\n metadataStructures: metadataStructures,\r\n fields: fields,\r\n hasConfiguration: hasConfiguration\r\n });\r\n }\r\n\r\n deleteRelatedBPConfiguration(businessProcessId: number) {\r\n return this.http.delete(`api/bp/deleteRelatedBPConfiguration/${businessProcessId}`).pipe(take(1));\r\n }\r\n\r\n // elementos bloqueados\r\n\r\n getLightBusinessProcess(businessProcessId: number) {\r\n return this.http.post('api/bp/getLightBusinessProcessForManagementById',\r\n { businessProcessId: businessProcessId });\r\n }\r\n\r\n getBusinessProcessLibrary(businessProcessId: number) {\r\n return this.http.post('api/bp/getBusinessProcessLibraryById', { businessProcessId: businessProcessId });\r\n }\r\n\r\n getElementLockStatus(businessProcessId: number, lockStatus: LockStatus) {\r\n return this.http.post('api/bp/getElementLockStatus',\r\n { businessProcessId: businessProcessId, lockStatus: lockStatus });\r\n }\r\n\r\n unlockElements(elements: ElementLockScreen[]) {\r\n console.log('unlockEl', elements);\r\n return this.http.post('api/bp/unblockElements', { elementLocks: elements });\r\n }\r\n // elementos bloqueados - fim\r\n\r\n exportBusinessProcess(businessProcessId: number, businessProcessName: string): Observable> {\r\n return this.http.request(new HttpRequest(\r\n 'GET',\r\n `api/bp/export/${businessProcessId}?businessProcessName=${businessProcessName}`,\r\n null,\r\n {\r\n reportProgress: true,\r\n responseType: 'blob'\r\n }));\r\n }\r\n\r\n recoverBusinessProcessVersion(businessProcessId: number, businessProcessVersion: number) {\r\n return this.http.post('api/bp/recoverBusinessProcessVersion',\r\n { businessProcessId: businessProcessId, businessProcessVersion: businessProcessVersion});\r\n }\r\n\r\n /* Edição de processo de negócio */\r\n\r\n getBusinessProcessForManagementById(businessProcessId: number) {\r\n return this.http.post('api/bp/getBusinessProcessForManagementById',\r\n { businessProcessId: businessProcessId });\r\n }\r\n\r\n beginEditingElement(elementType: DesignElementType, elementId: number, elementName: string) {\r\n return this.http.post(\r\n 'api/bp/beginEditingElement', { elementType: elementType, elementId: elementId, elementName: elementName }\r\n );\r\n }\r\n\r\n endEditingElement(elementType: DesignElementType, elementId: number, elementName: string) {\r\n return this.http.post(\r\n 'api/bp/endEditingElement', { elementType: elementType, elementId: elementId, elementName: elementName }\r\n );\r\n }\r\n\r\n getCurrentElementLock(elementType: DesignElementType, elementId: number) {\r\n return this.http.post('api/bp/getCurrentElementLock',\r\n { elementType: elementType, elementId: elementId });\r\n }\r\n\r\n updateBusinessProcess(businessProcessInfo: any) {\r\n return this.http.post('api/bp/updateBusinessProcess', businessProcessInfo);\r\n }\r\n\r\n createBusinessProcess(businessProcessInfo: any) {\r\n return this.http.post('api/bp/createBusinessProcess', businessProcessInfo);\r\n }\r\n\r\n uploadBusinessProcess(file: File) {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n\r\n return this.http.post('api/bp/uploadBp', formData, {reportProgress: true, observe: 'events'});\r\n }\r\n\r\n importBusinessProcess(bpName: string) {\r\n return this.http.post('api/bp/importBp', { businessProcessName: bpName }, {reportProgress: true, observe: 'events'});\r\n }\r\n\r\n getStateForManagementById(businessProcessId: number, stateId: number) {\r\n return this.http.get(`api/bp/${businessProcessId}/getState/${stateId}`);\r\n }\r\n\r\n getLibraryByType(businessProcessId: number, libraryItemType: number, libraryItemSubType: number) {\r\n return this.http.get(`api/bp/${businessProcessId}/getLibraryByType/${libraryItemType}/${libraryItemSubType}`);\r\n }\r\n\r\n getStatesByBusinessProcessId(businessProcessId: number) {\r\n return this.http.get(`api/bp/getStatesByBusinessProcessId/${businessProcessId}`);\r\n }\r\n\r\n deleteBusinessProcessState(businessProcessId: number, stateId: number) {\r\n return this.http.delete(`api/bp/deleteBusinessProcessState/${businessProcessId}/${stateId}`);\r\n }\r\n\r\n updateBusinessProcessState(businessProcessId: number, stateDto: any) {\r\n return this.http.put(`api/bp/updateBpState/${businessProcessId}`, stateDto);\r\n }\r\n\r\n createBusinessProcessState(businessProcessId: number, stateDto: any) {\r\n return this.http.post(`api/bp/createBpState/${businessProcessId}`, stateDto);\r\n }\r\n\r\n deleteBusinessProcessField(businessProcessId: number, fieldId: number) {\r\n return this.http.delete(`api/bp/deleteBusinessProcessField/${businessProcessId}/${fieldId}`);\r\n }\r\n\r\n generateFlowDesignerURL(businessProcessId: number, flowId: number, flowExecutionType: number) {\r\n const requestData = { businessProcessId: businessProcessId, flowId: flowId, longFlowType: flowExecutionType };\r\n return this.http.post('api/bp/getFlowDesignerURL', requestData);\r\n }\r\n\r\n generateLayoutDesignerURL(businessProcessId: number, libraryItemId: number) {\r\n const requestData = { libraryItemId: libraryItemId, businessProcessId: businessProcessId };\r\n return this.http.post('api/bp/getLayoutDesignerURL', requestData);\r\n }\r\n\r\n createStateLibraryFlow(name: string, businessProcessId: number, itemType: string) {\r\n return this.http.post('api/bp/createStateLibraryFlow',\r\n { flowName: name, businessProcessId: businessProcessId, itemType: itemType });\r\n }\r\n\r\n createStateLibraryLayout(name: string, businessProcessId: number) {\r\n return this.http.post('api/bp/createStateLibraryLayout',\r\n { layoutName: name, businessProcessId: businessProcessId });\r\n }\r\n\r\n createStateLibraryView(name: string, businessProcessId: number) {\r\n return this.http.post('api/bp/createViewLibraryLayout',\r\n { layoutName: name, businessProcessId: businessProcessId });\r\n }\r\n\r\n generateDebuggerURL(businessProcessId: number, stateId: number, flowExecutionType: number) {\r\n const requestData = { businessProcessId: businessProcessId, stateId: stateId, longFlowType: flowExecutionType };\r\n return this.http.post('api/bp/getDebuggerURL', requestData);\r\n }\r\n\r\n getLibraryItems(businessProcessId: number, libraryItemType: number, designElementType: number) {\r\n return this.http.get(`api/bp/getLibraryItems/${businessProcessId}/${libraryItemType}/${designElementType}`);\r\n }\r\n\r\n updateLibraryItem(businessProcessId: number, designElementType: number, libraryItem: any) {\r\n return this.http.put(`api/bp/updateBusinessProcessLibraryItem/${businessProcessId}/${designElementType}`, libraryItem);\r\n }\r\n\r\n deleteLibraryItem(businessProcessId: number, itemLibraryId: number, designElementType: number) {\r\n return this.http.delete(`api/bp/deleteLibraryItem/${businessProcessId}/${itemLibraryId}/${designElementType}`);\r\n }\r\n\r\n getReferencingStates(businessProcessId: number, elementId: number, designElementType: number) {\r\n return this.http.get(`api/bp/getReferencingStates/${businessProcessId}/${elementId}/${designElementType}`);\r\n }\r\n\r\n getUnrelatedLibraryItems(businessProcessId: number, itemType: number, designElementType: number) {\r\n return this.http.get(`api/bp/getUnrelatedLibraryItems/${businessProcessId}/${itemType}/${designElementType}`);\r\n }\r\n\r\n getFieldsByBusinessProcessId(businessProcessId: number) {\r\n return this.http.get(`api/bp/getFields/${businessProcessId}`);\r\n }\r\n\r\n beginEditingGroup(designElementType: number, list) {\r\n return this.http.post('api/bp/beginEditingGroup',\r\n { elementType: designElementType, elements: list });\r\n }\r\n\r\n cancelEditingGroup(designElementType: number, list) {\r\n return this.http.post('api/bp/cancelEditingGroup',\r\n { elementType: designElementType, elements: list });\r\n }\r\n\r\n saveFields(businessProcessId: number, dirtyFields, removedFields) {\r\n return this.http.post('api/bp/saveFields',\r\n { businessProcessId: businessProcessId, fields: dirtyFields, fieldsToRemove: removedFields });\r\n }\r\n\r\n saveField(businessProcessId: number, field) {\r\n return this.http.post('api/bp/saveField', { businessProcessId: businessProcessId, field: field });\r\n }\r\n\r\n loadBusinessProcessValidationErrors(businessProcessId: number) {\r\n return this.http.get(`api/bp/loadBusinessProcessValidationErrors/${businessProcessId}`);\r\n }\r\n\r\n getGraph(businessProcessId: number) {\r\n return this.http.get(`api/bp/getGraph/${businessProcessId}`);\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {BsModalService} from 'ngx-bootstrap/modal';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChangePasswordService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n loadUserConfig() {\r\n return this.http.get('api/changePassword/loadUserConfig');\r\n }\r\n\r\n savePassword(param) {\r\n return this.http.post('api/changePassword/savePassword', param);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport {RelatedBusinessProcessConfig} from '../../Models/relatedBusinessProcessConfig';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DriverService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getDriversForUpdate() {\r\n return this.http.get('/api/driver/getForUpdate');\r\n }\r\n\r\n getChangelog(driverName, driverVersion ) {\r\n return this.http.get(`/api/driver/getChangelog/${driverName}/${driverVersion}`);\r\n }\r\n\r\n install(driver) {\r\n return this.http.post('/api/driver/install', driver);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExtractionService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getFileLayoutsForDataExtraction() {\r\n return this.http.get('api/dataExtraction/getFileLayoutsForDataExtraction');\r\n }\r\n\r\n getFieldsByBusinessProcessSpecificVersion(businessProcessId: number, businessProcessVersion: number) {\r\n return this.http.get(`api/dataExtraction/getFieldsByBusinessProcessSpecificVersion/${businessProcessId}/${businessProcessVersion}`);\r\n }\r\n\r\n getBusinessProcessesForDataExtraction() {\r\n return this.http.get('api/dataExtraction/getBusinessProcessesForDataExtraction');\r\n }\r\n\r\n getDataExtractionFileLayoutById(fileLayoutId: number) {\r\n return this.http.get(`api/dataExtraction/getDataExtractionFileLayoutById/${fileLayoutId}`);\r\n }\r\n\r\n deleteDataExtractionFileLayout(fileLayout) {\r\n const options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n body: fileLayout,\r\n };\r\n return this.http.delete('api/dataExtraction/deleteDataExtractionFileLayout', options);\r\n }\r\n\r\n createDataExtractionFileLayout(fileLayout: any) {\r\n return this.http.post('api/dataExtraction/createDataExtractionFileLayout', fileLayout);\r\n }\r\n\r\n updateDataExtractionFileLayout(fileLayout: any) {\r\n return this.http.put('api/dataExtraction/updateDataExtractionFileLayout', fileLayout);\r\n }\r\n\r\n createSchedulingWithDataExtractionDef(dataExtractionScheduling: any) {\r\n return this.http.post('api/scheduling/createSchedulingWithDataExtractionDef', dataExtractionScheduling);\r\n }\r\n\r\n updateSchedulingWithDataExtractionDef(dataExtractionScheduling: any) {\r\n return this.http.put('api/scheduling/updateSchedulingWithDataExtractionDef', dataExtractionScheduling);\r\n }\r\n\r\n getAllDataExtractionScheduling() {\r\n return this.http.get('api/scheduling/getAllDataExtractionScheduling');\r\n }\r\n\r\n deleteSchedulingWithDataExtractionDef(scheduling) {\r\n const options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n body: { schedulingInfo: scheduling.schedulingInfo, dataExtractionDefinition: scheduling.dataExtractionDefinition },\r\n };\r\n return this.http.delete('/api/scheduling/deleteSchedulingWithDataExtractionDef', options );\r\n }\r\n\r\n static fixDefinitionForSerialization(definition) {\r\n delete definition['extensionData'];\r\n delete definition['dataExtractionDefinition']['extensionData'];\r\n delete definition['schedulingInfo']['extensionData'];\r\n\r\n //Se não existe o id do file-layout, devemos remover a entidade para evitar erros de serialização\r\n if (definition.dataExtractionDefinition.fileLayout) {\r\n if (!definition.dataExtractionDefinition.fileLayout.fileLayoutId){\r\n definition.dataExtractionDefinition.fileLayout = null;\r\n } else {\r\n delete definition['dataExtractionDefinition']['fileLayout']['extensionData'];\r\n if (definition.dataExtractionDefinition.fileLayout.fieldColumns) {\r\n definition.dataExtractionDefinition.fileLayout.fieldColumns.forEach(item => {\r\n delete item['extensionData'];\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (!definition.dataExtractionDefinition.retroactiveIntervalType){\r\n definition.dataExtractionDefinition.retroactiveIntervalType = 0;\r\n }\r\n\r\n // se o tipo de intervalo não é retroativo, limpo o valor do tempo - Retroactive = 3\r\n if (definition.dataExtractionDefinition.intervalType != 3)\r\n {\r\n definition.dataExtractionDefinition.intervalTimeAmount = null;\r\n }\r\n\r\n if (!definition.schedulingInfo.repetitionDuration) {\r\n definition.schedulingInfo.repetitionDuration = 0;\r\n }\r\n\r\n if (!definition.dataExtractionDefinition.description)\r\n {\r\n definition.dataExtractionDefinition.description = '';\r\n }\r\n\r\n return ({ dataExtractionDefinition: definition.dataExtractionDefinition, schedulingInfo: definition.schedulingInfo });\r\n }\r\n\r\n getAllDataExtractionDefinition() {\r\n return this.http.get('api/taskMonitoring/getAllDataExtractionDefinition');\r\n }\r\n\r\n pagedTasksSearch(filter) {\r\n return this.http.post('api/taskMonitoring/pagedTasksSearch', filter);\r\n }\r\n\r\n downloadTaskDataExtraction(taskData) {\r\n let headers = new HttpHeaders();\r\n headers = headers.set('Accept', 'application/download');\r\n\r\n return this.http.get(`api/taskMonitoring/downloadTaskDataExtraction/${taskData}`,\r\n { headers: headers, responseType: 'blob' });\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { GlobalVariableGroup } from '../../Models/globalVariableGroup';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GlobalVariableService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getAllGlobalVariables() {\r\n return this.http.get('/api/globalVariable/getAllGlobalVariables');\r\n }\r\n\r\n removeGlobalVariable(globalVariableName: string) {\r\n const options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n body: { globalVariableName: globalVariableName },\r\n };\r\n return this.http.delete('api/globalVariable/removeGlobalVariable', options);\r\n }\r\n\r\n saveGlobalVariable(globalVariable: any) {\r\n return this.http.post('api/globalVariable/saveGlobalVariable', globalVariable);\r\n }\r\n\r\n updateGlobalVariable(globalVariable: any) {\r\n return this.http.put('api/globalVariable/updateGlobalVariable', globalVariable);\r\n }\r\n\r\n getAllGlobalVariableGroups() {\r\n return this.http.get('/api/globalVariable/getAllGlobalVariablesGroups');\r\n }\r\n\r\n getGlobalVariableGroup(globalVariableGroupId: number) {\r\n return this.http.get(`/api/globalVariable/getGlobalVariableGroup/${globalVariableGroupId}`);\r\n }\r\n\r\n getAllOverriddenGlobalVariables() {\r\n return this.http.get('/api/globalVariable/getAllOverriddenGlobalVariables');\r\n }\r\n\r\n updateGlobalVariableGroup(globalVariableGroup: GlobalVariableGroup) {\r\n return this.http.put('api/globalVariable/updateGlobalVariableGroup', globalVariableGroup);\r\n }\r\n\r\n createGlobalVariableGroup(globalVariableGroup: GlobalVariableGroup) {\r\n return this.http.post('api/globalVariable/createGlobalVariableGroup', globalVariableGroup);\r\n }\r\n\r\n removeGlobalVariableGroup(globalVariableGroup: GlobalVariableGroup) {\r\n const options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n body: globalVariableGroup,\r\n };\r\n return this.http.delete('api/globalVariable/removeGlobalVariableGroup', options);\r\n }\r\n\r\n getDefaultGlobalVariable(globalVariable: any) {\r\n return this.http.post('api/globalVariable/getDefaultGlobalVariable', globalVariable);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport {RelatedBusinessProcessConfig} from '../../Models/relatedBusinessProcessConfig';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InstanceDistributionConfigService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getInstanceClassification() {\r\n return this.http.get('/api/instanceDistributionConfig/get');\r\n }\r\n\r\n updateInstanceClassification(instanceClassification) {\r\n return this.http.post('api/instanceDistributionConfig/update', instanceClassification);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport {RelatedBusinessProcessConfig} from '../../Models/relatedBusinessProcessConfig';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MetadataService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getAllMetadataStructures() {\r\n return this.http.get('/api/metadata/getAllStructures');\r\n }\r\n\r\n saveMetadataStructure(metadataStructure) {\r\n return this.http.post('api/metadata/saveStructure', metadataStructure);\r\n }\r\n\r\n deleteMetadataStructure(metadataStructure) {\r\n const options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n body: { },\r\n };\r\n return this.http.delete(`api/metadata/removeStructure/${metadataStructure.metadataStructureId}/${metadataStructure.name}`, options);\r\n }\r\n\r\n getAllMetadataEditingByAdmin(userId) {\r\n return this.http.get(`/api/metadata/getAllEditingByAdmin/${userId}`);\r\n }\r\n\r\n saveUserMetadataValueByAdmin(userId, metadataObjectValue) {\r\n return this.http.post(`api/metadata/saveUserMetadataValueByAdmin/${userId}`, metadataObjectValue);\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class NodeConfigurationService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getAll() {\r\n return this.http.get('/api/nodeConfiguration/getAll');\r\n }\r\n\r\n getByNode(machineId:string, hostName:string, nodeType:number) {\r\n return this.http.post('/api/nodeConfiguration/getByNode', {machineId: machineId, hostName: hostName, nodeConfigurationType: nodeType});\r\n }\r\n\r\n getWebClientDefaultSettings() {\r\n return this.http.get('/api/webClientConfig/getWebClientDefaultSettings');\r\n }\r\n\r\n updateApi(nodeConfig) {\r\n return this.http.post('/api/nodeConfiguration/updateApi', nodeConfig);\r\n }\r\n\r\n updateRuntime(nodeConfig) {\r\n return this.http.post('/api/nodeConfiguration/updateRuntime', nodeConfig);\r\n }\r\n\r\n updateInMemory(nodeConfig) {\r\n return this.http.post('/api/nodeConfiguration/updateInMemory', nodeConfig);\r\n }\r\n\r\n updateScheduler(nodeConfig) {\r\n return this.http.post('/api/nodeConfiguration/updateScheduler', nodeConfig);\r\n }\r\n\r\n updateBatcher(nodeConfig) {\r\n return this.http.post('/api/nodeConfiguration/updateBatcher', nodeConfig);\r\n }\r\n\r\n updateWebClient(nodeConfig) {\r\n return this.http.post('/api/nodeConfiguration/updateWebClient', nodeConfig);\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PoolsService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getAll() {\r\n return this.http.get('/api/pools/getAll');\r\n }\r\n\r\n deletePool(pool) {\r\n const options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n body: { pool: pool },\r\n };\r\n return this.http.delete('/api/pools/delete', options );\r\n }\r\n\r\n save(pool) {\r\n return this.http.post('/api/pools/createOrUpdate', pool);\r\n }\r\n\r\n getUsersByPoolUserFilter(params) {\r\n return this.http.post('/api/pools/getUsersByPoolUserFilter', params);\r\n }\r\n\r\n getAllPoolMetadataValue(poolId: number) {\r\n return this.http.get(`/api/pools/getAllPoolMetadataValue/${poolId}`);\r\n }\r\n\r\n getMetaflowsInfoByPoolId(poolId: number) {\r\n return this.http.get(`/api/pools/getMetaflowsInfoByPoolId/${poolId}`);\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpEvent, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SystemFlowService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getAllSystemFlow() {\r\n return this.http.get('/api/systemFlow/getAllSystemFlow');\r\n }\r\n\r\n getSystemFlow(metaFlowId: number) {\r\n return this.http.get(`api/systemFlow/getMetaFlow/${metaFlowId}`);\r\n }\r\n\r\n getMetaFlowPools(metaFlow: any) {\r\n return this.http.post('api/systemFlow/getMetaflowPools', metaFlow);\r\n }\r\n\r\n getSystemflowDesignerLink(systemFlowName: string) {\r\n return this.http.get(`api/systemFlow/getSystemflowDesignerLink?systemFlowName=${systemFlowName}`);\r\n }\r\n\r\n createSystemFlow(metaFlow: any) {\r\n return this.http.post('api/systemFlow/createSystemFlow', metaFlow);\r\n }\r\n\r\n updateSystemFlow(metaFlow: any) {\r\n return this.http.put('api/systemFlow/updateSystemFlow', metaFlow);\r\n }\r\n\r\n removeSystemFlow(systemFlowMetaFlow: any) {\r\n const options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n body: systemFlowMetaFlow ,\r\n };\r\n return this.http.delete('api/systemFlow/removeSystemFlow', options);\r\n }\r\n\r\n exportSystemFlow(systemFLowId: number, systemFlowName: string): Observable> {\r\n return this.http.request(new HttpRequest(\r\n 'GET',\r\n `api/systemFlow/export/${systemFLowId}?systemFlowName=${systemFlowName}`,\r\n null,\r\n {\r\n reportProgress: true,\r\n responseType: 'blob'\r\n }));\r\n }\r\n\r\n importSystemFlow(file: File) {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n return this.http.post('api/systemFlow/uploadSystemFlow', formData, {reportProgress: true, observe: 'events'});\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class WebClientConfigurationService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getPageSizeConfig() {\r\n return this.http.get('/api/webClientConfig/getPageSizeConfig');\r\n }\r\n\r\n getPageConfig() {\r\n return this.http.get('/api/webClientConfig/getPageConfig');\r\n }\r\n\r\n}\r\n","import {AbstractControl, FormArray, FormControl, FormGroup, ValidatorFn} from '@angular/forms';\r\n\r\nexport class CustomValidator {\r\n // Number only validation\r\n static numeric(control: AbstractControl) {\r\n return CustomValidator.genericNumeric(control, /^[0-9]+$/);\r\n }\r\n\r\n static numericPositiveAndNegativeNotRequired(control: AbstractControl) {\r\n const val = control.value;\r\n if (val == '' || val == null) return null;\r\n return CustomValidator.genericNumeric(control, /^-?[0-9]+$/);\r\n }\r\n\r\n static decimalNotRequired(control: AbstractControl) {\r\n const val = control.value;\r\n if (val == '' || val == null) return null;\r\n return CustomValidator.genericNumeric(control, /^-?[0-9]+(,[0-9]+)?$/);\r\n }\r\n\r\n private static genericNumeric(control: AbstractControl, regex){\r\n const val = control.value;\r\n\r\n if (val === null || val === '') { return { 'invalidNumber': true }; }\r\n\r\n if (!val.toString().match(regex)) { return { 'invalidNumber': true }; }\r\n\r\n return null;\r\n }\r\n\r\n static numericButNotRequired(control: AbstractControl) {\r\n const val = control.value;\r\n if (val !== null && val !== '' && !val.toString().match(/^[0-9]+$/)) { return { invalidFilledNumber: true }; }\r\n return null;\r\n }\r\n\r\n static singleDropdown(input: FormControl) {\r\n return input.value === '' || input.value === 0 || input.value === null ? { emptyDropDown: true } : null;\r\n }\r\n\r\n static minSelectedCheckboxes(min = 1) {\r\n const validator: ValidatorFn = (formArray: FormArray) => {\r\n const totalSelected = formArray.controls\r\n .map(control => control.value)\r\n .reduce((prev, next) => next ? prev + next : prev, 0);\r\n return totalSelected >= min ? null : {required: true};\r\n };\r\n return validator;\r\n }\r\n\r\n static reservedWords(control: AbstractControl){\r\n let notAllowedList = [\r\n //Argumentos reservados pelo nosso sistema\r\n \"InstanceId\", \"NextState\", \"StateLifeCycle\", \"NextStateScheduledDateTime\"\r\n //Tipos de variáveis\r\n , \"Boolean\", \"Byte\", \"Char\", \"DateTime\", \"Decimal\", \"Double\"\r\n , \"Int16\", \"Int32\", \"Int64\", \"UInt16\", \"UInt32\", \"UInt64\",\"Float\",\r\n \"SByte\", \"Single\",\r\n //Palavras reservadas no visual basic\r\n \"AddHandler\", \"AddressOf\", \"Alias\", \"And\", \"AndAlso\", \"As\", \"ByRef\", \"ByVal\", \"Call\", \"Case\",\r\n \"Catch\", \"CBool\", \"CByte\", \"CChar\", \"CDate\", \"CDec\", \"CDbl\", \"CInt\", \"Class\", \"CLng\",\r\n \"CObj\", \"Const\", \"Continue\", \"CSByte\", \"CShort\", \"CSng\", \"CStr\", \"CType\", \"CUInt\", \"CULng\",\r\n \"CUShort\", \"Date\", \"Declare\", \"Default\", \"Delegate\", \"Dim\", \"DirectCast\", \"Do\", \"Each\", \"Else\",\r\n \"ElseIf\", \"End\", \"EndIf\", \"Enum\", \"Erase\", \"Error\", \"Event\", \"Exit\", \"FALSE\", \"Finally\",\r\n \"For\", \"Friend\", \"Function\", \"Get\", \"GetType\", \"Global\", \"GoSub\", \"GoTo\", \"Handles\", \"If\",\r\n \"Implements\", \"Imports\", \"In\", \"Inherits\", \"Integer\", \"Interface\", \"Is\", \"IsNot\", \"Let\", \"Lib\",\r\n \"Like\", \"Long\", \"Loop\", \"Me\", \"Mod\", \"Module\", \"MustInherit\", \"MustOverride\", \"MyBase\", \"MyClass\",\r\n \"Namespace\", \"Narrowing\", \"New\", \"Next\", \"Not\", \"Nothing\", \"NotInheritable\", \"NotOverridable\", \"Object\", \"Of\",\r\n \"On\", \"Operator\", \"Option\", \"Optional\", \"Or\", \"OrElse\", \"Overloads\", \"Overridable\", \"Overrides\", \"ParamArray\",\r\n \"Partial\", \"Private\", \"Property\", \"Protected\", \"Public\", \"RaiseEvent\", \"ReadOnly\", \"ReDim\", \"REM\", \"RemoveHandler\",\r\n \"Resume\", \"Return\", \"Select\", \"Set\", \"Shadows\", \"Shared\", \"Short\", \"Static\", \"Step\", \"Stop\",\r\n \"String\", \"Structure\", \"Sub\", \"SyncLock\", \"Then\", \"Throw\", \"To\", \"TRUE\", \"Try\", \"TryCast\",\r\n \"TypeOf\", \"Variant\", \"Wend\", \"UInteger\", \"ULong\", \"UShort\", \"Using\", \"When\", \"While\", \"Widening\",\r\n \"With\", \"WithEvents\", \"WriteOnly\", \"Xor\",\r\n //Palavras não reservadas mas inadequadas\r\n \"Ansi\", \"Assembly\", \"Auto\", \"Binary\", \"Compare\", \"Custom\", \"Explicit\", \"IsFalse\", \"IsTrue\", \"Mid\",\r\n \"Off\", \"Preserve\", \"Strict\", \"Text\", \"Unicode\", \"Until\"\r\n ];\r\n const val = control.value;\r\n let contains = notAllowedList.filter(i => i.toLowerCase() === val.toLowerCase()).length > 0;\r\n if (contains){\r\n return { 'reservedWord': true };\r\n }\r\n return null;\r\n }\r\n\r\n static validateDatetime(initialDate: string, finalDate: string) {\r\n // validar se a data/hora informada é valida\r\n return (formGroup: FormGroup) => {\r\n const iniDate = formGroup.controls[initialDate];\r\n const endDate = formGroup.controls[finalDate];\r\n\r\n if (!iniDate || !endDate) {\r\n return null;\r\n }\r\n\r\n // essa validação não determina obrigatoriedade de preenchimento dos campos\r\n if (iniDate.value == null || endDate.value == null || iniDate.value === '' || endDate.value === '') {\r\n return null;\r\n }\r\n\r\n const dtIni = new Date(iniDate.value).toISOString();\r\n const dtEnd = new Date(endDate.value).toISOString();\r\n\r\n if (endDate.errors && !endDate.errors.invalidDateTime) {\r\n return null;\r\n }\r\n\r\n if (dtEnd < dtIni) {\r\n endDate.setErrors({ invalidDateTime: true });\r\n } else {\r\n endDate.setErrors(null);\r\n }\r\n };\r\n }\r\n\r\n static trimRequired(control: AbstractControl) {\r\n const val = control.value;\r\n if (val === null || val.trim() === '') { return { 'required': true }; }\r\n return null;\r\n }\r\n\r\n static onlyStringAndNumbersAccepted(control: AbstractControl) {\r\n const val = control.value;\r\n if (val !== null && val !== '' && !val.toString().match(/^([_a-zA-Z]|[_a-zA-Z\\\\d]|[0-9])+$/)) {\r\n return { invalidStringAndNumberAccepted: true};\r\n }\r\n return null;\r\n }\r\n\r\n static validatePassword(password: string, confirmPassword: string) {\r\n return (formGroup: FormGroup) => {\r\n const pwdControl = formGroup.controls[password];\r\n const confirmPwdControl = formGroup.controls[confirmPassword];\r\n if (!pwdControl || !confirmPwdControl) {\r\n return null;\r\n }\r\n\r\n if (confirmPwdControl.errors && !confirmPwdControl.errors.passwordMismatch) {\r\n return null;\r\n }\r\n\r\n if (pwdControl.value !== confirmPwdControl.value) {\r\n confirmPwdControl.setErrors({ passwordMismatch: true });\r\n } else {\r\n confirmPwdControl.setErrors(null);\r\n }\r\n };\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {formatDate} from '@angular/common';\r\nimport moment from 'moment-timezone';\r\nimport {isDate} from 'moment';\r\n\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class DateTimeService{\r\n\r\n ptBrToStringOptions = {year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', hour12: false, minute:'2-digit', second:'2-digit'};\r\n\r\n public tolocalDateTime(givenDateStringUtc) {\r\n if (!givenDateStringUtc) return null;\r\n var givenDate = new Date(givenDateStringUtc);\r\n\r\n var currentDate = new Date();\r\n var offset = -(currentDate.getTimezoneOffset() / 60);\r\n var hours = givenDate.getHours();\r\n hours += offset;\r\n\r\n var resultDate = new Date(givenDate.getTime());\r\n resultDate.setHours(hours);\r\n return resultDate;\r\n };\r\n\r\n public toLocalDateTimePickerFormat(givenDateStringUtc){\r\n if (!givenDateStringUtc) return null;\r\n let localDate = new Date(givenDateStringUtc);\r\n\r\n const dd = String(localDate.getDate()).padStart(2, '0');\r\n const MM = String(localDate.getMonth() + 1).padStart(2, '0');\r\n const yyyy = localDate.getFullYear();\r\n let hh = String(localDate.getHours()).padStart(2, '0');;\r\n let mm = String(localDate.getMinutes()).padStart(2, '0');;\r\n return (`${yyyy}-${MM}-${dd}T${hh}:${mm}`);\r\n\r\n }\r\n\r\n public formatDateTimePickerFormat(givenDate: Date){\r\n return formatDate(givenDate,'yyyy-MM-ddTHH:mm', 'pt-BR');\r\n }\r\n\r\n public getLocalTimeStamp() {\r\n return formatDate(new Date(), 'yyyMMddHHmmss', 'pt-BR');\r\n }\r\n\r\n public toLocalStringDateTime(givenDateStringUtc: string, completeHour:boolean=true){\r\n if (!givenDateStringUtc)\r\n return;\r\n let localDate = this.tolocalDateTime(givenDateStringUtc);\r\n //return localDate.toLocaleDateString(\"pt-BR\", this.ptBrToStringOptions);\r\n if (completeHour)\r\n return formatDate(localDate,'dd/MM/yyyy HH:mm:ss.SSS',\"pt-BR\");\r\n else\r\n return formatDate(localDate,'dd/MM/yyyy HH:mm:ss',\"pt-BR\");\r\n }\r\n\r\n public formatBrDateTime(givenDate:Date, completeHour:boolean=true) {\r\n if (completeHour)\r\n return formatDate(givenDate,'dd/MM/yyyy HH:mm:ss',\"pt-BR\");\r\n else\r\n return formatDate(givenDate,'dd/MM/yyyy HH:mm',\"pt-BR\");\r\n }\r\n\r\n\r\n\r\n public toUTC(date: Date) {\r\n if (!date) return null;\r\n const currentTimeZone = moment.tz.guess();\r\n const dateUtc = moment.tz(date, currentTimeZone);\r\n return dateUtc.utc().format();\r\n }\r\n\r\n public toLocalISOStringDateTime(givenDateStringUtc: string, completeHour:boolean=true){\r\n if (!givenDateStringUtc)\r\n return;\r\n let localDate = this.tolocalDateTime(givenDateStringUtc);\r\n //return localDate.toLocaleDateString(\"pt-BR\", this.ptBrToStringOptions);\r\n if (completeHour)\r\n return formatDate(localDate,'yyyy-MM-ddTHH:mm:ss.SSS',\"pt-BR\");\r\n else\r\n return formatDate(localDate,'yyyy-MM-ddTHH:mm:ss',\"pt-BR\");\r\n }\r\n\r\n public toISOStringDateTime(givenDateString: string){\r\n if (!givenDateString)\r\n return;\r\n\r\n let date = new Date(givenDateString);\r\n return formatDate(date,'yyyy-MM-ddTHH:mm',\"pt-BR\");\r\n }\r\n\r\n public static dateDiff(currentDate, pastDate) {\r\n const past = moment(pastDate, 'DD/MM/YYYY HH:mm:ss');\r\n const current = moment(currentDate, 'DD/MM/YYYY HH:mm:ss');\r\n\r\n const diff = current.diff(past);\r\n const duration = moment.duration(diff);\r\n const hour = Math.floor(duration.asHours());\r\n\r\n return ('0'+hour).slice(-2) + moment.utc(diff).format(\":mm:ss\");\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Route, Router } from '@angular/router';\r\nimport { MenuItem } from '../Models/menuItem';\r\nimport { MasterPageComponent } from '../master/masterpage.component';\r\nimport { AuthorizationCheck } from '../auth/authorizationCheck';\r\nimport { menuComponentFromTo, MenuModelFromTo } from '../Models/menuComponentFromTo';\r\nimport { NotFoundPageComponent } from '../master/components/not-found-page/not-found-page.component';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class DynamicMenuService {\r\n\r\n routerArr = this.router.config;\r\n menuComponent: MenuModelFromTo[] = menuComponentFromTo;\r\n DEFAULT_ROUTE: Route = { path: '**', component: NotFoundPageComponent };\r\n\r\n constructor(private router: Router) { }\r\n\r\n setRouteMenu(menuItems: MenuItem[]) {\r\n\r\n const paths = this.router.config.map( route => route.path);\r\n if (paths.includes('**')) {\r\n this.router.config.splice(paths.indexOf('**'), 1);\r\n }\r\n\r\n menuItems.forEach((item) => {\r\n const url = this.menuComponent.find(m => m.urlMenu === item.url);\r\n if (url !== undefined) {\r\n if (item.url && item.url.indexOf('.aspx') > -1) {\r\n this.routerArr.push(\r\n {\r\n path: url.routeMenu,\r\n component: MasterPageComponent,\r\n children: [{ outlet: 'master', path: '', component: url.componentMenu }],\r\n canActivate: [AuthorizationCheck], runGuardsAndResolvers: 'always'\r\n }\r\n );\r\n }\r\n }\r\n if (item.children && item.children.length > 0) {\r\n this.setRouteMenu(item.children);\r\n }\r\n });\r\n \r\n this.router.resetConfig(this.routerArr);\r\n this.router.config.push(this.DEFAULT_ROUTE);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport {FieldType} from '../Models/enum/fieldType';\r\nimport {FieldDomainType} from '../Models/enum/fieldDomainType';\r\nimport {Validators} from '@angular/forms';\r\nimport {CustomValidator} from './custom-validator';\r\nimport {FieldMaskType} from '../Models/enum/fieldMaskType';\r\nimport {EnumTranslateService} from './enumTranslate-service';\r\nimport {DateExibitionFormat} from '../Models/enum/dateExibitionFormat';\r\nimport {FieldValidator} from '../Models/enum/fieldValidator';\r\n\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class EditFieldsService {\r\n\r\n private translateEnum = EnumTranslateService;\r\n\r\n getEnumArrays() {\r\n // carregar a lista de tipos do campo\r\n let enumFieldType = Object.entries(FieldType)\r\n .filter(e => !isNaN(Number(e[0])) && Number(e[0]) !== 0)\r\n .map(m => ({ key: m[0], value: m[1], label: this.translateEnum.getFieldTypeEnumTranslated(m[0]) }));\r\n\r\n // carregar a lista de tipos de data\r\n let enumDateExhibitionFormat = Object.entries(DateExibitionFormat)\r\n .filter(e => !isNaN(Number(e[0])))\r\n .map(m => ({ key: m[0], value: m[1], label: this.translateEnum.getEnumDateType(m[0]) }));\r\n\r\n // carregar a lista de tipos de validadores\r\n let enumFieldValidator = Object.entries(FieldValidator)\r\n .filter(e => !isNaN(Number(e[0])))\r\n .map(m => ({ key: m[0], value: m[1], label: this.translateEnum.getEnumFieldValidator(m[0]) }));\r\n\r\n // carregar a lista de dominios disponíveis\r\n let enumDomain = Object.entries(FieldDomainType)\r\n .filter(e => !isNaN(Number(e[0])) && Number(e[0]) !== 2)\r\n .map(m => ({ key: m[0], value: m[1], label: this.translateEnum.getEnumFieldDomainType(m[0]) }));\r\n\r\n return {\r\n fieldType: enumFieldType,\r\n dateExibitionFormat: enumDateExhibitionFormat,\r\n fieldValidator: enumFieldValidator,\r\n domain: enumDomain\r\n }\r\n }\r\n\r\n getTextEnumMaskType() {\r\n let enumMaskType = Object.entries(FieldMaskType)\r\n .filter(e => !isNaN(Number(e[0])) &&\r\n (Number(e[0]) === FieldMaskType.none ||\r\n Number(e[0]) === FieldMaskType.cpf ||\r\n Number(e[0]) === FieldMaskType.cnpj ||\r\n Number(e[0]) === FieldMaskType.phoneNumber))\r\n .map(m => ({ key: m[0], value: m[1], label: this.translateEnum.getEnumMaskType(m[0]) }));\r\n return enumMaskType;\r\n }\r\n\r\n getFloatingEnumMaskType() {\r\n let enumMaskType = Object.entries(FieldMaskType)\r\n .filter(e => !isNaN(Number(e[0])) &&\r\n (Number(e[0]) === FieldMaskType.none ||\r\n Number(e[0]) === FieldMaskType.twoDecimalPlaces ||\r\n Number(e[0]) === FieldMaskType.fourDecimalPlaces ||\r\n Number(e[0]) === FieldMaskType.eightDecimalPlaces))\r\n .map(m => ({ key: m[0], value: m[1], label: this.translateEnum.getEnumMaskType(m[0]) }));\r\n return enumMaskType;\r\n }\r\n\r\n changeFieldType(formData, selectedType: number = 0) {\r\n let enumMaskType;\r\n\r\n if (formData) {\r\n if (selectedType === FieldType.text) {\r\n formData.get('length')\r\n .setValidators([ Validators.min(1), Validators.max(4000), CustomValidator.numeric ]);\r\n\r\n enumMaskType = this.getTextEnumMaskType();\r\n } else if (selectedType === FieldType.floating) {\r\n\r\n enumMaskType = this.getFloatingEnumMaskType();\r\n formData.get('length').clearValidators();\r\n } else {\r\n formData.get('length').clearValidators();\r\n }\r\n }\r\n return {enumMaskType: enumMaskType}\r\n }\r\n}\r\n","export class Encodings {\r\n static get list() {\r\n return [{codePage: 20106, name: 'x-IA5-German', displayName: 'Alemão (IA5)'},\r\n {codePage: 864, name: 'IBM864', displayName: 'Árabe (864)'},\r\n {codePage: 708, name: 'ASMO-708', displayName: 'Árabe (ASMO 708)'},\r\n {codePage: 720, name: 'DOS-720', displayName: 'Árabe (DOS)'},\r\n {codePage: 28596, name: 'iso-8859-6', displayName: 'Árabe (ISO)'},\r\n {codePage: 10004, name: 'x-mac-arabic', displayName: 'Árabe (Mac)'},\r\n {codePage: 1256, name: 'windows-1256', displayName: 'Árabe (Windows)'},\r\n {codePage: 775, name: 'ibm775', displayName: 'Báltico (DOS)'},\r\n {codePage: 28594, name: 'iso-8859-4', displayName: 'Báltico (ISO)'},\r\n {codePage: 1257, name: 'windows-1257', displayName: 'Báltico (Windows)'},\r\n {codePage: 10029, name: 'x-mac-ce', displayName: 'Centro-europeu (Mac)'},\r\n {codePage: 1250, name: 'windows-1250', displayName: 'Centro-europeu (Windows)'},\r\n {codePage: 51936, name: 'EUC-CN', displayName: 'Chinês Simplificado (EUC)'},\r\n {codePage: 54936, name: 'GB18030', displayName: 'Chinês Simplificado (GB18030)'},\r\n {codePage: 936, name: 'gb2312', displayName: 'Chinês Simplificado (GB2312)'},\r\n {codePage: 20936, name: 'x-cp20936', displayName: 'Chinês Simplificado (GB2312-80)'},\r\n {codePage: 52936, name: 'hz-gb-2312', displayName: 'Chinês Simplificado (HZ)'},\r\n {codePage: 50227, name: 'x-cp50227', displayName: 'Chinês Simplificado (ISO-2022)'},\r\n {codePage: 10008, name: 'x-mac-chinesesimp', displayName: 'Chinês Simplificado (Mac)'},\r\n {codePage: 950, name: 'big5', displayName: 'Chinês Tradicional (Big5)'},\r\n {codePage: 20000, name: 'x-Chinese-CNS', displayName: 'Chinês Tradicional (CNS)'},\r\n {codePage: 20002, name: 'x-Chinese-Eten', displayName: 'Chinês Tradicional (Eten)'},\r\n {codePage: 10002, name: 'x-mac-chinesetrad', displayName: 'Chinês Tradicional (Mac)'},\r\n {codePage: 866, name: 'cp866', displayName: 'Cirílico (DOS)'},\r\n {codePage: 28595, name: 'iso-8859-5', displayName: 'Cirílico (ISO)'},\r\n {codePage: 20866, name: 'koi8-r', displayName: 'Cirílico (KOI8-R)'},\r\n {codePage: 21866, name: 'koi8-u', displayName: 'Cirílico (KOI8-U)'},\r\n {codePage: 10007, name: 'x-mac-cyrillic', displayName: 'Cirílico (Mac)'},\r\n {codePage: 1251, name: 'windows-1251', displayName: 'Cirílico (Windows)'},\r\n {codePage: 949, name: 'ks_c_5601-1987', displayName: 'Coreano'},\r\n {codePage: 51949, name: 'euc-kr', displayName: 'Coreano (EUC)'},\r\n {codePage: 50225, name: 'iso-2022-kr', displayName: 'Coreano (ISO)'},\r\n {codePage: 1361, name: 'Johab', displayName: 'Coreano (Johab)'},\r\n {codePage: 10003, name: 'x-mac-korean', displayName: 'Coreano (Mac)'},\r\n {codePage: 20949, name: 'x-cp20949', displayName: 'Coreano Wansung'},\r\n {codePage: 10082, name: 'x-mac-croatian', displayName: 'Croata (Mac)'},\r\n {codePage: 28603, name: 'iso-8859-13', displayName: 'Estoniano (ISO)'},\r\n {codePage: 29001, name: 'x-Europa', displayName: 'Europa'},\r\n {codePage: 852, name: 'ibm852', displayName: 'Europa Central (DOS)'},\r\n {codePage: 28592, name: 'iso-8859-2', displayName: 'Europa Central (ISO)'},\r\n {codePage: 850, name: 'ibm850', displayName: 'Europa Ocidental (DOS)'},\r\n {codePage: 20105, name: 'x-IA5', displayName: 'Europa Ocidental (IA5)'},\r\n {codePage: 28591, name: 'iso-8859-1', displayName: 'Europa Ocidental (ISO)'},\r\n {codePage: 10000, name: 'macintosh', displayName: 'Europa Ocidental (Mac)'},\r\n {codePage: 1252, name: 'Windows-1252', displayName: 'Europa Ocidental (Windows)'},\r\n {codePage: 863, name: 'IBM863', displayName: 'Francês Canadense (DOS)'},\r\n {codePage: 737, name: 'ibm737', displayName: 'Grego (DOS)'},\r\n {codePage: 28597, name: 'iso-8859-7', displayName: 'Grego (ISO)'},\r\n {codePage: 10006, name: 'x-mac-greek', displayName: 'Grego (Mac)'},\r\n {codePage: 1253, name: 'windows-1253', displayName: 'Grego (Windows)'},\r\n {codePage: 869, name: 'ibm869', displayName: 'Grego Moderno (DOS)'},\r\n {codePage: 862, name: 'DOS-862', displayName: 'Hebraico (DOS)'},\r\n {codePage: 38598, name: 'iso-8859-8-i', displayName: 'Hebraico (ISO-Lógico)'},\r\n {codePage: 28598, name: 'iso-8859-8', displayName: 'Hebraico (ISO-Visual)'},\r\n {codePage: 10005, name: 'x-mac-hebrew', displayName: 'Hebraico (Mac)'},\r\n {codePage: 1255, name: 'windows-1255', displayName: 'Hebraico (Windows)'},\r\n {codePage: 20273, name: 'IBM273', displayName: 'IBM EBCDIC (Alemanha)'},\r\n {codePage: 1141, name: 'IBM01141', displayName: 'IBM EBCDIC (Alemanha-Euro)'},\r\n {codePage: 20420, name: 'IBM420', displayName: 'IBM EBCDIC (Árabe)'},\r\n {codePage: 20833, name: 'x-EBCDIC-KoreanExtended', displayName: 'IBM EBCDIC (Coreano Estendido)'},\r\n {codePage: 20277, name: 'IBM277', displayName: 'IBM EBCDIC (Dinamarca-Noruega)'},\r\n {codePage: 1142, name: 'IBM01142', displayName: 'IBM EBCDIC (Dinamarca-Noruega-Euro)'},\r\n {codePage: 20284, name: 'IBM284', displayName: 'IBM EBCDIC (Espanha)'},\r\n {codePage: 1145, name: 'IBM01145', displayName: 'IBM EBCDIC (Espanha-Euro)'},\r\n {codePage: 37, name: 'IBM037', displayName: 'IBM EBCDIC (EUA-Canadá)'},\r\n {codePage: 1140, name: 'IBM01140', displayName: 'IBM EBCDIC (EUA-Canadá-Euro)'},\r\n {codePage: 20278, name: 'IBM278', displayName: 'IBM EBCDIC (Finlândia-Suécia)'},\r\n {codePage: 1143, name: 'IBM01143', displayName: 'IBM EBCDIC (Finlândia-Suécia-Euro)'},\r\n {codePage: 20297, name: 'IBM297', displayName: 'IBM EBCDIC (França)'},\r\n {codePage: 1147, name: 'IBM01147', displayName: 'IBM EBCDIC (França-Euro)'},\r\n {codePage: 875, name: 'cp875', displayName: 'IBM EBCDIC (Grego Moderno)'},\r\n {codePage: 20423, name: 'IBM423', displayName: 'IBM EBCDIC (Grego)'},\r\n {codePage: 20424, name: 'IBM424', displayName: 'IBM EBCDIC (Hebraico)'},\r\n {codePage: 500, name: 'IBM500', displayName: 'IBM EBCDIC (Internacional)'},\r\n {codePage: 1148, name: 'IBM01148', displayName: 'IBM EBCDIC (Internacional-Euro)'},\r\n {codePage: 20871, name: 'IBM871', displayName: 'IBM EBCDIC (Islandês)'},\r\n {codePage: 1149, name: 'IBM01149', displayName: 'IBM EBCDIC (Islandês-Euro)'},\r\n {codePage: 20280, name: 'IBM280', displayName: 'IBM EBCDIC (Itália)'},\r\n {codePage: 1144, name: 'IBM01144', displayName: 'IBM EBCDIC (Itália-Euro)'},\r\n {codePage: 20290, name: 'IBM290', displayName: 'IBM EBCDIC (Japonês katakana)'},\r\n {codePage: 870, name: 'IBM870', displayName: 'IBM EBCDIC (Latino Multilíngüe-2)'},\r\n {codePage: 20880, name: 'IBM880', displayName: 'IBM EBCDIC (Russo Cirílico)'},\r\n {codePage: 21025, name: 'cp1025', displayName: 'IBM EBCDIC (Servo-Búlgaro Cirílico)'},\r\n {codePage: 20838, name: 'IBM-Thai', displayName: 'IBM EBCDIC (Tai)'},\r\n {codePage: 1026, name: 'IBM1026', displayName: 'IBM EBCDIC (Turco Latino-5)'},\r\n {codePage: 20905, name: 'IBM905', displayName: 'IBM EBCDIC (Turco)'},\r\n {codePage: 20285, name: 'IBM285', displayName: 'IBM EBCDIC (UK)'},\r\n {codePage: 1146, name: 'IBM01146', displayName: 'IBM EBCDIC (UK-Euro)'},\r\n {codePage: 1047, name: 'IBM01047', displayName: 'IBM Latino-1'},\r\n {codePage: 20924, name: 'IBM00924', displayName: 'IBM Latino-1'},\r\n {codePage: 20003, name: 'x-cp20003', displayName: 'IBM5550 Taiwan'},\r\n {codePage: 57006, name: 'x-iscii-as', displayName: 'ISCII Assamês'},\r\n {codePage: 57003, name: 'x-iscii-be', displayName: 'ISCII Bengali'},\r\n {codePage: 57008, name: 'x-iscii-ka', displayName: 'ISCII Canarim'},\r\n {codePage: 57002, name: 'x-iscii-de', displayName: 'ISCII Devanágari'},\r\n {codePage: 57010, name: 'x-iscii-gu', displayName: 'ISCII Guzerate'},\r\n {codePage: 57009, name: 'x-iscii-ma', displayName: 'ISCII Malaio'},\r\n {codePage: 57007, name: 'x-iscii-or', displayName: 'ISCII Odia'},\r\n {codePage: 57011, name: 'x-iscii-pa', displayName: 'ISCII Panjabi'},\r\n {codePage: 57004, name: 'x-iscii-ta', displayName: 'ISCII Tâmil'},\r\n {codePage: 57005, name: 'x-iscii-te', displayName: 'ISCII Telugu'},\r\n {codePage: 861, name: 'ibm861', displayName: 'Islandês (DOS)'},\r\n {codePage: 10079, name: 'x-mac-icelandic', displayName: 'Islandês (Mac)'},\r\n {codePage: 20269, name: 'x-cp20269', displayName: 'ISO-6937'},\r\n {codePage: 51932, name: 'euc-jp', displayName: 'Japonês (EUC)'},\r\n {codePage: 20932, name: 'EUC-JP', displayName: 'Japonês (JIS 0208-1990 e 0212-1990)'},\r\n {codePage: 50220, name: 'iso-2022-jp', displayName: 'Japonês (JIS)'},\r\n {codePage: 50222, name: 'iso-2022-jp', displayName: 'Japonês (JIS-Permitir Kana de 1 byte - SO/SI)'},\r\n {codePage: 50221, name: 'csISO2022JP', displayName: 'Japonês (JIS-Permitir Kana de 1 byte)'},\r\n {codePage: 10001, name: 'x-mac-japanese', displayName: 'Japonês (Mac)'},\r\n {codePage: 932, name: 'shift_jis', displayName: 'Japonês (Shift-JIS)'},\r\n {codePage: 28593, name: 'iso-8859-3', displayName: 'Latino 3 (ISO)'},\r\n {codePage: 28605, name: 'iso-8859-15', displayName: 'Latino 9 (ISO)'},\r\n {codePage: 865, name: 'IBM865', displayName: 'Nórdico (DOS)'},\r\n {codePage: 20108, name: 'x-IA5-Norwegian', displayName: 'Norueguês (IA5)'},\r\n {codePage: 855, name: 'IBM855', displayName: 'OEM Cirílico'},\r\n {codePage: 437, name: 'IBM437', displayName: 'OEM Estados Unidos'},\r\n {codePage: 858, name: 'IBM00858', displayName: 'OEM Latino Multilíngüe I'},\r\n {codePage: 860, name: 'IBM860', displayName: 'Português (DOS)'},\r\n {codePage: 10010, name: 'x-mac-romanian', displayName: 'Romeno (Mac)'},\r\n {codePage: 20107, name: 'x-IA5-Swedish', displayName: 'Sueco (IA5)'},\r\n {codePage: 20261, name: 'x-cp20261', displayName: 'T.61'},\r\n {codePage: 10021, name: 'x-mac-thai', displayName: 'Tai (Mac)'},\r\n {codePage: 874, name: 'windows-874', displayName: 'Tai (Windows)'},\r\n {codePage: 20001, name: 'x-cp20001', displayName: 'TCA Taiwan'},\r\n {codePage: 20004, name: 'x-cp20004', displayName: 'TeleText Taiwan'},\r\n {codePage: 857, name: 'ibm857', displayName: 'Turco (DOS)'},\r\n {codePage: 28599, name: 'iso-8859-9', displayName: 'Turco (ISO)'},\r\n {codePage: 10081, name: 'x-mac-turkish', displayName: 'Turco (Mac)'},\r\n {codePage: 1254, name: 'windows-1254', displayName: 'Turco (Windows)'},\r\n {codePage: 10017, name: 'x-mac-ukrainian', displayName: 'Ucraniano (Mac)'},\r\n {codePage: 1200, name: 'utf-16', displayName: 'Unicode'},\r\n {codePage: 1201, name: 'utf-16BE', displayName: 'Unicode (Big-Endian)'},\r\n {codePage: 12001, name: 'utf-32BE', displayName: 'Unicode (UTF-32 Big-Endian)'},\r\n {codePage: 12000, name: 'utf-32', displayName: 'Unicode (UTF-32)'},\r\n {codePage: 65000, name: 'utf-7', displayName: 'Unicode (UTF-7)'},\r\n {codePage: 65001, name: 'utf-8', displayName: 'Unicode (UTF-8)'},\r\n {codePage: 20127, name: 'us-ascii', displayName: 'US-ASCII'},\r\n {codePage: 1258, name: 'windows-1258', displayName: 'Vietnamita (Windows)'},\r\n {codePage: 20005, name: 'x-cp20005', displayName: 'Wang Taiwan'}];\r\n }\r\n}\r\n","import {EnumTranslator} from '../Models/enum/enumTranslator';\r\nimport {FieldType} from '../Models/enum/fieldType';\r\nimport {DateExibitionFormat} from '../Models/enum/dateExibitionFormat';\r\nimport {FieldDomainType} from '../Models/enum/fieldDomainType';\r\nimport {FieldValidator} from '../Models/enum/fieldValidator';\r\nimport {FieldMaskType} from '../Models/enum/fieldMaskType';\r\nimport {NodeConfigurationType} from '../Models/enum/nodeConfigurationType';\r\nimport {MetadataType} from '../Models/enum/metadataType';\r\nimport {MetadataEditingType} from '../Models/enum/metadataEditingType';\r\nimport {DataExtractionType} from '../Models/enum/dataExtractionType';\r\nimport {DataExtractionIntervalType} from '../Models/enum/dataExtractionIntervalType';\r\nimport {TaskLogStatus} from '../Models/enum/taskLogStatus';\r\n\r\n\r\nexport class EnumTranslateService {\r\n static getFieldTypeEnumTranslated(fieldType) {\r\n return EnumTranslator.getEnumValueTranslated(FieldType[fieldType]);\r\n }\r\n\r\n static getEnumDateType(dateType) {\r\n return EnumTranslator.getEnumDateType(DateExibitionFormat[dateType]);\r\n }\r\n\r\n static getEnumFieldDomainType(domainType) {\r\n return EnumTranslator.getEnumFieldDomainType(FieldDomainType[domainType]);\r\n }\r\n\r\n static getEnumFieldValidator (fieldValidatorType) {\r\n return EnumTranslator.getEnumFieldValidator(FieldValidator[fieldValidatorType]);\r\n }\r\n\r\n static getEnumMaskType (maskType) {\r\n return EnumTranslator.getEnumMaskType(FieldMaskType[maskType]);\r\n }\r\n\r\n static getEnumNodeType (nodeType) {\r\n return EnumTranslator.getEnumNodeType(NodeConfigurationType[nodeType]);\r\n }\r\n\r\n static getEnumMetadataType (metadataType) {\r\n return EnumTranslator.getEnumMetadataType(MetadataType[metadataType]);\r\n }\r\n\r\n static getEnumMetadataEditingType (metadataEditingType) {\r\n return EnumTranslator.getEnumMetadataEditingType(MetadataEditingType[metadataEditingType]);\r\n }\r\n\r\n static getEnumDataExtractionType (dataExtractionType) {\r\n return EnumTranslator.getEnumDataExtractionType(DataExtractionType[dataExtractionType]);\r\n }\r\n\r\n static getEnumDataExtractionIntervalType (dataExtractionIntervalType) {\r\n return EnumTranslator.getEnumDataExtractionIntervalType(DataExtractionIntervalType[dataExtractionIntervalType]);\r\n }\r\n\r\n static getEnumTaskLogStatus (taskLogStatusType) {\r\n return EnumTranslator.getEnumTaskLogStatus(TaskLogStatus[taskLogStatusType]);\r\n }\r\n}\r\n","import {FormGroup} from '@angular/forms';\r\n\r\nexport class FormsValidatorService {\r\n\r\n static removeValidator(objectForm: FormGroup, path: string) {\r\n objectForm.get(path).clearValidators();\r\n objectForm.get(path).updateValueAndValidity();\r\n }\r\n\r\n}\r\n","import {Component, Injectable, TemplateRef} from '@angular/core';\r\n\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport {AuthenticationService} from './authentication.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GenericModalService {\r\n\r\n constructor(private modalService: BsModalService, private authService: AuthenticationService) { }\r\n\r\n showModal(component: Component, title: string, id: number = 0, message: string = null, size: string = 'modal-lg') {\r\n const objId = id;\r\n const objMessage = message;\r\n const bsModalRef: BsModalRef = this.modalService.show(component,\r\n { initialState: { objId, objMessage }, class: size, backdrop: 'static'});\r\n bsModalRef.content.modalTitle = title;\r\n return (bsModalRef.content).itemSaved;\r\n }\r\n\r\n showXlModal(component: Component, title: string, id: number = 0, additionalClassName: string) {\r\n return this.showModal(component, title, id, additionalClassName, 'modal-xl');\r\n }\r\n\r\n showObjModal(component: Component, title: string, objInitialState: any, size: string = 'modal-lg') {\r\n if (this.authService.checkAuthModal()) {\r\n const bsModalRef: BsModalRef = this.modalService.show(component,\r\n {initialState: {objInitialState}, class: size, backdrop: 'static'});\r\n\r\n bsModalRef.content.modalTitle = title;\r\n return (bsModalRef.content).itemSaved;\r\n }\r\n }\r\n\r\n showObjModalWithTemplate(templateRef: TemplateRef, objInitialState: any, size: string = 'modal-lg') {\r\n const bsModalRef: BsModalRef = this.modalService.show(templateRef,\r\n { initialState: { objInitialState }, class: size, backdrop: 'static'});\r\n\r\n return bsModalRef;\r\n }\r\n\r\n showInputModal(component: Component, title: string, description: string, okButton: string, cancelButton: string,\r\n inputSuggestion: string, validationPattern: string, patternErrorMessage: string, maxLength: number,\r\n minLength: number, isRequired: boolean, cleanSpaces: boolean = true) {\r\n const bsModalRef: BsModalRef = this.modalService.show(component,\r\n { initialState: { inputSuggestion }, backdrop: 'static' });\r\n bsModalRef.content.modalTitle = title;\r\n bsModalRef.content.modalDescription = description;\r\n bsModalRef.content.okButton = okButton;\r\n bsModalRef.content.cancelButton = cancelButton;\r\n bsModalRef.content.validationPattern = validationPattern;\r\n bsModalRef.content.patternErrorMessage = patternErrorMessage;\r\n bsModalRef.content.maxLength = maxLength;\r\n bsModalRef.content.minLength = minLength;\r\n bsModalRef.content.isRequired = isRequired;\r\n bsModalRef.content.cleanSpaces = cleanSpaces;\r\n return (bsModalRef.content).input;\r\n }\r\n\r\n showselectModal(component: Component, title: string, description: string, okButton: string, cancelButton: string, listOfItems: any[]) {\r\n const bsModalRef: BsModalRef = this.modalService.show(component,\r\n { initialState: { listOfItems }, backdrop: 'static' });\r\n bsModalRef.content.modalTitle = title;\r\n bsModalRef.content.modalDescription = description;\r\n bsModalRef.content.okButton = okButton;\r\n bsModalRef.content.cancelButton = cancelButton;\r\n return (bsModalRef.content).selectedItem;\r\n }\r\n\r\n showConfirmModal(title: string, message: string) {\r\n const alert = Swal.fire({\r\n title: title,\r\n html: message,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Confirmar',\r\n cancelButtonText: 'Cancelar',\r\n buttonsStyling: false,\r\n customClass: {\r\n cancelButton: 'btn btn-outline-secondary',\r\n confirmButton: 'btn btn-primary mr-3'\r\n },\r\n allowOutsideClick: false\r\n });\r\n return alert;\r\n }\r\n\r\n/* showModalTeste(component: Component, title: string, id: number = 0, message: string = null) {\r\n const comp: any = GenericModalComponent;\r\n const objId = id;\r\n const objMessage = message;\r\n const bsModalRef: BsModalRef = this.modalService.show(comp,\r\n { initialState: { objId, objMessage, component }, class: 'modal-lg', backdrop: 'static'});\r\n bsModalRef.content.modalTitle = title;\r\n return (bsModalRef.content).itemSaved;\r\n }*/\r\n\r\n /*auth() {\r\n const token = localStorage.getItem('TokenInfo');\r\n\r\n if (token && this.jwtHelper.isTokenExpired(token)) {\r\n this.forceCloseModal();\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n forceCloseModal() {\r\n for (let i = 1; i <= this.modalService.getModalsCount(); i++) {\r\n this.modalService.hide(i);\r\n }\r\n document.body.className = document.body.className.replace('modal-open', '');\r\n }*/\r\n\r\n showMessage(text: string, showButton: boolean, timer: number, title: string = null) {\r\n Swal.mixin({\r\n title: title,\r\n toast: true,\r\n position: 'top',\r\n timer: timer,\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `
${text}
`,\r\n showConfirmButton: showButton,\r\n confirmButtonColor: '#0c5460',\r\n background: '#ffffff',\r\n width: '50%'\r\n }).fire();\r\n }\r\n\r\n showInfoMessage(text: string, showButton: boolean, timer: number, title: string = null) {\r\n Swal.mixin({\r\n title: title,\r\n toast: true,\r\n position: 'top',\r\n timer: timer,\r\n icon: 'info',\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `${text}`,\r\n showConfirmButton: showButton,\r\n confirmButtonColor: '#0c5460',\r\n background: '#d1ecf1',\r\n width: '50%'\r\n }).fire();\r\n }\r\n\r\n showErrorMessage(text: string, showButton: boolean) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `${text}`,\r\n showConfirmButton: showButton,\r\n confirmButtonColor: '#721c24',\r\n background: '#f8d7da',\r\n width: '50%'\r\n }).fire();\r\n }\r\n\r\n showSuccessMessage(text: string, showButton: boolean, timer: number) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n timer: timer,\r\n icon: 'success',\r\n showClass : { popup : 'swal2-noanimation', backdrop : 'swal2-noanimation', icon : 'swal2-noanimation'},\r\n html: `${text}`,\r\n showConfirmButton: showButton,\r\n confirmButtonColor: '#155724',\r\n background: '#d4edda',\r\n width: '50%'\r\n }).fire();\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {take} from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HumanInteractionService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getInteractionQueue() {\r\n return this.http.get(`api/runtime/getInteractionQueue`);\r\n }\r\n\r\n getPagedInteractionQueueItems(filter) {\r\n return this.http.post('api/inMemory/getPagedInteractionQueueItems', filter);\r\n }\r\n\r\n getCustomInteractionQueueConfig(businessProcessId = null, stateId = null) {\r\n return this.http.post(`api/getCustomInteractionQueueConfig`, {businessProcessId: businessProcessId, stateId: stateId});\r\n }\r\n\r\n getCustomInteractionQueueConfigById(queueId) {\r\n return this.http.get(`api/GetCustomInteractionQueueConfigById/${queueId}`);\r\n }\r\n\r\n getTotalsPerAgreementItems(filter) {\r\n return this.http.post('api/inMemory/getTotalsPerAgreementItems', filter);\r\n }\r\n\r\n getInteractionQueueForEdit() {\r\n return this.http.get(`api/interactionQueue/get`);\r\n }\r\n\r\n updateInteractionQueue(interactionQueue) {\r\n return this.http.post('api/interactionQueue/update', interactionQueue);\r\n }\r\n\r\n requestRefreshInteractionQueue() {\r\n return this.http.get(`api/interactionQueue/requestRefreshInteractionQueue`);\r\n }\r\n\r\n getUserFavoriteQueues() {\r\n return this.http.get('api/customQueue/getFavQueuesByUser');\r\n }\r\n\r\n addQueueToFavorite(customQueueId: number) {\r\n return this.http.post('api/customQueue/addToFavorite', {customQueueId: customQueueId});\r\n }\r\n\r\n removeQueueFromFavorite(customQueueId: number) {\r\n return this.http.delete(`api/customQueue/removeFromFavorite/${customQueueId}`)\r\n .pipe(take(1));\r\n }\r\n\r\n allocateNextInstance() {\r\n return this.http.get('api/runtime/allocateNextInstanceForHumanInteraction');\r\n }\r\n\r\n allocateNextInstanceCustom() {\r\n return this.http.get('api/runtime/allocateNextInstanceInCustomQueueForHumanInteraction');\r\n }\r\n\r\n startBusinessProcess(businessProcessId) {\r\n return this.http.get(`api/runtime/startBusinessProcess/${businessProcessId}`);\r\n }\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InteractionQueueConfigService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getCustomInteractionQueueConfigList(filter) {\r\n return this.http.post('api/interactionQueueConfig/getCustomInteractionQueueConfigList', filter);\r\n }\r\n\r\n deleteCustomInteractionQueueConfig(queue) {\r\n return this.http.post('api/interactionQueueConfig/deleteCustomInteractionQueueConfig', queue);\r\n }\r\n\r\n cloneCustomInteractionQueueConfig(configId) {\r\n return this.http.post('api/interactionQueueConfig/cloneCustomInteractionQueueConfig', configId);\r\n }\r\n\r\n getOverflowCustomIntQueues(configId) {\r\n return this.http.post('api/interactionQueueConfig/getOverflowCustomIntQueues', configId);\r\n }\r\n\r\n getAllCustomIntQueueMetadataValues(configId) {\r\n return this.http.post('api/interactionQueueConfig/getAllCustomIntQueueMetadataValues', configId);\r\n }\r\n\r\n updateInteractionQueueConfig(config) {\r\n return this.http.post('api/interactionQueueConfig/updateInteractionQueueConfig', config);\r\n }\r\n\r\n createInteractionQueueConfig(config) {\r\n return this.http.post('api/interactionQueueConfig/createInteractionQueueConfig', config);\r\n }\r\n }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DateTimeService} from '../date-time.service';\r\n\r\n@Pipe({\r\n name: 'brdatetime'\r\n})\r\nexport class BrDatetimePipe implements PipeTransform {\r\n\r\n constructor(private dateTimeService: DateTimeService) {\r\n }\r\n\r\n transform(givenDateTime: Date, complete: boolean = false): string {\r\n if (!givenDateTime) return null;\r\n return this.dateTimeService.formatBrDateTime(givenDateTime, complete);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DateTimeService} from '../date-time.service';\r\n\r\n@Pipe({\r\n name: 'brdecimal'\r\n})\r\nexport class BrDecimalPipe implements PipeTransform {\r\n\r\n constructor(private dateTimeService: DateTimeService) {\r\n }\r\n\r\n transform(decimalValue:any): string {\r\n if (!decimalValue) return null;\r\n return decimalValue.toString().replace('.',',');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'wffilesize'\r\n})\r\nexport class FileSizePipe implements PipeTransform {\r\n\r\n transform(size: string, decimals: number = 0): string {\r\n let fileLength = parseFloat(size);\r\n if (isNaN(fileLength) || fileLength < 0) {\r\n return '';\r\n }\r\n\r\n decimals = decimals || 1;\r\n\r\n if (fileLength >= 1073741824)\r\n return (fileLength / 1073741824).toPrecision(decimals) + ' GB';\r\n\r\n if (fileLength >= 1048576)\r\n return (fileLength / 1048576).toPrecision(decimals) + ' MB';\r\n\r\n if (fileLength >= 1024)\r\n return (fileLength / 1024).toPrecision(decimals) + ' KB';\r\n\r\n return (fileLength) + ' bytes';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DateTimeService} from '../date-time.service';\r\n\r\n@Pipe({\r\n name: 'localdatetime'\r\n})\r\nexport class LocalDatetimePipe implements PipeTransform {\r\n\r\n constructor(private dateTimeService: DateTimeService) {\r\n }\r\n\r\n transform(utcStringDatatTime: string, complete: boolean = true): string {\r\n return this.dateTimeService.toLocalStringDateTime(utcStringDatatTime, complete);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport {HttpClient, HttpEvent, HttpHeaders, HttpRequest} from '@angular/common/http';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class ReportsServiceService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n getStatesLifeCycles() {\r\n return this.http.get('/api/getStatesLifeCycles');\r\n }\r\n\r\n private overrideStateLifeCycles = new BehaviorSubject(null);\r\n\r\n getStateLifeCyclesForOverride(){\r\n this.getStatesLifeCycles()\r\n .subscribe(\r\n result => {\r\n let lifeCycles = result.filter(f => {\r\n const val = parseInt(f['value'], 10);\r\n return val === 7 || val === 4 || val === 5 || val === 9 || val === 6 || val === 3;\r\n });\r\n this.overrideStateLifeCycles.next(lifeCycles);\r\n }, error => {\r\n throw error;\r\n }\r\n );\r\n return this.overrideStateLifeCycles;\r\n }\r\n\r\n getTimelineEvents(bpInstanceId) {\r\n return this.http.get(`api/reports/getTimelineEvents/${bpInstanceId}`);\r\n }\r\n\r\n searchMultipleBusinessProcessInstancesHistory(filter) {\r\n return this.http.post(`api/reports/searchMultipleBusinessProcessInstancesHistory`, filter);\r\n }\r\n\r\n getBusinessProcessInstanceByIdForReport(bpInstanceId) {\r\n return this.http.get(`api/reports/getBusinessProcessInstanceByIdForReport/${bpInstanceId}`);\r\n }\r\n\r\n getInstanceSummaryReport(filter) {\r\n return this.http.post('api/reports/getInstanceSummaryReport', filter);\r\n }\r\n\r\n getInstanceHistoryDetails(instanceId, executionOrder, version) {\r\n const requestData = { instanceId: instanceId, executionOrder: executionOrder, version: version };\r\n return this.http.post('api/reports/getInstanceHistoryDetails', requestData);\r\n }\r\n\r\n getHtmlView(instanceId, viewId) {\r\n return this.http.get(`api/reports/getHtmlView/${instanceId}/${viewId}`);\r\n }\r\n\r\n getPdfView(instanceId: number, viewId: number) {\r\n let headers = new HttpHeaders();\r\n headers = headers.set('Accept', 'application/pdf');\r\n return this.http.get(`api/reports/getPdfView/${instanceId}/${viewId}`, { headers: headers, responseType: 'blob' });\r\n }\r\n\r\n getAttachmentsByInstance(instanceId) {\r\n return this.http.get(`api/reports/getAttachments/${instanceId}`);\r\n }\r\n\r\n getAttachmentContent(attachmentId: number, attachmentName: string): Observable> {\r\n return this.http.request(new HttpRequest(\r\n 'GET',\r\n `api/reports/getAttachmentContent/${attachmentId}?attachmentName=${attachmentName}`,\r\n null,\r\n {\r\n reportProgress: true,\r\n responseType: 'blob'\r\n }));\r\n }\r\n\r\n getInstanceHistoryPdf(instanceId: number, bpName: string, url: string, onlyCurrentHistory: boolean, offset: number): Observable> {\r\n const requestData = {\r\n businessProcessInstanceId: instanceId,\r\n businessProcessName: bpName,\r\n url: url,\r\n onlyCurrentHistory: onlyCurrentHistory,\r\n offset: offset\r\n };\r\n return this.http.request(new HttpRequest(\r\n 'POST',\r\n `api/reports/getInstanceHistoryPdf`,\r\n requestData,\r\n {\r\n reportProgress: true,\r\n responseType: 'blob'\r\n }));\r\n }\r\n\r\n getInstanceOverrideReport(filter) {\r\n return this.http.post(`api/reports/getInstanceOverrideReport`, filter);\r\n }\r\n\r\n getBusinessProcessInstanceTimesAndAmount(filter) {\r\n return this.http.post('api/reports/getBusinessProcessInstanceTimesAndAmount', filter);\r\n }\r\n}\r\n\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class StyleBuilder {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n menuBackgroundColor = '#d9dfe8';\r\n menuFontColor = '#343a40';\r\n primaryButtonBackgroundColor = '#007bff';\r\n primaryButtonFontColor = '#fff';\r\n loginLogoImage = 'assets/images/TransUnion_Workflow_Login.png';\r\n errorMessage: string;\r\n\r\n private getStyleConfig() {\r\n return this.http.get('/api/webClientConfig/getStyleConfig');\r\n }\r\n\r\n setLayoutConfig() {\r\n this.errorMessage = '';\r\n this.getStyleConfig()\r\n .subscribe( result => {\r\n localStorage.setItem('extendedLogo', result.extendedMenuLogoImage);\r\n localStorage.setItem('collapsedLogo', result.collapsedMenuLogoImage);\r\n this.generateStyles(\r\n result.menuBackgroundColor,\r\n result.menuFontColor,\r\n result.buttonBackgroundColor,\r\n result.buttonFontColor,\r\n result.loginLogoImage\r\n );\r\n }, error1 => {\r\n this.errorMessage = `

Falha ao obter as configurações do ClientWeb.

${error1}`;\r\n this.generateStyles(\r\n this.menuBackgroundColor,\r\n this.menuFontColor,\r\n this.primaryButtonBackgroundColor,\r\n this.primaryButtonFontColor,\r\n this.loginLogoImage\r\n );\r\n });\r\n }\r\n\r\n private generateStyles(menuBackgroundColor, menuFontColor, buttonBackgroundColor, buttonFontColor, loginLogoImage) {\r\n const css =\r\n `\r\n .login-logo {\r\n height: 6.5rem;\r\n background: url('${loginLogoImage}') no-repeat;\r\n background-size: contain;\r\n background-position: center;\r\n }\r\n body,\r\n .login-page, .register-page,\r\n .content-wrapper,\r\n .sidebar-light-primary,\r\n .navbar-glass,\r\n .navbar-vertical .navbar-collapse {\r\n background-color: ${menuBackgroundColor};\r\n }\r\n .navbar-light, .main-footer {\r\n border-color: ${menuBackgroundColor};\r\n background-color: ${menuBackgroundColor};\r\n }\r\n .brand-link {\r\n border-color: ${menuBackgroundColor};\r\n }\r\n [class*=\"sidebar-light\"] .brand-link {\r\n border-bottom: 1px solid ${menuBackgroundColor};\r\n }\r\n .btn-primary {\r\n color: ${buttonFontColor};\r\n background-color: ${buttonBackgroundColor};\r\n border-color: ${buttonBackgroundColor};\r\n }\r\n .btn-primary[disabled] {\r\n color: ${buttonFontColor};\r\n background-color: ${buttonBackgroundColor};\r\n border-color: ${buttonBackgroundColor};\r\n opacity: 0.6;\r\n }\r\n .btn-primary:hover,\r\n .btn-primary:active,\r\n .btn-primary:focus {\r\n color: ${buttonFontColor};\r\n background-color: ${buttonBackgroundColor};\r\n border-color: ${buttonBackgroundColor};\r\n opacity: 0.8;\r\n }\r\n .btn-primary:not(:disabled):not(.disabled):active,\r\n .btn-primary:not(:disabled):not(.disabled).active,\r\n .show > .btn-primary.dropdown-toggle {\r\n color: ${buttonFontColor};\r\n background-color: ${buttonBackgroundColor};\r\n border-color: ${buttonBackgroundColor};\r\n opacity: 0.8;\r\n }\r\n [class*=\"sidebar-light-\"] .sidebar a, .footer-menu {\r\n color: ${menuFontColor};\r\n }\r\n [class*=\"sidebar-light-\"] .nav-treeview > .nav-item > .nav-link,\r\n .navbar-light .navbar-nav .nav-link:hover,\r\n .navbar-light .navbar-nav .nav-link:focus {\r\n color: ${menuFontColor};\r\n opacity: 0.7;\r\n }\r\n [class*=\"sidebar-light-\"] .nav-sidebar > .nav-item.menu-open > .nav-link,\r\n .navbar-light .navbar-nav .nav-link {\r\n color: ${menuFontColor};\r\n }\r\n [class*=\"sidebar-light-\"] .nav-sidebar > .nav-item.menu-open > .nav-link,\r\n [class*=\"sidebar-light-\"] .nav-sidebar > .nav-item:hover > .nav-link\r\n {\r\n background-color: ${menuFontColor}de;\r\n color: ${menuBackgroundColor};\r\n }\r\n [class*=\"sidebar-light-\"] .nav-sidebar > .nav-item > .nav-link:active,\r\n [class*=\"sidebar-light-\"] .nav-sidebar > .nav-item > .nav-link:focus {\r\n background-color: ${menuFontColor};\r\n color: ${menuBackgroundColor}de;\r\n }\r\n [class*=\"sidebar-light-\"] .nav-treeview > .nav-item > .nav-link:hover,\r\n [class*=\"sidebar-light-\"] .nav-treeview > .nav-item > .nav-link:focus {\r\n background-color: ${menuFontColor}f0;\r\n color: ${menuBackgroundColor};\r\n }\r\n `;\r\n const style = document.createElement('style');\r\n style.appendChild(document.createTextNode(css));\r\n document.head.appendChild(style);\r\n }\r\n\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UploadFilesService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) { }\r\n\r\n get urlBase() {\r\n return this.baseUrl;\r\n }\r\n\r\n uploadFile(sessionId: string, file: File) {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n formData.append('sessionId', sessionId);\r\n return this.http.post('api/uploadFile', formData, {reportProgress: true, observe: 'events'});\r\n }\r\n\r\n deleteFile(sessionId: string, fileName: string) {\r\n return this.http.post('api/deleteFile', { sessionId: sessionId, fileName: fileName });\r\n }\r\n\r\n /*\r\n *\r\n * importSystemFlow(file: File) {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n return this.http.post('api/systemFlow/uploadSystemFlow', formData, {reportProgress: true, observe: 'events'});\r\n }*/\r\n //api/postEndpoint\r\n}\r\n","import moment from 'moment-timezone';\r\nimport {FormGroup} from '@angular/forms';\r\nimport {fromEvent} from 'rxjs';\r\nimport {map} from 'rxjs/operators';\r\n\r\nexport class Utils {\r\n static formatDate(dt: Date, format: string = 'DD/MM/YYYY') {\r\n return moment(dt).format(format);\r\n }\r\n\r\n static toUTCThenFormat(dt: Date, format = 'yyyy-MM-DDTHH:mm:ss') {\r\n return moment(dt).utc().format(format);\r\n }\r\n\r\n static validateDate(dt, format: string = 'DD/MM/YYYY') {\r\n return moment(dt, format, true).isValid();\r\n }\r\n\r\n static isBrNumeric(input){\r\n let RE = /^-{0,1}\\d*,{0,1}\\d+$/;\r\n return (RE.test(input));\r\n }\r\n\r\n static zoneAndDateParse(dt: Date, format: string = 'DD/MM/YYYY') {\r\n const timeZone = moment.tz.guess();\r\n return moment.utc(dt).tz(timeZone).format(format);\r\n }\r\n\r\n static adjustSpaces(text: string, form: FormGroup, formControlName: any) {\r\n // faço o split, filter e join, para remover todos os espaços a mais entre as palavras\r\n const value = text.split(' ').filter(f => f !== '').join(' ');\r\n // atualizar o campo com o valor acertado, caso necessário\r\n form.controls[formControlName].patchValue(value);\r\n }\r\n\r\n static adjustDate(isInitialDate = true, form: FormGroup, formControlInitDate: any, formControlFinalDate: any) {\r\n let initDateTime = form.controls[formControlInitDate].value;\r\n let finalDateTime = form.controls[formControlFinalDate].value;\r\n\r\n const iniDt = initDateTime.split('T');\r\n const finDt = finalDateTime.split('T');\r\n if (iniDt[0] == finDt[0]) {\r\n if (isInitialDate) {\r\n if (iniDt[1] > finDt[1]) {\r\n form.controls[formControlInitDate].setValue(finalDateTime);\r\n }\r\n } else {\r\n if (finDt[1] < iniDt[1]) {\r\n form.controls[formControlFinalDate].setValue(initDateTime);\r\n }\r\n }\r\n }\r\n }\r\n\r\n static defineBodyScroll(showModal: boolean) {\r\n // Se o modal estiver aberto, devo esconder o scroll da tela de trás.\r\n if (showModal) {\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflow = 'auto';\r\n }\r\n }\r\n\r\n static onDialogClick(event: UIEvent) {\r\n // Capture click on dialog and prevent it from bubbling to the modal background.\r\n event.stopPropagation();\r\n event.cancelBubble = true;\r\n }\r\n\r\n static mapOut(sourceObject, removeKeys = []) {\r\n const sourceKeys = Object.keys(sourceObject);\r\n const returnKeys = sourceKeys.filter(k => !removeKeys.includes(k));\r\n let returnObject = {};\r\n returnKeys.forEach(k => {\r\n returnObject[k] = sourceObject[k];\r\n });\r\n return returnObject;\r\n }\r\n\r\n static closeColorPickerDialog(querySelector) {\r\n const content = document.querySelector(querySelector);\r\n const scroll$ = fromEvent(content, 'scroll').pipe(map(() => content));\r\n scroll$.subscribe(element => {\r\n const colorPickerOpen = document.querySelector('.color-picker.open');\r\n if (colorPickerOpen !== null) {\r\n colorPickerOpen.classList.remove('open');\r\n colorPickerOpen.style.display = 'none';\r\n }\r\n });\r\n }\r\n\r\n static closeFilter() {\r\n // recolher os filtros, para melhor visualização do resultado\r\n document.getElementById('cardFilter').classList.add('collapsed-card');\r\n document.getElementById('bodyFilter').style.display = 'none';\r\n document.getElementById('footerFilter').style.display = 'none';\r\n\r\n // fechar o filtro\r\n const collapseFilter = document.getElementById('collapseFilter');\r\n collapseFilter.classList.add('fa-plus');\r\n collapseFilter.classList.remove('fa-minus');\r\n }\r\n\r\n}\r\n","export default \"label:not(.header-info)\\r\\n{\\r\\n font-weight: normal;\\r\\n}\\r\\n\\r\\nlabel.header-info {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.card-title {\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\ninput {\\r\\n margin:0 7px 0 0;\\r\\n vertical-align: middle;\\r\\n position: relative;\\r\\n top: -1px;\\r\\n}\\r\\n\\r\\n.disabledGroup {\\r\\n color: #ccc;\\r\\n}\\r\\n\\r\\n.hasConfigGroup {\\r\\n background-color: #f2f6ff;\\r\\n}\\r\\n\\r\\n.list-line:hover {\\r\\n background-color: #eeeeee;\\r\\n}\\r\\n\\r\\n.list-line {\\r\\n padding: 0.35rem 1.25rem;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.list-box {\\r\\n padding: 0 0 0.6rem 0;\\r\\n}\\r\\n\\r\\n.select-all-lines {\\r\\n border-bottom: 1px solid #ccc;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n.search-box {\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n border-radius: 0;\\r\\n border-width: 1px 0;\\r\\n height: 36px;\\r\\n padding-left: 1.4rem;\\r\\n}\\r\\n\\r\\n.custom-list-header {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 0;\\r\\n z-index: 1;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.centralized {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.page-link {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3R5bGVzL2J1c2luZXNzLXByb2Nlc3MtY29uZmlndXJhdGlvbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUUsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLFNBQVM7QUFDWDs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSw2QkFBNkI7RUFDN0IsV0FBVztBQUNiOztBQUVBO0VBQ0UsZ0VBQWdFO0FBQ2xFOztBQUVBO0VBQ0UsV0FBVztFQUNYLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSx3QkFBZ0I7RUFBaEIsZ0JBQWdCO0VBQ2hCLE1BQU07RUFDTixVQUFVO0VBQ1Ysc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiOztBQUVBO0VBQ0UsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL3N0eWxlcy9idXNpbmVzcy1wcm9jZXNzLWNvbmZpZ3VyYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGFiZWw6bm90KC5oZWFkZXItaW5mbylcclxue1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbmxhYmVsLmhlYWRlci1pbmZvIHtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uY2FyZC10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgbWFyZ2luOjAgN3B4IDAgMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IC0xcHg7XHJcbn1cclxuXHJcbi5kaXNhYmxlZEdyb3VwIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxuLmhhc0NvbmZpZ0dyb3VwIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNmZmO1xyXG59XHJcblxyXG4ubGlzdC1saW5lOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xyXG59XHJcblxyXG4ubGlzdC1saW5lIHtcclxuICBwYWRkaW5nOiAwLjM1cmVtIDEuMjVyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmxpc3QtYm94IHtcclxuICBwYWRkaW5nOiAwIDAgMC42cmVtIDA7XHJcbn1cclxuXHJcbi5zZWxlY3QtYWxsLWxpbmVzIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuc2VsZWN0LmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtICsgMTVweCkgY2VudGVyO1xyXG59XHJcblxyXG4uc2VhcmNoLWJveCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHggMDtcclxuICBoZWlnaHQ6IDM2cHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAxLjRyZW07XHJcbn1cclxuXHJcbi5jdXN0b20tbGlzdC1oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmNlbnRyYWxpemVkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wYWdlLWxpbmsge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iXX0= */\"","export default \"label {\\r\\n font-weight: normal !important;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.tab-pane.active {\\r\\n padding: 10px;\\r\\n background: #fff;\\r\\n border: #d8d8d8 solid 1px;\\r\\n border-top: none;\\r\\n}\\r\\n\\r\\n.modal-content {\\r\\n background: #f7f7f7;\\r\\n}\\r\\n\\r\\nselect.form-control.is-invalid {\\r\\n background-position: right calc(.375em + .1875rem + 15px) center;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3R5bGVzL21vZGFscy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0VBQWdFO0FBQ2xFIiwiZmlsZSI6InNyYy9hcHAvc3R5bGVzL21vZGFscy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJsYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi50YWItcGFuZS5hY3RpdmUge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXI6ICNkOGQ4ZDggc29saWQgMXB4O1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50IHtcclxuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xyXG59XHJcblxyXG5zZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0gKyAxNXB4KSBjZW50ZXI7XHJcbn1cclxuIl19 */\"","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///"}