{"version":3,"file":"main.js","mappings":"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AACytB,OAAO,CAAC4H,UAAU,CAAC,CAAC,CAAC,EAAEA,UAAU,CAAC,CAAC,CAAC,CAAC1wB,WAAW,EAAE,CAAC;;IAE/D,OAAO,KAAK,CAACy0J,KAAK,CAACp5J,GAAG,CAAC;EACzB;EAAC;;;0JAVU9E,mBAAmB,SAAnBA,mBAAmB;IAAA;EAAA;EAAA;WAAnBA,mBAAmB;IAAAktB,SAAnBltB,mBAAmB;EAAA;;;;;;;;;;;;;;;;ACLhC;AACA;AACA;AAEO,MAAM8xM,WAAW,GAAG;EACzBC,UAAU,EAAE;CACb;AAED;;;;;;;AAOA;;;;;;;;;;;;;;;;;;ACf+C;AAGF;AACY;AAEF;AACvDE,qEAAe,CAAC,6UAA6U,CAAC,CAAC;AAE/VD,6DAAc,EAAE;AAChB,IAAIF,6EAAsB,EAAE;EAC1BE,6DAAc,EAAE;;AAGlBE,sEAAAA,EAAwB,CAACC,eAAe,CAACtrM,sDAAS,CAAC,CAChDqU,KAAK,CAAC8xJ,GAAG,IAAI57I,OAAO,CAAC3Y,KAAK,CAACu0J,GAAG,CAAC,CAAC;;;;;;;;;;ACfnC;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;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;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/components/global-spinner/global-spinner.component.ts","./src/app/core/components/global-spinner/global-spinner.component.html","./src/app/core/components/navigation/navigation.component.ts","./src/app/core/components/navigation/navigation.component.html","./src/app/core/components/notification-page/notification-page.component.html","./src/app/core/components/notification-page/notification-page.component.ts","./src/app/core/components/office-nav/office-nav.component.html","./src/app/core/components/office-nav/office-nav.component.ts","./src/app/core/components/sm-nav/sm-nav.component.ts","./src/app/core/components/sm-nav/sm-nav.component.html","./src/app/core/resolver/anon-portal-settings-resolver.service.ts","./src/app/core/resolver/employee-info-resolver.service.ts","./src/app/core/resolver/portal-modules-resolver.service.ts","./src/app/core/resolver/portal-settings-resolver.service.ts","./src/app/core/services/angular-signalr.service.ts","./src/app/core/services/employee-info.service.ts","./src/app/core/services/event.service.ts","./src/app/core/services/language-pack.service.ts","./src/app/core/services/notifications.service.ts","./src/app/core/services/portal-modules.service.ts","./src/app/core/services/portal-settings.service.ts","./src/app/core/services/signal-r.service.ts","./src/app/core/services/spinner.service.ts","./src/app/core/services/time-parser.service.ts","./src/app/core/services/timeout.service.ts","./src/app/core/services/utility.service.ts","./src/app/error-interceptors/error-interceptor.ts","./src/app/http-interceptors/xsrf-header-interceptor.ts","./src/app/layout/home-layout/home-layout.component.ts","./src/app/layout/home-layout/home-layout.component.html","./src/app/layout/layout.module.ts","./src/app/layout/office-layout/office-layout.component.html","./src/app/layout/office-layout/office-layout.component.ts","./src/app/layout/onboarding-layout/onboarding-layout.component.html","./src/app/layout/onboarding-layout/onboarding-layout.component.ts","./src/app/layout/sm-layout/sm-layout.component.ts","./src/app/layout/sm-layout/sm-layout.component.html","./src/app/modals/account/login-onboard-co-pick-modal/login-onboard-co-pick-modal.component.html","./src/app/modals/account/login-onboard-co-pick-modal/login-onboard-co-pick-modal.component.ts","./src/app/modals/admin/delete-bulletin-modal/delete-bulletin-modal.component.ts","./src/app/modals/admin/delete-bulletin-modal/delete-bulletin-modal.component.html","./src/app/modals/admin/delete-user-group-members-modal/delete-user-group-members-modal.component.ts","./src/app/modals/admin/delete-user-group-members-modal/delete-user-group-members-modal.component.html","./src/app/modals/admin/expense-dashboard/edit-vendor-modal/edit-vendor-modal.component.ts","./src/app/modals/admin/expense-dashboard/edit-vendor-modal/edit-vendor-modal.component.html","./src/app/modals/admin/expense-dashboard/expense-approval-modal/expense-approval-modal.component.ts","./src/app/modals/admin/expense-dashboard/expense-approval-modal/expense-approval-modal.component.html","./src/app/modals/admin/expense-dashboard/manage-cat-modal/manage-cat-modal.component.html","./src/app/modals/admin/expense-dashboard/manage-cat-modal/manage-cat-modal.component.ts","./src/app/modals/admin/expense-dashboard/manage-mileage-rate-modal/manage-mileage-rate-modal.component.html","./src/app/modals/admin/expense-dashboard/manage-mileage-rate-modal/manage-mileage-rate-modal.component.ts","./src/app/modals/admin/expense-dashboard/process-expense-modal/process-expense-modal.component.ts","./src/app/modals/admin/expense-dashboard/process-expense-modal/process-expense-modal.component.html","./src/app/modals/admin/expense-dashboard/re-process-expense-modal/re-process-expense-modal.component.ts","./src/app/modals/admin/expense-dashboard/re-process-expense-modal/re-process-expense-modal.component.html","./src/app/modals/admin/expense-dashboard/reset-approval-modal/reset-approval-modal.component.ts","./src/app/modals/admin/expense-dashboard/reset-approval-modal/reset-approval-modal.component.html","./src/app/modals/admin/expense-dashboard/send-reminder-expense-modal/send-reminder-expense-modal.component.ts","./src/app/modals/admin/expense-dashboard/send-reminder-expense-modal/send-reminder-expense-modal.component.html","./src/app/modals/admin/manage-employee-groups/override-modal/override-modal.component.ts","./src/app/modals/admin/manage-employee-groups/override-modal/override-modal.component.html","./src/app/modals/admin/manage-employee-groups/preview-user-membership-modal/preview-user-membership-modal.component.ts","./src/app/modals/admin/manage-employee-groups/preview-user-membership-modal/preview-user-membership-modal.component.html","./src/app/modals/admin/named-login-setup-modal/named-login-setup-modal.component.ts","./src/app/modals/admin/named-login-setup-modal/named-login-setup-modal.component.html","./src/app/modals/admin/paperless-settings-modal/paperless-settings-modal.component.ts","./src/app/modals/admin/paperless-settings-modal/paperless-settings-modal.component.html","./src/app/modals/admin/send-bulletin-email-modal/send-bulletin-email-modal.component.ts","./src/app/modals/admin/send-bulletin-email-modal/send-bulletin-email-modal.component.html","./src/app/modals/approval/JobApproval/reject-line-modal/reject-line-modal.component.html","./src/app/modals/approval/JobApproval/reject-line-modal/reject-line-modal.component.ts","./src/app/modals/approval/TimecardApproval/time-worked-details-modal/time-worked-details-modal.component.html","./src/app/modals/approval/TimecardApproval/time-worked-details-modal/time-worked-details-modal.component.ts","./src/app/modals/careers/edit-personal-modal/edit-personal-modal.component.ts","./src/app/modals/careers/edit-personal-modal/edit-personal-modal.component.html","./src/app/modals/careers/onboard-submitted-modal/onboard-submitted-modal.component.html","./src/app/modals/careers/onboard-submitted-modal/onboard-submitted-modal.component.ts","./src/app/modals/checklist/create-new-checklist-modal/create-new-checklist-modal.component.html","./src/app/modals/checklist/create-new-checklist-modal/create-new-checklist-modal.component.ts","./src/app/modals/checklist/distribute-checklists-modal/distribute-checklists-modal.component.html","./src/app/modals/checklist/distribute-checklists-modal/distribute-checklists-modal.component.ts","./src/app/modals/checklist/manage-template/advance-item-modal/advance-item-modal.component.ts","./src/app/modals/checklist/manage-template/advance-item-modal/advance-item-modal.component.html","./src/app/modals/checklist/manage-template/enable-checklist-workflow-modal/enable-checklist-workflow-modal.component.ts","./src/app/modals/checklist/manage-template/enable-checklist-workflow-modal/enable-checklist-workflow-modal.component.html","./src/app/modals/checklist/templates/create-new-template-modal/create-new-template-modal.component.html","./src/app/modals/checklist/templates/create-new-template-modal/create-new-template-modal.component.ts","./src/app/modals/checklist/view-checklist-workflow-modal/view-checklist-workflow-modal.component.ts","./src/app/modals/checklist/view-checklist-workflow-modal/view-checklist-workflow-modal.component.html","./src/app/modals/crew-timecard/copy-crew-line-modal/copy-crew-line-modal.component.html","./src/app/modals/crew-timecard/copy-crew-line-modal/copy-crew-line-modal.component.ts","./src/app/modals/crew-timecard/edit-cell-value-modal/edit-cell-value-modal.component.html","./src/app/modals/crew-timecard/edit-cell-value-modal/edit-cell-value-modal.component.ts","./src/app/modals/employee/benefit/download-attachment-modal/download-attachment-modal.component.html","./src/app/modals/employee/benefit/download-attachment-modal/download-attachment-modal.component.ts","./src/app/modals/employee/benefit/finalize-submit-sign-modal/finalize-submit-sign-modal.component.html","./src/app/modals/employee/benefit/finalize-submit-sign-modal/finalize-submit-sign-modal.component.ts","./src/app/modals/employee/benefit/finalize-submited-modal/finalize-submited-modal.component.ts","./src/app/modals/employee/benefit/finalize-submited-modal/finalize-submited-modal.component.html","./src/app/modals/employee/benefit/reject-all-benefits-modal/reject-all-benefits-modal.component.html","./src/app/modals/employee/benefit/reject-all-benefits-modal/reject-all-benefits-modal.component.ts","./src/app/modals/employee/benefit/update-benefits-modal/update-benefits-modal.component.html","./src/app/modals/employee/benefit/update-benefits-modal/update-benefits-modal.component.ts","./src/app/modals/employee/benefit/view-report-history-modal/view-report-history-modal.component.ts","./src/app/modals/employee/benefit/view-report-history-modal/view-report-history-modal.component.html","./src/app/modals/employee/edit-dependent-modal/edit-dependent-modal.component.ts","./src/app/modals/employee/edit-dependent-modal/edit-dependent-modal.component.html","./src/app/modals/employee/expense/edit-expense-modal/edit-expense-modal.component.ts","./src/app/modals/employee/expense/edit-expense-modal/edit-expense-modal.component.html","./src/app/modals/employee/personal-info/address-confirmation-modal/address-confirmation-modal.component.html","./src/app/modals/employee/personal-info/address-confirmation-modal/address-confirmation-modal.component.ts","./src/app/modals/employee/personal-info/update-dependent-address-modal/update-dependent-address-modal.component.html","./src/app/modals/employee/personal-info/update-dependent-address-modal/update-dependent-address-modal.component.ts","./src/app/modals/employee/training/register-training-past-classes-attachment-modal/register-training-past-classes-attachment-modal.component.html","./src/app/modals/employee/training/register-training-past-classes-attachment-modal/register-training-past-classes-attachment-modal.component.ts","./src/app/modals/employee/training/remove-class-modal/remove-class-modal.component.ts","./src/app/modals/employee/training/remove-class-modal/remove-class-modal.component.html","./src/app/modals/employee/training/training-bulk-update-modal/training-bulk-update-modal.component.html","./src/app/modals/employee/training/training-bulk-update-modal/training-bulk-update-modal.component.ts","./src/app/modals/employee/training/view-detail-modal/view-detail-modal.component.html","./src/app/modals/employee/training/view-detail-modal/view-detail-modal.component.ts","./src/app/modals/equipment/actual-equipment-modal/actual-equipment-modal.component.ts","./src/app/modals/equipment/actual-equipment-modal/actual-equipment-modal.component.html","./src/app/modals/field/FieldTickets/add-field-ticket-day/add-field-ticket-day.component.ts","./src/app/modals/field/FieldTickets/add-field-ticket-day/add-field-ticket-day.component.html","./src/app/modals/hiring/delete-onboard-employee-modal/delete-onboard-employee-modal.component.html","./src/app/modals/hiring/delete-onboard-employee-modal/delete-onboard-employee-modal.component.ts","./src/app/modals/hiring/delete-reset-onboard-task-modal/delete-reset-onboard-task-modal.component.html","./src/app/modals/hiring/delete-reset-onboard-task-modal/delete-reset-onboard-task-modal.component.ts","./src/app/modals/hiring/i9-gen-modal/i9-gen-modal.component.ts","./src/app/modals/hiring/i9-gen-modal/i9-gen-modal.component.html","./src/app/modals/hiring/initialized-attach-modal/initialized-attach-modal.component.ts","./src/app/modals/hiring/initialized-attach-modal/initialized-attach-modal.component.html","./src/app/modals/hiring/note-detail-action-modal/note-detail-action-modal.component.html","./src/app/modals/hiring/note-detail-action-modal/note-detail-action-modal.component.ts","./src/app/modals/hiring/onboard-init-modal/onboard-init-modal.component.ts","./src/app/modals/hiring/onboard-init-modal/onboard-init-modal.component.html","./src/app/modals/hiring/onboarding-invitation-modal/onboarding-invitation-modal.component.ts","./src/app/modals/hiring/onboarding-invitation-modal/onboarding-invitation-modal.component.html","./src/app/modals/hiring/review-ddmodal/review-ddmodal.component.html","./src/app/modals/hiring/review-ddmodal/review-ddmodal.component.ts","./src/app/modals/hiring/review-ecmodal/review-ecmodal.component.html","./src/app/modals/hiring/review-ecmodal/review-ecmodal.component.ts","./src/app/modals/hiring/review-i9-modal/review-i9-modal.component.ts","./src/app/modals/hiring/review-i9-modal/review-i9-modal.component.html","./src/app/modals/hiring/review-iden-modal/review-iden-modal.component.ts","./src/app/modals/hiring/review-iden-modal/review-iden-modal.component.html","./src/app/modals/hiring/review-onboarding-modal/review-onboarding-modal.component.ts","./src/app/modals/hiring/review-onboarding-modal/review-onboarding-modal.component.html","./src/app/modals/hiring/review-w4-modal/review-w4-modal.component.ts","./src/app/modals/hiring/review-w4-modal/review-w4-modal.component.html","./src/app/modals/home/clockin-job-modal/clockin-job-modal.component.html","./src/app/modals/home/clockin-job-modal/clockin-job-modal.component.ts","./src/app/modals/home/clockout-modal/clockout-modal.component.html","./src/app/modals/home/clockout-modal/clockout-modal.component.ts","./src/app/modals/home/confirmation-modal/confirmation-modal.component.ts","./src/app/modals/home/confirmation-modal/confirmation-modal.component.html","./src/app/modals/home/paperless-modal/paperless-modal.component.html","./src/app/modals/home/paperless-modal/paperless-modal.component.ts","./src/app/modals/home/password-warning-modal/password-warning-modal.component.ts","./src/app/modals/home/password-warning-modal/password-warning-modal.component.html","./src/app/modals/modals.module.ts","./src/app/modals/office/excel-export/excel-export.component.ts","./src/app/modals/office/excel-export/excel-export.component.html","./src/app/modals/office/lookup-modal/lookup-modal.component.ts","./src/app/modals/office/lookup-modal/lookup-modal.component.html","./src/app/modals/office/lookup-modal/services/lookup-modal.service.ts","./src/app/modals/performance/initialize-modal/initialize-modal.component.ts","./src/app/modals/performance/initialize-modal/initialize-modal.component.html","./src/app/modals/performance/view-edit-reviewer-modal/view-edit-reviewer-modal.component.ts","./src/app/modals/performance/view-edit-reviewer-modal/view-edit-reviewer-modal.component.html","./src/app/modals/report-gateway/view-attachment/view-attachment.component.ts","./src/app/modals/report-gateway/view-attachment/view-attachment.component.html","./src/app/modals/shared/acknowledge-modal/acknowledge-modal.component.ts","./src/app/modals/shared/acknowledge-modal/acknowledge-modal.component.html","./src/app/modals/shared/add-attachment-checklist-template-modal/add-attachment-checklist-template-modal.component.ts","./src/app/modals/shared/add-attachment-checklist-template-modal/add-attachment-checklist-template-modal.component.html","./src/app/modals/shared/add-attachment-modal/add-attachment-modal.component.ts","./src/app/modals/shared/add-attachment-modal/add-attachment-modal.component.html","./src/app/modals/shared/alert-modal/alert-modal.component.ts","./src/app/modals/shared/alert-modal/alert-modal.component.html","./src/app/modals/shared/checklist-item-click-sign-modal/checklist-item-click-sign-modal.component.ts","./src/app/modals/shared/checklist-item-click-sign-modal/checklist-item-click-sign-modal.component.html","./src/app/modals/shared/confirm-modal/confirm-modal.component.ts","./src/app/modals/shared/confirm-modal/confirm-modal.component.html","./src/app/modals/shared/dropdown-select-modal/dropdown-select-modal.component.html","./src/app/modals/shared/dropdown-select-modal/dropdown-select-modal.component.ts","./src/app/modals/shared/edit-long-prompt-modal/edit-long-prompt-modal.component.ts","./src/app/modals/shared/edit-long-prompt-modal/edit-long-prompt-modal.component.html","./src/app/modals/shared/error-modal/error-modal.component.ts","./src/app/modals/shared/error-modal/error-modal.component.html","./src/app/modals/shared/list-view-modal/list-view-modal.component.ts","./src/app/modals/shared/note-modal/note-modal.component.ts","./src/app/modals/shared/note-modal/note-modal.component.html","./src/app/modals/shared/number-input-modal/number-input-modal.component.ts","./src/app/modals/shared/number-input-modal/number-input-modal.component.html","./src/app/modals/shared/search-select-modal/search-select-modal.component.ts","./src/app/modals/shared/search-select-modal/search-select-modal.component.html","./src/app/modals/shared/submit-checklist-sign-modal/submit-checklist-sign-modal.component.html","./src/app/modals/shared/submit-checklist-sign-modal/submit-checklist-sign-modal.component.ts","./src/app/modals/shared/text-display-modal/text-display-modal.component.html","./src/app/modals/shared/text-display-modal/text-display-modal.component.ts","./src/app/modals/shared/text-edit-modal/text-edit-modal.component.ts","./src/app/modals/shared/text-edit-modal/text-edit-modal.component.html","./src/app/modals/shared/timeout-modal/timeout-modal.component.ts","./src/app/modals/shared/timeout-modal/timeout-modal.component.html","./src/app/modals/shared/user-group-modal/user-group-modal.component.ts","./src/app/modals/shared/user-group-modal/user-group-modal.component.html","./src/app/modals/shared/view-expense-attachment-modal/view-expense-attachment-modal.component.html","./src/app/modals/shared/view-expense-attachment-modal/view-expense-attachment-modal.component.ts","./src/app/modals/shared/view-image-modal/view-image-modal.component.ts","./src/app/modals/shared/view-image-modal/view-image-modal.component.html","./src/app/modals/shared/warning-modal/warning-modal.component.html","./src/app/modals/shared/warning-modal/warning-modal.component.ts","./src/app/modals/sm/attachment-details-modal/attachment-details-modal.component.html","./src/app/modals/sm/attachment-details-modal/attachment-details-modal.component.ts","./src/app/modals/sm/clock-in-modal/clock-in-modal.component.ts","./src/app/modals/sm/clock-in-modal/clock-in-modal.component.html","./src/app/modals/sm/clock-out-modal/clock-out-modal.component.html","./src/app/modals/sm/clock-out-modal/clock-out-modal.component.ts","./src/app/modals/sm/close-out-modal/close-out-modal.component.ts","./src/app/modals/sm/close-out-modal/close-out-modal.component.html","./src/app/modals/sm/complete-trip-modal/complete-trip-modal.component.html","./src/app/modals/sm/complete-trip-modal/complete-trip-modal.component.ts","./src/app/modals/sm/confirmation-modal/confirmation-modal.component.html","./src/app/modals/sm/confirmation-modal/confirmation-modal.component.ts","./src/app/modals/sm/contact-list-modal/contact-list-modal.component.html","./src/app/modals/sm/contact-list-modal/contact-list-modal.component.ts","./src/app/modals/sm/edit-scheduled-date-modal/edit-scheduled-date-modal.component.ts","./src/app/modals/sm/edit-scheduled-date-modal/edit-scheduled-date-modal.component.html","./src/app/modals/sm/new-service-item-modal/new-service-item-modal.component.ts","./src/app/modals/sm/new-service-item-modal/new-service-item-modal.component.html","./src/app/modals/sm/new-work-order-modal/new-work-order-modal.component.ts","./src/app/modals/sm/new-work-order-modal/new-work-order-modal.component.html","./src/app/modals/sm/service-list-modal/service-list-modal.component.ts","./src/app/modals/sm/service-list-modal/service-list-modal.component.html","./src/app/modals/timeoff/cancel-holiday-modal/cancel-holiday-modal.component.html","./src/app/modals/timeoff/cancel-holiday-modal/cancel-holiday-modal.component.ts","./src/app/modals/timeoff/floating-modal/floating-modal.component.ts","./src/app/modals/timeoff/floating-modal/floating-modal.component.html","./src/app/modals/timeoff/review-cashout-request-modal/review-cashout-request-modal.component.html","./src/app/modals/timeoff/review-cashout-request-modal/review-cashout-request-modal.component.ts","./src/app/modals/timeoff/review-timeoff-request-modal/review-timeoff-request-modal.component.ts","./src/app/modals/timeoff/review-timeoff-request-modal/review-timeoff-request-modal.component.html","./src/app/modals/timeoff/view-company-holiday-modal/view-company-holiday-modal.component.ts","./src/app/modals/timeoff/view-company-holiday-modal/view-company-holiday-modal.component.html","./src/app/modals/timeoff/view-group-timeoff-modal/view-group-timeoff-modal.component.ts","./src/app/modals/timeoff/view-group-timeoff-modal/view-group-timeoff-modal.component.html","./src/app/pages/account/change-account-password/change-account-password.component.ts","./src/app/pages/account/change-account-password/change-account-password.component.html","./src/app/pages/account/services/account.service.ts","./src/app/pages/admin/services/admin.service.ts","./src/app/pages/approval/services/approval.service.ts","./src/app/pages/checklist/services/checklist.service.ts","./src/app/pages/crew-timecard/services/crew-timecard.service.ts","./src/app/pages/employee/clock-in-out-error/clock-in-out-error.component.ts","./src/app/pages/employee/clock-in-out-error/clock-in-out-error.component.html","./src/app/pages/employee/clock-in-out-unlocked/clock-in-out-unlocked.component.ts","./src/app/pages/employee/clock-in-out-unlocked/clock-in-out-unlocked.component.html","./src/app/pages/employee/clock-in-out/clock-in-out.component.ts","./src/app/pages/employee/clock-in-out/clock-in-out.component.html","./src/app/pages/employee/services/employee.service.ts","./src/app/pages/employee/services/employeetraining.service.ts","./src/app/pages/field/service/daily-reports.service.ts","./src/app/pages/field/service/field.service.ts","./src/app/pages/hiring/services/applicant.service.ts","./src/app/pages/hiring/services/hiring.service.ts","./src/app/pages/home/services/home.service.ts","./src/app/pages/office/services/office-data.service.ts","./src/app/pages/office/services/office.service.ts","./src/app/pages/performance/services/performance.service.ts","./src/app/pages/report-gateway/services/report-gateway.service.ts","./src/app/pages/sm/services/sm-data.service.ts","./src/app/pages/sm/services/sm-shared.service.ts","./src/app/pages/sm/services/sm.service.ts","./src/app/pages/timeoff/time-off.service.ts","./src/app/shared/component/auto-complete-email-t-c-b/auto-complete-email-t-c-b.component.ts","./src/app/shared/component/auto-complete-email-t-c-b/auto-complete-email-t-c-b.component.html","./src/app/shared/component/auto-complete-email/auto-complete-email.component.ts","./src/app/shared/component/auto-complete-email/auto-complete-email.component.html","./src/app/shared/component/crew-timecard-grid/crew-timecard-grid.component.ts","./src/app/shared/component/crew-timecard-grid/crew-timecard-grid.component.html","./src/app/shared/component/crew-timecard-grid/services/crew-timecard-data.service.ts","./src/app/shared/component/crew-timecard-grid/services/crew-timecard-grid.service.ts","./src/app/shared/component/crew-timecard-grid/services/crew-timecard-manager.service.ts","./src/app/shared/component/file-upload/file-upload.component.ts","./src/app/shared/component/file-upload/file-upload.component.html","./src/app/shared/component/keypress-events/keypress-events.component.ts","./src/app/shared/component/keypress-events/keypress-events.component.html","./src/app/shared/component/login-footer/login-footer.component.ts","./src/app/shared/component/login-footer/login-footer.component.html","./src/app/shared/component/multiple-date-selector/multiple-date-selector.component.ts","./src/app/shared/component/multiple-date-selector/multiple-date-selector.component.html","./src/app/shared/component/pdf-viewer/pdf-viewer.component.ts","./src/app/shared/component/pdf-viewer/pdf-viewer.component.html","./src/app/shared/component/read-only-pdf-viewer/read-only-pdf-viewer.component.ts","./src/app/shared/component/read-only-pdf-viewer/read-only-pdf-viewer.component.html","./src/app/shared/component/rich-text-editor/rich-text-editor.component.ts","./src/app/shared/component/rich-text-editor/rich-text-editor.component.html","./src/app/shared/component/search-drop-down/search-drop-down.component.ts","./src/app/shared/component/search-drop-down/search-drop-down.component.html","./src/app/shared/component/service-manager-filter/service-manager-filter.component.ts","./src/app/shared/component/service-manager-filter/service-manager-filter.component.html","./src/app/shared/component/time-off-grid/webix-datatable.component.ts","./src/app/shared/component/time-off-grid/webix-datatable.component.html","./src/app/shared/component/time-worked/services/time-worked.service.ts","./src/app/shared/component/time-worked/time-worked.component.ts","./src/app/shared/component/time-worked/time-worked.component.html","./src/app/shared/directive/check-box-yn.directive.ts","./src/app/shared/directive/custom-autofocus.directive.ts","./src/app/shared/directive/date-twenty-four-hours.directive.ts","./src/app/shared/directive/elastic.directive.ts","./src/app/shared/directive/fileread.directive.ts","./src/app/shared/directive/navigable.directive.ts","./src/app/shared/directive/percent-number.directive.ts","./src/app/shared/directive/phone-format.directive.ts","./src/app/shared/directive/select-all-on-click.directive.ts","./src/app/shared/directive/ssn-format.directive.ts","./src/app/shared/directive/time-validate.directive.ts","./src/app/shared/directive/uszip-format.directive.ts","./src/app/shared/guard/unsaved-changes.guard.ts","./src/app/shared/pipe/days-and-hours.pipe.ts","./src/app/shared/pipe/domsafe.pipe.ts","./src/app/shared/pipe/exclude-from.pipe.ts","./src/app/shared/pipe/order-by-alphanum.pipe.ts","./src/app/shared/pipe/order-by-with-parsing.pipe.ts","./src/app/shared/pipe/order-by.pipe.ts","./src/app/shared/shared.module.ts","./src/app/url-serializer/custom-url-serializer.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes, UrlSerializer } from '@angular/router';\n\n//Resolver Service\nimport { anonPortalSettingsResolver } from './core/resolver/anon-portal-settings-resolver.service';\nimport { employeeInfoResolver } from './core/resolver/employee-info-resolver.service';\nimport { portalSettingsResolver } from './core/resolver/portal-settings-resolver.service';\nimport { portalModulesResolver } from './core/resolver/portal-modules-resolver.service';\n\n//URL Custom Serialization\nimport { CustomUrlSerializer } from './url-serializer/custom-url-serializer';\n\n//Layout Components\nimport { HomeLayoutComponent } from './layout/home-layout/home-layout.component';\nimport { OnboardingLayoutComponent } from './layout/onboarding-layout/onboarding-layout.component';\nimport { OfficeLayoutComponent } from './layout/office-layout/office-layout.component';\nimport { SmLayoutComponent } from './layout/sm-layout/sm-layout.component';\nimport { NotificationPageComponent } from './core/components/notification-page/notification-page.component';\nimport { ChangeAccountPasswordComponent } from './pages/account/change-account-password/change-account-password.component';\r\nimport { ClockInOutComponent } from './pages/employee/clock-in-out/clock-in-out.component';\nimport { ClockInOutErrorComponent } from './pages/employee/clock-in-out-error/clock-in-out-error.component';\nimport { UnsavedChangesGuard } from './shared/guard/unsaved-changes.guard';\r\nimport { ClockInOutUnlockedComponent } from './pages/employee/clock-in-out-unlocked/clock-in-out-unlocked.component';\r\n\n//Note: Add new routing path all in lowercase\nconst routes: Routes = [\n //Pages using Default Layout\n {\n path: '',\n component: HomeLayoutComponent,\n resolve: {\n employee: employeeInfoResolver,\n portalSetting: portalSettingsResolver,\n portalModules: portalModulesResolver\n },\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: '',\n redirectTo: 'home'\n },\n {\n path: 'admin',\n loadChildren: () => import('./pages/admin/admin.module').then(m => m.AdminModule)\n },\n {\n path: 'approval',\n loadChildren: () => import('./pages/approval/approval.module').then(m => m.ApprovalModule)\n },\n {\n path: 'aprouter',\n loadChildren: () => import('./pages/aprouter/aprouter.module').then(m => m.AprouterModule)\n },\n {\n path: 'checklist',\n loadChildren: () => import('./pages/checklist/checklist.module').then(m => m.ChecklistModule)\n },\n {\n path: 'crewtimecard',\n loadChildren: () => import('./pages/crew-timecard/crew-timecard.module').then(m => m.CrewTimecardModule)\n },\n {\n path: 'crew/timecard',\n loadChildren: () => import('./pages/crew-timecard/crew-timecard.module').then(m => m.CrewTimecardModule)\n },\n {\n path: 'employee',\n loadChildren: () => import('./pages/employee/employee.module').then(m => m.EmployeeModule)\n },\n {\n path: 'equipment',\n loadChildren: () => import('./pages/equipment/equipment.module').then(m => m.EquipmentModule)\n },\n {\n path: 'field',\n loadChildren: () => import('./pages/field/field.module').then(m => m.FieldModule)\n },\n {\n path: 'hiring',\n loadChildren: () => import('./pages/hiring/hiring.module').then(m => m.HiringModule)\n },\n {\n path: 'home',\n loadChildren: () => import('./pages/home/home.module').then(m => m.HomeModule)\n },\n {\n path: 'performance',\n loadChildren: () => import('./pages/performance/performance.module').then(m => m.PerformanceModule)\n },\n {\n path: 'plant',\n loadChildren: () => import('./pages/equipment/equipment.module').then(m => m.EquipmentModule)\n },\n {\n path: 'timeoff',\n loadChildren: () => import('./pages/timeoff/timeoff.module').then(m => m.TimeoffModule)\n },\n {\n path: 'timecardadmin',\n loadChildren: () => import('./pages/timecard-admin/timecard-admin.module').then(m => m.TimecardAdminModule)\n },\n {\n path: 'billing',\n loadChildren: () => import('./pages/billing/billing.module').then(m => m.BillingModule)\n },\n {\n path: 'issuetracker',\n loadChildren: () => import('./pages/issue-tracker/issue-tracker.module').then(m => m.IssueTrackerModule)\n },\n {\n path: 'account/changeaccountpassword',\n component: ChangeAccountPasswordComponent,\n canDeactivate: [UnsavedChangesGuard]\n }\n ],\n },\n //Pages using Onboarding Layout\n {\n path: '',\n component: OnboardingLayoutComponent,\n resolve: {\n portalSetting: anonPortalSettingsResolver\n },\n children: [\n {\n path: 'careers',\n loadChildren: () => import('./pages/careers/careers.module').then(m => m.CareersModule)\n }\n ]\n },\n //Pages using Office Tools Layout\n {\n path: '',\n component: OfficeLayoutComponent,\n resolve: {\n employee: employeeInfoResolver,\n portalSetting: portalSettingsResolver\n },\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: 'office',\n loadChildren: () => import('./pages/office/office.module').then(m => m.OfficeModule)\n }\n ]\n },\n {\n path: '',\n component: SmLayoutComponent,\n resolve: {\n employee: employeeInfoResolver,\n portalSetting: portalSettingsResolver,\n portalModules: portalModulesResolver\n },\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: 'sm',\n loadChildren: () => import('./pages/sm/sm.module').then(m => m.SMModule)\n }\n ]\n },\n //Pages with no Navbar\n {\n path: '',\n resolve: {\n employee: employeeInfoResolver,\n portalSetting: portalSettingsResolver\n },\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: 'reportgateway',\n loadChildren: () => import('./pages/report-gateway/report-gateway.module').then(m => m.ReportGatewayModule)\n },\n {\n path: 'error',\n loadChildren: () => import('./pages/error/error.module').then(m => m.ErrorModule)\n },\n {\n path: 'employee/clockinout',\n component: ClockInOutComponent\n },\n {\n path: 'employee/clockinouterror',\n component: ClockInOutErrorComponent\n }\n ]\n },\n //Pages using Login Layout\n {\n path: '',\n resolve: {\n portalSetting: anonPortalSettingsResolver\n },\n children: [\n {\n path: 'account',\n loadChildren: () => import('./pages/account/account.module').then(m => m.AccountModule)\n },\n {\n path: 'employee/clockinoutunlocked',\r\n component: ClockInOutUnlockedComponent\r\n }\n ]\n }\n];\n\n@NgModule({\n declarations: [],\n imports: [\n RouterModule.forRoot(routes)\n ],\n providers: [\n {\n provide: UrlSerializer,\n useClass: CustomUrlSerializer\n }\n ],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\r\nimport { NavigationStart, Router, Event } from '@angular/router';\r\nimport { NotificationsService } from './core/services/notifications.service';\r\nimport { AngularSignalRService } from './core/services/angular-signalr.service';\r\nimport { EventService } from './core/services/event.service';\r\nimport { PortalSettingsService } from './core/services/portal-settings.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { UtilityService } from './core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n title = 'HRIM';\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private notificationsService: NotificationsService,\r\n private angularSignalRService: AngularSignalRService,\r\n private eventService: EventService,\r\n private portalSettingsService: PortalSettingsService,\r\n private utilityService: UtilityService,\r\n @Inject('Window') private window: Window\r\n ) {\r\n }\r\n\r\n ngOnInit (): void {\r\n this.initializeRouterEventsSubscription();\r\n this.angularSignalRService.establishHub(\"AngularSignalRHub\");\r\n this.subscriptions.push(this.eventService.onSendLogoutSignalReceived(() => this.signalRLogout()));\r\n this.subscriptions.push(this.eventService.onSendPortalSettingsUpdateReceived(() => this.portalSettingsService.setPortalSettingsAreStale()));\r\n }\r\n\r\n ngOnDestroy (): void {\r\n // Stop SignalR connection to prevent multiple connections\r\n this.subscriptions.forEach(sub => sub?.unsubscribe());\r\n this.angularSignalRService.stopConnection();\r\n }\r\n\r\n public signalRLogout (): void {\r\n sessionStorage.clear();\r\n if (!this.utilityService.isLoggedOut) {\r\n const url = this.getLogoutUrl(this.window.location.href);\r\n this.navigate(url);\r\n }\r\n }\r\n\r\n private getLogoutUrl (href: string): string {\r\n return \"/Account/Logout?signalRLogout=true\";\r\n }\r\n\r\n private navigate (url: string): void {\r\n this.window.location.href = url;\r\n }\r\n\r\n private initializeRouterEventsSubscription (): void {\r\n this.router.events.subscribe((event: Event) => this.executeEventCallbacks(event))\r\n }\r\n\r\n private executeEventCallbacks (event: Event) {\r\n if (event instanceof NavigationStart) {\r\n this.notificationsService.clearNotifications();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","import { APP_BASE_HREF } from '@angular/common';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { XSRFHeaderInterceptor } from './http-interceptors/xsrf-header-interceptor';\r\nimport { GlobalErrorInterceptor } from './error-interceptors/error-interceptor';\r\nimport { SortablejsModule } from 'nxt-sortablejs';\r\nimport { ToastrModule } from 'ngx-toastr';\r\n\r\n//App Component\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\n//Supporting multiple layout\r\nimport { LayoutModule } from './layout/layout.module';\r\nimport { NotificationPageComponent } from './core/components/notification-page/notification-page.component';\r\nimport { GlobalSpinnerComponent } from './core/components/global-spinner/global-spinner.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NotificationPageComponent,\r\n GlobalSpinnerComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n ModalModule.forRoot(),\r\n AppRoutingModule,\r\n BsDatepickerModule.forRoot(),\r\n LayoutModule,\r\n SortablejsModule.forRoot({\r\n animation: 150\r\n }),\r\n ToastrModule.forRoot({\r\n positionClass: 'toast-top-center',\r\n timeOut: 5000\r\n })\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: XSRFHeaderInterceptor, multi: true },\r\n { provide: ErrorHandler, useClass: GlobalErrorInterceptor },\r\n { provide: APP_BASE_HREF, useValue: '/' },\r\n { provide: 'Window', useValue: window }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { EventService, GlobalSpinnerMessages } from '../../services/event.service';\r\n\r\n@Component({\r\n selector: 'app-global-spinner',\r\n templateUrl: './global-spinner.component.html',\r\n styleUrls: ['./global-spinner.component.css']\r\n})\r\n\r\nexport class GlobalSpinnerComponent implements OnInit, OnDestroy {\r\n private uniqueID: string;\r\n private _displayModal: boolean;\r\n private _currentMsg: string;\r\n private _showCloseButton: boolean;\r\n private _progressCurrent: number;\r\n private _progressTotal: number;\r\n private _percentComplete: number;\r\n private _showProgress: boolean;\r\n private readonly timeoutLength: number = 10000;\r\n private subscriptions: Subscription[] = [];\r\n\r\n // properties\r\n public get displayModal(): boolean {\r\n return this._displayModal;\r\n }\r\n public get currentMsg(): string {\r\n return this._currentMsg;\r\n }\r\n public get showCloseButton(): boolean {\r\n return this._showCloseButton;\r\n }\r\n\r\n public get progressCurrent(): number {\r\n return this._progressCurrent;\r\n }\r\n\r\n public get progressTotal(): number {\r\n return this._progressTotal;\r\n }\r\n\r\n public get percentComplete(): number {\r\n return this._percentComplete;\r\n }\r\n\r\n public get showProgress(): boolean {\r\n return this._showProgress;\r\n }\r\n\r\n public get divDisplay(): string {\r\n return this._displayModal ? 'block' : 'none';\r\n }\r\n\r\n public get spinnerModalLeftEdge(): number {\r\n return (window.innerWidth - 200) / 2;\r\n }\r\n\r\n public get spinnerModalTopEdge(): number {\r\n return (window.scrollY + window.outerHeight * 0.3)\r\n }\r\n\r\n constructor(private eventService: EventService) { }\r\n\r\n public ngOnInit(): void\r\n {\r\n // listen for local openSpinner events to show spinner\r\n this.subscriptions.push(this.eventService.onOpenSpinnerReceived((msg: string, showProgress: boolean, uniqueID: string) => {\r\n this.showSpinner(msg, showProgress, uniqueID);\r\n }));\r\n\r\n // listen for local updateSpinnerMessage events to update spinner message\r\n this.subscriptions.push(this.eventService.onUpdateSpinnerMsg((msg: string, uniqueID: string) => {\r\n this.updateSpinnerMsg(msg, uniqueID);\r\n }));\r\n\r\n // listen for signalr progress count events\r\n this.subscriptions.push(this.eventService.onSendProgressCountReceived((current: number, total: number, uniqueID: string) => {\r\n this.updateProgress(current, total, uniqueID);\r\n }));\r\n\r\n // listen for local closeSpinner events to close spinner\r\n this.subscriptions.push(this.eventService.onCloseSpinnerReceived((downloadID: string) => {\r\n this.hideSpinner(downloadID);\r\n }));\r\n\r\n // listen for signalr download complete events\r\n this.subscriptions.push(this.eventService.onDownloadCompleteReceived((downloadID: string) => {\r\n this.hideSpinner(downloadID);\r\n }));\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.subscriptions.forEach(sub => sub?.unsubscribe());\r\n }\r\n\r\n public showSpinner(msg: string, showProgress: boolean, downloadID: string): void {\r\n // default if no message is provided\r\n this._currentMsg = msg ?? GlobalSpinnerMessages.loading;\r\n this.uniqueID = downloadID.toLowerCase();\r\n this._showCloseButton = false;\r\n this._percentComplete = 0;\r\n this._progressCurrent = 0;\r\n this._progressTotal = 0;\r\n this._showProgress = showProgress;\r\n this._displayModal = true;\r\n\r\n // show close button after (timeoutLength) ms if not already closed\r\n setTimeout(() => {\r\n this._showCloseButton = true;\r\n }, this.timeoutLength);\r\n }\r\n\r\n public updateProgress(current: number, total: number, uniqueID: string): void {\r\n if (this.matchUniqueID(uniqueID)) {\r\n this._progressCurrent = current;\r\n this._progressTotal = total;\r\n this._percentComplete = (current / total) * 100;\r\n }\r\n }\r\n\r\n public updateSpinnerMsg(msg: string, uniqueID: string): void {\r\n if (this.matchUniqueID(uniqueID) && msg) {\r\n this._currentMsg = msg;\r\n }\r\n }\r\n\r\n public hideSpinner(uniqueID: string, force: boolean = false): void {\r\n if (force || this.matchUniqueID(uniqueID)) {\r\n this._displayModal = false;\r\n }\r\n }\r\n\r\n public matchUniqueID(uniqueID: string): boolean {\r\n return this.uniqueID && uniqueID.trim().toLowerCase() === this.uniqueID.trim().toLowerCase();\r\n }\r\n}","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{progressCurrent}} / {{progressTotal}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, OnDestroy} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { HomeService } from '../../../pages/home/services/home.service';\r\nimport { EmployeeService } from './../../../pages/employee/services/employee.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventService } from '../../services/event.service';\r\nimport { ClockinJobModalComponent } from 'src/app/modals/home/clockin-job-modal/clockin-job-modal.component';\r\nimport { ErrorModalComponent } from 'src/app/modals/shared/error-modal/error-modal.component'\r\nimport { ClockoutModalComponent } from 'src/app/modals/home/clockout-modal/clockout-modal.component'\r\nimport { PaperlessModalComponent } from 'src/app/modals/home/paperless-modal/paperless-modal.component'\r\nimport { PasswordWarningModalComponent } from 'src/app/modals/home/password-warning-modal/password-warning-modal.component'\r\nimport { WarningModalComponent } from '../../../modals/shared/warning-modal/warning-modal.component';\r\nimport { AlertModalComponent } from '../../../modals/shared/alert-modal/alert-modal.component';\r\nimport { OrderByPipe } from './../../../shared/pipe/order-by.pipe';\r\nimport moment from 'moment';\r\nimport { HttpClient, HttpRequest, HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfirmationModalComponent } from 'src/app/modals/home/confirmation-modal/confirmation-modal.component';\r\nimport { UtilityService } from '../../services/utility.service';\r\nimport { PortalModulesService } from '../../services/portal-modules.service';\r\n\r\n@Component({\r\n selector: 'app-navigation',\r\n templateUrl: './navigation.component.html',\r\n styleUrls: ['./navigation.component.css']\r\n})\r\n\r\nexport class NavigationComponent implements OnInit, OnDestroy {\r\n pRCO: number;\r\n loginMode: string;\r\n isOver: boolean;\r\n portalSettings: any;\r\n portalModules: any;\r\n employeeInfo: any;\r\n formData: { [key: string]: any } = {};\r\n requestObj: { [key: string]: any } = {};\r\n modules: any;\r\n menu: any[] = [];\r\n format: string;\r\n position: any;\r\n clockStatus: { [key: string]: any } = {};\r\n showTeamLinkOnNav: boolean;\r\n viewpointOneUrl: string;\r\n ViewpointAnalyticsURL: string;\r\n hotlistMenu: boolean;\r\n userNameMenu: boolean;\r\n teamMenu: boolean;\r\n unapprovedRequestCount: number;\r\n moduleCategories: any[];\r\n hotlistItems: any[] = [];\r\n moduleCategoriesMobile: any[];\r\n navBarClockInEnabled: boolean;\r\n requestingLocation: boolean = true;\r\n geolocationEnabled: boolean;\r\n performingClockAction: boolean;\r\n siteUrl: string;\r\n languagePack: boolean;\r\n clockInUsePhase: boolean;\r\n showPaperless: boolean;\r\n newFiles: any[] = [];\r\n isSafari: boolean = false;\r\n isMobileIos: any;\r\n currencySymbol: string;\r\n image: any = null;\r\n showImageNow: boolean;\r\n submitCount: number;\r\n apInvoiceShow: boolean;\r\n apEnabled: boolean;\r\n helpLink: string;\r\n feedbackEmail: string;\r\n fieldToolsCount: number;\r\n expenseReport: string = '/Employee/ExpenseReport'\r\n isExpensePage: boolean = window.location.pathname.indexOf(this.expenseReport.toLowerCase()) != -1;\r\n unapprovedPersonalInfoRoute: string = \"/Admin/PersonalInfoRequests\";\r\n unapprovedTimeRoute: string = \"/Approval/Index\";\r\n jobApprovalRoute: string = \"/Approval/JobApproval\";\r\n fieldToolsIssues: string = \"/IssueTracker/Index\";\r\n timeOffDashboard: string = \"/Approval/ManageTimeOff\";\r\n progressApprove: string = \"/Field/ProgressEntryApproval\";\r\n benefitRequest: string = \"/Approval/BenefitsRequests\";\r\n dependentRequest: string = \"/Approval/DependentRequests\";\r\n jobBillingReview: string = \"/Billing/BillingReview\"\r\n userAccess: string = \"/Admin/ManageEmployees\";\r\n printHuddle: string = \"/Field/PrintHuddle\";\r\n newReceiptID: any;\r\n newReceiptItemID: any;\r\n upload: any;\r\n fileData: any[];\r\n innerCounter: number;\r\n openModalLeft: number;\r\n isModuleAdmin: boolean;\r\n suggestionUrl: string = \"https://keystyle.ideas.aha.io/ideas\";\r\n errorMsg: string;\r\n portalName: string;\r\n logoUrl: string;\r\n orderByPipe: any;\r\n hideBar: boolean = window.location.pathname.includes(this.printHuddle.toLowerCase());\r\n showOfficeRoute: boolean;\r\n addAttachmentToReceipt: boolean = false;\r\n navBarNavigationEnd$: any;\r\n approvalCounts: { [key: string]: number } = {};\r\n payLink: any;\r\n pRCompaniesToIncludeForPayLinkList: any;\r\n isTrimblePayUser: boolean = false;\r\n private readonly approvalCountRefreshInterval: number = 60 * 1000;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(private router: Router,\r\n portalSettingsService: PortalSettingsService,\r\n employeeInfoService: EmployeeInfoService,\r\n private homeService: HomeService,\r\n private employeeService: EmployeeService,\r\n private modalService: BsModalService,\r\n private ngbModalService: NgbModal,\r\n public HttpClient: HttpClient,\r\n private eventService: EventService,\r\n private utilityService: UtilityService,\r\n private portalModulesService: PortalModulesService)\r\n {\r\n portalSettingsService.portalSettings$.subscribe(latestSettings => {\r\n this.portalSettings = latestSettings;\r\n });\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n this.portalModules = this.portalModulesService.getPortalModules();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.navBarNavigationEnd$ = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.isExpensePage = window.location.pathname.indexOf(this.expenseReport.toLowerCase()) != -1;\r\n this.closeGlobalNav();\r\n }\r\n });\r\n\r\n this.subscriptions.push(this.eventService.onSendApprovalCountReceived((approval: string, count: number) => this.updateApprovalCount(approval, count)));\r\n this.init();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub?.unsubscribe());\r\n this.navBarNavigationEnd$.unsubscribe();\r\n }\r\n\r\n init() {\r\n this.initApprovalCounts();\r\n this.orderByPipe = new OrderByPipe();\r\n this.getUserContext();\r\n this.clockInUsePhase = this.portalSettings.ClockInUsePhase.ConfigValue == \"1\";\r\n this.showTeamLinkOnNav = this.portalSettings.ShowTeamLinkOnNav.ConfigValue == 1;\r\n this.navBarClockInEnabled = this.portalSettings.NavBarClockInEnabled.ConfigValue == \"1\";\r\n this.payLink = this.portalSettings.TrimblePayLink.ConfigValue;\r\n this.siteUrl = \"kdstimecard://\" + window.location.origin;\r\n\r\n var browserLanguage = this.utilityService.getBrowserLanguage();\r\n var url = browserLanguage === \"en-AU\" ? \"https://au.team.viewpoint.com\" : \"https://team.viewpoint.com\";\r\n this.viewpointOneUrl = url;\r\n this.ViewpointAnalyticsURL = url + \"/vo/analytics/\" + this.portalSettings.ViewpointOneEnterpriseID.ConfigValue + \"/home\";\r\n\r\n this.showPaperless = (this.portalSettings.ShowC1095Paperless.ConfigValue == 1 || this.portalSettings.ShowW2Paperless.ConfigValue == 1 || this.portalSettings.ShowPaystubPaperless.ConfigValue == 1 || this.portalSettings.AllowPaperlessInfoChange.ConfigValue == \"1\" || this.portalSettings.ShowPaperlessCarrier.ConfigValue == \"1\") ? true : false;\r\n this.addAttachmentToReceipt = this.portalSettings.EnableAddAttachmentToReceipt.ConfigValue == \"1\";\r\n if (this.employeeInfo.IsBulletinAdmin || this.employeeInfo.IsChecklistAdmin || this.employeeInfo.IsHuddleAdmin || this.employeeInfo.IsOnboardAdmin || this.employeeInfo.IsPurchasingAdmin || this.employeeInfo.IsSecurityAdmin ||\r\n this.employeeInfo.IsTimecardAdmin || this.employeeInfo.IsTrainingAdmin || this.employeeInfo.IsTrainingClassAdmin || this.employeeInfo.IsVacationAdmin || this.employeeInfo.IsVacationDashAdmin) {\r\n this.isModuleAdmin = true;\r\n }\r\n else {\r\n this.isModuleAdmin = false;\r\n }\r\n if (this.navBarClockInEnabled) {\r\n setTimeout(() => {\r\n this.getClockInStatus();\r\n }, 1000);\r\n }\r\n this.pRCompaniesToIncludeForPayLinkList = this.portalSettings.PRCompaniesToIncludeForPayLink.ConfigValue;\r\n if (this.pRCompaniesToIncludeForPayLinkList) {\r\n this.isTrimblePayUser = this.pRCompaniesToIncludeForPayLinkList\r\n .split(',')\r\n .some((val: any) => this.employeeInfo.PRCo == val);\r\n }\r\n\r\n this.openModalLeft = (window.innerWidth - 200) / 2;\r\n this.formData = {};\r\n this.fileData = [];\r\n this.formData.fileDrop = null;\r\n this.fieldToolsCount = this.employeeInfo.IssueCount;;\r\n this.isSafari = this.utilityService.checkSafari();\r\n this.isMobileIos = navigator.userAgent.match(/(iPad|iPhone|iPod touch);.*(OS 7_|OS 8_|OS 9_|OS 10_|OS 11_|OS 12_\\d)/i);\r\n if (this.isMobileIos != null && this.isSafari) {\r\n $('#NavBar').addClass('mobileSafari');\r\n }\r\n this.currencySymbol = this.utilityService.getCurrencySymbol();\r\n this.feedbackEmail = this.portalSettings.FeedbackEmail.ConfigValue;\r\n this.apEnabled = this.portalSettings.EnableAPInvoiceReview.ConfigValue == \"1\";\r\n this.helpLink = this.portalSettings.HelpLink.ConfigValue;\r\n if (this.portalSettings.CountryDateCode.ConfigValue == \"US\") {\r\n this.format = \"MM/DD/yyyy\";\r\n } else {\r\n this.format = \"DD/MM/yyyy\";\r\n }\r\n this.getModules();\r\n this.subscriptions.push(this.eventService.on('modulesChanged', () => this.getModules(true)));\r\n this.subscriptions.push(this.eventService.on('approvedTimecardsChanged', () => this.getEmployeeInfo()))\r\n this.subscriptions.push(this.eventService.on('approvedBenefitMinus', () => this.subtractApprovedBenefit()));\r\n this.subscriptions.push(this.eventService.on('approvedDependentChanged', () => this.getEmployeeInfo()));\r\n this.subscriptions.push(this.eventService.on('approvedTimeoffChanged', () => this.modifyApprovedTimeOff()));\r\n this.subscriptions.push(this.eventService.on('productionApprovalChanged', (eventData) => this.modifyProductionApproval(eventData.data.count)));\r\n\r\n // this needs to be scheduled to run every 5 minutes or so, only if the user has approval modules\r\n if (this.portalModules.some(m => m.ApprovalType)) {\r\n this.homeService.getApprovalCounts();\r\n setInterval(() => this.homeService.getApprovalCounts(), this.approvalCountRefreshInterval);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.employeeInfo.ShowConsentForm && this.showPaperless) {\r\n this.openModal();\r\n this.paperLessModal();\r\n }\r\n }\r\n\r\n onKioskClicked(event: Event, href: any) {\r\n this.utilityService.isLoggedOut = true;\r\n window.location.href = href;\r\n }\r\n\r\n private initApprovalCounts() {\r\n this.portalModules.forEach(module => {\r\n if (module.ApprovalType) {\r\n this.approvalCounts[module.ApprovalType] = 0;\r\n }\r\n });\r\n }\r\n\r\n // callback method when we receive a SignalR event to update an approval count\r\n private updateApprovalCount(approval: string, count: number) {\r\n this.approvalCounts[approval] = count;\r\n\r\n this.calculateUnapprovedRequestCount();\r\n }\r\n\r\n private calculateUnapprovedRequestCount() {\r\n this.unapprovedRequestCount = 0;\r\n this.unapprovedRequestCount += Object.values(this.approvalCounts).map(Number).reduce((acc, val) => acc + val, 0);\r\n this.unapprovedRequestCount += this.employeeInfo.TimecardCount\r\n + this.employeeInfo.PersonalInfoCount\r\n + this.employeeInfo.TimeOffCount\r\n + this.employeeInfo.ProgressApprovalCount\r\n + this.employeeInfo.UnapprovedBenefitRequestCount\r\n + this.employeeInfo.UnapprovedDependentRequestCount;\r\n }\r\n\r\n getUserContext() {\r\n this.homeService.getUserContext().then((response: any) => {\r\n this.pRCO = response.PRCo;\r\n this.isOver = response.IsOver;\r\n this.loginMode = response.LoginMode;\r\n if (this.employeeInfo.LoginType != \"Identity\" && this.employeeInfo.PasswordResetStatus != null && window.location.pathname.toLowerCase().indexOf(\"changeaccountpassword\") == -1) {\r\n if ((this.portalSettings.PasswordResetSchedule.ConfigValue > 0 || this.portalSettings.RequirePasswordChangeOnAdminUpdate.ConfigValue == \"1\") && this.employeeInfo.PasswordResetStatus <= 0 && this.loginMode == \"viewpoint\") {\r\n this.openPasswordWarningModal();\r\n }\r\n }\r\n this.checkCompanyLogo();\r\n this.getPortalName();\r\n });\r\n }\r\n\r\n async getModules(refresh: boolean = false) {\r\n if (this.employeeInfo != null) {\r\n this.calculateUnapprovedRequestCount()\r\n }\r\n\r\n //Get Counts\r\n let response: any;\r\n if (refresh) {\r\n response = await this.homeService.getModules();\r\n }\r\n else {\r\n response = this.portalModules;\r\n }\r\n response.forEach(val => {\r\n if (val.ModuleID == 130) {\r\n this.showOfficeRoute = true;\r\n }\r\n\r\n //resolve lower case urls\r\n val.ResolvedModuleActionName = this.utilityService.parseLowerCaseUrl(val.ModuleActionName);\r\n });\r\n\r\n if (this.isTrimblePayUser && response.some((item: any) => item.ModuleName == \"AP Invoice Review\")) {\r\n const moduleNew: any = {\r\n ModuleID: -1\r\n , ModuleName: 'TrimblePay'\r\n , ModulePrettyTitle: 'Trimble Pay'\r\n , ModuleDescription: null\r\n , ModuleGlyphIcon: null\r\n , ModuleAngularIcon: 'flash_on'\r\n , ModuleActionName: 'TrimblePay'\r\n , ModuleSortSeq: 40\r\n , ModuleOpenNewWindow: true\r\n , IsHotlistItem: false\r\n , ModuleCatgName: 'Approval'\r\n , ModuleSubCatgName: 'Manager Review'\r\n , ModulePrettyShortName: 'Trimble Pay'\r\n , ModuleCatgSeq: 5\r\n , ModuleSubCatgID: 16\r\n , ModuleCatgID: 5\r\n , ModuleSubCatgSeq: 1\r\n , ModuleShowInNav: true\r\n , IsNewAngular: true\r\n , UseGlobalErrorHandler: false\r\n , ApprovalType: null\r\n };\r\n response.push(moduleNew);\r\n }\r\n\r\n this.modules = response;\r\n this.groupModules();\r\n }\r\n\r\n openPayLink(): void {\r\n window.open(this.payLink, '_blank');\r\n }\r\n\r\n openModal3() {\r\n document.getElementById('modalNav3').style.display = 'block';\r\n document.getElementById('modalNav3').style.left = this.openModalLeft + 'px';\r\n document.getElementById('fadeNav3').style.display = 'block';\r\n }\r\n\r\n closeModal3() {\r\n document.getElementById('modalNav3').style.display = 'none';\r\n document.getElementById('fadeNav3').style.display = 'none';\r\n }\r\n\r\n checkCompanyLogo() {\r\n this.homeService.getCompanyLogo(this.pRCO, \"s\").then((response) => {\r\n this.image = response == \"\" ? null : response;\r\n this.showImageNow = true;\r\n this.logoUrl = \"/Company/GetLogo?co=\" + this.pRCO + \"&size=S\";\r\n });\r\n }\r\n\r\n getPortalName() {\r\n this.homeService.getPortalName(this.pRCO).then((response) => {\r\n this.portalName = response == \"\" ? null : response;\r\n });\r\n }\r\n\r\n readFile(file, call) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n uploadFiles(val2: any): Subscription {\r\n val2.Filedata.upload = new HttpRequest(\r\n 'POST',\r\n \"/employee/AddAttachment\",\r\n {\r\n receiptID: this.newReceiptID, receiptItemID: this.addAttachmentToReceipt ? null : this.newReceiptItemID, photoFileData: val2.File, photoFileType: val2.Filename\r\n }, {\r\n reportProgress: true\r\n })\r\n return this.HttpClient.request(val2.Filedata.upload).subscribe((event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.UploadProgress:\r\n val2.Progress = Math.round(event.loaded / event.total * 100);\r\n if (val2.Progress == 100) {\r\n val2.AttchDone = true;\r\n this.innerCounter++;\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n this.submitCount++;\r\n this.openExpenseModal();\r\n val2.Filedata.result = event.body;\r\n }\r\n },\r\n error => this.errorMsg = error.message\r\n )\r\n }\r\n\r\n openExpenseModal() {\r\n if (this.submitCount != null && this.newFiles != null) {\r\n if (this.submitCount == this.newFiles.length && this.submitCount != 0) {\r\n this.formData.selectedAll = false;\r\n this.formData.fileDrop = null;\r\n this.formData.selectCount = 0;\r\n this.closeModal3();\r\n let modalRef = this.ngbModalService.open(ConfirmationModalComponent, { size: 'lg', backdrop: 'static' });\r\n modalRef.componentInstance.data = this.upload;\r\n modalRef.componentInstance.selectedEmployee = this.employeeInfo\r\n modalRef.componentInstance.errorMsg = this.errorMsg\r\n modalRef.result.then((result) => {\r\n this.formData.selectedAll = false;\r\n this.formData.selectCount = 0;\r\n });\r\n }\r\n }\r\n }\r\n\r\n quickAdd() {\r\n setTimeout(() => {\r\n this.newReceiptID = null;\r\n if (this.formData.fileDrop.length > 0) {\r\n this.submitCount = 0;\r\n var hour: any = new Date().getHours();\r\n var APM = \" AM\";\r\n if (hour == 24) { hour = 0; APM = \" PM\"; }\r\n if (hour == 12) { APM = \" PM\"; }\r\n if (hour > 12) { hour = hour - 12; APM = \" PM\"; }\r\n if (hour < 10) { hour = \"0\" + hour.toString(); }\r\n var min: any = new Date().getMinutes();\r\n if (min < 10) { min = \"0\" + min };\r\n var sec: any = new Date().getSeconds();\r\n if (sec < 10) { sec = \"0\" + sec };\r\n var receiptID = -1\r\n var receiptItemID = -1;\r\n var expenseDateStr = moment().format(\"YYYY-MM-DD\");\r\n var description = \"Quick Add at \" + hour + \":\" + min + \":\" + sec + APM\r\n var userKeyId = (this.formData.selectedEmployee == null ? this.employeeInfo.UserKeyID : this.formData.selectedEmployee.UserKeyID)\r\n\r\n this.employeeService.insertUpdateReceipt(receiptID, userKeyId, this.employeeInfo.PRCo, description, expenseDateStr).then((response: any) => {\r\n this.employeeService.insertUpdateReceiptItem(receiptItemID, response.newID).then((itemResponse: any) => {\r\n if (itemResponse.success) {\r\n this.openModal3();\r\n this.upload = response;\r\n this.upload.receiptItemID = itemResponse.newID;\r\n this.newReceiptID = response.newID;\r\n this.newReceiptItemID = itemResponse.newID;\r\n this.newFiles = [];\r\n this.fileData = [];\r\n\r\n for (var i = 0; i < this.formData.fileDrop.length; i++) {\r\n this.formData.fileDrop[i].nameEdit = \"\";\r\n for (var y = 0; y < this.formData.fileDrop[i].name.substr(0, this.formData.fileDrop[i].name.lastIndexOf('.') + 1).length; y++) {\r\n if (this.formData.fileDrop[i].name[y] != \" \" && this.formData.fileDrop[i].name[y] != \"&\" && this.formData.fileDrop[i].name[y] != \"*\" && this.formData.fileDrop[i].name[y] != \":\" &&\r\n this.formData.fileDrop[i].name[y] != \";\" && this.formData.fileDrop[i].name[y] != \"|\" && this.formData.fileDrop[i].name[y] != \"=\" && this.formData.fileDrop[i].name[y] != \",\" &&\r\n this.formData.fileDrop[i].name[y] != \".\" && this.formData.fileDrop[i].name[y] != \"/\" && this.formData.fileDrop[i].name[y] != \"\\\"\" && this.formData.fileDrop[i].name[y] != \"[\" &&\r\n this.formData.fileDrop[i].name[y] != \"]\")\r\n this.formData.fileDrop[i].nameEdit += this.formData.fileDrop[i].name[y];\r\n }\r\n this.formData.fileDrop[i].nameEdit += this.formData.fileDrop[i].name.substr(this.formData.fileDrop[i].name.lastIndexOf('.'), this.formData.fileDrop[i].name.length);\r\n }\r\n\r\n for (var i = 0; i < this.formData.fileDrop.length; i++) {\r\n var n = 0;\r\n this.innerCounter = 0;\r\n this.readFile(this.formData.fileDrop[i], (e, filename: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: filename });\r\n if (n == (this.formData.fileDrop.length - 1)) {\r\n this.fileData.forEach(val => {\r\n this.formData.fileDrop.forEach(val2 => {\r\n if (val2.size == val.size && val.name == val2.name) {\r\n this.newFiles.push({ File: val.data[1], Filename: val2.nameEdit, Filedata: val2, Type: val.data[0].split(\"/\")[0] });\r\n }\r\n });\r\n });\r\n if (this.formData.fileDrop && this.formData.fileDrop.length >= 1) {\r\n this.newFiles.forEach(val2 => {\r\n if (val2.Progress != 100 && val2.File != null) {\r\n var temp = val2.Type;\r\n var type = \"file\";\r\n if (temp == \"data:image\")\r\n type = \"Photo\";\r\n this.uploadFiles(val2);\r\n }\r\n });\r\n }\r\n }\r\n n++;\r\n });\r\n });\r\n };\r\n }\r\n }).catch((error: any) => {\r\n this.errorMsg = error?.error?.error ?? \"An error has occured.\";\r\n });\r\n }).catch((error: any) => {\r\n this.errorMsg = error?.error?.error ?? \"An error has occured.\";\r\n });\r\n }\r\n });\r\n }\r\n\r\n openGlobalNav() {\r\n document.getElementById(\"globalSideNav\").style.width = \"100%\";\r\n this.menu = [];\r\n this.hotlistMenu = false;\r\n this.userNameMenu = false;\r\n };\r\n\r\n groupModules () {\r\n this.moduleCategories = [];\r\n this.moduleCategoriesMobile = [];\r\n this.hotlistItems = [];\r\n\r\n let hotlistItems = [];\r\n let moduleCategories = [];\r\n let moduleCategoriesMobile = [];\r\n\r\n var temp = {}\r\n var temp2 = {};\r\n var tempMobile = [];\r\n var temp2Mobile = [];\r\n\r\n this.modules.forEach(val => {\r\n if (val.ModuleCatgSeq != 100) {\r\n if (temp.hasOwnProperty(val.ModuleCatgName) && val.ModuleCatgName != null && val.ModuleShowInNav) {\r\n temp[val.ModuleCatgName].push(val);\r\n } else if (val.ModuleCatgName != null && val.ModuleShowInNav) {\r\n temp[val.ModuleCatgName] = [];\r\n temp[val.ModuleCatgName].push(val);\r\n }\r\n var tf = false;\r\n if (hotlistItems.length == 0 && val.IsHotlistItem && val.ModuleShowInNav) {\r\n hotlistItems.push(val);\r\n }\r\n hotlistItems.forEach((val2: any, key2: any) => {\r\n if (val2.ModuleName == val.ModuleName) {\r\n tf = true;\r\n }\r\n if (key2 == (hotlistItems.length - 1) && !tf && val.IsHotlistItem && val.ModuleShowInNav) {\r\n hotlistItems.push(val);\r\n }\r\n });\r\n }\r\n });\r\n\r\n hotlistItems = this.orderByPipe.transform(hotlistItems, \"ModulePrettyShortName\", \"asc\");\r\n for (let key in temp) {\r\n var groupCount = 0;\r\n var managementCount = 0;\r\n var tempDetail = temp[key];\r\n tempDetail.forEach(val => {\r\n if (val.ModuleCatgID == 1) {\r\n if (temp2[\"My Tools\"] == null)\r\n temp2[\"My Tools\"] = {};\r\n if (temp2[\"Management\"] == null)\r\n temp2[\"Management\"] = {};\r\n if (val.ModuleSubCatgID == 1 || val.ModuleSubCatgID == 18 || val.ModuleSubCatgID == 33) {\r\n if (temp2[\"My Tools\"].hasOwnProperty(val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName)) {\r\n temp2[\"My Tools\"][val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName].push(val);\r\n } else {\r\n temp2[\"My Tools\"][val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName] = [];\r\n temp2[\"My Tools\"][val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName].push(val);\r\n }\r\n } else {\r\n managementCount++;\r\n if (temp2[\"Management\"].hasOwnProperty(val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName)) {\r\n temp2[\"Management\"][val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName].push(val);\r\n } else {\r\n temp2[\"Management\"][val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName] = [];\r\n temp2[\"Management\"][val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName].push(val);\r\n groupCount++;\r\n }\r\n }\r\n if (managementCount == 0) {\r\n delete temp2[\"Management\"];\r\n }\r\n } else {\r\n if (temp2.hasOwnProperty(val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName)) {\r\n temp2[val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName].push(val);\r\n } else {\r\n temp2[val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName] = [];\r\n temp2[val.ModuleSubCatgSeq + \",\" + val.ModuleSubCatgName].push(val);\r\n groupCount++;\r\n }\r\n }\r\n });\r\n var temp3 = [];\r\n for (let key3 in temp2) {\r\n temp3.push({ catName: key3, items: temp2[key3], catID: tempDetail[0].ModuleCatgID });\r\n }\r\n moduleCategories.push({ barName: key, list: temp3, catID: tempDetail[0].ModuleCatgID, groupCount: groupCount });\r\n temp2 = {};\r\n }\r\n\r\n // insert Office Tools category before Approval if present, otherwise at the end\r\n if (this.showOfficeRoute) {\r\n //check if Approval is on the navbar\r\n let insertIndex = moduleCategories.indexOf(moduleCategories.find(c => c.barName == \"Approval\"));\r\n //if Approval is not on the navbar, check for Admin\r\n if (insertIndex == -1) {\r\n insertIndex = moduleCategories.indexOf(moduleCategories.find(c => c.barName == \"Admin\"));\r\n }\r\n //place Office tools to the left of approval, or admin (if no approval), else place after everything else\r\n insertIndex = insertIndex > -1 ? insertIndex : moduleCategories.length;\r\n moduleCategories.splice(insertIndex, 0, { barName: \"Office Tools\", list: [], catID: 99, groupCount: 0 });\r\n }\r\n\r\n //group modules by category\r\n this.modules.forEach(module => {\r\n if (module.ModuleCatgSeq != 100 && module.ModuleShowInNav) {\r\n if (tempMobile[module.ModuleCatgSeq] == null) {\r\n tempMobile[module.ModuleCatgSeq] = [];\r\n }\r\n tempMobile[module.ModuleCatgSeq].push(module);\r\n }\r\n });\r\n\r\n //remove unused array values\r\n tempMobile = tempMobile.filter(function (n) { return n != undefined });\r\n for (let catgKey in tempMobile) {\r\n moduleCategoriesMobile[catgKey] = {};\r\n temp2Mobile[catgKey] = {};\r\n var category = tempMobile[catgKey];\r\n category.forEach(module => {\r\n if (moduleCategoriesMobile[catgKey].CategoryName == null) {\r\n moduleCategoriesMobile[catgKey].CategoryName = module.ModuleCatgName;\r\n moduleCategoriesMobile[catgKey].ModuleCount = 0;\r\n }\r\n var subCategory = module.ModuleSubCatgName != null ? module.ModuleSubCatgName : 0;\r\n if (temp2Mobile[catgKey][subCategory] == null) {\r\n temp2Mobile[catgKey][subCategory] = [];\r\n }\r\n temp2Mobile[catgKey][subCategory].push(module);\r\n moduleCategoriesMobile[catgKey].ModuleCount++;\r\n });\r\n }\r\n\r\n for (let catgKey in temp2Mobile) {\r\n moduleCategoriesMobile[catgKey].Modules = [];\r\n var category = temp2Mobile[catgKey];\r\n for (let subCatgKey in category) {\r\n var subCategory = category[subCatgKey];\r\n if (subCatgKey != \"CategoryName\" && subCatgKey != \"ModuleCount\") {\r\n subCategory.sort(function (a, b) {\r\n if (a.ModuleSortSeq < b.ModuleSortSeq)\r\n return -1;\r\n if (a.ModuleSortSeq > b.ModuleSortSeq)\r\n return 1;\r\n return 0;\r\n });\r\n subCategory.forEach(val => {\r\n moduleCategoriesMobile[catgKey].Modules.push(val);\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.hotlistItems = hotlistItems;\r\n this.moduleCategories = moduleCategories;\r\n this.moduleCategoriesMobile = moduleCategoriesMobile;\r\n\r\n // insert Office Tools category before Approval if present, otherwise at the end\r\n if (this.showOfficeRoute) {\r\n //check if Approval is on the navbar\r\n let insertIndex = this.moduleCategoriesMobile.indexOf(this.moduleCategoriesMobile.find(c => c.CategoryName == \"Approval\"));\r\n //if Approval is not on the navbar, check for Admin\r\n if (insertIndex == -1) {\r\n insertIndex = this.moduleCategoriesMobile.indexOf(this.moduleCategoriesMobile.find(c => c.CategoryName == \"Admin\"));\r\n }\r\n //place Office tools to the left of approval, or admin (if no approval), else place after everything else\r\n insertIndex = insertIndex > -1 ? insertIndex : this.moduleCategoriesMobile.length;\r\n this.moduleCategoriesMobile.splice(insertIndex, 0, { CategoryName: \"Office Tools\", ModuleCount: 0, Modules: [] });\r\n }\r\n }\r\n\r\n openPasswordWarningModal() {\r\n let modalRef = this.ngbModalService.open(PasswordWarningModalComponent, { size: 'md', backdrop: 'static', keyboard: false });\r\n }\r\n\r\n paperLessModal() {\r\n let modalRef = this.ngbModalService.open(PaperlessModalComponent, { size: 'lg', backdrop: 'static' });\r\n modalRef.componentInstance.data = this.employeeInfo;\r\n modalRef.componentInstance.portalSettings = this.portalSettings;\r\n\r\n modalRef.result.then((result) => {\r\n this.homeService.getEmployeeInfo().then((response: any[]) => {\r\n this.employeeInfo = response;\r\n });\r\n this.closeModal();\r\n });\r\n }\r\n\r\n changeLanguage(type: string) {\r\n this.homeService.changeLanguage(type).then((response) => {\r\n window.location.reload();\r\n });\r\n }\r\n\r\n postClockAction($event: any, ignoreLocation: boolean) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.performingClockAction = true;\r\n this.requestObj = {};\r\n\r\n if (this.clockInUsePhase && !this.clockStatus.ClockAction) {\r\n const initialState = {\r\n portalSettings: this.portalSettings,\r\n employeeInfo: this.employeeInfo,\r\n backdrop: 'static'\r\n };\r\n\r\n let modalRef = this.modalService.show(ClockinJobModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n\r\n modalRef.onHide.subscribe((reason: any) => {\r\n var result = modalRef.content;\r\n if (result.userAction == \"cancel\") {\r\n this.performingClockAction = false;\r\n } else {\r\n if (result != null && result.userAction == \"Clock In\") {\r\n if (!ignoreLocation && this.position != null && this.position.coords != null) {\r\n this.requestObj.gPSLat = this.position.coords.latitude;\r\n this.requestObj.gPSLong = this.position.coords.longitude;\r\n }\r\n if (result.formData.selectedJob != null) {\r\n this.requestObj.jCJMKeyID = result.formData.selectedJob.JCJMKeyID;\r\n }\r\n if (result.formData.selectedPhase != null) {\r\n this.requestObj.jCJPKeyID = result.formData.selectedPhase.JCJPKeyID;\r\n }\r\n var currentTime = moment();\r\n this.requestObj.clockTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n this.homeService.postClockAction(this.requestObj).then((response: any) => {\r\n if (response.success) {\r\n this.getClockInStatus();\r\n }\r\n else {\r\n this.performingClockAction = false;\r\n const initialState = {\r\n modalData: { modalTitle: \"An Error Ocurred\", modalMessage: response.error },\r\n backdrop: 'static'\r\n }\r\n let modalRef = this.modalService.show(ErrorModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n }\r\n });\r\n }\r\n else {\r\n this.performingClockAction = false;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n if (this.portalSettings.RequireSignClockOut.ConfigValue == \"1\" && this.clockStatus.ClockAction) {\r\n const initialState = {\r\n portalSettings: this.portalSettings,\r\n employeeInfo: this.employeeInfo,\r\n backdrop: 'static'\r\n };\r\n\r\n let modalRef = this.modalService.show(ClockoutModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n\r\n modalRef.onHide.subscribe((reason: any) => {\r\n var result = modalRef.content.userAction;\r\n if (result == \"close\") {\r\n this.performingClockAction = false;\r\n } else {\r\n if (!ignoreLocation && this.position != null && this.position.coords != null) {\r\n this.requestObj.gPSLat = this.position.coords.latitude;\r\n this.requestObj.gPSLong = this.position.coords.longitude;\r\n }\r\n this.requestObj.signatureData = result;\r\n var currentTime = moment();\r\n this.requestObj.clockTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n this.homeService.postClockAction(this.requestObj).then((response: any) => {\r\n if (response.success) {\r\n this.getClockInStatus();\r\n }\r\n else {\r\n this.performingClockAction = false;\r\n const initialState = {\r\n modalData: { modalTitle: \"An Error Ocurred\", modalMessage: response.error },\r\n backdrop: 'static'\r\n }\r\n let modalRef = this.modalService.show(ErrorModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n if (!ignoreLocation && this.position != null && this.position.coords != null) {\r\n this.requestObj.gPSLat = this.position.coords.latitude;\r\n this.requestObj.gPSLong = this.position.coords.longitude;\r\n }\r\n var currentTime = moment();\r\n this.requestObj.clockTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n this.homeService.postClockAction(this.requestObj).then((response: any) => {\r\n if (response.success) {\r\n this.getClockInStatus();\r\n }\r\n else {\r\n this.performingClockAction = false;\r\n const initialState = {\r\n modalData: { modalTitle: \"An Error Ocurred\", modalMessage: response.error },\r\n backdrop: 'static'\r\n }\r\n let modalRef = this.modalService.show(ErrorModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n unbindViewpointID() {\r\n const initialState = {\r\n portalSettings: this.portalSettings,\r\n employeeInfo: this.employeeInfo,\r\n modalData: { modalTitle: \"Unlink Viewpoint ID\", modalMessage: \"Are you sure you want to unbind your Keystyle account from your Viewpoint account?\", modalAction: \"Unbind\", closeButtonText: \"Cancel\", warningLevel: \"primary\" },\r\n backdrop: 'static'\r\n };\r\n\r\n let modalRef = this.modalService.show(WarningModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n\r\n modalRef.onHide.subscribe((reason: any) => {\r\n var result = modalRef.content.userAction;\r\n if (result == \"Unbind\") {\r\n this.homeService.unbindViewpointID().then((response: any) => {\r\n if (response.success) {\r\n //this.alert = { type: \"success\", msg: \"Email reminder sent\" }; --Unused alert\r\n const initialState = {\r\n portalSettings: this.portalSettings,\r\n employeeInfo: this.employeeInfo,\r\n modalData: { modalTitle: \"Unlink Viewpoint ID\", modalMessage: \"Keystyle account unbound from Viewpoint ID successfully.\", closeButtonText: \"Close\", alertLevel: \"success\" },\r\n backdrop: 'static'\r\n };\r\n let modalRef = this.modalService.show(AlertModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n } else {\r\n const initialState = {\r\n portalSettings: this.portalSettings,\r\n employeeInfo: this.employeeInfo,\r\n modalData: { modalTitle: \"Unlink Viewpoint ID\", modalMessage: response.error, closeButtonText: \"Close\", alertLevel: \"danger\" },\r\n backdrop: 'static'\r\n };\r\n let modalRef = this.modalService.show(AlertModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getClockInStatus() {\r\n var currentTime = moment();\r\n var currentTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n this.homeService.getClockInStatus(false, currentTimeString).then((response) => {\r\n if (response != null) {\r\n this.performingClockAction = false;\r\n this.clockStatus = response;\r\n this.getLocation();\r\n if (this.clockStatus.ClockTime != null) {\r\n this.clockStatus.ClockTimeDisplay = moment(parseInt(this.clockStatus.ClockTime.substring(6))).utc().format(this.format.toUpperCase() + \" hh:mm a\");\r\n }\r\n }\r\n }).catch((error) => {\r\n this.performingClockAction = false;\r\n this.errorMsg = error?.error?.error ?? \"An error has occured\";\r\n });\r\n }\r\n\r\n getLocation() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(position => {\r\n this.requestingLocation = false;\r\n this.geolocationEnabled = true;\r\n this.position = position;\r\n });\r\n }\r\n else {\r\n this.requestingLocation = false;\r\n }\r\n }\r\n\r\n subStringFromComma(text: string) {\r\n var temp = text.split(',');\r\n return temp[1];\r\n }\r\n\r\n closeMenusSection(number: any, type: any) {\r\n if (number != null && this.menu[number]) {\r\n this.menu[number] = false;\r\n return;\r\n }\r\n else if (type === 'h' && !number && this.hotlistMenu) {\r\n this.hotlistMenu = false;\r\n return;\r\n }\r\n else if (type === 't' && !number && this.teamMenu) {\r\n this.teamMenu = false;\r\n return;\r\n }\r\n else if (type === 'n' && !number && this.userNameMenu) {\r\n this.userNameMenu = false;\r\n return;\r\n }\r\n else {\r\n for (var i = 0; i < this.moduleCategories?.length; i++) {\r\n this.menu[i] = false;\r\n }\r\n this.hotlistMenu = false;\r\n this.userNameMenu = false;\r\n this.teamMenu = false;\r\n\r\n if (number != null) {\r\n this.menu[number] = true;\r\n }\r\n if (type === 'h' && !number) {\r\n this.hotlistMenu = true;\r\n }\r\n if (type === 't' && !number) {\r\n this.teamMenu = true;\r\n }\r\n if (type === 'n' && !number) {\r\n this.userNameMenu = true;\r\n }\r\n }\r\n }\r\n\r\n logout() {\r\n sessionStorage.clear();\r\n window.location.href = \"/Account/Logout\";\r\n }\r\n\r\n openModal() {\r\n document.getElementById('fadeNav').style.display = 'block';\r\n }\r\n\r\n closeModal() {\r\n document.getElementById('fadeNav').style.display = 'none';\r\n }\r\n\r\n //approvedTimecardsChanged & approvedDependentChanged\r\n getEmployeeInfo() {\r\n this.homeService.getEmployeeInfo().then((response: any[]) => {\r\n this.employeeInfo = response;\r\n this.calculateUnapprovedRequestCount()\r\n });\r\n }\r\n\r\n //approvedTimeoffChanged\r\n modifyApprovedTimeOff() {\r\n this.employeeInfo.TimeOffCount--;\r\n if (this.employeeInfo.TimeOffCount < 0) {\r\n this.employeeInfo.TimeOffCount = 0;\r\n }\r\n this.calculateUnapprovedRequestCount()\r\n }\r\n\r\n //approvedBenefitMinus\r\n subtractApprovedBenefit() {\r\n this.homeService.getCount().then((response: any) => {\r\n this.employeeInfo.UnapprovedBenefitRequestCount = response[0];\r\n\r\n this.calculateUnapprovedRequestCount()\r\n })\r\n }\r\n\r\n //productionApprovalChanged\r\n modifyProductionApproval(count: number) {\r\n this.employeeInfo.ProgressApprovalCount = count > 0 ? count : 0;\r\n\r\n this.calculateUnapprovedRequestCount()\r\n }\r\n\r\n closeGlobalNav() {\r\n document.getElementById(\"globalSideNav\").style.width = \"0\";\r\n this.closeMenusSection(null, null);\r\n }\r\n}","","
\r\n

Recent Notifications

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DateURLMessage
{{ notification.dateTimeStamp | date: dateFormat }}{{ notification.url }}{{ notification.message }}
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NotificationsService } from '../../services/notifications.service';\r\nimport { PortalSettingsService } from '../../services/portal-settings.service';\r\n\r\n@Component({\r\n selector: 'app-notification-page',\r\n templateUrl: './notification-page.component.html',\r\n styleUrls: ['./notification-page.component.css']\r\n})\r\nexport class NotificationPageComponent implements OnInit {\r\n notifications: any[] = [];\r\n portalSettings: any;\r\n dateFormat: string = \"\";\r\n\r\n constructor(private notificationsService: NotificationsService, private portalSettingsService: PortalSettingsService)\r\n {\r\n portalSettingsService.portalSettings$.subscribe(latestSettings => {\r\n this.portalSettings = latestSettings;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.notifications = this.notificationsService.getNotifications();\r\n this.dateFormat = this.portalSettings.CountryDateCode.ConfigValue == 'US' ? 'MM/dd/yyyy hh:mm a' : 'dd/MM/yyyy hh:mm 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
\r\n
\r\n
    \r\n
    \r\n
    {{subGroup[0].FormGroup}}
    \r\n
  • {{item.FormDesc}}
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { HomeService } from '../../../pages/home/services/home.service';\r\nimport { OfficeService } from '../../../pages/office/services/office.service';\r\nimport { Router } from '@angular/router';\r\nimport { OfficeDataService } from '../../../pages/office/services/office-data.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { HostListener } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'app-office-nav',\r\n templateUrl: './office-nav.component.html',\r\n styleUrls: ['./office-nav.component.css'],\r\n})\r\nexport class OfficeNavComponent implements OnInit {\r\n portalSettings: any;\r\n employeeInfo: any;\r\n formData: { [key: string]: any } = {};\r\n image: any = null;\r\n showImageNow: boolean;\r\n pRCO: number;\r\n portalName: string;\r\n loginMode: string;\r\n isOver: boolean;\r\n logoUrl: string;\r\n companyList = [];\r\n groupedFormList = [];\r\n selectedFormList = [];\r\n shortMenu: boolean;\r\n\r\n constructor(private portalSettingsService: PortalSettingsService,\r\n private employeeInfoService: EmployeeInfoService,\r\n private router: Router,\r\n private homeService: HomeService,\r\n private officeService: OfficeService,\r\n public officeDataService: OfficeDataService,\r\n private utilityService: UtilityService)\r\n {\r\n portalSettingsService.portalSettings$.subscribe(latestSettings => {\r\n this.portalSettings = latestSettings;\r\n });\r\n this.employeeInfo = this.employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.shortMenu = window.innerWidth < 500;\r\n this.utilityService.openModal();\r\n this.officeDataService.OfficeNavBarOn = true;\r\n this.getCompany();\r\n this.getUserContext();\r\n }\r\n\r\n private getCompany() {\r\n this.officeService.getCompanies().then((response: any) => {\r\n this.companyList = response;\r\n this.officeDataService.SGFCompanyList = this.companyList;\r\n if (response != null) {\r\n var count = 0;\r\n this.companyList.forEach((val, key) => {\r\n if (val.IsDefault) {\r\n count++;\r\n this.formData.selectedCompany = val.HQCo;\r\n }\r\n })\r\n if (count == 0) {\r\n this.formData.selectedCompany = this.companyList[0].HQCo;\r\n }\r\n this.officeDataService.SGFCompany = this.formData.selectedCompany;\r\n this.getForm();\r\n }\r\n });\r\n }\r\n\r\n private getForm() {\r\n this.selectedFormList = [];\r\n this.groupedFormList = [];\r\n this.officeService.getForms(this.formData.selectedCompany, null).then((response: any) => {\r\n this.officeDataService.SGFFormList = response;\r\n var tempObject = {};\r\n var isFormExist = false;\r\n let groupedFormList = [];\r\n response.forEach((val, key) => {\r\n if (!tempObject.hasOwnProperty(val.ModuleLongName))\r\n tempObject[val.ModuleLongName] = [];\r\n tempObject[val.ModuleLongName].push(val);\r\n\r\n if ((window.location.pathname == \"/office/maintenancegrid\") && val.FormName == this.officeDataService.SGFForm)\r\n isFormExist = true;\r\n });\r\n\r\n Object.entries(tempObject).forEach((val: any, key) => {\r\n var tempObj = {};\r\n val[1].forEach((val2, key2) => {\r\n if (!tempObj.hasOwnProperty(val2.FormGroup))\r\n tempObj[val2.FormGroup] = [];\r\n tempObj[val2.FormGroup].push(val2);\r\n })\r\n\r\n groupedFormList.push({ groupDisplay: val[0], formList: Object.values(tempObj) });\r\n })\r\n\r\n //add inquiries\r\n groupedFormList.push({ groupDisplay: \"Inquiries\", formList: [] });\r\n this.groupedFormList = groupedFormList.sort((a, b) => { return a.groupDisplay > b.groupDisplay ? 1 : -1; });\r\n this.utilityService.closeModal();\r\n if (isFormExist) {\r\n this.officeDataService.boradcast(\"updateForm\");\r\n } else {\r\n this.officeDataService.boradcast(\"removeForm\");\r\n }\r\n })\r\n }\r\n\r\n public groupSelected(groupData: any) {\r\n if (groupData.groupDisplay == \"Inquiries\") {\r\n this.router.navigate(['/office/inquiries']);\r\n $('#navbarMenu').removeClass(\"show\");\r\n }\r\n else {\r\n this.selectedFormList = groupData.formList;\r\n }\r\n \r\n }\r\n\r\n public itemSelected(formData: any) {\r\n this.officeDataService.SGFCompany = this.formData.selectedCompany;\r\n this.officeDataService.SGFForm = formData.FormName;\r\n this.officeDataService.SGFTitle = formData.FormDesc;\r\n $('#navbarMenu').removeClass(\"show\");\r\n this.officeDataService.boradcast(\"updateForm\");\r\n this.router.navigate(['/office/maintenancegrid']);\r\n }\r\n\r\n private getUserContext() {\r\n this.homeService.getUserContext().then((response: any) => {\r\n this.pRCO = response.PRCo;\r\n this.isOver = response.IsOver;\r\n this.loginMode = response.LoginMode;\r\n\r\n this.checkCompanyLogo();\r\n this.getPortalName();\r\n });\r\n }\r\n\r\n private getPortalName() {\r\n this.homeService.getPortalName(this.pRCO).then((response) => {\r\n this.portalName = response == \"\" ? null : response;\r\n });\r\n }\r\n\r\n private checkCompanyLogo() {\r\n this.homeService.getCompanyLogo(this.pRCO, \"s\").then((response) => {\r\n this.image = response == \"\" ? null : response;\r\n this.showImageNow = true;\r\n this.logoUrl = \"/Company/GetLogo?co=\" + this.pRCO + \"&size=S\";\r\n });\r\n }\r\n\r\n public companyChange() {\r\n this.utilityService.openModal();\r\n this.officeDataService.SGFCompany = this.formData.selectedCompany;\r\n //TODO - fix this spelling error\r\n this.officeDataService.boradcast(\"companyChanged\");\r\n this.getForm();\r\n $('#navbarMenu').removeClass(\"show\");\r\n }\r\n\r\n public routeToReportGateway() {\r\n $('#navbarMenu').removeClass(\"show\");\r\n this.officeDataService.boradcast(\"updateReportGateway\");\r\n this.officeDataService.RGWCat = this.selectedFormList[0][0].ModuleShortName;\r\n this.router.navigate(['/office/reportgateway']);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.shortMenu = window.innerWidth < 500;\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { PortalModulesService } from '../../../core/services/portal-modules.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventService } from '../../services/event.service';\r\nimport { SmService } from '../../../pages/sm/services/sm.service';\r\nimport { SmDataService } from '../../../pages/sm/services/sm-data.service';\r\nimport { SmSharedService } from '../../../pages/sm/services/sm-shared.service';\r\nimport { Router } from '@angular/router';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\nimport { HostListener } from \"@angular/core\";\r\n\r\nimport { ConfirmationModalComponent } from 'src/app/modals/sm/confirmation-modal/confirmation-modal.component';\r\nimport { ClockOutModalComponent } from 'src/app/modals/sm/clock-out-modal/clock-out-modal.component';\r\nimport { ClockInModalComponent } from 'src/app/modals/sm/clock-in-modal/clock-in-modal.component';\r\n\r\n@Component({\r\n selector: 'app-sm-nav',\r\n templateUrl: './sm-nav.component.html',\r\n styleUrls: ['./sm-nav.component.css']\r\n})\r\nexport class SmNavComponent implements OnInit, OnDestroy {\r\n portalSettings: any;\r\n employeeInfo: any;\r\n formData: { [key: string]: any } = {};\r\n notTech: boolean;\r\n logoUrl: string;\r\n showSMManagerDash: boolean = false;\r\n showWODash: boolean = false;\r\n enablePWA: boolean;\r\n isServiceManager: boolean = false;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(portalSettingsService: PortalSettingsService,\r\n employeeInfoService: EmployeeInfoService,\r\n private ngbModalService: NgbModal,\r\n private router: Router,\r\n public HttpClient: HttpClient,\r\n private eventService: EventService,\r\n private utilityService: UtilityService,\r\n private smService: SmService,\r\n public smDataService: SmDataService,\r\n private smSharedService: SmSharedService,\r\n private portalModulesService: PortalModulesService)\r\n {\r\n portalSettingsService.portalSettings$.subscribe(latestSettings => {\r\n this.portalSettings = latestSettings;\r\n });\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub?.unsubscribe());\r\n }\r\n\r\n ngOnInit(): void {\r\n this.enablePWA = true;\r\n\r\n this.formData = {};\r\n this.formData.enableOfflineAccess = this.employeeInfo.EnableOfflineFS;\r\n this.smDataService.currentOnline = navigator.onLine;\r\n this.logoUrl = \"/Company/GetLogo?co=\" + this.employeeInfo.PRCo + \"&size=S\";\r\n\r\n this.subscriptions.push(this.eventService.on('modulesChanged', () => this.getModules()));\r\n\r\n if (sessionStorage.getItem(\"SMWODashToManID\") != null || sessionStorage.getItem(\"SMWODashToManIDWithTrip\") != null) {\r\n this.smDataService.isFromSMWODashNow = true;\r\n }\r\n if ((window.location.protocol == \"http:\" && window.location.hostname != \"localhost\"))\r\n this.enablePWA = false;\r\n\r\n this.subscriptions.push(this.eventService.on('turnoffOffline', () => this.turnoffOffline()));\r\n this.subscriptions.push(this.eventService.on('triggerOfflinePost', () => this.triggerOfflinePost()));\r\n this.subscriptions.push(this.eventService.on(\"notTech\", eventData => this.notTech = eventData.data));\r\n this.subscriptions.push(this.eventService.on(\"navClockStatus\", eventData => this.navClockStatus(eventData)));\r\n this.isServiceManager = window.location.pathname == \"/sm/workorderdashboard\";\r\n this.getModules();\r\n }\r\n\r\n private navClockStatus(eventData) {\r\n setTimeout(() => {\r\n this.smDataService.clockEmpty = false;\r\n this.smDataService.clockInStatus = null;\r\n\r\n if (eventData.data == null)\r\n this.smDataService.clockEmpty = true;\r\n else\r\n this.smDataService.clockInStatus = eventData.data;\r\n });\r\n }\r\n\r\n public getModules() {\r\n this.showSMManagerDash = false;\r\n this.showWODash = false;\r\n\r\n this.portalModulesService.getPortalModules().forEach(val => {\r\n if (val.ModuleID == 116) {\r\n this.showSMManagerDash = true;\r\n }\r\n if (val.ModuleID == 110) {\r\n this.showWODash = true;\r\n }\r\n });\r\n };\r\n\r\n public openGlobalNav() {\r\n document.getElementById(\"globalSideNav\").style.width = \"100%\";\r\n };\r\n\r\n public closeGlobalNav(route) {\r\n document.getElementById(\"globalSideNav\").style.width = \"0\";\r\n this.removeSession();\r\n if (route == \"manage\") {\r\n this.smDataService.isFromSMWODashNow = false;\r\n this.smDataService.isFromSMWODashNowWithTrip = false;\r\n this.smDataService.isClockOut = false;\r\n this.smDataService.isCloseOut = false;\r\n this.smDataService.isDrillDown = false;\r\n this.smSharedService.resetPage(true, false, true);\r\n this.smSharedService.removeSession();\r\n this.isServiceManager = false;\r\n } else if (route == \"service\") {\r\n this.isServiceManager = true;\r\n }\r\n };\r\n\r\n public removeSession() {\r\n this.smSharedService.removeSession();\r\n }\r\n\r\n public clockAction() {\r\n if (this.smDataService.clockInStatus != null && this.smDataService.clockInStatus.ClockAction) {\r\n let modalRef = this.ngbModalService.open(ClockOutModalComponent, { size: 'md', backdrop: 'static' });\r\n modalRef.componentInstance.woData = null;\r\n modalRef.componentInstance.clockStatus = this.smDataService.clockInStatus;\r\n modalRef.componentInstance.isTripExist = true;\r\n\r\n modalRef.result.then((response) => {\r\n this.smSharedService.resetPage(false, true, true);\r\n this.smDataService.currentWorkOrder = null;\r\n this.smDataService.isClockOut = true;\r\n });\r\n }\r\n else {\r\n let modalRef = this.ngbModalService.open(ClockInModalComponent, { size: 'md', backdrop: 'static' });\r\n\r\n modalRef.result.then((response) => {\r\n this.eventService.broadcast(\"smClockInAction\");\r\n this.smDataService.isClockOut = false;\r\n });\r\n }\r\n }\r\n\r\n public triggerOfflinePost() {\r\n let modalRef = this.ngbModalService.open(ConfirmationModalComponent, { size: 'md', backdrop: 'static' });\r\n modalRef.componentInstance.body = this.smDataService.offlinePostCallList.length + \" items need to be synced to the portal.\";\r\n modalRef.componentInstance.header = \"Sync Data to Portal\";\r\n modalRef.result.then((response) => {\r\n if (response) {\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n let transaction = db.transaction(\"SM_OfflineSyncFail\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_OfflineSyncFail\");\r\n $.each(this.smDataService.offlinePostFailList, function (key, val) {\r\n storage.clear();\r\n });\r\n this.smDataService.haveOfflinePostFail = false;\r\n }\r\n indexdb.onerror = () => {\r\n this.utilityService.closeModal();\r\n }\r\n this.startOfflinePost(0);\r\n } else {\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n let transaction = db.transaction(\"SM_PostCalls\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_PostCalls\");\r\n let offlinePostCallList = storage.getAll();\r\n offlinePostCallList.onsuccess = () => {\r\n setTimeout(() => {\r\n this.smDataService.offlinePostCallList = offlinePostCallList.result;\r\n if (offlinePostCallList.result.length > 0) {\r\n this.smDataService.haveOfflinePost = true;\r\n }\r\n else {\r\n this.smDataService.haveOfflinePost = false;\r\n }\r\n this.checkofflinePost();\r\n this.utilityService.closeModal();\r\n });\r\n }\r\n offlinePostCallList.onerror = () => {\r\n this.utilityService.closeModal();\r\n }\r\n }\r\n indexdb.onerror = () => {\r\n this.utilityService.closeModal();\r\n }\r\n }\r\n });\r\n }\r\n\r\n public startOfflinePost(index) {\r\n if (index >= this.smDataService.offlinePostCallList.length) {\r\n this.utilityService.openModal();\r\n this.smDataService.modalMsg = \"Offline Syncing...\";\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n let transaction = db.transaction(\"SM_PostCalls\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_PostCalls\");\r\n this.smDataService.offlinePostCallList.forEach((val, key) => {\r\n if (val.success) {\r\n storage.delete(val.id);\r\n if (val.url.toLowerCase().indexOf(\"insertupdatesmworkcompleted\") > -1) {\r\n let indexdb2 = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb2.onsuccess = function () {\r\n let db2 = indexdb2.result;\r\n let transaction2 = db2.transaction(\"SM_GetWorkCompleted\", \"readwrite\");\r\n let storage2 = transaction2.objectStore(\"SM_GetWorkCompleted\");\r\n let SM_GetWorkCompletedList = storage2.getAll();\r\n SM_GetWorkCompletedList.onsuccess = function () {\r\n if (SM_GetWorkCompletedList.result.length > 0) {\r\n $.each(SM_GetWorkCompletedList.result, function (key2, val2) {\r\n if (val.payload.sMWorkCompletedID == val2.SMWorkCompletedID)\r\n storage2.delete(val.payload.sMWorkCompletedID);\r\n })\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n let indexdb2 = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb2.onsuccess = () => {\r\n let db2 = indexdb2.result;\r\n let transaction2 = db2.transaction(\"SM_OfflineSyncFail\", \"readwrite\");\r\n let storage2 = transaction2.objectStore(\"SM_OfflineSyncFail\");\r\n\r\n storage2.put({ url: val.url, payload: val.payload, insertDate: new Date(), result: val.result, deleteID: val.id });\r\n this.smDataService.haveOfflinePostFail = true;\r\n }\r\n }\r\n });\r\n this.smDataService.offlinePostCallList = null;\r\n this.smDataService.haveOfflinePost = false;\r\n location.reload();\r\n return false;\r\n }\r\n }\r\n\r\n if (index < this.smDataService.offlinePostCallList.length) {\r\n this.smService.offlinePost(this.smDataService.offlinePostCallList[index].url, this.smDataService.offlinePostCallList[index].payload).then((response: any) => {\r\n this.smDataService.offlinePostCallList[index].success = response.success;\r\n if (!response.success) {\r\n this.smDataService.offlinePostCallList[index].result = response;\r\n }\r\n index++;\r\n this.startOfflinePost(index)\r\n })\r\n }\r\n }\r\n\r\n public clearDB() {\r\n let modalRef = this.ngbModalService.open(ConfirmationModalComponent, { size: 'md', backdrop: 'static' });\r\n modalRef.componentInstance.body = \"Are you sure you want to clear the local database?\";\r\n modalRef.componentInstance.header = \"Clear Local Database\";\r\n\r\n modalRef.result.then((response) => {\r\n if (response != null) {\r\n this.eventService.broadcast(\"smClearDatabase\");\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n $.each(this.smDataService.allDBTable, function (key, val) {\r\n let transaction = db.transaction(val, \"readwrite\");\r\n let storage = transaction.objectStore(val);\r\n storage.clear();\r\n })\r\n this.utilityService.closeModal();\r\n }\r\n $.each(this.smDataService.tripList, function (key, val) {\r\n val.ReadyOffline = false;\r\n })\r\n }\r\n });\r\n }\r\n\r\n private checkofflinePost() {\r\n if (!this.smDataService.haveOfflinePost) {\r\n this.smDataService.navbarHeight = 0;\r\n }\r\n }\r\n\r\n public saveURL(){\r\n this.utilityService.openModal();\r\n sessionStorage.setItem(\"previousSM\", \"true\");\r\n window.location.href = \"/timecard/index\";\r\n this.closeGlobalNav(null);\r\n //this.router.navigate(['/timecard/index'])\r\n }\r\n\r\n public routeToHome() {\r\n this.utilityService.openModal();\r\n this.smDataService.tripList = null;\r\n this.smDataService.tripListFiltered = null;\r\n this.smSharedService.removeSession();\r\n this.smSharedService.resetPage(false, false, false);\r\n this.router.navigate(['/home/index'])\r\n }\r\n\r\n public turnoffOffline() {\r\n this.formData.enableOfflineAccess = false;\r\n this.userSettingUpdate(true);\r\n }\r\n\r\n public userSettingUpdate(reload) {\r\n setTimeout(() => {\r\n this.smService.updateSettings(this.formData.enableOfflineAccess).then((response: any) => {\r\n if(response.success)\r\n this.employeeInfo.EnableOfflineFS = this.formData.enableOfflineAccess;\r\n if (reload) {\r\n window.location.reload();\r\n }\r\n });\r\n });\r\n }\r\n\r\n public logout() {\r\n sessionStorage.clear();\r\n this.utilityService.isLoggedOut = true;\r\n window.location.href = '/account/logout?serviceWorker=true';\r\n }\r\n\r\n @HostListener('window:load', ['$event'])\r\n onLoad(e: KeyboardEvent) {\r\n this.smDataService.currentOnline = navigator.onLine;\r\n }\r\n\r\n @HostListener('window:offline', ['$event'])\r\n onOffline(e: KeyboardEvent) {\r\n this.smDataService.currentOnline = false;\r\n }\r\n\r\n @HostListener('window:online', ['$event'])\r\n onOnline(e: KeyboardEvent) {\r\n this.smDataService.currentOnline = true;\r\n setTimeout(() => {\r\n if (this.smDataService.enablePWA) {\r\n this.smDataService.currentOnline = true;\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n let transaction = db.transaction(\"SM_PostCalls\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_PostCalls\");\r\n let offlinePostCallList = storage.getAll();\r\n offlinePostCallList.onsuccess = () => {\r\n setTimeout(() => {\r\n this.smDataService.offlinePostCallList = offlinePostCallList.result;\r\n if (offlinePostCallList.result.length > 0) {\r\n this.smDataService.haveOfflinePost = true;\r\n }\r\n else {\r\n this.smDataService.haveOfflinePost = false;\r\n }\r\n });\r\n setTimeout(() => {\r\n this.smDataService.navbarHeight = this.smDataService.haveOfflinePost ? (document.getElementById(\"NavBar\").offsetHeight - 60) : 0;\r\n }, 1000)\r\n }\r\n }\r\n\r\n let indexdb2 = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb2.onsuccess = () => {\r\n let db = indexdb2.result;\r\n let transaction = db.transaction(\"SM_OfflineSyncFail\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_OfflineSyncFail\");\r\n let offlinePostFailList = storage.getAll();\r\n offlinePostFailList.onsuccess = () => {\r\n setTimeout(() => {\r\n this.smDataService.offlinePostFailList = offlinePostFailList.result;\r\n this.smDataService.haveOfflinePostFail = (this.smDataService.offlinePostFailList.length > 0 ? true : 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
\r\n\r\n\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nimport { PortalSettingsService } from '../services/portal-settings.service';\r\nimport { PortalSettings } from '../../pages/account/services/account.service';\r\n\r\nexport const anonPortalSettingsResolver: ResolveFn = () => {\r\n let portalSettingsService = inject(PortalSettingsService);\r\n return portalSettingsService.fetchAnonPortalSettings();\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { EmployeeInfoService } from '../services/employee-info.service';\r\nimport { LanguagePackService } from '../services/language-pack.service';\r\n\r\nexport const employeeInfoResolver: ResolveFn = () => {\r\n let employeeInfoService = inject(EmployeeInfoService);\r\n let languagePackService = inject(LanguagePackService);\r\n let http = inject(HttpClient);\r\n if (employeeInfoService.getEmployeeInfo() == null) {\r\n return http.get('/Employee/GetInfo')\r\n .toPromise()\r\n .then((response) => {\r\n employeeInfoService.setEmployeeInfo(response);\r\n var employeeInfo = employeeInfoService.getEmployeeInfo();\r\n if (employeeInfo != null) {\r\n return http.get('/Employee/GetLanguagePack?language=' + employeeInfo.LanguageCode)\r\n .toPromise()\r\n .then((languageResponse) => {\r\n languagePackService.setLanguagePack(languageResponse);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { HomeService } from '../../pages/home/services/home.service';\r\nimport { PortalModulesService } from '../services/portal-modules.service';\r\n\r\nexport const portalModulesResolver: ResolveFn = () => {\r\n let homeService = inject(HomeService);\r\n let portalModulesService = inject(PortalModulesService);\r\n if (portalModulesService.getPortalModules() == null) {\r\n return homeService.getModules().then(modules => {\r\n portalModulesService.setPortalModules(modules);\r\n });\r\n }\r\n return portalModulesService.getPortalModules();\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nimport { PortalSettingsService } from '../services/portal-settings.service';\r\nimport { PortalSettings } from '../../pages/account/services/account.service';\r\n\r\nexport const portalSettingsResolver: ResolveFn = () => {\r\n let portalSettingsService = inject(PortalSettingsService);\r\n return portalSettingsService.fetchPortalSettings();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Connection, hubConnection, Proxy } from 'signalr-no-jquery';\r\nimport { EventService, HRIMServerEvents } from './event.service';\r\nimport { NotificationsService } from './notifications.service';\r\nimport { AccountService } from '../../pages/account/services/account.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AngularSignalRService {\r\n private connection: Connection;\r\n private proxyHub: Proxy;\r\n private eventName: string[];\r\n private ServerEvents: Map = this.objToMap(HRIMServerEvents);\r\n\r\n constructor(private eventService: EventService,\r\n private notificationsService: NotificationsService,\r\n private accountService: AccountService) { }\r\n\r\n public async establishHub(proxyhubname: string) {\r\n let isLoggedIn = await this.accountService.GetIsLoggedIn();\r\n if (!isLoggedIn) {\r\n // it's ok to never connect when the user isn't logged in\r\n // upon login the angular app will restart and this value will be re-evaluated\r\n return;\r\n }\r\n this.connection = hubConnection();\r\n this.proxyHub = this.connection.createHubProxy(proxyhubname);\r\n this.eventName = this.mapKeys(this.ServerEvents);\r\n this.registerOnServerEvents();\r\n this.startConnection();\r\n this.RegisterReConnect();\r\n }\r\n\r\n public stopConnection(): void {\r\n if (this.connection) {\r\n this.connection.stop();\r\n this.connection = undefined;\r\n }\r\n }\r\n\r\n private startConnection(): void {\r\n this.connection.start()\r\n .fail((error: any) => this.notificationsService.log(`Could not connect: ${error}`, 'signalR'));\r\n }\r\n\r\n //Mozilla SignalR disconnection issue\r\n private RegisterReConnect(): void {\r\n if (!navigator.onLine)\r\n return;\r\n\r\n this.connection.disconnected(() => this.DisconnectedCallback())\r\n }\r\n\r\n private DisconnectedCallback(): void {\r\n //try to reconnect every 10 seconds, not the best solution but much better than before\r\n setInterval(() => this.AttemptReconnect(), 10000)\r\n }\r\n\r\n private AttemptReconnect(): void {\r\n if (!this.connection)\r\n return;\r\n\r\n this.connection\r\n .start()\r\n .done(() => this.registerOnServerEvents());\r\n }\r\n\r\n private registerOnServerEvents(): void {\r\n this.eventName.forEach((event: string) => {\r\n this.proxyHub.on(event, (messageData: any) => setTimeout(() => this.emitLocalEvent(event, messageData), 0));\r\n });\r\n }\r\n\r\n private emitLocalEvent(event: string, messageData: any): void {\r\n let sr_event = this.ServerEvents.get(event);\r\n if (!sr_event)\r\n return;\r\n\r\n this.eventService.broadcast(sr_event, messageData);\r\n }\r\n\r\n // would love for this method to be in utility service, but it's not available here\r\n public objToMap(theObject: Object): Map {\r\n const map = new Map();\r\n for (let key in theObject) {\r\n //TypeScript does not allow enum keys to be numeric\r\n if (!isNaN(Number(key))) continue;\r\n\r\n const val = theObject[key] as string;\r\n\r\n //TypeScript does not allow enum value to be null or undefined\r\n if (val !== undefined && val !== null)\r\n map.set(key, val);\r\n }\r\n\r\n return map;\r\n }\r\n\r\n // would love for this method to be in utility service, but it's not available here\r\n public mapKeys(map: Map): string[] {\r\n return Array.from(map.keys());\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EmployeeInfoService {\r\n private EmployeeInfo;\r\n constructor() { }\r\n\r\n public setEmployeeInfo(value) {\r\n this.EmployeeInfo = value;\r\n }\r\n\r\n public getEmployeeInfo() {\r\n return this.EmployeeInfo;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class EventService {\r\n public eventHandler: Subject = new Subject();\r\n\r\n broadcast(eventName: string, data?: any) {\r\n this.eventHandler.next({ eventName, data });\r\n }\r\n\r\n on(eventName: string, callback: any): Subscription {\r\n return this.eventHandler\r\n .pipe(filter((event) => event.eventName === eventName))\r\n .subscribe(callback);\r\n }\r\n\r\n // Server Events\r\n onDownloadCompleteReceived(callback: (uniqueID: string) => void): Subscription {\r\n return this.on(HRIMServerEvents.downloadComplete, (event: any) => {\r\n callback(event.data.uniqueID);\r\n });\r\n }\r\n\r\n onSendProgressCountReceived(callback: (current: number, total: number, uniqueID: string) => void): Subscription {\r\n return this.on(HRIMServerEvents.sendProgressCount, (event: any) => {\r\n callback(event.data.current, event.data.total, event.data.uniqueID);\r\n });\r\n }\r\n\r\n onSendProgressFileName(callback: (fileName: string, uniqueID: string) => void): Subscription {\r\n return this.on(HRIMServerEvents.sendProgressFileName, (event: any) => {\r\n callback(event.data.fileName, event.data.uniqueID);\r\n });\r\n }\r\n\r\n onSendLogoutSignalReceived(callback: () => void): Subscription {\r\n return this.on(HRIMServerEvents.sendLogoutSignal, () => {\r\n callback();\r\n });\r\n }\r\n\r\n onSendApprovalCountReceived(callback: (approval: string, count: number) => void): Subscription {\r\n return this.on(HRIMServerEvents.sendApprovalCount, (event: any) => {\r\n callback(event.data.approval, event.data.count);\r\n })\r\n }\r\n\r\n onSendPortalSettingsUpdateReceived(callback: () => void): Subscription {\r\n return this.on(HRIMServerEvents.sendPortalSettingsUpdate, () => {\r\n callback();\r\n });\r\n }\r\n\r\n // Browser Events\r\n openSpinner(msg: string, showProgress: boolean, uniqueID: string) {\r\n this.broadcast(HRIMBrowserEvents.openSpinner, { msg, showProgress, uniqueID });\r\n }\r\n\r\n onOpenSpinnerReceived(callback: (msg: string, showProgress: boolean, uniqueID: string) => void): Subscription {\r\n return this.on(HRIMBrowserEvents.openSpinner, (event: any) => {\r\n callback(event.data.msg, event.data.showProgress, event.data.uniqueID);\r\n })\r\n }\r\n\r\n updateSpinnerMsg(msg: string, uniqueID: string) {\r\n this.broadcast(HRIMBrowserEvents.updateSpinnerMsg, { msg, uniqueID });\r\n }\r\n\r\n onUpdateSpinnerMsg(callback: (msg: string, uniqueID: string) => void): Subscription {\r\n return this.on(HRIMBrowserEvents.updateSpinnerMsg, (event: any) => {\r\n callback(event.data.msg, event.data.uniqueID);\r\n });\r\n }\r\n\r\n closeSpinner(uniqueID: string) {\r\n this.broadcast(HRIMBrowserEvents.closeSpinner, { uniqueID });\r\n }\r\n\r\n onCloseSpinnerReceived(callback: (uniqueID: string) => void): Subscription {\r\n return this.on(HRIMBrowserEvents.closeSpinner, (event: any) => {\r\n callback(event.data.uniqueID);\r\n });\r\n }\r\n\r\n updateProgressSpinnerCount (current: number, total: number, uniqueID: string) {\r\n this.broadcast(HRIMServerEvents.sendProgressCount, { current, total, uniqueID });\r\n }\r\n}\r\n\r\nexport const HRIMServerEvents = {\r\n downloadComplete: \"Server_DownloadComplete\",\r\n sendProgressFileName: \"Server_SendProgressFileName\",\r\n sendProgressCount: \"Server_SendProgressCount\",\r\n sendLogoutSignal: \"Server_SendLogoutSignal\",\r\n sendApprovalCount: \"Server_SendApprovalCount\",\r\n sendPortalSettingsUpdate: \"Server_SendPortalSettingsUpdate\"\r\n} as const\r\n\r\nexport const HRIMBrowserEvents = {\r\n modulesChanged: \"Local_modulesChanged\",\r\n approvedTimecardsChanged: \"Local_approvedTimecardsChanged\",\r\n approvedBenefitMinus: \"Local_approvedBenefitMinus\",\r\n approvedDependentChanged: \"Local_approvedDependentChanged\",\r\n approvedTimeoffChanged: \"Local_approvedTimeoffChanged\",\r\n productionApprovalChanged: \"Local_productionApprovalChanged\",\r\n openSpinner: \"Local_openSpinner\",\r\n closeSpinner: \"Local_closeSpinner\",\r\n updateSpinnerMsg: \"Local_updateSpinnerMsg\"\r\n} as const\r\n\r\nexport const GlobalSpinnerMessages = {\r\n loading: \"Loading...\",\r\n pleaseWait: \"Please wait...\",\r\n processing: \"Please wait while the page is processing...\",\r\n retrieved: \"Please wait while your document is retrieved...\",\r\n} as const","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LanguagePackService {\r\n private LanguagePack;\r\n constructor() { }\r\n\r\n public setLanguagePack(value) {\r\n this.LanguagePack = value;\r\n }\r\n\r\n public getLanguagePack() {\r\n return this.LanguagePack;\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationsService {\r\n notifications: NotificationElement[] = [];\r\n successConfigOptions: any = { progressBar: true };\r\n errorConfigOptions: any = { closeButton: true, tapToDismiss: true, disableTimeOut: true };\r\n warningConfigOptions: any = { closeButton: true, tapToDismiss: true, disableTimeOut: true };\r\n\r\n constructor(private toastr: ToastrService) { }\r\n\r\n showSuccess(message: string) {\r\n this.toastr.success(message, null, this.successConfigOptions);\r\n }\r\n\r\n showError(message: string, url: string) {\r\n this.log(message, url);\r\n this.toastr.error(message.substring(0, 500), null, this.errorConfigOptions);\r\n }\r\n\r\n showWarning(message: string) {\r\n this.toastr.warning(message, null, this.warningConfigOptions);\r\n }\r\n\r\n getNotifications(): NotificationElement[] {\r\n return this.notifications;\r\n }\r\n\r\n clearNotifications() {\r\n this.toastr.clear();\r\n }\r\n\r\n log(message: string, url: string) {\r\n this.notifications.push(new NotificationElement(message, url));\r\n }\r\n}\r\n\r\nexport class NotificationElement {\r\n public dateTimeStamp: Date;\r\n public url: string;\r\n public message: string;\r\n\r\n constructor(message: string, url: string) {\r\n this.dateTimeStamp = new Date();\r\n this.url = url;\r\n this.message = message;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HomeService } from '../../pages/home/services/home.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PortalModulesService {\r\n modules: any = null;\r\n\r\n constructor(private homeService: HomeService) { }\r\n\r\n public setPortalModules(value: any) {\r\n this.modules = value;\r\n return this.modules;\r\n }\r\n\r\n public getPortalModules() {\r\n return this.modules;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport { AccountService, PortalSettings } from '../../pages/account/services/account.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PortalSettingsService {\r\n private PortalSettings: PortalSettings | null = null;\r\n private portalSettingsAreStale: boolean = false;\r\n private portalSettingsSubject = new BehaviorSubject(null);\r\n public portalSettings$ = this.portalSettingsSubject.asObservable();\r\n\r\n\r\n constructor(private accountService: AccountService) {}\r\n\r\n\r\n public getPortalSettings(): PortalSettings {\r\n return this.PortalSettings;\r\n }\r\n\r\n public setPortalSettingsAreStale () {\r\n this.portalSettingsAreStale = true;\r\n }\r\n\r\n public async fetchPortalSettings(): Promise {\r\n return await this.fetchAndSetPortalSettings(() => this.accountService.getPortalSettings());\r\n }\r\n\r\n public fetchAnonPortalSettings(): Promise {\r\n return this.fetchAndSetPortalSettings(() => this.accountService.getAnonPortalSettings());\r\n }\r\n\r\n private async fetchAndSetPortalSettings (endpoint: () => Promise): Promise {\r\n if (this.portalSettingsAreStale || this.PortalSettings === null) { \r\n this.PortalSettings = await endpoint();\r\n this.updateSettings(this.PortalSettings);\r\n this.portalSettingsAreStale = false;\r\n }\r\n return this.PortalSettings;\r\n }\r\n\r\n private updateSettings(newSettings: PortalSettings) {\r\n this.portalSettingsSubject.next(newSettings);\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { Connection, hubConnection, Proxy } from 'signalr-no-jquery';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalRService {\r\n private connection: Connection;\r\n private proxyHub: Proxy;\r\n downloadCompletedEvent = new EventEmitter();\r\n connectionEvent = new EventEmitter();\r\n logoutEvent = new EventEmitter();\r\n sendProgressFileNameEvent = new EventEmitter();\r\n sendProgressCountEvent = new EventEmitter(); \r\n private eventName: any;\r\n\r\n constructor() { }\r\n\r\n public establishHub(proxyhubname: string, eventNames: string | string[]) {\r\n this.connection = hubConnection();\r\n this.proxyHub = this.connection.createHubProxy(proxyhubname);\r\n this.eventName = Array.isArray(eventNames) ? eventNames : [eventNames];\r\n this.registerOnserverEvents();\r\n this.startConnection();\r\n this.reConnect();\r\n }\r\n\r\n public stopConnection(): void {\r\n if (this.connection) {\r\n this.connection.stop();\r\n this.connection = undefined;\r\n }\r\n }\r\n\r\n private startConnection(): void {\r\n this.connection.start()\r\n .done(() => {\r\n this.connectionEvent.emit();\r\n })\r\n .fail((error: any) => {\r\n console.log('Could not connect' + error);\r\n });\r\n }\r\n\r\n //Mozilla SignalR disconnection issue\r\n private reConnect(): void {\r\n if (navigator.onLine) {\r\n this.connection.disconnected(() => {\r\n setInterval(() => {\r\n if (this.connection) {\r\n this.connection.start().done(() => {\r\n this.eventName.forEach((event: string) => {\r\n this.proxyHub.on(event, (filename: string, count: number) => {\r\n setTimeout(() => {\r\n if (event == 'downloadComplete') {\r\n this.downloadCompletedEvent.emit(filename);\r\n }\r\n else if (event == 'sendProgressFileName') {\r\n this.sendProgressFileNameEvent.emit(filename);\r\n }\r\n else if (event == 'sendProgressCount') {\r\n this.sendProgressCountEvent.emit({ filename, count });\r\n }\r\n else {\r\n this.logoutEvent.emit(filename);\r\n }\r\n });\r\n });\r\n });\r\n })\r\n }\r\n }, 10000) //try to reconnect every 10 seconds, not the best solution but much better than before\r\n })\r\n };\r\n }\r\n\r\n private registerOnserverEvents(): void {\r\n this.eventName.forEach((event: string) => {\r\n this.proxyHub.on(event, (filename: string, count: number) => {\r\n setTimeout(() => {\r\n if (event == 'downloadComplete') {\r\n this.downloadCompletedEvent.emit(filename);\r\n }\r\n else if (event == 'sendProgressFileName') {\r\n this.sendProgressFileNameEvent.emit(filename);\r\n }\r\n else if (event == 'sendProgressCount') {\r\n this.sendProgressCountEvent.emit({ filename, count });\r\n }\r\n else {\r\n this.logoutEvent.emit(filename);\r\n }\r\n }, 1000);\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpinnerService {\r\n\r\n constructor() { }\r\n\r\n public openModal() {\r\n let modal = document.getElementById('modal');\r\n let fade = document.getElementById('fade');\r\n if (modal && fade) {\r\n modal.style.display = 'block';\r\n modal.style.left = (window.innerWidth - 200) / 2 + 'px';\r\n fade.style.display = 'block';\r\n }\r\n }\r\n\r\n public closeModal() {\r\n let modal = document.getElementById('modal');\r\n let fade = document.getElementById('fade');\r\n if (modal && fade) {\r\n modal.style.display = 'none';\r\n fade.style.display = 'none';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PortalSettingsService } from './portal-settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimeParserService {\r\n\tportalSettings: any;\r\n\ttime24HourMode: boolean;\r\n\r\n\tconstructor(portalSettingsService: PortalSettingsService) {\r\n\t\tportalSettingsService.portalSettings$.subscribe(latestSettings => {\r\n\t\t\tthis.portalSettings = latestSettings;\r\n\t\t});\r\n\t\tthis.time24HourMode = this.portalSettings.Timecard24Hours.ConfigValue == \"1\";\r\n }\r\n\r\n parseTime(str: any) {\r\n\t\tvar DateJs = Date;\r\n try {\r\n if (str == '' || str == null) return null;\r\n return DateJs.parseExact(str, \"HH\") || DateJs.parseExact(str, \"H\")\r\n || DateJs.parseExact(str, \"hh:mm tt\")\r\n || DateJs.parseExact(str, \"h:mm tt\")\r\n || DateJs.parseExact(str, \"h:mmtt\")\r\n || DateJs.parseExact(str, \"h:mm\")\r\n || DateJs.parseExact(str, \"h tt\")\r\n || DateJs.parseExact(str, \"htt\")\r\n || DateJs.parseExact(str, \"h\")\r\n || DateJs.parseExact(str, \"HH:mm\");\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n\r\n parseStartStop(value: any, mode: string, strict: boolean = false) {\r\n\t\tif (value != null && value != \"\") {\r\n\t\t\tif (value.length > 8) {\r\n\t\t\t\tvalue = value.substr(value.lastIndexOf(\" \") + 1);\r\n\t\t\t}\r\n\t\t\tlet timeStr = value;\r\n\t\t\ttimeStr = timeStr.trim().replace(\" \", \"\");\r\n\t\t\tlet timeOfDay = timeStr.toUpperCase().indexOf('A') != -1\r\n\t\t\t\t? 'AM'\r\n\t\t\t\t: timeStr.toUpperCase().indexOf('P') != -1\r\n\t\t\t\t\t? 'PM' : null;\r\n\t\t\t//detect non-colon time\r\n\t\t\tif (timeOfDay == null && timeStr.trim().length > 2 && timeStr.indexOf(\":\") == -1) {\r\n\t\t\t\ttimeStr = timeStr.slice(0, timeStr.length - 2) + \":\" + timeStr.slice(timeStr.length - 2);\r\n\t\t\t}\r\n\t\t\telse if (timeStr.length > 4 && timeStr.indexOf(\":\") == -1) {\r\n\t\t\t\tlet tempTimeStr = timeStr.toLowerCase();\r\n\t\t\t\ttempTimeStr = tempTimeStr.replace(\" \", \"\").replace(\"am\", \"\").replace(\"pm\", \"\").trim();\r\n\t\t\t\ttempTimeStr = tempTimeStr.slice(0, tempTimeStr.length - 2) + \":\" + tempTimeStr.slice(tempTimeStr.length - 2);\r\n\t\t\t\ttimeStr = tempTimeStr + \" \" + timeOfDay;\r\n\t\t\t}\r\n\t\t\tlet timeObj = this.parseTime(timeStr);\r\n\t\t\tlet isValid = timeStr != '' && timeObj != null;\r\n\t\t\tif (isValid) {\r\n\t\t\t\t//Adjust time of new entries based on if the entry was Start or Stop\r\n\t\t\t\tif (timeOfDay == null && !this.time24HourMode) {\r\n\t\t\t\t\tif (mode == \"StartTime\") {\r\n\t\t\t\t\t\t//hours format\r\n\t\t\t\t\t\tif (timeStr >= 1 && timeStr <= 5) {\r\n\t\t\t\t\t\t\ttimeObj.addHours(12);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//colon format\r\n\t\t\t\t\t\tlet tempTimeStr = timeStr.replace(\":\", \"\");\r\n\t\t\t\t\t\tif (tempTimeStr >= 100 && tempTimeStr <= 559) {\r\n\t\t\t\t\t\t\ttimeObj.addHours(12);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (mode == \"StopTime\") {\r\n\t\t\t\t\t\t//hours format\r\n\t\t\t\t\t\tif (timeStr >= 1 && timeStr <= 8) {\r\n\t\t\t\t\t\t\ttimeObj.addHours(12);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//colon format\r\n\t\t\t\t\t\tlet tempTimeStr = timeStr.replace(\":\", \"\");\r\n\t\t\t\t\t\tif (tempTimeStr >= 100 && tempTimeStr <= 859) {\r\n\t\t\t\t\t\t\ttimeObj.addHours(12);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tlet newTimeStr;\r\n\t\t\t\tif (this.time24HourMode)\r\n\t\t\t\t\tnewTimeStr = timeObj.toString('HH:mm');\r\n\t\t\t\telse\r\n\t\t\t\t\tnewTimeStr = timeObj.toString('hh:mm tt');\r\n\t\t\t\tif (timeStr != newTimeStr) {\r\n\t\t\t\t\treturn newTimeStr\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (strict)\r\n\t\t\t\treturn \"Invalid Time\";\r\n\r\n\t\t\treturn timeStr;\r\n\t\t}\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\tconvertTimeString(timeStr) {\r\n\t\tlet hours = parseInt(timeStr.substr(0, timeStr.indexOf(\":\")));\r\n\t\tlet minutes = parseInt(timeStr.substr(timeStr.indexOf(\":\") + 1, 2));\r\n\t\tif (timeStr.indexOf(\"PM\") > -1) {\r\n\t\t\t//do not add 12 to noon\r\n\t\t\tif (hours != 12)\r\n\t\t\t\thours += 12\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//handle midnight\r\n\t\t\tif (hours == 12) {\r\n\t\t\t\thours = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn hours + minutes / 60;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { EmployeeInfoService } from './employee-info.service';\r\nimport { EventService } from './event.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TimeoutModalComponent } from '../../modals/shared/timeout-modal/timeout-modal.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimeoutService {\r\n\r\n //How frequently to check for session expiration in milliseconds\r\n private sess_pollInterval: number = 10000;\r\n //Minutes the session is valid\r\n private sess_expiration: number;\r\n //Minutes before the warning\r\n private sess_warning: number;\r\n private sess_lastActivity: Date;\r\n private sess_intervalID: any;\r\n private timeoutModalOpen: boolean;\r\n private sess_timedout: boolean;\r\n private isSaving: boolean;\r\n private refreshingTimeout: boolean;\r\n private http: HttpClient;\r\n private employeeInfo: any;\r\n\r\n\r\n constructor(http: HttpClient, employeeInfoService: EmployeeInfoService,\r\n private eventService: EventService, private ngbModalService: NgbModal) {\r\n this.http = http;\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n initializeTimeoutConfig() {\r\n this.http.get(\r\n \"/Admin/GetTimeoutLength\").subscribe((response) => {\r\n var timeoutConfig = response;\r\n this.initTimeout(timeoutConfig);\r\n });\r\n }\r\n\r\n\r\n initTimeout(timeoutConfig: any) {\r\n this.sess_expiration = timeoutConfig;\r\n this.sess_warning = timeoutConfig - 1;\r\n this.initializeTimeout();\r\n }\r\n\r\n sessionTimedOut() {\r\n return this.sess_timedout;\r\n }\r\n\r\n\r\n private initializeTimeout() {\r\n this.sess_lastActivity = new Date();\r\n this.setTimeoutInterval();\r\n }\r\n\r\n private setTimeoutInterval() {\r\n this.sess_intervalID = setInterval(this.timeoutInterval, this.sess_pollInterval);\r\n }\r\n\r\n\r\n private clearTimeoutInterval() {\r\n clearInterval(this.sess_intervalID);\r\n }\r\n\r\n refreshSession() {\r\n this.refreshSessionInternal();\r\n }\r\n\r\n private refreshSessionInternal() {\r\n this.http.post(\"/Account/Refresh\", null, { responseType: 'text' }).subscribe((response: any) => {\r\n this.timeoutModalOpen = false;\r\n this.refreshTimeoutInternal();\r\n });\r\n }\r\n\r\n refreshTimeout() {\r\n this.sess_timedout = false;\r\n this.refreshTimeoutInternal();\r\n }\r\n\r\n private refreshTimeoutInternal() {\r\n this.refreshingTimeout = true;\r\n this.clearTimeoutInterval();\r\n\r\n this.http.get(\"/Admin/GetTimeoutLength\").subscribe((response) => {\r\n var timeoutConfig = Number(response.toString());\r\n this.sess_expiration = timeoutConfig;\r\n this.sess_warning = timeoutConfig - 1;\r\n this.initializeTimeout();\r\n this.refreshingTimeout = false;\r\n });\r\n }\r\n\r\n getLastActivityTime() {\r\n var now = new Date();\r\n var diff = now.valueOf() - this.sess_lastActivity.valueOf();\r\n return diff / 1000 / 60;\r\n }\r\n\r\n getTimeoutConfig() {\r\n return this.sess_expiration;\r\n }\r\n\r\n getRefreshingTimeout() {\r\n return this.refreshingTimeout;\r\n }\r\n\r\n private timeoutInterval = () => {\r\n var now = new Date();\r\n var diff = now.valueOf() - this.sess_lastActivity.valueOf();\r\n var diffMins = (diff / 1000 / 60);\r\n\r\n if (diffMins >= this.sess_warning) {\r\n this.sess_timedout = true;\r\n if (!this.isSaving) {\r\n this.eventService.broadcast('saveTimecard');\r\n this.isSaving = true;\r\n }\r\n if (!this.timeoutModalOpen) {\r\n this.timeoutModalOpen = true;\r\n let modalRef = this.ngbModalService.open(TimeoutModalComponent, { size: 'sm', backdrop: 'static', keyboard: false });\r\n\r\n modalRef.result.then((result) => {\r\n if (result == 'refresh') {\r\n this.refreshSession();\r\n }\r\n else if (result == 'logout') {\r\n this.clearTimeoutInterval();\r\n this.timeoutModalOpen = false;\r\n window.location.href = \"/Account/Logout\";\r\n }\r\n });\r\n }\r\n\r\n if (diffMins >= this.sess_expiration) {\r\n if (this.employeeInfo == null && document.referrer != null) {\r\n if (document.referrer.toLowerCase().indexOf(\"jobdetails\") > -1)\r\n window.location.href = \"/Account/Logout?timedOut=true&applicant=true\";\r\n else\r\n window.location.href = \"/Account/Logout?timedOut=true&onboard=true\";\r\n } else\r\n window.location.href = \"/Account/Logout?timedOut=true\";\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PortalSettingsService } from './portal-settings.service';\r\nimport { EmployeeInfoService } from './employee-info.service';\r\nimport { CurrencyMaskInputMode } from 'ngx-currency';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilityService {\r\n portalSettings: any;\r\n employeeInfo: any;\r\n isLoggedOut: boolean = false;\r\n\r\n constructor(portalSettingsService: PortalSettingsService, employeeInfoService: EmployeeInfoService) {\r\n portalSettingsService.portalSettings$.subscribe(latestSettings => {\r\n this.portalSettings = latestSettings;\r\n });\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n public getDeviceType() {\r\n const ua = navigator.userAgent;\r\n\r\n if (/(tablet|ipad|playbook|silk|Macintosh)|(android(?!.*mobi))/i.test(ua)) {\r\n return \"tablet\";\r\n }\r\n if (/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {\r\n return \"mobile\";\r\n }\r\n return \"desktop\";\r\n };\r\n\r\n public isMobileMode() {\r\n if (typeof window.orientation !== \"undefined\")\r\n return true;\r\n var check = false;\r\n ((a) => { if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) check = true })(navigator.userAgent || navigator.vendor);\r\n return check;\r\n }\r\n\r\n public getDateFormat() {\r\n if (this.portalSettings.CountryDateCode.ConfigValue == \"AU\" || this.portalSettings.CountryDateCode.ConfigValue == \"CAN\") {\r\n return \"dd/MM/yyyy\";\r\n }\r\n else {\r\n return \"MM/dd/yyyy\";\r\n }\r\n };\r\n\r\n public formatDate (date: Date, day: string, month: string, year: string) {\r\n let dateFormat: string = '';\r\n\r\n if (this.portalSettings.CountryDateCode.ConfigValue == \"AU\" || this.portalSettings.CountryDateCode.ConfigValue == \"CAN\") {\r\n dateFormat = `${day}/${month}/${year}`;\r\n }\r\n else {\r\n dateFormat = `${month}/${day}/${year}`;\r\n }\r\n return moment(date).utc().format(dateFormat);\r\n };\r\n\r\n public getDefaultDatepickerOptions(){\r\n let format = this.getDateFormat();\r\n return {\r\n dateInputFormat: format.toUpperCase(),\r\n containerClass: \"theme-blue\",\r\n showTodayButton: true,\r\n showClearButton: true,\r\n clearPosition: \"left\",\r\n showWeekNumbers: false\r\n };\r\n }\r\n\r\n public getTimeSpanInterval() {\r\n let intervalConfig = parseInt(this.portalSettings.TimeSpanInterval.ConfigValue);\r\n if (intervalConfig != 15 && intervalConfig != 30 && intervalConfig != 60) {\r\n intervalConfig = 0;\r\n }\r\n return intervalConfig;\r\n }\r\n\r\n public fadeLabel(status) {\r\n let hour = new Date().getHours();\r\n let APM = \" AM\";\r\n let hourStr, minStr;\r\n hourStr = hour.toString();\r\n if (hour == 24) { hour = 0; APM = \" PM\"; }\r\n if (hour == 12) { APM = \" PM\"; }\r\n if (hour > 12) { hour = hour - 12; APM = \" PM\"; }\r\n if (hour < 10) { hourStr = \"0\" + hour.toString(); }\r\n let min = new Date().getMinutes();\r\n minStr = min.toString();\r\n if (min < 10) { minStr = \"0\" + min.toString() };\r\n let sec = new Date().getSeconds();\r\n if (sec < 10) { minStr = \"0\" + sec.toString() };\r\n return ({ status: (status ? \"success\" : \"danger\"), time: hourStr + \":\" + minStr + \":\" + sec + APM });\r\n }\r\n\r\n public formatAttachmentName(fileName) {\r\n return fileName.substr(0, fileName.lastIndexOf('.')).replace(/[^a-zA-Z0-9]/gi, '') + fileName.substr(fileName.lastIndexOf('.'), fileName.length);\r\n }\r\n\r\n public openModal() {\r\n document.getElementById('modal').style.display = 'block';\r\n document.getElementById('modal').style.left = (window.innerWidth - 200) / 2 + 'px';\r\n document.getElementById('modal').style.top = (window.scrollY + window.outerHeight * 0.3) + 'px';\r\n document.getElementById('fade').style.display = 'block';\r\n }\r\n\r\n public closeModal() {\r\n document.getElementById('modal').style.display = 'none';\r\n document.getElementById('fade').style.display = 'none';\r\n }\r\n\r\n public getCurrencySymbol() {\r\n var currencyFormatSymbols = this.portalSettings.CurrencyFormatPerPRCo.ConfigValue;\r\n\r\n var currencySymbol = \"$\";\r\n if (currencyFormatSymbols && currencyFormatSymbols.trim() !== \"\") {\r\n currencyFormatSymbols.split(\",\").forEach((val: string) => {\r\n var arrayEntry = val.split(\":\");\r\n var currencyObject = { PRCo: parseInt(arrayEntry[0]), Currency: arrayEntry[1] }\r\n if (this.employeeInfo && currencyObject.PRCo == this.employeeInfo.PRCo) {\r\n currencySymbol = currencyObject.Currency;\r\n }\r\n });\r\n }\r\n\r\n return currencySymbol;\r\n }\r\n\r\n public rdlNameList() {\r\n return {\r\n \"BenefitWindowAuditOverride\": \"BenefitWindowAuditReport.rdl\", \"CrewTimecardReportName\": \"HRIM_CrewTimecard.rdl\", \"DRTOverrideRDL\": \"HRIM_DailyTimeReport.rdl\",\r\n \"DailyHuddleRDLOverRide\": \"HRIM_HuddleDHCompliance.rdl\", \"DailyHuddleTPRDLOverRide\": \"HRIM_HuddleTPCompliance.rdl\", \"DailyReportSSRSOverride\": \"HRIM_DailyReport.rdl\",\r\n \"JCDetailRDLOverride\": \"JCDetail.rdl\", \"JobApprovalReportOverride\": \"HRIM_JobApproval.rdl\", \"POPendingSSRSOverride\": \"HRIM_PendingPurchaseOrder.rdl\", \"JCDetailRDLOverrideNexGen\": \"JobCostDetail.rdl\",\r\n \"POSSRSOverride\": \"HRIM_PurchaseOrder.rdl\", \"RDLOverride\": \"HRIM_ExpenseReport.rdl\", \"ShippingLabelRDLOverride\": \"HRIM_ShippingLabel.rdl\",\r\n \"TimecardRptName\": \"HRIM_Timecard.rdl\", \"TotalCompRptName\": \"HRTotalCompensation.rdl\", \"TrainingRosterRDLOverride\": \"HRIM_TrainingRoster.rdl\", \"TimecardAuditOverride\": \"HRIM_TimecardAudit.rdl\",\r\n \"TrainingTranscriptRDLOverride\": \"HRIM_TrainingTranscript.rdl\", \"WorkCompleteRDL\": \"HRIM_SMWorkCompleted.rdl\", \"SMForm\": \"HRIM_SMForm.rdl\", \"1\": \"1095CIndividual.rdl\", \"2\": \"BenefitExport.rdl\", \"3\": \"BenefitsGrid.rdl\", \"4\": \"ChecklistExport.rdl\",\r\n \"5\": \"HRIM_ADGetPaperConsent.rdl\", \"6\": \"HRIM_ApplicantSummary.rdl\", \"7\": \"HRIM_BulletinExport.rdl\", \"8\": \"HRIM_Checklist.rdl\", \"10\": \"HRIM_DailySchedulePrint.rdl\",\r\n \"11\": \"HRIM_DailyTimecardPrint.rdl\", \"22\": \"HRIM_I9.rdl\", \"12\": \"HRIM_I9Page2.rdl\", \"13\": \"HRIM_JobTemplate.rdl\", \"14\": \"HRIM_OnBoarding.rdl\", \"15\": \"HRIM_PerformanceGraph.rdl\",\r\n \"16\": \"HRIM_PerformanceReview.rdl\", \"17\": \"HRIM_PerformanceTabular.rdl\", \"18\": \"HRIM_ReqSummary.rdl\", \"19\": \"HRIM_SelfIdentify.rdl\", \"20\": \"HRIM_TrainingExport.rdl\",\r\n \"21\": \"HRIM_UnapprovedBenefitRequests.rdl\", \"23\": \"HRIM_W4.rdl\", \"24\": \"HRIM_W4es.rdl\", \"25\": \"HRIM_W4Template.rdl\", \"28\": \"HRIM_W4_2020.rdl\",\r\n \"30\": \"HRIM_ApplicantExport.rdl\", \"31\": \"HRIM_ApplicantActiveStatusSummary.rdl\", \"32\": \"HRIM_ApplicantDemographics.rdl\", \"33\": \"HRIM_ApplicantSourcing.rdl\",\r\n \"34\": \"HRIM_ApplicantTimeToHire.rdl\", \"35\": \"HRIM_SelfIdentify_2020.rdl\", \"36\": \"HRIM_ApplicantOfferToHire.rdl\", \"37\": \"1095CIndividual2020.rdl\", \"38\": \"HRIM_SelfIdentify_2023.rdl\",\r\n \"39\": \"HRIM_I9Nov2023.rdl\", \"40\": \"HRIM_I9SupA.rdl\", \"41\": \"HRIM_I9SupB.rdl\"\r\n };\r\n }\r\n\r\n public fileExtensionIsValid (fileName: string) {\r\n const startingIndex = fileName.lastIndexOf('.');\r\n let fileExtension = fileName.toLowerCase();\r\n if (startingIndex !== -1) {\r\n fileExtension = fileExtension.substring(startingIndex).toLowerCase().substring(1);\r\n } \r\n const fileTypes = [\r\n 'pdf',\r\n 'jpg', 'jpeg', 'png', 'gif', 'tiff', 'tif', 'bmp',\r\n 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pps', 'pptx', 'ppsx', 'sldx',\r\n 'msg',\r\n 'txt', 'csv', 'rtf',\r\n 'odt',\r\n 'ods',\r\n 'odp'\r\n ];\r\n return fileTypes.includes(fileExtension.toLowerCase())\r\n }\r\n\r\n public base64ArrayBuffer(arrayBuffer: any) {\r\n var base64 = ''\r\n var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\r\n\r\n var bytes = new Uint8Array(arrayBuffer)\r\n var byteLength = bytes.byteLength\r\n var byteRemainder = byteLength % 3\r\n var mainLength = byteLength - byteRemainder\r\n\r\n var a, b, c, d\r\n var chunk\r\n\r\n // Main loop deals with bytes in chunks of 3\r\n for (var i = 0; i < mainLength; i = i + 3) {\r\n // Combine the three bytes into a single integer\r\n chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]\r\n\r\n // Use bitmasks to extract 6-bit segments from the triplet\r\n a = (chunk & 16515072) >> 18 // 16515072 = (2^6 - 1) << 18\r\n b = (chunk & 258048) >> 12 // 258048 = (2^6 - 1) << 12\r\n c = (chunk & 4032) >> 6 // 4032 = (2^6 - 1) << 6\r\n d = chunk & 63 // 63 = 2^6 - 1\r\n\r\n // Convert the raw binary segments to the appropriate ASCII encoding\r\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]\r\n }\r\n\r\n // Deal with the remaining bytes and padding\r\n if (byteRemainder == 1) {\r\n chunk = bytes[mainLength]\r\n\r\n a = (chunk & 252) >> 2 // 252 = (2^6 - 1) << 2\r\n\r\n // Set the 4 least significant bits to zero\r\n b = (chunk & 3) << 4 // 3 = 2^2 - 1\r\n\r\n base64 += encodings[a] + encodings[b] + '=='\r\n } else if (byteRemainder == 2) {\r\n chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]\r\n\r\n a = (chunk & 64512) >> 10 // 64512 = (2^6 - 1) << 10\r\n b = (chunk & 1008) >> 4 // 1008 = (2^6 - 1) << 4\r\n\r\n // Set the 2 least significant bits to zero\r\n c = (chunk & 15) << 2 // 15 = 2^4 - 1\r\n\r\n base64 += encodings[a] + encodings[b] + encodings[c] + '='\r\n }\r\n\r\n return base64\r\n }\r\n\r\n public xmlToJson(xml) {\r\n // Create the return object\r\n var obj: { [key: string]: any };\r\n obj = {};\r\n if (xml.nodeType == 1) { // element\r\n // do attributes\r\n if (xml.attributes.length > 0) {\r\n obj[\"attributes\"] = {};\r\n for (var j = 0; j < xml.attributes.length; j++) {\r\n var attribute = xml.attributes.item(j);\r\n obj[\"attributes\"][attribute.nodeName] = attribute.nodeValue;\r\n }\r\n }\r\n } else if (xml.nodeType == 3) { // text\r\n obj = xml.nodeValue;\r\n }\r\n // do children\r\n if (xml.hasChildNodes()) {\r\n for (var i = 0; i < xml.childNodes.length; i++) {\r\n var item = xml.childNodes.item(i);\r\n var nodeName = item.nodeName;\r\n if (typeof (obj[nodeName]) == \"undefined\") {\r\n obj[nodeName] = this.xmlToJson(item);\r\n } else {\r\n if (typeof (obj[nodeName].push) == \"undefined\") {\r\n var old = obj[nodeName];\r\n obj[nodeName] = [];\r\n obj[nodeName].push(old);\r\n }\r\n obj[nodeName].push(this.xmlToJson(item));\r\n }\r\n }\r\n }\r\n return obj;\r\n };\r\n\r\n public hexToRgb(hex) {\r\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n }\r\n\r\n public createGuid(): string {\r\n return uuidv4();\r\n }\r\n\r\n public checkIsGuid(data) {\r\n var regexGuid = /^(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}$/gi;\r\n return regexGuid.test(data);\r\n }\r\n\r\n public parseLowerCaseUrl(url: string) {\r\n let urlSegment = \"\";\r\n let hashSegment = \"\";\r\n let hashIndex = url.indexOf('#');\r\n if (hashIndex > -1) {\r\n urlSegment = url.substring(0, hashIndex);\r\n hashSegment = url.substring(hashIndex + 1);\r\n }\r\n else\r\n urlSegment = url;\r\n var routeRegex = /^([/][A-Za-z]+)([/][A-Za-z]+)?/;\r\n var routeMatch = routeRegex.exec(urlSegment);\r\n if (routeMatch != null) {\r\n urlSegment = urlSegment.replace(routeMatch[0], routeMatch[0].toLowerCase());\r\n }\r\n return { route: urlSegment, fragment: hashSegment };\r\n }\r\n\r\n public getCookieValue (name: string): string | null {\r\n const cookies = document.cookie.split(';').map(cookie => cookie.trim());\r\n for (const cookie of cookies) {\r\n const [cookieName, cookieValue] = cookie.split('=');\r\n if (cookieName === name) {\r\n return cookieValue;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n public deleteCookie (name: string): void {\r\n document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT`;\r\n }\r\n\r\n public checkSafari() {\r\n var userAgent = navigator.userAgent;\r\n return /Safari\\//.test(userAgent) && !/(Chrome\\/|Android\\s)/.test(userAgent);\r\n }\r\n\r\n public getDefaultCurrencyMaskOptions(precision: any) {\r\n let currencySymbol = this.getCurrencySymbol();\r\n return {\r\n align: 'left',\r\n allowNegative: true,\r\n prefix: currencySymbol,\r\n precision: precision,\r\n nullable: true,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n };\r\n }\r\n\r\n public validateEmail(email: string) {\r\n var re: RegExp = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/i;\r\n return re.test(email);\r\n }\r\n\r\n public noFilter (term: string, item: any): boolean {\r\n // Used with ng-select [searchFn] to disable automatic\r\n // dropdown filtering when keyword filtering is done on the backend.\r\n // There is no native configuration to disable dropdown filtering on ng-select.\r\n return true;\r\n }\r\n\r\n /**\r\n * Checks if the file size meets the given byte limit.\r\n * \r\n * @param file - file to check size of\r\n * @param byteLimit - default is 10 MB (10485760 bytes)\r\n * @returns True if the file size is less than or equal to the specified byte limit.\r\n */\r\n public meetsFileSizeLimit (file: File, byteLimit: number = 10485760): boolean {\r\n return file.size <= byteLimit\r\n }\r\n\r\n public isPrivateMode() {\r\n var storageTestKey = 'sTest'\r\n try {\r\n window.sessionStorage.setItem(storageTestKey, 'test');\r\n window.sessionStorage.removeItem(storageTestKey);\r\n return false;\r\n } catch (e) {\r\n if (e.code == DOMException.QUOTA_EXCEEDED_ERR && window.sessionStorage.length == 0) {\r\n return true\r\n } else {\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n public updateFileType(files: any) {\r\n files.forEach((val: any) => {\r\n if (/\\.(jpe?g|png|gif|bmp|tif?f)$/i.test(val.Filename)) {\r\n val.Type = \"Photo\";\r\n } else {\r\n val.Type = \"file\";\r\n }\r\n });\r\n return files;\r\n }\r\n\r\n public getBrowserLanguage() {\r\n return navigator.language !== \"undefined\" ? navigator.language : \"en-US\";\r\n }\r\n\r\n public fileIsNotViewable (fileName: string): boolean {\r\n const startingIndex = fileName.lastIndexOf('.');\r\n let fileExtension = fileName.toLowerCase();\r\n if (startingIndex !== -1) {\r\n fileExtension = fileExtension.substring(startingIndex).toLowerCase().substring(1);\r\n } \r\n const nonViewableFileTypes: string[] = [\r\n 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pps', 'pptx', 'ppsx', 'sldx',\r\n 'msg', 'txt', 'csv', 'rtf',\r\n 'odt',\r\n 'ods',\r\n 'odp'\r\n ];\r\n return nonViewableFileTypes.includes(fileExtension);\r\n }\r\n\r\n public humanReadableFileSize(bytes, si = false, dp = 1): string {\r\n const thresh = si ? 1000 : 1024;\r\n\r\n if (Math.abs(bytes) < thresh) {\r\n return bytes + ' B';\r\n }\r\n\r\n const units = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n let u = -1;\r\n const r = 10 ** dp;\r\n\r\n do {\r\n bytes /= thresh;\r\n ++u;\r\n } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);\r\n\r\n return bytes.toFixed(dp) + ' ' + units[u];\r\n }\r\n}","import { ErrorHandler, Injectable, Injector, Inject } from \"@angular/core\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { NotificationsService } from \"../core/services/notifications.service\";\r\nimport { PortalModulesService } from \"../core/services/portal-modules.service\";\r\nimport { SpinnerService } from \"../core/services/spinner.service\";\r\n\r\n@Injectable()\r\nexport class GlobalErrorInterceptor extends ErrorHandler {\r\n constructor(@Inject(Injector) private injector: Injector) {\r\n super();\r\n }\r\n\r\n //for pages that do not include in module list, add the path here\r\n private readonly extraPaths = ['/account/login', '/home/bulletin', '/office', '/careers'];\r\n\r\n private get notificationsService(): NotificationsService {\r\n return this.injector.get(NotificationsService);\r\n }\r\n\r\n private get portalModulesService(): PortalModulesService {\r\n return this.injector.get(PortalModulesService);\r\n }\r\n\r\n private get spinnerService(): SpinnerService {\r\n return this.injector.get(SpinnerService);\r\n }\r\n\r\n handleError(error: any) {\r\n this.spinnerService.closeModal();\r\n if (!(error instanceof HttpErrorResponse)) {\r\n if (error.rejection)\r\n error = error.rejection;\r\n }\r\n\r\n if (error) {\r\n let pageUrl = window.location.pathname;\r\n let modules = this.portalModulesService.getPortalModules();\r\n let currentModule, isAcceptablePath;\r\n\r\n currentModule = modules?.find(module => pageUrl.toLowerCase().indexOf(module.ModuleActionName.toLowerCase()) > -1);\r\n\r\n if (currentModule == null)\r\n isAcceptablePath = this.extraPaths.find(path => pageUrl.toLowerCase().indexOf(path.toLowerCase()) > -1);\r\n\r\n if (currentModule?.UseGlobalErrorHandler || isAcceptablePath) {\r\n this.notificationsService.showError(error.error?.error ?? \"An error has occurred\", error.url);\r\n }\r\n super.handleError(error);\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n/** Pass untouched request through to the next request handler. */\r\n@Injectable()\r\nexport class XSRFHeaderInterceptor implements HttpInterceptor {\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const modifiedReq = req.clone({\r\n headers: req.headers\r\n .set(\r\n \"X-XSRF-Token\",\r\n $('input[name=\"__RequestVerificationToken\"]').val().toString()\r\n )\r\n .set(\"Cache-Control\", \"no-cache\")\r\n .set(\"Pragma\", \"no-cache\"),\r\n });\r\n return next.handle(modifiedReq);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n//services\r\nimport { TimeoutService } from '../../core/services/timeout.service';\r\n\r\n@Component({\r\n selector: 'app-home-layout',\r\n templateUrl: './home-layout.component.html',\r\n styleUrls: ['./home-layout.component.css']\r\n})\r\n\r\nexport class HomeLayoutComponent implements OnInit {\r\n\r\n constructor(private timeoutService: TimeoutService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.timeoutService.initializeTimeoutConfig();\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ngfModule } from 'angular-file';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AppRoutingModule } from '.././app-routing.module';\r\nimport { HomeLayoutComponent } from './home-layout/home-layout.component';\r\nimport { OnboardingLayoutComponent } from './onboarding-layout/onboarding-layout.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ModalsModule } from '../modals/modals.module';\r\nimport { NavigationComponent } from '../core/components/navigation/navigation.component';\r\nimport { OfficeNavComponent } from '../core/components/office-nav/office-nav.component';\r\nimport { OfficeLayoutComponent } from './office-layout/office-layout.component';\r\nimport { SmNavComponent } from '../core/components/sm-nav/sm-nav.component';\r\nimport { SmLayoutComponent } from './sm-layout/sm-layout.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n OnboardingLayoutComponent,\r\n NavigationComponent,\r\n HomeLayoutComponent,\r\n OfficeNavComponent,\r\n OfficeLayoutComponent,\r\n SmNavComponent,\r\n SmLayoutComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ModalsModule,\r\n AppRoutingModule,\r\n ngfModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n HomeLayoutComponent,\r\n OnboardingLayoutComponent,\r\n OfficeLayoutComponent,\r\n SmLayoutComponent\r\n ]\r\n})\r\nexport class LayoutModule { }\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n//services\r\nimport { TimeoutService } from '../../core/services/timeout.service';\r\n\r\n@Component({\r\n selector: 'app-office-layout',\r\n templateUrl: './office-layout.component.html',\r\n styleUrls: ['./office-layout.component.css']\r\n})\r\nexport class OfficeLayoutComponent implements OnInit {\r\n noNav: boolean;\r\n\r\n constructor(private timeoutService: TimeoutService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (window.location.pathname == \"/reportgateway/index\")\r\n this.noNav = true;\r\n this.timeoutService.initializeTimeoutConfig();\r\n }\r\n}\r\n","\r\n\r\n","import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { PortalSettingsService } from '../../core/services/portal-settings.service';\r\nimport { EventService } from 'src/app/core/services/event.service';\r\nimport { HomeService } from '../../pages/home/services/home.service';\r\nimport { UtilityService } from '../../core/services/utility.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-onboarding-layout',\r\n templateUrl: './onboarding-layout.component.html',\r\n styleUrls: ['./onboarding-layout.component.css']\r\n})\r\nexport class OnboardingLayoutComponent implements OnInit, OnDestroy {\r\n @ViewChild('logout') logoutNav: ElementRef;\r\n portalSettings: any;\r\n isSafari: boolean = false;\r\n isMobileIos: any;\r\n showLogout: boolean = false;\r\n showAT: boolean = false;\r\n showON: boolean = false;\r\n oNLogoCo: number;\r\n portalName: string;\r\n logoUrl: string;\r\n isExternalJobsiteBrowseJobs: boolean = false;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(portalSettingsService: PortalSettingsService,\r\n private homeService: HomeService,\r\n private eventService: EventService,\r\n private utilityService: UtilityService)\r\n {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.oNLogoCo = this.portalSettings.OnboardingLogoCo.ConfigValue;\r\n this.isSafari = this.utilityService.checkSafari();\r\n this.isMobileIos = navigator.userAgent.match(/(iPad|iPhone|iPod touch);.*(OS 7_|OS 8_|OS 9_|OS 10_|OS 11_|OS 12_\\d)/i);\r\n if (this.isMobileIos != null && this.isSafari) {\r\n $('#NavBar').addClass('mobileSafari');\r\n }\r\n this.logoUrl = \"/Company/GetLogo?co=\" + this.oNLogoCo + \"&size=S\";\r\n var locationPathName = window.location.pathname.toLowerCase();\r\n if (locationPathName.indexOf(\"welcome\") == -1) {\r\n this.showLogout = true;\r\n }\r\n if (locationPathName.indexOf(\"browsejobs\") > 0 || locationPathName.indexOf(\"jobdetails\") > 0) {\r\n this.isExternalJobsiteBrowseJobs = true;\r\n }\r\n this.subscriptions.push(this.eventService.on('ISAT', () => this.ISAT()));\r\n this.subscriptions.push(this.eventService.on('ISON', () => this.ISON()));\r\n this.getPortalName();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach(sub => sub?.unsubscribe());\r\n }\r\n\r\n private ISAT() {\r\n this.showAT = true;\r\n setTimeout(() => {\r\n this.logoutNav.nativeElement.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.utilityService.isLoggedOut = true;\r\n window.location.href = this.logoutNav.nativeElement.href;\r\n });\r\n });\r\n this.showON = false;\r\n }\r\n\r\n private ISON() {\r\n this.showAT = false;\r\n this.showON = true;\r\n }\r\n\r\n getPortalName() {\r\n this.homeService.getPortalName(this.oNLogoCo).then((response) => {\r\n this.portalName = response == \"\" ? null : response;\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n//services\r\nimport { TimeoutService } from '../../core/services/timeout.service';\r\n@Component({\r\n selector: 'app-sm-layout',\r\n templateUrl: './sm-layout.component.html',\r\n styleUrls: ['./sm-layout.component.css']\r\n})\r\nexport class SmLayoutComponent {\r\n\r\n constructor(private timeoutService: TimeoutService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.timeoutService.initializeTimeoutConfig();\r\n }\r\n}","\r\n","
\r\n \r\n

Choose company for onboarding:

\r\n
\r\n\r\n","import { Component, Input, OnInit, Output } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-login-onboard-co-pick-modal',\r\n templateUrl: './login-onboard-co-pick-modal.component.html',\r\n styleUrls: ['./login-onboard-co-pick-modal.component.css']\r\n})\r\nexport class LoginOnboardCoPickModalComponent {\r\n\r\n @Input() companies: any;\r\n constructor(private activeModal: NgbActiveModal) {}\r\n\r\n itemClicked(prco: number) {\r\n this.activeModal.close(prco);\r\n }\r\n\r\n close() {\r\n this.activeModal.close();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-delete-bulletin-modal',\r\n templateUrl: './delete-bulletin-modal.component.html',\r\n styleUrls: ['./delete-bulletin-modal.component.css']\r\n})\r\nexport class DeleteBulletinModalComponent {\r\n @Input() bulletinHeader: string;\r\n\r\n constructor(private ngbActiveModal:NgbActiveModal) { }\r\n\r\n deleteClicked() {\r\n this.ngbActiveModal.close('delete');\r\n };\r\n\r\n cancelClicked() {\r\n this.ngbActiveModal.close('cancel');\r\n };\r\n\r\n}\r\n","
\r\n

Delete Bulletin

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

\r\n Are you sure you want to delete the bulletin \"{{bulletinHeader}}\" ?\r\n

\r\n
\r\n\r\n
\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-delete-user-group-members-modal',\r\n templateUrl: './delete-user-group-members-modal.component.html',\r\n styleUrls: ['./delete-user-group-members-modal.component.css']\r\n})\r\nexport class DeleteUserGroupMembersModalComponent implements OnInit {\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n deleteClicked() {\r\n this.ngbActiveModal.close(\"delete\");\r\n}\r\n\r\n cancelClicked() {\r\n this.ngbActiveModal.close(\"cancel\");\r\n }\r\n}\r\n","
\r\n

Delete Category

\r\n
\r\n
\r\n Are you sure you to DELETE this category?\r\n
\r\n
\r\n \r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { catchError, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\nimport { OrderByPipe } from './../../../../shared/pipe/order-by.pipe';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { concat } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-edit-vendor-modal',\r\n templateUrl: './edit-vendor-modal.component.html',\r\n styleUrls: ['./edit-vendor-modal.component.css']\r\n})\r\nexport class EditVendorModalComponent implements OnInit {\r\n @Input() data: any;\r\n orderByPipe: any;\r\n selectedPRGroup: any = {};\r\n prGroupObservables: any = {};\r\n alert: { [key: string]: any } = {}\r\n\r\n constructor(private employeeService: EmployeeService, public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.orderByPipe = new OrderByPipe();\r\n this.registerObservables();\r\n this.alert = null;\r\n }\r\n\r\n registerObservables() {\r\n this.prGroupObservables[\"prGroupInput$\"] = new Subject();\r\n this.prGroupObservables[\"prGroup$\"] = new Observable();\r\n this.prGroupObservables[\"prGroup$\"] = concat(\r\n this.prGroupObservables[\"prGroupInput$\"].pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n switchMap(async (term: any) => {\r\n let result: any = await this.employeeService.getVendors(term).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\"};\r\n });\r\n result.forEach((val: any, key) => {\r\n val.VendorFullName = val.VendorName + \" (Group \" + val.VendorGroup + \")\";\r\n })\r\n return result;\r\n })\r\n )\r\n );\r\n }\r\n\r\n public saveClicked() {\r\n this.data.ExpenseAPVMKeyID = this.selectedPRGroup.Value.APVMKeyID;\r\n this.activeModal.close(\"save\");\r\n };\r\n\r\n public cancelClicked() {\r\n this.activeModal.close(\"cancel\");\r\n };\r\n}\r\n","
\r\n

Update Vendor

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventService } from '../../../../core/services/event.service';\r\nimport { concat } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-expense-approval-modal',\r\n templateUrl: './expense-approval-modal.component.html',\r\n styleUrls: ['./expense-approval-modal.component.css']\r\n})\r\nexport class ExpenseApprovalModalComponent implements OnInit {\r\n @Input() data: any; //was alldata\r\n @Input() mode: any;\r\n @Input() currentPageData: any;\r\n @Input() single: any;\r\n portalSettings: any;\r\n formData: { [key: string]: any } = {};\r\n allCount: number;\r\n pageCount: number;\r\n submitString: string;\r\n Reviewer: any;\r\n reviewerList: any;\r\n ReviewerOnSubmit: boolean;\r\n isRequestSubmitted: boolean;\r\n multi: boolean;\r\n approverList: any;\r\n reviewerObservables: any = {};\r\n\r\n constructor(portalSettingsService: PortalSettingsService, private employeeService: EmployeeService, public activeModal: NgbActiveModal, private eventService: EventService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formData.Notes = null;\r\n this.allCount = 0;\r\n this.pageCount = 0;\r\n this.submitString = \"\";\r\n this.formData.selectedReviewer = {};\r\n this.Reviewer = [];\r\n this.reviewerList = [];\r\n this.ReviewerOnSubmit = this.portalSettings.ReviewerOnSubmit.ConfigValue == \"1\";\r\n this.isRequestSubmitted = false;\r\n\r\n if (this.single != null && this.ReviewerOnSubmit)\r\n this.GetApprovalHistoryByItem();\r\n\r\n this.data.forEach((val: any) => {\r\n if (val.Selected)\r\n this.allCount++;\r\n });\r\n\r\n this.currentPageData.forEach((val: any) => {\r\n if (val.Selected)\r\n this.pageCount++;\r\n });\r\n\r\n if (this.pageCount < this.allCount && this.single == null)\r\n this.multi = true;\r\n else\r\n this.multi = false;\r\n }\r\n\r\n registerObservables() {\r\n this.reviewerObservables[\"ReviewerInput$\"] = new Subject();\r\n this.reviewerObservables[\"Reviewer$\"] = concat(\r\n this.reviewerObservables[\"ReviewerInput$\"].pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n switchMap(async (term: any) => {\r\n let result: any = await this.employeeService.getReviewers(this.formData.selectedReviewer.Label);\r\n return result;\r\n })\r\n )\r\n );\r\n }\r\n\r\n private GetApprovalHistoryByItem() {\r\n this.employeeService.getApprovalHistoryByItem(this.single.ReceiptItemID).then((response: any) => {\r\n this.approverList = response;\r\n })\r\n }\r\n\r\n public addReviewer() {\r\n this.reviewerList.push({ reviewer: this.formData.selectedReviewer.Value, reviewerName: this.formData.selectedReviewer.Label });\r\n this.formData.selectedReviewer = null;\r\n }\r\n\r\n public pageClicked(type) {\r\n this.isRequestSubmitted = true;\r\n this.submitString = \"\";\r\n if (this.single == null) {\r\n let count = 0;\r\n this.data.forEach((val: any) => {\r\n if (val.Selected) {\r\n this.submitString += val.ReceiptItemID + \",\";\r\n count++;\r\n }\r\n });\r\n } else {\r\n this.submitString = this.single.ReceiptItemID;\r\n }\r\n if (type == \"A\" && this.reviewerList.length > 0) {\r\n this.employeeService.addReviewer(this.reviewerList[0].reviewer.Reviewer, this.submitString, null).then((response: any) => {\r\n this.employeeService.approveItems(this.submitString, type, this.formData.Notes).then((response2: any) => {\r\n this.activeModal.close({ status: response2.success, type: type, error: response2.error });\r\n });\r\n });\r\n } else {\r\n this.employeeService.approveItems(this.submitString, type, this.formData.Notes).then((response: any) => {\r\n this.activeModal.close({ status: response.success, type: type, error: response.error });\r\n });\r\n }\r\n }\r\n\r\n public cancelClicked() {\r\n this.activeModal.close();\r\n }\r\n}\r\n","
\r\n

Expense Approval

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

You are about to approvereject multiple expense receipts.

\r\n

0\">Selected receipts on this page: {{pageCount}}

\r\n

All unapproved receipts: {{allCount}}

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

This action will approvereject the selected expense receipt(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 \r\n
","
\r\n

Manage Expense Categories

\r\n Save Successful - {{lastSave.time}}\r\n Save Fail - {{lastSave.time}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Please add a category from the top.
\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
Category Name
Active
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-manage-cat-modal',\r\n templateUrl: './manage-cat-modal.component.html',\r\n styleUrls: ['./manage-cat-modal.component.css']\r\n})\r\nexport class ManageCatModalComponent implements OnInit {\r\n formData: { [key: string]: any } = {};\r\n catList: any;\r\n lastSave: { [key: string]: any } = {};\r\n labelFade: any;\r\n\r\n constructor(private utilityService: UtilityService, private employeeService: EmployeeService, public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.getCat();\r\n }\r\n\r\n public getCat() {\r\n this.employeeService.getCategory().then((response: any) => {\r\n this.catList = response;\r\n })\r\n }\r\n\r\n public deleteTrigger(data, type) {\r\n if (type == \"yes\")\r\n data.deleteTrigger = true;\r\n else\r\n data.deleteTrigger = false;\r\n }\r\n\r\n public addCat() {\r\n this.employeeService.catgAddEdit(-1, this.formData.newName, true).then((response: any) => {\r\n this.saveLabel(response.success);\r\n this.formData.newName = null;\r\n this.getCat();\r\n })\r\n }\r\n\r\n public updateCat(data) {\r\n this.employeeService.catgAddEdit(data.ExpenseCatgID, data.ExpenseCatgName, data.IsActive).then((response: any) => {\r\n this.saveLabel(response.success);\r\n })\r\n }\r\n\r\n public deleteCat(data) {\r\n this.employeeService.catgDelete(data.ExpenseCatgID).then((response: any) => {\r\n this.saveLabel(response.success);\r\n this.getCat();\r\n })\r\n }\r\n\r\n public saveLabel(status: boolean) {\r\n this.labelFade = false;\r\n this.lastSave = this.utilityService.fadeLabel(status);\r\n setTimeout(() => {\r\n this.labelFade = true;\r\n }, 2000);\r\n }\r\n\r\n public closeClicked() {\r\n this.activeModal.close();\r\n }\r\n}\r\n","
\r\n

Manage Mileage Rates

\r\n Save Successful - {{lastSave.time}}\r\n Save Fail - {{lastSave.time}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Please add a mileage rate from the top.
\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
PRCo
\r\n
\r\n
Mileage Rate
\r\n
\r\n
Rate 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
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { OrderByPipe } from './../../../../shared/pipe/order-by.pipe';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventService } from '../../../../core/services/event.service';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-manage-mileage-rate-modal',\r\n templateUrl: './manage-mileage-rate-modal.component.html',\r\n styleUrls: ['./manage-mileage-rate-modal.component.css']\r\n})\r\nexport class ManageMileageRateModalComponent implements OnInit {\r\n formData: { [key: string]: any } = {};\r\n rateList: any;\r\n lastSave: { [key: string]: any } = {};\r\n labelFade: any;\r\n\r\n constructor(private utilityService: UtilityService, private employeeService: EmployeeService, public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.getRate()\r\n }\r\n\r\n public getRate() {\r\n this.employeeService.getMileageRate().then((response: any) => {\r\n this.rateList = response;\r\n })\r\n }\r\n\r\n public deleteTrigger(data, type) {\r\n if (type == \"yes\")\r\n data.deleteTrigger = true;\r\n else\r\n data.deleteTrigger = false;\r\n }\r\n\r\n public addEditCat(data?: any) {\r\n this.employeeService.addEditMileageRate((data == null ? -1 : data.ExpenseMileageRateID), (data == null ? this.formData.newRate : data.MileageRate), (data == null ? this.formData.newDescription : data.RateDescription), (data == null ? this.formData.newPRCo : data.PRCo)).then((response: any) => {\r\n this.saveLabel(response.success);\r\n this.formData.newRate = null;\r\n this.formData.newDescription = null;\r\n this.formData.newPRCo = null;\r\n this.getRate();\r\n })\r\n }\r\n\r\n public deleteCat(data) {\r\n this.employeeService.deleteMileageRate(data.ExpenseMileageRateID).then((response: any) => {\r\n this.saveLabel(response.success);\r\n this.getRate();\r\n })\r\n }\r\n\r\n public saveLabel(status: boolean) {\r\n this.labelFade = false;\r\n this.lastSave = this.utilityService.fadeLabel(status);\r\n setTimeout(() => {\r\n this.labelFade = true;\r\n }, 2000);\r\n }\r\n\r\n public closeClicked() {\r\n this.activeModal.close();\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-process-expense-modal',\r\n templateUrl: './process-expense-modal.component.html',\r\n styleUrls: ['./process-expense-modal.component.css']\r\n})\r\nexport class ProcessExpenseModalComponent implements OnInit {\r\n @Input() data: any;\r\n @Input() prco: any;\r\n @Input() prGroup: any;\r\n @Input() type: any;\r\n portalSettings: any;\r\n monthFormat: string;\r\n exAddAPReftoPosting: boolean;\r\n showAPRef: boolean;\r\n formData: { [key: string]: any } = {};\r\n ProcessType: any;\r\n defaultEarnCode: any;\r\n approvedCount: number;\r\n unApprovedCount: number;\r\n sum: number;\r\n payPeriodList: any;\r\n paySeqList: any;\r\n earnCodeList: any;\r\n currencySymbol: string;\r\n submitString: any;\r\n datePickerOptionsMonth: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean; setViewMode: string };\r\n vendorList: any;\r\n alert: { [key: string]: any } = {}\r\n\r\n constructor(private employeeService: EmployeeService, public activeModal: NgbActiveModal, portalSettingsService: PortalSettingsService, private utilityService: UtilityService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.currencySymbol = this.utilityService.getCurrencySymbol();\r\n this.alert = null;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.datePickerOptionsMonth = { dateInputFormat: \"MM/YYYY\", containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false, setViewMode: \"month\" };\r\n this.exAddAPReftoPosting = this.portalSettings.ExAddAPReftoPosting.ConfigValue == \"1\"\r\n this.showAPRef = this.portalSettings.ExAddAPReftoPosting.ConfigValue == \"1\" && this.portalSettings.ExpensePostingType.ConfigValue.toLowerCase() != \"p\";\r\n this.formData.aPRef = null;\r\n this.ProcessType = this.type != \"C\" ? this.portalSettings.ExpensePostingType.ConfigValue : this.type;\r\n this.defaultEarnCode = this.portalSettings.EXCompanyEarnCodeMapping.ConfigValue;\r\n this.formData.SelectedPayPeriod = null;\r\n this.formData.SelectedPaySeq = null;\r\n this.formData.SelectedEarnCode = null;\r\n this.formData.SelectedVendor = null;\r\n this.approvedCount = 0;\r\n this.unApprovedCount = 0;\r\n this.sum = 0.0;\r\n this.submitString = \"\";\r\n\r\n this.data.forEach((val: any, key) => {\r\n if (val.Selected) { \r\n if (val.ReceiptStatusLabel == \"Approved\") {\r\n this.approvedCount++;\r\n } else {\r\n this.unApprovedCount++;\r\n }\r\n this.sum += val.ReceiptAmount;\r\n }\r\n })\r\n\r\n this.getPayPeriods();\r\n this.getEarnCodes();\r\n if (this.type == \"C\")\r\n this.getCreditCardVendors();\r\n }\r\n\r\n public getPayPeriods() {\r\n this.employeeService.getPayPeriods(this.prco, this.prGroup).then((response: any) => {\r\n this.payPeriodList = response;\r\n })\r\n }\r\n\r\n public getPaySeq() {\r\n this.employeeService.getPaySeq(this.formData.SelectedPayPeriod.PRPCKeyID).then((response: any) => {\r\n this.paySeqList = response;\r\n })\r\n }\r\n\r\n private getEarnCodes() {\r\n this.employeeService.getEarnCodes(this.prco).then((response: any) => {\r\n this.earnCodeList = response;\r\n this.earnCodeList.forEach((val: any, key) => {\r\n if (val.IsDefault)\r\n this.formData.SelectedEarnCode = val.EarnCode;\r\n val.DisplayName = val.EarnCode + ' - ' + val.EarnCodeDescription;\r\n });\r\n this.earnCodeList.unshift({\r\n EarnCode: null,\r\n EarnCodeDescription: \"Use Earn Code Specified on Expense Line\",\r\n IsDefault: false,\r\n DisplayName: \"Use Earn Code Specified on Expense Line\"\r\n\r\n });\r\n if (!this.formData.SelectedEarnCode) {\r\n this.formData.SelectedEarnCode = this.earnCodeList[0].EarnCode;\r\n }\r\n })\r\n }\r\n\r\n private getCreditCardVendors() {\r\n this.utilityService.openModal();\r\n this.employeeService.getCreditCardvendors(this.prco).then((response: any)=>{\r\n this.utilityService.closeModal();\r\n if (response != null && response.length > 0) {\r\n this.vendorList = response;\r\n this.formData.SelectedVendor = this.vendorList[0].KeyID;\r\n }\r\n });\r\n}\r\n\r\n public processClicked(method) {\r\n this.utilityService.openModal();\r\n\r\n var idsToSubmit = [];\r\n this.data.forEach((val: any, key) => {\r\n if (val.Selected) {\r\n if (!idsToSubmit.includes(val.ReceiptID)) {\r\n idsToSubmit.push(val.ReceiptID);\r\n }\r\n }\r\n })\r\n this.submitString = idsToSubmit.join(\",\");\r\n\r\n if (this.formData.selectedMonth != null) {\r\n if (this.formData.selectedMonth.getDate() > 1) {\r\n this.formData.selectedMonth = new Date(this.formData.selectedMonth.getFullYear(), this.formData.selectedMonth.getMonth(), 1);\r\n }\r\n }\r\n this.employeeService.processExpense(method, (this.formData.SelectedPayPeriod == null ? null : this.formData.SelectedPayPeriod.PRPCKeyID), this.formData.SelectedPaySeq,\r\n this.formData.SelectedEarnCode, this.submitString, this.prco, moment(this.formData.selectedMonth).format(\"YYYY-MM-DD\"), this.formData.aPRef, null, this.formData.SelectedVendor).then((response: any) => {\r\n this.utilityService.closeModal();\r\n this.activeModal.close(response);\r\n }).catch((error: any) => {\r\n this.utilityService.closeModal();\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\"};\r\n });\r\n }\r\n\r\n public onOpenCalendar(container) {\r\n container.monthSelectHandler = (event: any): void => {\r\n container._store.dispatch(container._actions.select(event.date));\r\n };\r\n container.setViewMode('month');\r\n }\r\n\r\n public cancelClicked() {\r\n this.activeModal.close();\r\n }\r\n}\r\n","
\r\n

Move to Batch

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Total # of Receipts Selected: {{approvedCount+unApprovedCount}}
\r\n
Total Cost of Receipts Selected: {{sum|currency:currencySymbol}}
\r\n
# of Approved Receipts: {{approvedCount}}
\r\n
# of Unapproved Receipts: {{unApprovedCount}}
\r\n
\r\n
\r\n
0\" class=\"alert alert-warning\" role=\"alert\">\r\n You have selected receipts that are not approved. If you process these receipts, the manager(s) of the\r\n unapproved employees will not be notified.\r\n
\r\n\r\n
\r\n All selected receipts have been approved and are ready for processing!\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Process Expenses via Payroll

\r\n
\r\n
\r\n
\r\n
\r\n This process will create a new timecard batch for the pay period and pay sequence selected\r\n below. Expense receipts selected will be moved to the batch for subsequent validation and\r\n processing in Vista.\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Process Expenses via AP

\r\n
\r\n
\r\n
\r\n This process will create a new AP transaction batch for subsequent validation and processing in\r\n Vista. Expense receipts selected will be moved to the batch as individual invoices for each submitted\r\n expense package.\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Process Credit Card Transactions

\r\n
\r\n
\r\n
\r\n This process will create a new AP transaction batch for subsequent validation and processing in\r\n Vista. A single invoice will be created with the each expense receipt as a detail line.\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\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
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { OrderByPipe } from './../../../../shared/pipe/order-by.pipe';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-re-process-expense-modal',\r\n templateUrl: './re-process-expense-modal.component.html',\r\n styleUrls: ['./re-process-expense-modal.component.css']\r\n})\r\nexport class ReProcessExpenseModalComponent implements OnInit {\r\n @Input() prco: any;\r\n @Input() prGroup: any;\r\n portalSettings: any;\r\n showAPRef: boolean;\r\n datePickerOptionsMonth: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean; setViewMode: string; adaptivePosition: boolean };\r\n formData: { [key: string]: any } = {};\r\n defaultEarnCode: any;\r\n ProcessType: any;\r\n payPeriodList: any;\r\n paySeqList: any;\r\n earnCodeList: any;\r\n batchListP: any;\r\n batchListA: any;\r\n batchListE: any;\r\n vendorList: any;\r\n alert: { [key: string]: any } = {}\r\n\r\n constructor(private employeeService: EmployeeService, public activeModal: NgbActiveModal, portalSettingsService: PortalSettingsService, private utilityService: UtilityService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.showAPRef = this.portalSettings.ExAddAPReftoPosting.ConfigValue == \"1\" && this.portalSettings.ExpensePostingType.ConfigValue.toLowerCase() != \"p\";\r\n this.datePickerOptionsMonth = { dateInputFormat: \"YYYY/MM\", containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false, setViewMode: \"month\", adaptivePosition: true };\r\n this.formData.aPRef = null;\r\n this.defaultEarnCode = this.portalSettings.EXCompanyEarnCodeMapping.ConfigValue;\r\n this.ProcessType = this.portalSettings.ExpensePostingType.ConfigValue;\r\n this.formData.SelectedBatchP = null;\r\n this.formData.SelectedBatchA = null;\r\n this.formData.SelectedPayPeriod = null;\r\n this.formData.SelectedPaySeq = null;\r\n this.formData.SelectedEarnCode = null;\r\n this.formData.SelectedVendor = null;\r\n this.getBatch();\r\n this.getPayPeriods();\r\n this.getEarnCodes();\r\n this.getCreditCardVendors();\r\n this.alert = null;\r\n }\r\n\r\n private getPayPeriods() {\r\n this.employeeService.getPayPeriods(this.prco, this.prGroup).then((response: any) => {\r\n this.payPeriodList = response;\r\n })\r\n }\r\n\r\n public getPaySeq() {\r\n this.employeeService.getPaySeq(this.formData.SelectedPayPeriod.PRPCKeyID).then((response: any) => {\r\n this.paySeqList = response\r\n })\r\n }\r\n\r\n private getEarnCodes() {\r\n this.employeeService.getEarnCodes(this.prco).then((response: any) => {\r\n this.earnCodeList = response;\r\n this.earnCodeList.forEach((val: any, key) => {\r\n if (val.IsDefault)\r\n this.formData.SelectedEarnCode = val.EarnCode;\r\n val.DisplayName = val.EarnCode + ' - ' + val.EarnCodeDescription;\r\n })\r\n this.earnCodeList.unshift({\r\n EarnCode: null,\r\n EarnCodeDescription: \"Use Earn Code Specified on Expense Line\",\r\n IsDefault: false,\r\n DisplayName: \"Use Earn Code Specified on Expense Line\"\r\n\r\n });\r\n if (!this.formData.SelectedEarnCode) {\r\n this.formData.SelectedEarnCode = this.earnCodeList[0].EarnCode;\r\n }\r\n })\r\n }\r\n\r\n private getCreditCardVendors() {\r\n this.utilityService.openModal();\r\n this.employeeService.getCreditCardvendors(this.prco).then((response: any) => {\r\n if (response != null && response.length > 0) {\r\n this.vendorList = response;\r\n this.formData.SelectedVendor = this.vendorList[0].KeyID;\r\n }\r\n this.utilityService.closeModal();\r\n });\r\n }\r\n\r\n private getBatch() {\r\n this.employeeService.getReprocessBatches(this.prco).then((response: any) => {\r\n this.batchListP = [];\r\n this.batchListA = [];\r\n this.batchListE = [];\r\n\r\n response.forEach((val: any, key) => {\r\n val.display = val.BatchID + ' - ' + val.BatchMthDisplay;\r\n if (val.BatchSource == \"P\")\r\n this.batchListP.push(val);\r\n else if (val.BatchSource == \"A\")\r\n this.batchListA.push(val);\r\n else\r\n this.batchListE.push(val);\r\n })\r\n if (this.batchListP.length < 1)\r\n this.batchListP.push({ display: \"No Batch\", HQBCKeyID: null });\r\n if (this.batchListA.length < 1)\r\n this.batchListA.push({ display: \"No Batch\", HQBCKeyID: null });\r\n if (this.batchListE.length < 1)\r\n this.batchListE.push({ display: \"No Batch\", HQBCKeyID: null });\r\n })\r\n }\r\n\r\n public processClicked(type) {\r\n this.utilityService.openModal();\r\n this.employeeService.processExpense(type, null, this.formData.SelectedPaySeq, this.formData.SelectedEarnCode, null, this.prco,\r\n (type == \"E\" ? moment(this.formData.selectedMonthE).format(\"YYYY-MM-DD\") : (type == \"A\" ? moment(this.formData.selectedMonthA).format(\"YYYY-MM-DD\") : \"null\")), this.formData.aPRef,\r\n (type == \"E\" ? this.formData.SelectedBatchE : (type == \"P\" ? this.formData.SelectedBatchP : this.formData.SelectedBatchA)), this.formData.SelectedVendor).then((response: any) => {\r\n this.utilityService.closeModal();\r\n this.activeModal.close(response);\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n this.utilityService.closeModal();\r\n });\r\n }\r\n\r\n public onOpenCalendar(container) {\r\n container.monthSelectHandler = (event: any): void => {\r\n container._store.dispatch(container._actions.select(event.date));\r\n };\r\n container.setViewMode('month');\r\n }\r\n\r\n public cancelClicked() {\r\n this.activeModal.close();\r\n }\r\n}","
\r\n

Reinitialize Batch

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Reprocess PR Expenses

\r\n
\r\n
\r\n
\r\n This process will create a new PR Timecard Entry batch with all expense transactions from the selected batch. Use this feature when you accidentally canceled a previous batch prior to finalization.\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Reprocess AP Expenses

\r\n
\r\n
\r\n
\r\n This process will create a new AP transaction batch containing all expense transactions from the selected batch. Use this feature when you accidentally canceled a previous batch prior to finalization.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Reprocess Credit Card Expenses

\r\n
\r\n
\r\n
\r\n This process will create a new Credit Card transaction batch containing all expense transactions from the selected batch. Use this feature when you accidentally canceled a previous batch prior to finalization.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\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
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventService } from '../../../../core/services/event.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-reset-approval-modal',\r\n templateUrl: './reset-approval-modal.component.html',\r\n styleUrls: ['./reset-approval-modal.component.css']\r\n})\r\nexport class ResetApprovalModalComponent {\r\n @Input() receiptID: any;\r\n @Input() receiptItemID: any;\r\n constructor(private employeeService: EmployeeService, public activeModal: NgbActiveModal, private eventService: EventService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public onClick(isItem: boolean) {\r\n this.employeeService.submitItems(this.receiptID, '', null, isItem ? this.receiptItemID : null)\r\n .then((response: any) => {\r\n this.activeModal.close({ success: response.success, error: null });\r\n })\r\n .catch((error: any) => {\r\n this.activeModal.close({ success: false, error: error.error });\r\n });\r\n }\r\n\r\n public cancelClicked() {\r\n this.activeModal.close();\r\n }\r\n}\r\n","
\r\n

Reset Approvers

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

This action will reset all existing approvals and regenerate the approval steps based on the currently assigned reviewers. To update only the line currently selected, choose \"Reset Approvers on Selected Line.\" To update all receipt lines on the associated receipt, choose \"Reset Approvers on Receipt.\"

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { OrderByPipe } from './../../../../shared/pipe/order-by.pipe';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-send-reminder-expense-modal',\r\n templateUrl: './send-reminder-expense-modal.component.html',\r\n styleUrls: ['./send-reminder-expense-modal.component.css']\r\n})\r\nexport class SendReminderExpenseModalComponent implements OnInit {\r\n @Input() prco: any;\r\n portalSettings: any;\r\n counter: number;\r\n ReminderEmailList: any;\r\n orderByPipe: any;\r\n filterBy: any;\r\n reverse: boolean;\r\n\r\n constructor(private employeeService: EmployeeService, public activeModal: NgbActiveModal, portalSettingsService: PortalSettingsService, private utilityService: UtilityService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.orderByPipe = new OrderByPipe();\r\n this.employeeService.getUnSubmittedExpenseReminder(false, this.prco).then((response: any) => {\r\n this.ReminderEmailList = [];\r\n response.forEach((val: any, key) => {\r\n if (val != null)\r\n this.ReminderEmailList.push(val);\r\n })\r\n\r\n if (this.ReminderEmailList != null) {\r\n this.ReminderEmailList = this.orderByPipe.transform(this.ReminderEmailList, \"FirstName\", this.reverse ? \"asc\" : \"desc\");\r\n this.counter = this.ReminderEmailList.length;\r\n }\r\n })\r\n }\r\n\r\n public reminderClicked() {\r\n this.utilityService.openModal();\r\n this.employeeService.getUnSubmittedExpenseReminder(true, this.prco).then((response: any) => {\r\n this.utilityService.closeModal();\r\n this.activeModal.close();\r\n });\r\n }\r\n\r\n public cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n public sortGridReminder(filterBy) {\r\n if (this.filterBy != filterBy) {\r\n this.filterBy = filterBy;\r\n this.reverse = false;\r\n } else {\r\n this.reverse = !this.reverse;\r\n }\r\n this.ReminderEmailList = this.orderByPipe.transform(this.ReminderEmailList, filterBy, this.reverse ? \"asc\" : \"desc\");\r\n }\r\n}\r\n","
\r\n

Send Email Reminder

\r\n
\r\n
\r\n
\r\n Employees with unsubmitted expenses\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 Employee\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n \r\n \r\n Name\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n \r\n \r\n Email\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n
{{data.Employee}}{{data.FirstName}} {{data.LastName}}{{data.Email}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{counter}} recipients will be notified.\r\n \r\n \r\n
","import { Component } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-override-modal',\r\n templateUrl: './override-modal.component.html',\r\n styleUrls: ['./override-modal.component.css']\r\n})\r\nexport class OverrideModalComponent {\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n closeClicked() {\r\n this.activeModal.close(\"close\");\r\n }\r\n}\r\n","
\r\n

SQL Choices Override Guide

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

\r\n This feature allows for advanced users to construct custom user group definitions using a SQL query.\r\n The query should be formatted in order to complete the following insert statement:\r\n

\r\n\r\n

\r\n INSERT UserGroupMemberPersist (UserGroupID, PRCo, Employee, EmployeeName)

\r\n\r\n The UserGroupID can be found in the URL of the current page. In the example below, the UserGroupID would be 1027.

\r\n https://myportal.keystyledata.com/Admin/ManageEmployeeGroups#/UserGroupID/1027

\r\n\r\n As an example query to show all active employees in PR Company 3:\r\n

\r\n\r\n

SELECT 1027, PRCo, Employee, FirstName + ' ' + LastName
from kPREH
where PRCo = 3 and ActiveYN = 'Y'

\r\n\r\n

Viewpoint Views are not supported.

\r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { OrderByPipe } from '../../../../shared/pipe/order-by.pipe';\r\n\r\n// services\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\nimport { AdminService } from '../../../../pages/admin/services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-preview-user-membership-modal',\r\n templateUrl: './preview-user-membership-modal.component.html',\r\n styleUrls: ['./preview-user-membership-modal.component.css']\r\n})\r\nexport class PreviewUserMembershipModalComponent {\r\n @Input() userGroupID: any;\r\n @Input() mode: string;\r\n @Input() name: string;\r\n\r\n nameFilter: string;\r\n isUpdatePersist: boolean;\r\n groupMembers: any;\r\n filteredMembers: any;\r\n filterBy: any;\r\n reverse: boolean;\r\n orderByPipe: OrderByPipe;\r\n isSafari: boolean = false;\r\n\r\n constructor(private activeModal: NgbActiveModal, private adminService: AdminService, private utilityService: UtilityService) {\r\n this.orderByPipe = new OrderByPipe();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.nameFilter = null;\r\n this.isUpdatePersist = this.mode == \"refresh\";\r\n this.groupMembers = [];\r\n\r\n this.adminService.previewUserGroupMembers(this.userGroupID, this.isUpdatePersist).then((response: any[]) => {\r\n if (response != null) {\r\n this.groupMembers = response;\r\n this.filteredMembers = this.groupMembers;\r\n } \r\n });\r\n this.isSafari = this.utilityService.checkSafari();\r\n }\r\n\r\n exportExcel() {\r\n var name = this.name;\r\n name = name.replace(/[^0-9a-z]/gi, '');\r\n window.location.href = \"/Admin/ExportUserGroupToExcel?userGroupID=\" + this.userGroupID + \"&isUpdatePersist=\" + this.isUpdatePersist + \"&userGroupName=\" + name;\r\n }\r\n\r\n filterChanged() {\r\n this.filterMembers();\r\n }\r\n\r\n sortGrid(filterBy: any) {\r\n if (this.filterBy != filterBy) {\r\n this.filterBy = filterBy;\r\n this.reverse = false;\r\n } else {\r\n this.reverse = !this.reverse;\r\n }\r\n this.filteredMembers = this.orderByPipe.transform(this.filteredMembers, this.filterBy, this.reverse ? \"desc\" : \"asc\");\r\n }\r\n\r\n filterMembers() {\r\n var filteredMembers = [];\r\n if (this.nameFilter == null || this.nameFilter == \"\") {\r\n this.filteredMembers = this.groupMembers;\r\n }\r\n else {\r\n this.groupMembers.forEach(val => {\r\n if (val.EmployeeName?.toLowerCase().indexOf(this.nameFilter.toLowerCase()) > -1) {\r\n filteredMembers.push(val);\r\n }\r\n });\r\n this.filteredMembers = filteredMembers;\r\n }\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close(\"close\");\r\n }\r\n}\r\n","
\r\n

User Group: {{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 \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Employee Name\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n \r\n \r\n PRCo\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n \r\n \r\n PRGroup\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n
{{member.Employee}} - {{member.EmployeeName}}{{member.PRCo}}{{member.PRGroup}}
\r\n
\r\n
\r\n
\r\n \r\n
","import { HttpParams } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AdminService, NamedLogin, PostResponse } from '../../../pages/admin/services/admin.service';\r\nimport { ConfirmModalComponent } from '../../shared/confirm-modal/confirm-modal.component';\r\n\r\n@Component({\r\n selector: 'app-named-login-setup-modal',\r\n templateUrl: './named-login-setup-modal.component.html',\r\n styleUrls: ['./named-login-setup-modal.component.css']\r\n})\r\n\r\nexport class NamedLoginSetupModalComponent implements OnInit {\r\n @ViewChild('changePasswordForm') changePasswordForm: NgForm;\r\n\r\n formData: {\r\n NamedLogin: string;\r\n Password: string;\r\n ConfirmPassword: string;\r\n };\r\n alert: { [key: string]: any } | null = null;;\r\n passwordsMatch: boolean = true;\r\n addUserMode: boolean = false;\r\n changePasswordMode: boolean = false;\r\n performingAction: boolean = false;\r\n loginLink: string = window.location.origin + \"/Account/NamedLogin\";\r\n users: NamedLogin[] = [];\r\n\r\n constructor(\r\n private readonly adminService: AdminService,\r\n private readonly activeModalService: NgbActiveModal,\r\n private readonly modalService: NgbModal,\r\n\r\n ) { }\r\n\r\n async ngOnInit(): Promise {\r\n this.getNamedLoginList();\r\n this.formData = { NamedLogin: '', Password: '', ConfirmPassword: '' };\r\n }\r\n\r\n getNamedLoginList () {\r\n this.adminService.getNamedLoginList().then((response) => {\r\n this.users = response;\r\n });\r\n }\r\n\r\n toggleAddUserMode (addUserMode) {\r\n this.addUserMode = addUserMode;\r\n }\r\n\r\n\r\n addUser () {\r\n this.performingAction = true;\r\n const params = new HttpParams()\r\n .set('NamedLogin', this.formData.NamedLogin)\r\n .set('Password', this.formData.Password)\r\n .set('ConfirmPassword', this.formData.ConfirmPassword);\r\n\r\n this.adminService.createNamedLogin(params).then((response: PostResponse) => {\r\n if (response.success) {\r\n const name = this.formData.NamedLogin;\r\n this.resetForm();\r\n this.alert = { type: \"success\", msg: \"User \" + name + \" has been added.\" };\r\n this.getNamedLoginList();\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n }\r\n this.performingAction = false;\r\n }).catch((error) => {\r\n this.performingAction = false;\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n\r\n removeUser (user) {\r\n const modalRef = this.modalService.open(ConfirmModalComponent, {\r\n size: \"s\",\r\n });\r\n modalRef.componentInstance.headerText = \"Update Manager\";\r\n modalRef.componentInstance.bodyText = `Are you sure you want to remove the user ${user.NamedLogin}?`;\r\n modalRef.componentInstance.confirmButtontext = \"Remove\";\r\n modalRef.componentInstance.cancelButtontext = \"Cancel\";\r\n modalRef.result.then((result: boolean) => {\r\n if (result === true) {\r\n this.performingAction = true;\r\n const params = new HttpParams()\r\n .set('NamedLogin', user.NamedLogin);\r\n\r\n this.adminService.removeNamedLogin(params).then((response: PostResponse) => {\r\n if (response.success) {\r\n this.alert = { type: \"success\", msg: \"User \" + user.NamedLogin + \" has been removed.\" };\r\n this.getNamedLoginList();\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n }\r\n this.performingAction = false\r\n });\r\n }\r\n }).catch((error) => {\r\n this.performingAction = false;\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n\r\n unlockUser (user) {\r\n this.performingAction = true;\r\n const params = new HttpParams()\r\n .set('userKeyID', user.UserKeyID);\r\n\r\n this.adminService.unlockUser(params).then((response: PostResponse) => {\r\n if (response.success) {\r\n this.alert = { type: \"success\", msg: \"User \" + user.NamedLogin + \" has been unlocked.\" };\r\n this.getNamedLoginList();\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n }\r\n this.performingAction = false\r\n }).catch((error) => {\r\n this.performingAction = false;\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n\r\n changePasswordEnable (user) {\r\n this.alert = null;\r\n this.formData = { NamedLogin: user.NamedLogin, Password: '', ConfirmPassword: '' };\r\n this.changePasswordMode = true;\r\n }\r\n\r\n changePassword () {\r\n if (!this.changePasswordForm.invalid) {\r\n this.performingAction = true;\r\n const params = new HttpParams()\r\n .set('NamedLogin', this.formData.NamedLogin)\r\n .set('Password', this.formData.Password)\r\n .set('ConfirmPassword', this.formData.ConfirmPassword);\r\n\r\n this.adminService.changeNamedLoginPassword(params).then((response: PostResponse) => {\r\n if (response.success) {\r\n const user = this.formData.NamedLogin;\r\n this.alert = { type: \"success\", msg: \"Password for user \" + user + \" has been changed.\" };\r\n this.resetForm();\r\n this.getNamedLoginList();\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n }\r\n this.performingAction = false\r\n }).catch((error) => {\r\n this.performingAction = false;\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n }\r\n\r\n confirmPassword() {\r\n this.passwordsMatch = this.validatePasswords();\r\n }\r\n\r\n validatePasswords () {\r\n //do not mark an error if the confirm password hasn't been entered\r\n if (this.formData.ConfirmPassword == null || this.formData.ConfirmPassword == \"\")\r\n return true;\r\n\r\n var passwordsMatch = this.formData.ConfirmPassword === this.formData.Password;\r\n if (!passwordsMatch)\r\n this.alert = { type: \"danger\", msg: \"Passwords must match!\" };\r\n return passwordsMatch;\r\n };\r\n\r\n clearErrors() {\r\n this.alert = null;\r\n this.passwordsMatch = true;\r\n }\r\n\r\n resetForm () {\r\n this.formData = { NamedLogin: '', Password: '', ConfirmPassword: '' };\r\n this.toggleAddUserMode(false);\r\n this.changePasswordMode = false;\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n\r\n closeModal () {\r\n this.activeModalService.close()\r\n }\r\n}\r\n","
\r\n

Named Login Setup

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Users below are designed to be system admins that are not linked to a PRCo and Employee in Vista.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Passwords must be at least 12 characters long, and must contain at least 3 of the following: lowercase letters, uppercase letters, numbers, and special characters.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Passwords must be at least 12 characters long, and must contain at least 3 of the following: lowercase letters, uppercase letters, numbers, and special characters.\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 Username\r\n
{{user.NamedLogin}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\nimport { User } from '../../../pages/admin/services/admin.service';\r\nimport { EmployeeService } from '../../../pages/employee/services/employee.service';\r\nimport { UtilityService } from '../../../core/services/utility.service'\r\n\r\n@Component({\r\n selector: 'app-paperless-settings-modal',\r\n templateUrl: './paperless-settings-modal.component.html',\r\n styleUrls: ['./paperless-settings-modal.component.css']\r\n})\r\nexport class PaperlessSettingsModalComponent implements OnInit{\r\n @Input() user: User;\r\n @Input() settings: {\r\n showPay: boolean\r\n showW2: boolean\r\n show1095: boolean\r\n };\r\n consentPaystubsModifiedDisplay: string;\r\n consentW2ModifiedDisplay: string;\r\n consentC1095ModifiedDisplay: string;\r\n updatingSettings: boolean = false;\r\n settingsWereChanged: boolean = false;\r\n\r\n constructor(\r\n private activeModal: NgbActiveModal,\r\n private employeeService: EmployeeService,\r\n private readonly utilityService: UtilityService) {\r\n\r\n }\r\n\r\n ngOnInit () {\r\n if (this.user.ConsentPaystubsLastModified) {\r\n this.consentPaystubsModifiedDisplay = this.utilityService.formatDate(this.user.ConsentPaystubsLastModified, 'D', 'M', 'YYYY');\r\n }\r\n if (this.user.ConsentW2T4LastModified) {\r\n this.consentW2ModifiedDisplay = this.utilityService.formatDate(this.user.ConsentW2T4LastModified, 'D', 'M', 'YYYY');\r\n }\r\n if (this.user.ConsentACA1095LastModified) {\r\n this.consentC1095ModifiedDisplay = this.utilityService.formatDate(this.user.ConsentACA1095LastModified, 'D', 'M', 'YYYY');\r\n }\r\n }\r\n\r\n updateSettings () {\r\n const params = new HttpParams()\r\n .set('consentPaystubs', this.user.ConsentPaystubs.toString())\r\n .set('consentW2T4', this.user.ConsentW2T4.toString())\r\n .set('consentACA1095', this.user.ConsentACA1095.toString())\r\n .set('userKeyID', this.user.UserKeyID.toString())\r\n .set('optOutSMS', this.user.OptOutSMS.toString())\r\n this.updatingSettings = true;\r\n this.employeeService.setDocConsent(params).then((response: { success: Boolean }) => {\r\n this.updatingSettings = false;\r\n if (response.success) {\r\n this.settingsWereChanged = true;\r\n }\r\n })\r\n }\r\n\r\n closeModal () {\r\n this.activeModal.close(this.user);\r\n }\r\n}\r\n","
\r\n

Paperless Settings for {{user.EmployeeName}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DocumentConsentedDate Modified
Paystub{{consentPaystubsModifiedDisplay}}
W2/T4{{consentW2ModifiedDisplay}}
1095-C{{consentC1095ModifiedDisplay}}
Opt out of non-emergency SMS?
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { AdminService } from 'src/app/pages/admin/services/admin.service';\r\n@Component({\r\n\tselector: 'app-send-bulletin-email-modal',\r\n\ttemplateUrl: './send-bulletin-email-modal.component.html',\r\n\tstyleUrls: ['./send-bulletin-email-modal.component.css']\r\n})\r\nexport class SendBulletinEmailModalComponent {\r\n\t@Input() bulletin: { [key: string]: any };\r\n\t\r\n\tconstructor(private ngbActiveModal: NgbActiveModal, private adminService: AdminService) { }\r\n\r\n\tsendClicked() {\r\n\t\tthis.adminService.bulletinSendPendingReminder(this.bulletin.BulletinID).then((response: any) => {\r\n\t\t\tif (response.success)\r\n\t\t\t\tthis.ngbActiveModal.close('true');\r\n\t\t\telse\r\n\t\t\t\tthis.ngbActiveModal.close('false');\r\n\t\t});\r\n\t};\r\n\r\n\tcancelClicked() {\r\n\t\tthis.ngbActiveModal.dismiss();\r\n\t};\r\n\r\n}\r\n","
\r\n

Send Reminder

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

This will notify all employees that have not yet signed or acknowledged the following document:

\r\n

{{bulletin.BulletinHeadline}}

\r\n

Continue?

\r\n
\r\n\r\n
\r\n \r\n \r\n
","
\r\n

Reject Timecard

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n There are no reason codes to select. Contact your administrator for assistance.\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-reject-line-modal',\r\n templateUrl: './reject-line-modal.component.html',\r\n styleUrls: ['./reject-line-modal.component.css']\r\n})\r\nexport class RejectLineModalComponent implements OnInit {\r\n @Input() rejectReasons: any[];\r\n formData: any = {};\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.formData = {};\r\n\r\n if (this.rejectReasons.length != 0)\r\n this.formData.Reason = this.rejectReasons[0].ReasonCode;\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n rejectClicked() {\r\n this.activeModal.close({ Action: \"Reject\", Reason: this.formData });\r\n }\r\n}\r\n\r\n\r\n","
\r\n

Time Worked Details

\r\n
\r\n
\r\n
\r\n {{selectedDay.StartTime}}\r\n {{selectedDay.StopTime}}\r\n
\r\n
\r\n \r\n \"Loading...\"\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{selectedDay.Notes}}\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//Services\r\nimport { DailyReportsService } from '../../../../pages/field/service/daily-reports.service';\r\n\r\n@Component({\r\n selector: 'app-time-worked-details-modal',\r\n templateUrl: './time-worked-details-modal.component.html',\r\n styleUrls: ['./time-worked-details-modal.component.css']\r\n})\r\nexport class TimeWorkedDetailsModalComponent implements OnInit {\r\n @Input() selectedDay: any;\r\n @Input() isStartTime: any;\r\n\r\n loadingAttachment: boolean = false;\r\n maxWidth: number = 400;\r\n dailyTimeAttachmentData: any;\r\n constructor(private activeModal: NgbActiveModal, private dailyReportsService: DailyReportsService) { }\r\n\r\n ngOnInit(): void {\r\n var attachmentID = this.isStartTime ? this.selectedDay.StartAttachmentID : this.selectedDay.StopAttachmentID;\r\n if (attachmentID) {\r\n this.loadingAttachment = true;\r\n this.dailyReportsService.getVPAttachmentData(attachmentID, this.maxWidth, true).then((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.dailyTimeAttachmentData = \"data:image/png;base64,\" + response.data;\r\n setTimeout(() => {\r\n\r\n });\r\n }\r\n this.loadingAttachment = false;\r\n });\r\n }\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n//Services\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { HiringService } from './../../../pages/hiring/services/hiring.service';\r\nimport { ApplicantService } from './../../../pages/hiring/services/applicant.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-edit-personal-modal',\r\n templateUrl: './edit-personal-modal.component.html',\r\n styleUrls: ['./edit-personal-modal.component.css']\r\n})\r\n\r\nexport class EditPersonalModalComponent implements OnInit {\r\n @ViewChild('applyForm', { static: true }) applyForm: NgForm;\r\n @Input() isOnboarding: any;\r\n @Input() info: any;\r\n portalSettings: any;\r\n format: string;\r\n formData: { [key: string]: any } = {};\r\n sourceDisplay: { [key: string]: any } = {};\r\n personalInfoRequire: { [key: string]: any } = {};\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean };\r\n mobileMode: boolean;\r\n today: any;\r\n requireReqSourceOnJobReq: boolean;\r\n personalInfoRequireList: any[] = [];\r\n stateList: any[] = [];\r\n maritalStatusList: any[] = [];\r\n sourceList: any[] = [];\r\n phoneMask: any;\r\n oNPerInTaskCustomText: any;\r\n\r\n constructor(portalSettingsService: PortalSettingsService, private hiringService: HiringService, private applicantService: ApplicantService, private utilityService: UtilityService, public activeModal: NgbActiveModal) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.format = utilityService.getDateFormat().toUpperCase();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formData = {};\r\n this.sourceDisplay = {};\r\n this.mobileMode = this.utilityService.isMobileMode();\r\n this.datePickerOptions = { dateInputFormat: this.format, containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false };\r\n this.today = new Date();\r\n this.requireReqSourceOnJobReq = this.portalSettings.RequireReqSourceOnJobReq.ConfigValue == 1;\r\n this.personalInfoRequire = { FirstName: false, LastName: false, Email: false, Cell: false, Phone: false, Birthday: false, Contact: false, Address1: false, Address2: false, City: false, State: false, Zip: false, Country: false, MidName: false, Suffix: false, MaritalStatus: false };\r\n this.personalInfoRequireList = (this.info.IsOnboarding ? (this.portalSettings.SetRequireFieldsPersonal.ConfigValue != null ? this.portalSettings.SetRequireFieldsPersonal.ConfigValue.split(',') : []) : (this.portalSettings.ATSSetRequireFieldsPersonal.ConfigValue != null ? this.portalSettings.ATSSetRequireFieldsPersonal.ConfigValue.split(',') : []));\r\n if (this.personalInfoRequireList.length > 0) {\r\n this.personalInfoRequireList.forEach((val: any) => {\r\n this.personalInfoRequire[val] = true;\r\n })\r\n }\r\n this.phoneMask = this.portalSettings.PhoneMask.ConfigValue ? this.portalSettings.PhoneMask.ConfigValue.replace(/9/g, '_') : \"\";\r\n this.oNPerInTaskCustomText = this.portalSettings.ONPerInTaskCustomText.ConfigValue;\r\n this.getPersonalInfo();\r\n this.getVistaOptions();\r\n }\r\n\r\n getPersonalInfo() {\r\n this.applicantService.getPersonalInfo().then((response: any) => {\r\n if (response != null) {\r\n Object.entries(response).forEach(([key, val]) => {\r\n if (!this.formData.hasOwnProperty(key)) {\r\n if (key == \"Birthday\")\r\n this.formData[key] = val != null ? new Date(parseInt(moment(val).utc().format(\"YYYY\")), parseInt(moment(val).utc().format(\"MM\")) - 1, parseInt(moment(val).utc().format(\"DD\")), 0, 0, 0, 0) : null;\r\n else\r\n this.formData[key] = val;\r\n }\r\n });\r\n\r\n if (this.formData.Country == null)\r\n if (this.portalSettings[\"CountryDateCode\"].ConfigValue == \"US\")\r\n this.formData.Country = \"US\";\r\n else if (this.portalSettings[\"CountryDateCode\"].ConfigValue == \"AU\")\r\n this.formData.Country = \"AU\";\r\n else\r\n this.formData.Country = \"CA\";\r\n\r\n this.getState();\r\n this.getMaritalStatus();\r\n }\r\n });\r\n }\r\n\r\n getState() {\r\n this.hiringService.getDependentLookupByColumnName(\"State\", this.formData.Country).then((response: any) => {\r\n this.stateList = response;\r\n });\r\n }\r\n\r\n getMaritalStatus() {\r\n this.hiringService.getMaritalStatus().then((response: any) => {\r\n this.maritalStatusList = response;\r\n });\r\n }\r\n\r\n countryChange() {\r\n this.formData.State = null;\r\n this.formData.Zip = null;\r\n if (this.formData.Country != 'O') {\r\n this.formData.CountryOther = null;\r\n this.getState();\r\n }\r\n }\r\n\r\n getVistaOptions() {\r\n var requestParam = \"reqID=\" + this.info.ReqID + \"&optionType=contactsource\" ;\r\n this.hiringService.getVistaOptions(requestParam).then((response: any) => {\r\n this.sourceList = response;\r\n if (response != null) {\r\n response.forEach((val: any, key: any) => {\r\n this.sourceDisplay[val] = key;\r\n })\r\n }\r\n });\r\n }\r\n\r\n containAt() {\r\n var count = 0;\r\n if (this.formData.Email != null) {\r\n for (var i = 0; i < this.formData.Email.length; i++) {\r\n if (this.formData.Email[i] == \"@\" && i != this.formData.Email.length - 1)\r\n count++;\r\n }\r\n }\r\n if (count == 0)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n checkContact(where: string) {\r\n if (this.formData.Contact == \"C\" && this.formData.Cell != null && this.formData.Cell != '' && where == \"C\")\r\n this.formData.Contact = null;\r\n if (this.formData.Contact == \"P\" && this.formData.Phone != null && this.formData.Phone != '' && where == \"P\")\r\n this.formData.Contact = null;\r\n }\r\n\r\n saveClicked() {\r\n this.hiringService.personalInfoEdit(this.info.OnboardID, this.formData.FirstName, this.formData.LastName, this.formData.Email, this.formData.Phone, this.formData.Address1, this.formData.Address2, this.formData.City, this.formData.State, this.formData.Cell,\r\n this.formData.Zip, this.formData.Contact, this.formData.ContactSource, this.formData.ContactSourceNotes, null, this.formData.Country, this.formData.MidName, this.formData.Suffix, null, (this.formData.Birthday != null ? moment(this.formData.Birthday).format(\"YYYY-MM-DD\") : \"\"), this.formData.MaritalStatus, this.formData.CountryOther, false, null, null).then((response: any) => {\r\n this.activeModal.close();\r\n });\r\n }\r\n\r\n cancelClicked = function () {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n updatePhoneAndZip(data: string, field: string) {\r\n switch (field) {\r\n case 'Cell':\r\n this.formData.Cell = data;\r\n break;\r\n case 'Phone':\r\n this.formData.Phone = data;\r\n break;\r\n case 'Zip':\r\n this.formData.Zip = data;\r\n break;\r\n }\r\n }\r\n\r\n}","
\r\n

Personal Info Update

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
today)\">Date of Birth must not be in the future
\r\n
\r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n
\r\n\r\n
\r\n *\r\n \r\n
\r\n\r\n
\r\n *\r\n \r\n
\r\n\r\n
\r\n *\r\n \r\n Cell\r\n Email\r\n Phone\r\n Mail\r\n \r\n
\r\n
\r\n
\r\n
\r\n *\r\n
\r\n today}\"\r\n style=\"background-color:#ffffff\"\r\n name=\"BirthDay\">\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n *\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n *\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n *\r\n \r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n USA\r\n CANADA\r\n AUSTRALIA\r\n OTHER\r\n \r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n
\r\n
\r\n
0 && !isOnboarding\">\r\n
\r\n \r\n
\r\n
\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","
\r\n

Thanks for submitting!

\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//Services\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { SignalRService } from './../../../core/services/signal-r.service';\r\nimport { HiringService } from './../../../pages/hiring/services/hiring.service';\r\n\r\n@Component({\r\n selector: 'app-onboard-submitted-modal',\r\n templateUrl: './onboard-submitted-modal.component.html',\r\n styleUrls: ['./onboard-submitted-modal.component.css']\r\n})\r\nexport class OnboardSubmittedModalComponent implements OnInit {\r\n @Input() loginStatus: any;\r\n @Input() info: any;\r\n @Input() reqID: any;\r\n @Input() status: any;\r\n portalSettings: any;\r\n jobTargetTrackingURL: any;\r\n alert: any;\r\n openModalLeft: any;\r\n\r\n constructor(portalSettingsService: PortalSettingsService, private utilityService: UtilityService, private signalRService: SignalRService, private hiringService: HiringService, public activeModal: NgbActiveModal, private router: Router) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.signalRService.establishHub('progressHub', 'downloadComplete');\r\n }\r\n\r\n ngOnInit(): void {\r\n //SignalR connection\r\n this.signalRService.downloadCompletedEvent.subscribe((filename: any) => {\r\n setTimeout(() => {\r\n this.utilityService.closeModal();\r\n }, 1000);\r\n });\r\n this.jobTargetTrackingURL = this.portalSettings.JobTargetTrackingURL.ConfigValue;\r\n this.openModalLeft = (window.innerWidth - 200) / 2;\r\n if (this.status) {\r\n this.alert = ({ type: \"success\", msg: \"Your tasks are complete - no further action is required.\" });\r\n }\r\n else {\r\n this.alert = ({ type: \"danger\", msg: \"Your tasks were not submitted successfully. Please try again or contact your administrator.\" });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // Stop SignalR connection to prevent multiple connections\r\n this.signalRService.stopConnection();\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close();\r\n if (!this.info.IsOnboarding)\r\n window.location.href = \"/Careers/BrowseJobs\"; // this needs to be a page refresh, don't use angular routing here\r\n else\r\n window.location.href = \"/Careers/Welcome\"; // this needs to be a page refresh, don't use angular routing here\r\n }\r\n\r\n returnClicked() {\r\n window.location.href = \"/Hiring/JobReqDetail/#\" + (this.reqID != null ? this.reqID : this.info.ReqID) + \"/JR/stage=/search=\";\r\n }\r\n\r\n downloadRDL() {\r\n this.openModal();\r\n }\r\n\r\n openModal() {\r\n document.getElementById('modal').style.display = 'block';\r\n document.getElementById('modal').style.left = this.openModalLeft + 'px';\r\n document.getElementById('fade').style.display = 'block';\r\n }\r\n}","
\r\n

Create New {{mode == 'C' ? 'Checklist': 'Action Item'}}

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

\r\n Select a {{mode == 'C' ? 'checklist': 'action item'}} template:\r\n

\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ChecklistService } from 'src/app/pages/checklist/services/checklist.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-create-new-checklist-modal',\r\n templateUrl: './create-new-checklist-modal.component.html',\r\n styleUrls: ['./create-new-checklist-modal.component.css']\r\n})\r\nexport class CreateNewChecklistModalComponent implements OnInit {\r\n\r\n @Input() mode : any;\r\n mobileMode: boolean = false;\r\n formData: { [key: string]: any } = {};\r\n templates: any[] = [];\r\n templateCategoryIDs: { [key: string]: number } = { \"C\": 1, \"O\": -1, \"P\": -2, \"H\": -4 };\r\n\r\n constructor(private activeModal: NgbActiveModal, private utilityService: UtilityService, private checklistService: ChecklistService) {\r\n this.mobileMode = this.utilityService.isMobileMode();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.utilityService.openModal();\r\n this.getTemplateCategories();\r\n }\r\n\r\n getTemplateCategories() {\r\n this.checklistService.getTemplateCategories(this.templateCategoryIDs[this.mode]).then((response: any) => {\r\n if (response != null && response.length > 0) {\r\n response.forEach((val: any) => {\r\n if (val.ChecklistTemplateIsActive && ((this.mode == 'C' && val.ChecklistTemplateCatgID == 1) || (this.mode == 'H' && val.ChecklistTemplateCatgID == -4)))\r\n this.templates.push({ DisplayValue: val.ChecklistTemplateCatgName + \" - \" + val.ChecklistTemplateName, ChecklistTemplateID: val.ChecklistTemplateID })\r\n });\r\n if (this.templates != null && this.templates.length > 0) {\r\n this.formData.selectedTemplate = this.templates[0].ChecklistTemplateID;\r\n }\r\n this.utilityService.closeModal();\r\n }\r\n else {\r\n this.utilityService.closeModal();\r\n }\r\n });\r\n }\r\n \r\n\r\n createClicked() {\r\n this.activeModal.close(this.formData.selectedTemplate);\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.close('cancel');\r\n }\r\n\r\n}\r\n","
\r\n

Distribute {{mode == 'C' ? 'Checklists' : 'Action Items'}}

\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Drop a file or Click to upload\r\n
\r\n
\r\n
\r\n
\r\n {{file.Filename}}\r\n Remove\r\n
\r\n
0 && file.Progress < 100\">\r\n
{{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\"Loading...\"
\r\n \r\n \r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//service imports\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { ChecklistService } from 'src/app/pages/checklist/services/checklist.service';\r\n\r\n@Component({\r\n selector: 'app-distribute-checklists-modal',\r\n templateUrl: './distribute-checklists-modal.component.html',\r\n styleUrls: ['./distribute-checklists-modal.component.css']\r\n})\r\nexport class DistributeChecklistsModalComponent implements OnInit {\r\n @ViewChild('notificationForm', { static: false }) notificationForm: NgForm;\r\n @Input() checklists: any;\r\n @Input() mode: any;\r\n formData: { [key: string]: any } = {};\r\n validComboDrag: any;\r\n dragFiles: any;\r\n fileData: any[] = [];\r\n newFiles: any[] = [];\r\n innerCounter: number = 0;\r\n emailSendWait: boolean = false;\r\n alert: any;\r\n emailList: any[];\r\n templateCategoryIDs: { [key: string]: number } = { \"C\": 1, \"O\": -1, \"P\": -2, \"H\": -4 };\r\n\r\n constructor(public activeModal: NgbActiveModal, private utilityService: UtilityService, private checklistService: ChecklistService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formData.ToEmail = [];\r\n this.generateFilenames();\r\n }\r\n\r\n generateFilenames() {\r\n this.checklists.forEach((val: any) => {\r\n if (val.InspectedOnDisplay != null)\r\n val.Filename = val[\"Checklist_Type\"].replace(/[^a-zA-z\\d]/g, '') + \"_\" + val.InspectedOnDisplay.replace(/\\//g, '_') + \"_\" + val.ChecklistInstanceID + \".pdf\";\r\n else\r\n val.Filename = val[\"Checklist_Type\"].replace(/[^a-zA-z\\d]/g, '') + \"_\" + val.ChecklistInstanceID + \".pdf\";\r\n });\r\n }\r\n\r\n deleteAttachment(file: any) {\r\n var index = this.newFiles.indexOf(file);\r\n this.newFiles.splice(index, 1);\r\n if (this.newFiles.length == 0)\r\n this.newFiles.push({ File: null, Filename: null });\r\n }\r\n\r\n private readFile(file: any, call: any) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n upload() {\r\n this.fileData = [];\r\n var currentUpload = this.formData.fileDrop;\r\n this.formData.fileDrop = [];\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n currentUpload[i].nameEdit = this.utilityService.formatAttachmentName(currentUpload[i].name);\r\n }\r\n\r\n if (currentUpload != null) {\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n var n = 0;\r\n this.innerCounter = 0;\r\n this.readFile(currentUpload[i], (e: any, fileName: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: fileName });\r\n if (n == (currentUpload.length - 1)) {\r\n this.fileData.forEach((val: any) => {\r\n currentUpload.forEach((val2: any) => {\r\n if (val2.size == val.size && val.name == val2.name) {\r\n this.newFiles.push({ File: val.data[1], Filename: val2.nameEdit, Filedata: val2, Type: val.data[0].split(\"/\")[0] });\r\n }\r\n });\r\n });\r\n }\r\n n++;\r\n });\r\n });\r\n };\r\n }\r\n }\r\n\r\n sendClicked() {\r\n this.emailSendWait = true;\r\n var checklistInstanceIDs = [];\r\n var templateID = [];\r\n var filenames = [];\r\n var newFilenames = [];\r\n var newFiles = [];\r\n var toEmail = [];\r\n this.formData.ToEmail.forEach((val: any) => {\r\n if (val != null)\r\n toEmail.push(val.EmailAddress);\r\n });\r\n this.checklists.forEach((val: any) => {\r\n checklistInstanceIDs.push(val[\"ChecklistInstanceID\"]);\r\n templateID.push(val[\"ChecklistTemplateID\"]);\r\n filenames.push(val.Filename);\r\n });\r\n this.newFiles.forEach((val: any) => {\r\n if (val.Filename && val.File) {\r\n newFilenames.push(val.Filename);\r\n newFiles.push(val.File);\r\n }\r\n });\r\n this.checklistService.sendChecklists(checklistInstanceIDs, filenames, null, toEmail, this.formData.Subject, this.formData.Message, newFilenames, newFiles, templateID, null, null, null, null,this.templateCategoryIDs[this.mode]).then((response: any) => {\r\n if (response.success) {\r\n this.alert = { type: \"success\", msg: (this.mode == \"C\" ? \"Checklists\" : \"Action Items\") + \" sent successfully.\" }\r\n this.emailSendWait = false;\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.data.error }\r\n this.emailSendWait = false;\r\n }\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close('close');\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\nimport { ChecklistService } from '../../../../pages/checklist/services/checklist.service';\r\nimport { OrderByPipe } from '../../../../shared/pipe/order-by.pipe';\n\n\n@Component({\n selector: 'app-advance-item-modal',\n templateUrl: './advance-item-modal.component.html',\n styleUrls: ['./advance-item-modal.component.css']\n})\nexport class AdvanceItemModalComponent implements OnInit {\n @Input() item: any;\n @Input() mode: string;\n @Input() itemGroup: any;\n @Input() templateId: number;\n @Input() itemGroups: any;\n @Input() index: number;\n @Input() dropdownTypeList: any[];\n\n orderByPipe: OrderByPipe\n formData: { [key: string]: any } = {};\n personalInfoList: any[] = [];\n lastSave: { [key: string]: any } = {};\n\n constructor(private utilityService: UtilityService, private checklistService: ChecklistService, public activeModal: NgbActiveModal) { }\n\n ngOnInit(): void {\n this.orderByPipe = new OrderByPipe();\n this.personalInfoList = [{ value: \"Address1\", display: \"Address 1\" }, { value: \"Address2\", display: \"Address 2\" }, { value: \"Birthday\", display: \"Birthday\" }, { value: \"City\", display: \"City\" }, { value: \"Cell\", display: \"Cell\" },\n { value: \"Country\", display: \"Country\" }, { value: \"Email\", display: \"Email\" }, { value: \"FirstName\", display: \"First Name\" }, { value: \"LastName\", display: \"Last Name\" }, { value: \"MidName\", display: \"Middle Name\" },\n { value: \"Phone\", display: \"Phone\" }, { value: \"Suffix\", display: \"Suffix\" }, { value: \"State\", display: \"State\" }, { value: \"Zip\", display: \"Zip\" }];\n\n }\n\n fadeLabel(status: boolean) {\n this.formData.labelFade = false;\n this.lastSave = this.utilityService.fadeLabel(status);\n setTimeout(() => {\n this.formData.labelFade = true;\n }, 2000);\n }\n\n toggleActive() {\n this.checklistService.templateItemToggleActive(this.item.ChecklistTemplateItemID, this.item.IsActive).then((response: any) => {\n if (response != null) {\n this.fadeLabel(response.success);\n this.getChecklistItems();\r\n }\n });\n }\n\n closeClicked() {\n this.activeModal.dismiss();\n }\n\n updateItem(item: any, templateID: number) {\n this.updateShowTH();\n let requestObj = { checklistTemplateItemID: item.ChecklistTemplateItemID, checklistTemplateItemGrpID: item.ChecklistTemplateItemGrpID, responseTypeID: item.ResponseTypeID, itemPrompt: item.ItemPrompt, itemNumber: item.ItemNumber, itemLongPrompt: item.ItemLongPrompt, checklistLookupID: item.ChecklistLookupID, maxResponseLength: item.MaxResponseLength, validationRegex: item.ValidationRegex, personalInfoField: item.PersonalInfoField, isAdminField: item.IsAdminField, isRequiredAttachment: (item.ShowAttachments ? item.IsRequiredAttachment : false), rebindDropdown: item.RebindDropdown, showComments: item.ShowComments ,showAttachments: item.ShowAttachments, isRequired: item.IsRequired };\n\n this.checklistService.addUpdateTemplateItem(requestObj).then((response: any) => { //handle ChecklistTemplateItemID refresh the after the new row update with id -1\n if (response != null) {\n this.fadeLabel(response.success);\n this.checklistService.getItemsByTemplateID(this.templateId).then((response: any) => {\n if (response != null) {\n var temp = response;\n temp = this.orderByPipe.transform(temp, [\"ItemGrpName\", \"ChecklistTemplateItemID\"], \"asc\");\n var newIndex = 0;\n temp.forEach((val: any) => {\n if (val.ChecklistTemplateItemGrpID == templateID) {\n newIndex = val.ChecklistTemplateItemID\n }\n })\n this.itemGroups.forEach((val: any) => {\n if (val.ChecklistTemplateItemGrpID == templateID) {\n if (val.Items[this.index].ChecklistTemplateItemID == -1)\n val.Items[this.index].ChecklistTemplateItemID = newIndex;\n }\n })\n }\n });\n }\n });\n }\n\n getChecklistItems() {\n this.itemGroups.forEach((val: any) => {\n val.Items = [];\n });\n this.checklistService.getItemsByTemplateID(this.templateId).then((response: any) => {\n if (response != null) {\n response.forEach((val: any) => {\n this.itemGroups.forEach((group: any) => {\n if (val.ChecklistTemplateItemGrpID == group.ChecklistTemplateItemGrpID) {\n group.Items.push(val);\n }\n });\n });\n this.updateShowTH();\n }\n });\n }\n\n updateShowTH() {\n if (this.itemGroups != null) {\n this.itemGroups.forEach((val: any) => {\n if (val != null) {\n var count = 0;\n val.Items.forEach((val2: any) => {\n if (val2.ResponseTypeID == 7 || val2.ResponseTypeID == 8 || val2.ResponseTypeID == 9 || val2.ResponseTypeID == 15) {\n count++;\n return false;\n }\n });\n if (count == 0)\n val.showTH = false;\n else\n val.showTH = true;\n }\n });\n }\r\n }\n\n}\n\n\n\n","
\r\n

Advanced Settings - {{item.ItemPrompt}}

\r\n
\r\n Save Successful - {{lastSave.time}}\r\n Save Fail - {{lastSave.time}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{data.GroupName}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {{data.display}}\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AdminService } from '../../../../pages/admin/services/admin.service';\r\nimport { UserGroupModalComponent } from '../../../shared/user-group-modal/user-group-modal.component';\r\n\n@Component({\n selector: 'app-enable-checklist-workflow-modal',\n templateUrl: './enable-checklist-workflow-modal.component.html',\n styleUrls: ['./enable-checklist-workflow-modal.component.css']\n})\nexport class EnableChecklistWorkflowModalComponent implements OnInit{\n\n @Input() mode: any;\n @Input() templateInfo: any;\n userGroups: any[] = [];\n itemChanged: boolean = false;\n currentUserGroupID: number;\n\n constructor(public activeModal: NgbActiveModal, private modalService: NgbModal, private adminService: AdminService) { }\n\n ngOnInit(): void {\n this.getUserGroup();\n if (this.templateInfo.WorkflowInclUserGroupID == null) {\n this.templateInfo.WorkflowInclUserGroupID = -2;\n }\n this.currentUserGroupID = this.templateInfo.WorkflowInclUserGroupID;\n }\n\n public get ChecklistModeName(): string {\n return this.mode == 'H' ? 'Action Item' : this.mode == 'S' ? 'SM Form' : 'Checklist'\r\n }\n\n workflowEnabled() {\n this.itemChanged = true;\n this.templateInfo.WorkflowInclPM = false;\n this.templateInfo.WorkflowInclJobRev = false;\n this.templateInfo.WorkflowInclInvRev = false;\n this.templateInfo.WorkflowInclTimecardManager = false;\n this.templateInfo.WorkflowInclUserGroupID = -2;\n this.currentUserGroupID = -2;\n this.templateInfo.WorkflowUsersCanFinalize = false;\n }\n\n updateItem() {\n this.itemChanged = true;\n }\n\n userGroupChange() {\n if (this.templateInfo.WorkflowInclUserGroupID == -1) {\r\n this.editUserGroup();\r\n }\r\n else {\r\n this.currentUserGroupID = this.templateInfo.WorkflowInclUserGroupID;\r\n this.updateItem();\r\n }\r\n }\n\n saveClicked() {\n if (this.itemChanged) {\n this.activeModal.close(this.templateInfo);\n }\n\n else {\n this.activeModal.dismiss();\n }\n }\n\n editUserGroup() {\n let modalRef = this.modalService.open(UserGroupModalComponent, { size: 'md', backdrop: 'static' });\n modalRef.componentInstance.data = null;\n modalRef.result.then((result: any) => {\n if (result != null && result.success) {\n this.templateInfo.WorkflowInclUserGroupID = result.UserGroupID;\n this.currentUserGroupID = result.UserGroupID;\n this.getUserGroup();\n this.updateItem();\n }\n else {\n this.templateInfo.WorkflowInclUserGroupID = this.currentUserGroupID;\n }\n\n }).catch((res) => { });\n }\n\n getUserGroup() {\n this.adminService.getUserGroup().then((response: any) => {\n if (response != null) {\n this.userGroups = response;\n }\n });\n }\n}\n","
\r\n

{{ChecklistModeName}} Workflow

\r\n
\r\n
\r\n
\r\n
\r\n Enable Workflow For This Template?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{mode == 'S' ? 'Route to Reviewer on the Work Order' : 'Route to PM?'}}
\r\n {{mode == 'S' ? 'Email the reviewer on the Work Order when the work order trip is closed.' : 'Email the project manager from PM Projects when checklists are submitted.'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{mode == 'S' ? 'Route to the reviewer on ServiceCenter?' : 'Route to Job Reviewers?'}}
\r\n {{mode == 'S' ? 'Email the reviewer on Service Center when the work order trip is closed.' : 'Email reviewers on JC Jobs when checklists are submitted.'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{mode == 'S' ? 'Exclude from trip close out' : 'Route to Member of Invoice Rev. Group?'}}
\r\n {{mode == 'S' ? 'This form will not be included in the trip close out package but will save a record to Vista when the work order trip is closed.' : 'Email reviewers on the assigned Invoice Reviewer Group for the job when checklists are submitted.'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Route to Manager?
\r\n Email the manager assigned to the employee for timecard approval when action items are submitted.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n User Group to Route To:\r\n \r\n {{data.UserGroupName}}\r\n \r\n {{mode == 'S' ? 'Email employees in the above user group when the work order trip is closed.' : mode != 'H' ? 'Email employees in the above user group when checklists are submitted.' : 'Email employees in the above user group when action items are submitted.'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Enable workflow reviewers to Finalize {{ChecklistModeName}}
\r\n Allow any reviewer to Finalize the {{ChecklistModeName}}.\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n","
\r\n

Create New Template

\r\n

Copy New Template

\r\n
\r\n
\r\n
\r\n \r\n \r\n {{template.ChecklistTemplateName}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChecklistService } from '../../../../pages/checklist/services/checklist.service';\n\n@Component({\n selector: 'app-create-new-template-modal',\n templateUrl: './create-new-template-modal.component.html',\n styleUrls: ['./create-new-template-modal.component.css']\n})\nexport class CreateNewTemplateModalComponent implements OnInit {\n @Input() option: string;\n @Input() mode: string;\n formData: { [key: string]: any } = {};\n templateList: any[] = [];\n templateCategoryIDs: { [key: string]: number } = { \"C\": 1, \"O\": -1, \"P\": -2, \"H\": -4, \"S\": -3 };\n\n constructor(private checklistService: ChecklistService, public activeModal: NgbActiveModal) { }\n\n ngOnInit(): void {\n if (this.option == \"C\") {\n this.checklistService.getChecklistTemplates(this.templateCategoryIDs[this.mode]).then((response: any) => {\n if (response != null) {\n var templates = response;\n var filteredTemplates = [];\n templates.forEach((val: any) => {\n if (this.mode == \"O\" && val.ChecklistTemplateCatgID == -1) {\n filteredTemplates.push(val);\n }\n else if (this.mode == \"P\" && val.ChecklistTemplateCatgID != -1 && val.ChecklistTemplateIsActive) {\n filteredTemplates.push(val);\n }\n else if (this.mode == \"S\" && val.ChecklistTemplateCatgID != -1 && val.ChecklistTemplateIsActive) {\n filteredTemplates.push(val);\n }\n else if (this.mode == \"H\" && val.ChecklistTemplateCatgID == -4) {\n filteredTemplates.push(val);\r\n }\n else {\n if (val.ChecklistTemplateCatgID == 1) {\n filteredTemplates.push(val);\n }\n }\n })\n this.templateList = filteredTemplates;\n }\n });\n }\n }\n\n createClicked() {\n this.activeModal.close(this.formData.newTemplate);\n }\n\n copyClicked() {\n this.activeModal.close(this.formData);\n }\n\n cancelClicked() {\n if (this.option == \"C\") {\n this.activeModal.dismiss();\n }\n else {\n this.activeModal.close(\"cancel\");\n }\n }\n\n}\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { concat, from, Observable, of, Subject } from 'rxjs';\r\nimport { catchError, debounceTime, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';\r\n\r\n//service imports\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { ChecklistService } from 'src/app/pages/checklist/services/checklist.service';\r\nimport { AdminService } from 'src/app/pages/admin/services/admin.service';\r\nimport { EmployeeService } from './../../../pages/employee/services/employee.service';\r\n\r\n//Pipe imports\r\nimport { OrderByPipe } from '../../../shared/pipe/order-by.pipe';\r\n\r\n\r\n@Component({\r\n selector: 'app-view-checklist-workflow-modal',\r\n templateUrl: './view-checklist-workflow-modal.component.html',\r\n styleUrls: ['./view-checklist-workflow-modal.component.css']\r\n})\r\nexport class ViewChecklistWorkflowModalComponent implements OnInit {\r\n @ViewChild('signaturePad', { static: false }) signaturePad;\r\n @Input() checklistInstanceID: number;\r\n @Input() checklistDetails: any;\r\n @Input() submitMode: any;\r\n @Input() isSubmitted: boolean;\r\n @Input() latitude: any;\r\n @Input() longitude: any;\r\n @Input() canNotify: boolean;\r\n @Input() mode: any;\r\n portalSettings: any;\r\n enableCheckboxSign: boolean = false;\r\n formData: { [key: string]: any } = {};\r\n confirmRefresh: boolean = false;\r\n refreshing: boolean = false;\r\n notifying: boolean = false;\r\n submitting: boolean = false;\r\n alert: any;\r\n reviewers: any[] = [];\r\n typeSign: boolean = false;\r\n redBorder: boolean = false;\r\n submitSignImg: any;\r\n hideClick: boolean = false;\r\n showClickMsg: boolean = false;\r\n emailSendWait: boolean = false;\r\n orderByPipe: any;\r\n rowOrder: string;\r\n reverse: boolean = false;\r\n checklistInstanceIDs: any;\r\n rawImgData: any;\r\n templateCategoryIDs: { [key: string]: number } = { \"C\": 1, \"O\": -1, \"P\": -2, \"H\": -4 };\r\n\r\n employee$: Observable;\r\n employeeInput$ = new Subject();\r\n employeeLoading = false;\r\n\r\n constructor(portalSettingsService: PortalSettingsService, public activeModal: NgbActiveModal, private utilityService: UtilityService, private checklistService: ChecklistService, private adminService: AdminService, private employeeService: EmployeeService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.orderByPipe = new OrderByPipe();\r\n this.enableCheckboxSign = this.portalSettings.EnableCheckboxSign.ConfigValue == \"1\";\r\n this.getChecklistReviewers(null);\r\n this.registerLookups();\r\n }\r\n\r\n private registerLookups() {\r\n //register observables used by super lookups\r\n\r\n this.employee$ = concat(\r\n this.employeeInput$.pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n switchMap(term => ((term != null && term.length > 1) ?\r\n from(this.adminService.getHRUsers(term,false,null)).pipe(\r\n catchError(() => of([]))) : of([])\r\n ))\r\n )\r\n );\r\n }\r\n\r\n getChecklistReviewers(initialized: any) {\r\n this.checklistService.getChecklistReviewers(this.checklistInstanceID).then((response: any) => {\r\n this.refreshing = false;\r\n if (response.length == 0 && !initialized) {\r\n this.initializeChecklistReviewers();\r\n }\r\n else {\r\n this.reviewers = response;\r\n }\r\n });\r\n }\r\n\r\n requestRefresh() {\r\n this.confirmRefresh = true;\r\n }\r\n\r\n initializeChecklistReviewers() {\r\n this.refreshing = true;\r\n this.checklistService.initializeChecklistReviewers(this.checklistInstanceID).then((response: any) => {\r\n if (response.success) {\r\n this.getChecklistReviewers(true);\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n this.refreshing = false;\r\n }\r\n });\r\n }\r\n\r\n removeReviewer(reviewer) {\r\n reviewer.ConfirmDelete = true;\r\n }\r\n\r\n confirmRemove(reviewer) {\r\n this.refreshing = true;\r\n this.checklistService.deleteChecklistReviewers(reviewer.ChecklistRevID).then((response: any) => {\r\n if (response.success) {\r\n this.getChecklistReviewers(true);\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n this.refreshing = false;\r\n }\r\n })\r\n }\r\n\r\n addReviewer() {\r\n this.refreshing = true;\r\n this.checklistService.addChecklistReviewer(this.formData.selectedEmployee, this.checklistInstanceID, this.mode == \"H\" ? \"Action Item Specific Reviewer\" : \"Checklist Specific Reviewer\").then((response: any) => {\r\n if (response.success) {\r\n this.getChecklistReviewers(true);\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n this.refreshing = false;\r\n }\r\n });\r\n }\r\n\r\n submitClicked() {\r\n if(this.signaturePad != null){\r\n if (!this.signaturePad.isEmpty() || this.typeSign) {\r\n this.submitting = true;\r\n this.notifyReviewers(true);\r\n } else {\r\n this.redBorder = true;\r\n }\r\n }else if(this.submitSignImg != null){\r\n this.submitting = true;\r\n this.notifyReviewers(true);\r\n }else{\r\n this.redBorder = true;\r\n }\r\n }\r\n\r\n realNotifyReviewers() {\r\n this.notifying = true;\r\n this.checklistInstanceIDs = this.checklistInstanceID;\r\n var filenames = [];\r\n if (this.checklistDetails.InspectedOnDisplay != null) {\r\n filenames[0] = this.checklistDetails[\"ChecklistTemplateName\"].replace(/[^0-9a-zA-z]/g, \" \") + \"_\" + this.checklistDetails.InspectedOnDisplay.replace(/\\//g, \"_\") + \".pdf\";\r\n } else {\r\n filenames[0] = this.checklistDetails[\"ChecklistTemplateName\"].replace(/[^0-9a-zA-z]/g, \" \") + \".pdf\";\r\n }\r\n var templateID = [this.checklistDetails.ChecklistTemplateID];\r\n var toEmail = [];\r\n for (var i = 0; i < this.reviewers.length; i++) {\r\n if (this.reviewers[i].Email != null && this.reviewers[i].Email != \"\") {\r\n if (toEmail.indexOf(this.reviewers[i].Email) == -1)\r\n toEmail.push(this.reviewers[i].Email);\r\n }\r\n }\r\n var subject = this.checklistDetails[\"ChecklistTemplateName\"] + \" Routed for your Review\";\r\n var message = \"A \" + this.checklistDetails[\"ChecklistTemplateName\"] + \" has been routed for your review. A copy has been attached to this email, and a direct link to the portal is available below:

\" + window.location.href;\r\n\r\n this.checklistService.initializeChecklistReviewers(this.checklistInstanceIDs).then((response: any) => {\r\n if (response.success) {\r\n this.checklistService.sendChecklists(this.checklistInstanceIDs, filenames, null, toEmail, subject, message, [], [], templateID, null, null, null, null, this.templateCategoryIDs[this.mode]).then((response: any) => {\r\n if (response.success) {\r\n this.alert = { type: \"success\", msg: this.mode == \"H\" ? \"Action Items sent successfully.\" : \"Checklists sent successfully.\" }\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error }\r\n }\r\n this.notifying = false;\r\n this.emailSendWait = false;\r\n });\r\n } else {\r\n this.notifying = false;\r\n }\r\n });\r\n }\r\n\r\n notifyReviewers(submit) {\r\n this.notifying = true;\r\n this.checklistInstanceIDs = this.checklistInstanceID;\r\n var filenames = [];\r\n if (this.checklistDetails.InspectedOnDisplay != null) {\r\n filenames[0] = this.checklistDetails[\"ChecklistTemplateName\"].replace(/[^0-9a-zA-z]/g, \" \") + \"_\" + this.checklistDetails.InspectedOnDisplay.replace(/\\//g, \"_\") + \".pdf\";\r\n } else {\r\n filenames[0] = this.checklistDetails[\"ChecklistTemplateName\"].replace(/[^0-9a-zA-z]/g, \" \") + \".pdf\";\r\n }\r\n var templateID = [this.checklistDetails.ChecklistTemplateID];\r\n var toEmail = [];\r\n for (var i = 0; i < this.reviewers.length; i++) {\r\n if (this.reviewers[i].Email != null && this.reviewers[i].Email != \"\") {\r\n if (toEmail.indexOf(this.reviewers[i].Email) == -1)\r\n toEmail.push(this.reviewers[i].Email);\r\n }\r\n }\r\n var subject = this.checklistDetails[\"ChecklistTemplateName\"] + \" Routed for your Review\";\r\n var message = \"A \" + this.checklistDetails[\"ChecklistTemplateName\"] + \" has been routed for your review. A copy has been attached to this email, and a direct link to the portal is available below:

\" + window.location.href;\r\n\r\n this.checklistService.sendChecklistSign(this.typeSign ? this.rawImgData : this.signaturePad.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\"), this.checklistInstanceID, this.typeSign, this.latitude, this.longitude).then((response: any) => {\r\n if (response.success) {\r\n this.checklistService.sendChecklists(this.checklistInstanceIDs, filenames, null, toEmail, subject, message, [], [], templateID, null, null, null, null, this.templateCategoryIDs[this.mode]).then((response: any) => {\r\n if (response.success) {\r\n this.notifying = false;\r\n this.alert = { type: \"success\", msg: this.mode == \"H\" ? \"Action Items sent successfully.\" : \"Checklists sent successfully.\" }\r\n this.emailSendWait = false;\r\n if (submit) {\r\n window.location.href = \"/Checklist/Index\" + (this.mode == \"H\" ? (\"/#/mode/\" + this.mode) : \"\");\r\n //$uibModalInstance.close({ data: this.signaturePad.toDataURL(), typeSign: this.typeSign });\r\n }\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error }\r\n this.emailSendWait = false;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setRowSort(col) {\r\n if (this.rowOrder == col) {\r\n this.reverse = !this.reverse;\r\n }\r\n else {\r\n this.rowOrder = col;\r\n this.reverse = false;\r\n }\r\n\r\n this.reviewers = this.orderByPipe.transform(this.reviewers, this.rowOrder, this.reverse ? \"desc\" : \"asc\");\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close();\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n\r\n getTypeSign(type: string) {\r\n if (this.signaturePad.isEmpty()) {\r\n this.typeSign = true;\r\n if (this.typeSign) {\r\n this.employeeService.getTypeSign(type).then((response: any) => {\r\n this.rawImgData = response;\r\n this.submitSignImg = \"data:image/png;base64,\" + response;\r\n });\r\n }\r\n this.hideClick = true;\r\n this.showClickMsg = false;\r\n } else {\r\n this.showClickMsg = true;\r\n }\r\n }\r\n\r\n clear() {\r\n this.typeSign = false;\r\n if (this.signaturePad != null)\r\n this.signaturePad.clear();\r\n this.showClickMsg = false;\r\n this.hideClick = false;\r\n }\r\n\r\n}","
\r\n

\r\n {{mode == 'H' ? 'Action Item Workflow' : 'Checklist Workflow'}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
{{reviewer.UserFullName}}{{reviewer.ReviewerSource}}\r\n \r\n Remove\r\n \r\n \r\n Confirm Delete\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Please sign in the box below when you finish your {{mode == 'H' ? 'action item' : 'checklist'}}.\r\n
\r\n
\r\n
Press \"Clear\" before generating your signature image.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign above
\r\n \r\n \r\n
By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","
\r\n

Copy Line for Multiple Employees

\r\n
This will copy the selected line to one or more other employees.
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{sharedColumnInfo[rowProperty].IsCombo ? row[rowProperty + \"___@Value\"] : row[rowProperty]}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{crew.Crew}} - {{crew.CrewName}}\r\n \r\n
\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.EmployeeDisplayName}}\r\n x\r\n
\r\n
50\">\r\n {{items.length - 50}} more selected...\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Use employee's default Craft / Class\r\n
\r\n
\r\n Use employee's default Earncode\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CrewTimecardService } from '../../../pages/crew-timecard/services/crew-timecard.service';\r\n\r\n@Component({\r\n selector: 'app-copy-crew-line-modal',\r\n templateUrl: './copy-crew-line-modal.component.html',\r\n styleUrls: ['./copy-crew-line-modal.component.css']\r\n})\r\nexport class CopyCrewLineModalComponent implements OnInit {\r\n @ViewChild('groupClockForm', { static: true }) groupClockForm: NgForm;\r\n @Input() crewsList: any[];\r\n @Input() employees: any[];\r\n @Input() row: any;\r\n @Input() rowProperties: any[];\r\n @Input() sharedColumnInfo: any;\r\n @Input() payPeriod: any;\r\n\r\n addDisable: boolean;\r\n selectedCrew: any;\r\n selectedEmployees: any[] = [];\r\n showCraftClassBox: boolean;\r\n showEarnCodeDefaultCheckbox: boolean;\r\n useEmplDefaultCraftClass: boolean = true;\r\n useEmplDefaultEarnCode: boolean;\r\n\r\n constructor(private crewTimecardService: CrewTimecardService, public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n \r\n this.addDisable = false;\r\n //Remove Employee of Selected Row From Employee Dropdown\r\n let employeeOfSelectedRow = this.row.Employee.substring(0, this.row.Employee.indexOf(\"@\"));\r\n this.showCraftClassBox = ((this.sharedColumnInfo.Craft != null && this.sharedColumnInfo.Craft.ColumnVisibilityModeID > 2) ||\r\n (this.sharedColumnInfo.Class != null && this.sharedColumnInfo.Class.ColumnVisibilityModeID > 2));\r\n this.showEarnCodeDefaultCheckbox = this.rowProperties.indexOf(\"EarnCode\") > -1;\r\n this.useEmplDefaultEarnCode = true;\r\n for (let i = 0; i < this.employees.length; i++) {\r\n if (this.employees[i].Employee == employeeOfSelectedRow) {\r\n this.employees.splice(i, 1);\r\n }\r\n }\r\n\r\n //238738: Retrieved data from Database uses GMT to represent PostDate column\r\n if (this.rowProperties.indexOf(\"PostDate\") > -1 && this.row[\"PostDate\"] != null && typeof this.row[\"PostDate\"].getMonth == 'function') {\r\n let yyyy = this.row[\"PostDate\"].getFullYear().toString();\r\n let mm = (this.row[\"PostDate\"].getMonth() + 1).toString();\r\n let dd = this.row[\"PostDate\"].getDate().toString();\r\n this.row[\"PostDate\"] = yyyy + \"/\" + mm + \"/\" + dd;\r\n }\r\n\r\n //238738: Type Dropdown values are pushed manually. Hence default label need to be assigned.\r\n if (this.rowProperties.indexOf(\"Type\") > -1 && this.row.Type != null) {\r\n let type = this.row.Type.substr(0, this.row.Type.indexOf('@'));\r\n switch (type) {\r\n case \"J\":\r\n this.row[\"Type___@Value\"] = \"J - Job\";\r\n break;\r\n case \"M\":\r\n this.row[\"Type___@Value\"] = \"M - Mechanic\";\r\n break;\r\n case \"S\":\r\n this.row[\"Type___@Value\"] = \"S - SM Work Order\";\r\n break;\r\n }\r\n }\r\n }\r\n\r\n crewChanged() {\r\n this.selectedEmployees = [];\r\n if (this.selectedCrew != null && this.selectedCrew.Crew != \"\") {\r\n let selectedEmployees = [];\r\n this.crewTimecardService.getCrewMember(this.selectedCrew.PRCRKeyID).then((response: any[]) => {\r\n let crewMemberList = response;\r\n let employeeMap = this.employees.map((x) => { return x.Employee });\r\n for (let i = 0; i < crewMemberList.length; i++) {\r\n let crewMember = crewMemberList[i];\r\n let employeeIndex = employeeMap.indexOf(crewMember.Employee);\r\n if (employeeIndex > -1) {\r\n selectedEmployees.push(this.employees[employeeIndex]);\r\n }\r\n }\r\n this.selectedEmployees = selectedEmployees;\r\n });\r\n }\r\n }\r\n\r\n selectAllEmployees() {\r\n this.selectedEmployees = this.employees;\r\n }\r\n\r\n selectNoneEmployees() {\r\n this.selectedEmployees = [];\r\n }\r\n\r\n addClicked() {\r\n this.activeModal.close({\r\n selectedEmployees: this.selectedEmployees,\r\n useEmpDefaultCraftClass: this.useEmplDefaultCraftClass,\r\n useEmplDefaultEarnCode: this.useEmplDefaultEarnCode\r\n })\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Matches: {{filteredOptions.length}}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{option.popUpLabel}}
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\r\nimport { CrewTimecardService } from '../../../pages/crew-timecard/services/crew-timecard.service';\r\n\r\n@Component({\r\n selector: 'app-edit-cell-value-modal',\r\n templateUrl: './edit-cell-value-modal.component.html',\r\n styleUrls: ['./edit-cell-value-modal.component.css']\r\n})\r\nexport class EditCellValueModalComponent implements OnInit {\r\n @Input() options: any[];\r\n @Input() column: any;\r\n @Input() mode: string;\r\n @Input() requestParams: any;\r\n\r\n filteredOptions: any[];\r\n currentPage: number;\r\n itemsPerPage: number;\r\n pagedOptions: any[];\r\n searchText: string;\r\n\r\n constructor(public activeModal: NgbActiveModal, private crewTimecardService: CrewTimecardService) { }\r\n\r\n ngOnInit(): void {\r\n this.currentPage = 1;\r\n this.itemsPerPage = 10;\r\n this.filteredOptions = [];\r\n this.pagedOptions = [];\r\n this.searchText = null;\r\n if(this.mode != \"super\")\r\n this.updatePagedOptions();\r\n }\r\n\r\n keydownEvent(e) {\r\n if (e.which === 13) {\r\n if (this.filteredOptions.length > 0) {\r\n this.activeModal.close(this.filteredOptions[0].id);\r\n }\r\n }\r\n }\r\n\r\n optionSelected(option) {\r\n this.activeModal.close(option);\r\n }\r\n\r\n clearValue() {\r\n this.activeModal.close({ id: \"null\", value: \"\" });\r\n }\r\n\r\n \r\n\r\n pageChanged(event: PageChangedEvent) {\r\n let begin = ((event.page - 1) * this.itemsPerPage);\r\n let end = begin + this.itemsPerPage;\r\n this.pagedOptions = this.filteredOptions.slice(begin, end);\r\n }\r\n\r\n filterChanged() {\r\n if (this.mode == \"super\") {\r\n if (this.searchText.length > 2)\r\n this.getCellValues();\r\n else {\r\n this.filteredOptions = [];\r\n let begin = ((this.currentPage - 1) * this.itemsPerPage);\r\n let end = begin + this.itemsPerPage;\r\n this.pagedOptions = this.filteredOptions.slice(begin, end);\r\n }\r\n }\r\n else {\r\n this.updatePagedOptions();\r\n }\r\n }\r\n\r\n updatePagedOptions() {\r\n this.filteredOptions = [];\r\n this.options.forEach((option) => {\r\n if (this.searchText == null || this.searchText == \"\" ||\r\n (option.value != null && option.value.toLowerCase().replace(/ /g, '').indexOf(this.searchText.toLowerCase().replace(/ /g, '')) != -1)\r\n ) {\r\n this.filteredOptions.push(option);\r\n }\r\n })\r\n\r\n let begin = ((this.currentPage - 1) * this.itemsPerPage);\r\n let end = begin + this.itemsPerPage;\r\n this.pagedOptions = this.filteredOptions.slice(begin, end);\r\n }\r\n\r\n getCellValues() {\r\n let rowData = this.requestParams.rowData;\r\n rowData.searchString = this.searchText;\r\n this.crewTimecardService.getCellPossibleValues(rowData).then((response: any) => {\r\n if (response != null) {\r\n let options = [];\r\n response.PossibleValues.forEach((value: any) => {\r\n options.push({\r\n id: value.Value + \"@row_\" + this.requestParams.currentCell.row,\r\n popUpLabel: value.Label,\r\n value: value.Label\r\n });\r\n })\r\n this.filteredOptions = options;\r\n let begin = ((this.currentPage - 1) * this.itemsPerPage);\r\n let end = begin + this.itemsPerPage;\r\n this.pagedOptions = this.filteredOptions.slice(begin, end);\r\n }\r\n });\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","
\r\n

Plan Attachment(s)

\r\n
\r\n
\r\n {{plan.PlanName}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-download-attachment-modal',\r\n templateUrl: './download-attachment-modal.component.html',\r\n styleUrls: ['./download-attachment-modal.component.css']\r\n})\r\nexport class DownloadAttachmentModalComponent implements OnInit {\r\n @Input() data: { [key: string]: any }\r\n @Input() plan: { [key: string]: any }\r\n formData: { [key: string]: any } = {};\r\n TypeAttachments: { [key: string]: any } = {};\r\n PlanAttachments: { [key: string]: any } = {};\r\n loading: boolean = true;\r\n\r\n constructor(private employeeService: EmployeeService, private ngbActiveModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.getAttachments();\r\n }\r\n\r\n getAttachments() {\r\n this.employeeService.getPlanAttachments(this.plan.BenefitType, '').then((response: any) => {\r\n this.TypeAttachments[this.plan.BenefitType] = response;\r\n this.employeeService.getPlanAttachments('', this.plan.PlanUniqueAttchID).then((response: any) => {\r\n this.PlanAttachments[this.plan.BenefitCode] = response;\r\n this.loading = false;\r\n });\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n\r\n}\r\n","
\r\n

Confirm Proxy Benefit Submissions

\r\n
\r\n
\r\n
\r\n
\r\n
Please sign in the box below to acknowledge that you have read and understand the contents of the document underneath.
\r\n
\r\n
Press \"Clear\" before generating your signature image.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign above
\r\n \r\n \r\n
By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n

Upon submission, your updates will be routed to your administrator for review and approval.

\r\n
\r\n
\r\n You are submitting the benefit elections as a proxy for {{proxyData.FullName}}. This election window will be marked as finalized without an employee signature since you are submitting as an administrator.\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-finalize-submit-sign-modal',\r\n templateUrl: './finalize-submit-sign-modal.component.html',\r\n styleUrls: ['./finalize-submit-sign-modal.component.css']\r\n})\r\nexport class FinalizeSubmitSignModalComponent implements OnInit {\r\n @ViewChild('signaturePad', { static: false }) signaturePad;\r\n @Input() proxyData: { [key: string]: any };\r\n EnableCheckboxSign: boolean;\r\n signatureNEmpty: boolean;\r\n submitSignImg: any;\r\n formData: { [key: string]: any } = {};\r\n portalSettings: any;\r\n rawImgData: any;\r\n showClickMsg: boolean;\r\n hideClick: boolean;\r\n redBorder: boolean;\r\n panelWidth: number;\r\n\r\n constructor(private portalSettingsService: PortalSettingsService, private ngbActiveModal: NgbActiveModal, private employeeService: EmployeeService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.EnableCheckboxSign = this.portalSettings.EnableCheckboxSign.ConfigValue == \"1\" ? true : false;\r\n this.signatureNEmpty = false;\r\n this.submitSignImg = null;\r\n this.formData = {};\r\n this.redBorder = false;\r\n var width = $(\"#modal_size\").width();\r\n this.panelWidth = (width > 550 ? 550 : width) + 30;\r\n }\r\n\r\n clearSignature() {\r\n if (this.signaturePad != null)\r\n this.signaturePad.clear();\r\n this.signatureNEmpty = false;\r\n this.formData.typeSign = false;\r\n this.rawImgData = null;\r\n this.submitSignImg = null;\r\n this.showClickMsg = false;\r\n this.hideClick = false;\r\n }\r\n\r\n submitSignature() {\r\n if(this.proxyData == null)\r\n this.signatureTrigger();\r\n else\r\n this.ngbActiveModal.close();\r\n }\r\n\r\n closeSignature() {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n\r\n signatureTrigger() {\r\n if (this.formData.typeSign) {\r\n this.ngbActiveModal.close(this.rawImgData);\r\n } else if (this.signaturePad.isEmpty() == false) {\r\n this.signatureNEmpty = true;\r\n this.ngbActiveModal.close(this.signaturePad.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\"));\r\n }\r\n else {\r\n this.signatureNEmpty = false;\r\n this.redBorder = true;\r\n }\r\n }\r\n\r\n clickSign(type: string) {\r\n if (this.signaturePad.isEmpty()) {\r\n this.formData.typeSign = true;\r\n this.employeeService.getTypeSign(type).then((response: any) => {\r\n this.rawImgData = response;\r\n this.submitSignImg = \"data:image/png;base64,\" + response;\r\n });\r\n this.hideClick = true;\r\n this.showClickMsg = false;\r\n } else {\r\n this.showClickMsg = true;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\n@Component({\r\n selector: 'app-finalize-submited-modal',\r\n templateUrl: './finalize-submited-modal.component.html',\r\n styleUrls: ['./finalize-submited-modal.component.css']\r\n})\r\nexport class FinalizeSubmitedModalComponent implements OnInit {\r\n @Input() data:boolean;\r\n @Input() proxy:number;\r\n portalSettings: any;\r\n modalText: string;\r\n\r\n constructor(private portalSettingsService: PortalSettingsService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.modalText = this.data ? this.portalSettings.BenefitSubmitModalText.ConfigValue : \"There was an error finalizing your benefit. Please contact portal administrator.\";\r\n }\r\n okClicked () {\r\n if (this.proxy != null)\r\n window.location.href = \"/Approval/BenefitsDashboard\";\r\n else\r\n window.location.href = \"/Employee/BenefitsEnrollment\";\r\n }\r\n\r\n}\r\n","
\r\n

Benefit Submitted

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

{{modalText}}

\r\n
\r\n
\r\n \r\n
\r\n","
\r\n

Decline All Coverages

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

Are you sure you want to decline coverage?

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\n\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-reject-all-benefits-modal',\r\n templateUrl: './reject-all-benefits-modal.component.html',\r\n styleUrls: ['./reject-all-benefits-modal.component.css']\r\n})\r\nexport class RejectAllBenefitsModalComponent implements OnInit {\r\n @Input() data: any[];\r\n portalSettings: any;\r\n formData: { [key: string]: any } = {};\r\n rejectionText: string;\r\n showDeclineType: boolean;\r\n declineList: any[];\r\n @ViewChild('declineForm', { static: false }) declineForm: NgForm;\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal, private portalSettingsService: PortalSettingsService, private employeeService: EmployeeService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.rejectionText = this.portalSettings.Step3RejectionText.ConfigValue != null ? this.portalSettings.Step3RejectionText.ConfigValue.replace(\"target=\\\"\\\"\", \"target=\\\"_blank\\\"\") : \"\";\r\n this.showDeclineType = this.portalSettings.BNDeclineComboBoxName.ConfigValue != null && this.portalSettings.BNDeclineComboBoxName.ConfigValue != \"\" ? true : false;\r\n this.getVistaOptions();\r\n this.formData.selectedDecline = null;\r\n }\r\n\r\n getVistaOptions() {\r\n this.employeeService.getVistaOptions(\"benefitdeclinereason\").then((response: any) => {\r\n this.declineList = response;\r\n });\r\n }\r\n \r\n declineClicked() {\r\n this.ngbActiveModal.close(this.formData);\r\n }\r\n\r\n cancelClicked() {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n}\r\n","
\r\n

Review your {{category}} election

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n
\r\n
0\">\r\n
\r\n
\r\n Please select the beneficiaries you would like to associate this benefit with:\r\n
\r\n
\r\n Please select the dependents you would like to associate this benefit with:\r\n
\r\n
\r\n \r\n
\r\n \r\n {{dependent.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
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n

\r\n Are you sure you want to make no changes to your {{category}} election?
\r\n Your rates may be changed for the upcoming year.\r\n\r\n \r\n Notes:\r\n \r\n \r\n

\r\n\r\n
\r\n \r\n Are you sure you want to submit this change to your {{category}} election?\r\n \r\n\r\n \r\n Notes:\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Drop a file or Click to upload\r\n
\r\n
\r\n
\r\n
\r\n {{file.Filename}}\r\n Remove\r\n
\r\n
0\">\r\n
\r\n {{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Are you sure you want to decline coverage?

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-update-benefits-modal',\r\n templateUrl: './update-benefits-modal.component.html',\r\n styleUrls: ['./update-benefits-modal.component.css']\r\n})\r\nexport class UpdateBenefitsModalComponent implements OnInit {\r\n @ViewChild('declineForm', { static: false }) declineForm: NgForm;\r\n @Input() category: string;\r\n @Input() mode: string;\r\n @Input() data: any[];\r\n @Input() selected: { [key: string]: any };\r\n @Input() proxyID: number;\r\n portalSettings: any;\r\n formData: { [key: string]: any } = {};\r\n dependents: any[] = [];\r\n filteredDependents: any[] = [];\r\n rejectionText: string;\r\n showDeclineType: boolean;\r\n notReachMinCount: boolean = false;\r\n MaxDependentCount: number;\r\n MinDependentCount: number;\r\n declineList: any[];\r\n alert: { type: string; msg: string; };\r\n showPrimaryInput: boolean;\r\n showSecondaryInput: boolean;\r\n fileData: any[];\r\n\r\n constructor(private portalSettingsService: PortalSettingsService, private employeeService: EmployeeService, private ngbActiveModal: NgbActiveModal, private utilityService: UtilityService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formData.newFiles = [];\r\n this.formData.Primary = null;\r\n this.formData.Secondary = null;\r\n this.formData.Notes = null;\r\n this.formData.primaryInput = null;\r\n this.formData.secondaryInput = null;\r\n this.formData.primaryRelationship = null;\r\n this.formData.secondaryRelationship = null;\r\n this.rejectionText = this.portalSettings.Step3RejectionText.ConfigValue != null ? this.portalSettings.Step3RejectionText.ConfigValue.replace(\"target=\\\"\\\"\", \"target=\\\"_blank\\\"\") : \"\";\r\n this.formData.selectedDecline = null;\r\n this.showDeclineType = this.portalSettings.BNDeclineComboBoxName.ConfigValue != null && this.portalSettings.BNDeclineComboBoxName.ConfigValue != \"\" ? true : false;\r\n this.formData.totalCount = 0;\r\n\r\n if (this.data != null && this.selected != null) {\r\n var selectedItem = null;\r\n for(const key in this.selected.SelectedValue){\r\n const val = this.selected.SelectedValue[key];\r\n if (val)\r\n selectedItem = key;\r\n };\r\n if (selectedItem != null) {\r\n this.formData.showAtt = this.selected.SelectedOption[selectedItem].CodeSettingIsAttachmentsAllowed;\r\n this.formData.showBen = this.selected.SelectedOption[selectedItem].CodeSettingIsBeneficiaryShown;\r\n this.formData.showBenFree = this.selected.SelectedOption[selectedItem].CodeSettingIsBenficiaryFreeText;\r\n this.formData.showDep = this.selected.SelectedOption[selectedItem].CodeSettingIsDependentsShown; //how portal setting benefit code works for 3? using this parameter?\r\n this.formData.showNote = this.selected.SelectedOption[selectedItem].CodeSettingIsDeclineNotesRequired;\r\n this.MaxDependentCount = this.selected.SelectedOption[selectedItem].MaxDependentCount;\r\n this.MinDependentCount = this.selected.SelectedOption[selectedItem].MinDependentCount;\r\n } else {\r\n this.data.forEach(val => {\r\n this.formData.showAtt = val.CodeSettingIsAttachmentsAllowed;\r\n this.formData.showBen = val.CodeSettingIsBeneficiaryShown;\r\n this.formData.showBenFree = val.CodeSettingIsBenficiaryFreeText;\r\n this.formData.showDep = val.CodeSettingIsDependentsShown; //how portal setting benefit code works for 3? using this parameter?\r\n this.formData.showNote = val.CodeSettingIsDeclineNotesRequired;\r\n this.MaxDependentCount = val.MaxDependentCount;\r\n this.MinDependentCount = val.MinDependentCount;\r\n return true;\r\n });\r\n }\r\n }\r\n if (this.mode != \"decline\") {\r\n this.getDependents();\r\n }\r\n\r\n if (this.mode == \"decline\") {\r\n this.employeeService.getVistaOptions(\"benefitdeclinereason\").then((response: any) => {\r\n this.declineList = response;\r\n });\r\n }\r\n\r\n }\r\n getDependents() {\r\n this.employeeService.getDependents(this.proxyID).then((response: any) => {\r\n this.dependents = response;\r\n if (this.formData.showBenFree)\r\n this.dependents = this.dependents.concat({ Name: \"Type in a name & relationship...\", KeyID: -1, DependentRequestID: null, Disabled: false });\r\n if (this.MaxDependentCount == 0 && this.formData.showDep) {\r\n this.alert = ({ type: \"warning\", msg: \"You've reached the maximum number of dependents for this option.\" });\r\n this.dependents.forEach(val => {\r\n val.Disabled = true;\r\n });\r\n }\r\n if (this.formData.totalCount < this.MinDependentCount && this.formData.showDep) {\r\n this.notReachMinCount = true;\r\n this.alert = ({ type: \"warning\", msg: \"You've not reached the minimum number of dependents for this option.\" });\r\n }\r\n });\r\n }\r\n\r\n updateCount() {\r\n this.formData.totalCount = 0;\r\n this.notReachMinCount = false;\r\n this.dependents.forEach(val => {\r\n if (val.IsSelected)\r\n this.formData.totalCount++;\r\n });\r\n if (this.formData.totalCount == this.MaxDependentCount) {\r\n this.dependents.forEach(val => {\r\n if (!val.IsSelected)\r\n val.Disabled = true;\r\n });\r\n } else {\r\n this.dependents.forEach(val => {\r\n val.Disabled = false;\r\n });\r\n }\r\n if (this.formData.totalCount == this.MaxDependentCount && this.formData.showDep)\r\n this.alert = ({ type: \"warning\", msg: \"You've reached the maximum number of dependents for this option.\" });\r\n else if (this.formData.totalCount < this.MinDependentCount && this.formData.showDep) {\r\n this.alert = ({ type: \"warning\", msg: \"You've not reached the minimum number of dependents for this option.\" });\r\n this.notReachMinCount = true;\r\n }\r\n else\r\n this.alert = null;\r\n }\r\n\r\n primaryChanged() {\r\n if (this.formData.Primary == null) {\r\n this.formData.Secondary = null;\r\n this.filteredDependents = [];\r\n this.showPrimaryInput = false;\r\n this.showSecondaryInput = false;\r\n }\r\n else {\r\n if (this.formData.Primary.KeyID == -1 && !this.formData.Primary.hasOwnProperty(\"SSN\"))\r\n this.showPrimaryInput = true;\r\n else\r\n this.showPrimaryInput = false;\r\n var filteredDependents = [];\r\n\r\n this.dependents.forEach(val => {\r\n if (this.formData.Primary.KeyID != val.KeyID || (this.formData.Primary.KeyID == -1 && val.Name == \"Type in a name & relationship...\") || (this.formData.Primary.KeyID == -1 && this.formData.Primary.Name != val.Name)) {\r\n filteredDependents.push(val);\r\n }\r\n });\r\n this.filteredDependents = filteredDependents;\r\n }\r\n }\r\n\r\n secondaryChanged() {\r\n if (this.formData.Secondary == null) {\r\n this.showSecondaryInput = false;\r\n } else {\r\n if (this.formData.Secondary.KeyID == -1 && !this.formData.Secondary.hasOwnProperty(\"SSN\"))\r\n this.showSecondaryInput = true;\r\n else\r\n this.showSecondaryInput = false;\r\n }\r\n }\r\n\r\n proceedClicked() {\r\n if (this.formData.Primary != null) {\r\n if (this.formData.Primary.KeyID == -1) {\r\n this.formData.Primary.NameP = this.formData.primaryInput;\r\n this.formData.Primary.RelationshipP = this.formData.primaryRelationship;\r\n }\r\n }\r\n if (this.formData.Secondary != null) {\r\n if (this.formData.Secondary.KeyID == -1) {\r\n this.formData.Secondary.NameS = this.formData.secondaryInput;\r\n this.formData.Secondary.RelationshipS = this.formData.secondaryRelationship;\r\n }\r\n }\r\n this.formData.type = \"proceed\";\r\n var dependents = [];\r\n this.dependents.forEach(val => {\r\n if (val.IsSelected) {\r\n dependents.push(val);\r\n }\r\n });\r\n this.formData.Dependents = dependents;\r\n this.ngbActiveModal.close(this.formData);\r\n }\r\n\r\n closeClicked() {\r\n this.formData.type = \"close\";\r\n this.ngbActiveModal.close(this.formData);\r\n }\r\n\r\n readFile(file, call) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n upload() {\r\n this.fileData = [];\r\n var draggedFile = this.formData.fileDrop;\r\n this.formData.fileDrop = [];\r\n if (draggedFile != null) {\r\n for (var i = 0; i < draggedFile.length; i++) {\r\n var n = 0;\r\n this.readFile(draggedFile[i], (e: any, fileName: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: fileName });\r\n if (n == (draggedFile.length - 1)) {\r\n this.fileData.forEach(val => {\r\n draggedFile.forEach(val2 => {\r\n if (val2.size == val.size && val.name == val2.name) {\r\n this.formData.newFiles.push({ File: val.data[1], Filename: this.utilityService.formatAttachmentName(val2.name) });\r\n }\r\n });\r\n });\r\n }\r\n n++;\r\n });\r\n });\r\n };\r\n }\r\n }\r\n\r\n deleteUnsavedAttachment(file) {\r\n var index = this.formData.newFiles.indexOf(file);\r\n this.formData.newFiles.splice(index, 1);\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { ApprovalService } from 'src/app/pages/approval/services/approval.service';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\nimport { OrderByPipe } from 'src/app/shared/pipe/order-by.pipe';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EmployeeInfoService } from 'src/app/core/services/employee-info.service';\r\n\r\n@Component({\r\n selector: 'app-view-report-history-modal',\r\n templateUrl: './view-report-history-modal.component.html',\r\n styleUrls: ['./view-report-history-modal.component.css']\r\n})\r\nexport class ViewReportHistoryModalComponent implements OnInit {\r\n @Input() UserKeyID: number;\r\n @Input() isAdmin: boolean;\r\n @Input() userData: any;\r\n formData: { [key: string]: any } = {};\r\n gridData: any[] = [];\r\n predicate: any;\r\n reverse: boolean;\r\n orderByPipe: OrderByPipe\r\n gridDataFilter: any[] = [];\r\n employeeInfo: any;\r\n\r\n constructor(private approvalService: ApprovalService, private employeeService: EmployeeService, private ngbActiveModal: NgbActiveModal, private employeeInfoService: EmployeeInfoService) {\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.orderByPipe = new OrderByPipe();\r\n this.formData.itemsPerPage = 10;\r\n this.formData.currentPage = 1;\r\n this.getGrid();\r\n }\r\n\r\n getGrid() {\r\n this.approvalService.getWindowHistory(this.UserKeyID).then((response: any) => {\r\n this.gridData = response;\r\n this.gridData.forEach(val => {\r\n val.showAttachment = false;\r\n });\r\n this.updateFilteredDocuments();\r\n });\r\n }\r\n\r\n viewAttachment(item) {\r\n var requestParam = \"moduleID=\" + 7 + \"&recordID=\" + item.BenefitUserWindowID;\r\n this.employeeService.getFileAttachmentList(requestParam).then((response: any) => {\r\n item.attachmentList = response;\r\n item.showAttachment = !item.showAttachment;\r\n });\r\n }\r\n\r\n updateFilteredDocuments() {\r\n var begin = ((this.formData.currentPage - 1) * this.formData.itemsPerPage);\r\n var end = begin + this.formData.itemsPerPage;\r\n this.gridDataFilter = this.gridData.slice(begin, end);\r\n };\r\n\r\n sortDashboardRows(predicate) {\r\n if (this.predicate != predicate) {\r\n this.predicate = predicate;\r\n this.reverse = false;\r\n } else {\r\n this.reverse = !this.reverse;\r\n }\r\n this.gridData = this.orderByPipe.transform(this.gridData, this.predicate, this.reverse ? \"desc\" : \"asc\");\r\n\r\n this.updateFilteredDocuments();\r\n }\r\n\r\n generateReport(userWindowID: number) {\r\n this.approvalService.saveWindowAuditReportData(userWindowID).then((response: any) => {\r\n this.getGrid();\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n}\r\n","
\r\n

Benefit Window History for {{employeeInfo.FirstName}} {{employeeInfo.LastName}} ({{employeeInfo.Employee}})

\r\n

Benefit Window History for {{userData.UserFullName}} ({{userData.Employee}})

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Audit Report
{{data.WindowDisplayName}}{{data.BenefitUserWindowID}}{{data.WindowStartDateDisplay}}{{data.WindowEndDateDisplay}}{{data.PRCo}}{{data.Employee}}\r\n View\r\n Generate\r\n
Pending Approval
\r\n
\r\n \r\n
\r\n
There is no attachments.
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport moment from 'moment';\r\nimport { cloneDeep } from 'lodash';\r\nimport { forkJoin } from 'rxjs';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//Services\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { EmployeeService } from './../../../pages/employee/services/employee.service';\r\nimport { ApprovalService } from './../../../pages/approval/services/approval.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-edit-dependent-modal',\r\n templateUrl: './edit-dependent-modal.component.html',\r\n styleUrls: ['./edit-dependent-modal.component.css']\r\n})\r\nexport class EditDependentModalComponent implements OnInit {\r\n @ViewChild('dependForm', { static: false }) dependForm: NgForm;\r\n @Input() dependent: any;\r\n @Input() mode: string;\r\n @Input() userID: number | null;\r\n mobileMode: boolean;\r\n portalSettings: any;\r\n employeeInfo: any;\r\n format: string;\r\n formData: { [key: string]: any } = {};\r\n originalData: { [key: string]: any } = {};\r\n gettingFilesData: boolean = false;\r\n savingDependent: boolean = false;\r\n btmText: any;\r\n newBornSSN: boolean;\r\n docsRequired: boolean;\r\n phoneMask: any;\r\n ssnMask: any;\r\n attachedFiles: number;\r\n savedFiles: any[];\r\n newFiles: any[];\r\n fileData: any[];\r\n relationshipList: any[] = [];\r\n hRDPKeyID: number;\r\n keyID: number;\r\n fields: any[] = [];\r\n groupedFields: any[] = [];\r\n dependentRequestID: number;\r\n isSubmitting: boolean;\r\n alert: any;\r\n validComboDrag: any;\r\n dragFiles: any;\r\n isLoading: boolean = true;\r\n fieldsToBind: number = 0;\r\n datePickerOptions: any;\r\n\r\n constructor(public activeModal: NgbActiveModal, portalSettingsService: PortalSettingsService, employeeInfoService: EmployeeInfoService, private employeeService: EmployeeService, private approvalService: ApprovalService, private utilityService: UtilityService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.format = this.utilityService.getDateFormat().toUpperCase();\r\n this.datePickerOptions = this.utilityService.getDefaultDatepickerOptions();\r\n this.mobileMode = this.utilityService.isMobileMode();\r\n this.btmText = this.portalSettings.DependentBtmText.ConfigValue;\r\n this.newBornSSN = this.portalSettings.NewBorn30SSNNotRequire.ConfigValue == \"1\";\r\n this.docsRequired = this.portalSettings.DependentRequiresDocs.ConfigValue == \"1\";\r\n this.formData = {};\r\n this.originalData = {};\r\n this.savingDependent = false;\r\n this.phoneMask = this.portalSettings.PhoneMask.ConfigValue;\r\n this.formData.notes = \"\";\r\n //set SSN Mask\r\n switch (this.employeeInfo.EmplCountry) {\r\n case \"US\":\r\n this.ssnMask = \"999-99-9999\";\r\n break;\r\n case \"CA\":\r\n this.ssnMask = \"999-999-999\";\r\n break;\r\n default:\r\n this.ssnMask = \"999-99-9999\";\r\n break;\r\n }\r\n this.attachedFiles = 0;\r\n this.savedFiles = [];\r\n this.hRDPKeyID = this.dependent.KeyID;\r\n this.getRelationship();\r\n if (this.mode == \"approval\")\r\n this.keyID = this.dependent.HRDPKeyID;\r\n else if (this.mode == \"attachmentOnly\") {\r\n this.keyID = this.dependent.DependentRequestID;\r\n }\r\n else\r\n this.keyID = this.dependent.KeyID;\r\n var isAddressValidationEnabled = false;\r\n this.newFiles = [];\r\n }\r\n\r\n private getRelationship() {\r\n this.employeeService.getRelationship().then((response: any) => {\r\n this.relationshipList = [];\r\n response.forEach((val: any) => {\r\n this.relationshipList.push({ name: val, value: val });\r\n });\r\n this.getUserFields();\r\n });\r\n }\r\n\r\n checkSSN(field) {\r\n if (this.formData[field.FieldVPColumnName] != null) {\r\n if (this.formData[field.FieldVPColumnName].length != 11)\r\n this.formData[field.FieldVPColumnName] = null;\r\n }\r\n }\r\n\r\n addAttachment() {\r\n this.newFiles.push({ File: null, Filename: null });\r\n }\r\n\r\n deleteUnsavedAttachment = function (file) {\r\n var index = this.newFiles.indexOf(file);\r\n this.newFiles.splice(index, 1);\r\n }\r\n\r\n numDaysBetween(d1, d2) {\r\n var diff = Math.abs(d1.getTime() - d2.getTime());\r\n return diff / (1000 * 60 * 60 * 24);\r\n }\r\n\r\n check30Days = function (data) {\r\n if (data != null) {\r\n if (this.newBornSSN) {\r\n if (this.numDaysBetween(new Date(), data) < 31)\r\n this.ssnNotRequireOverride = true;\r\n else\r\n this.ssnNotRequireOverride = false;\r\n }\r\n }\r\n }\r\n\r\n private getUserFields() {\r\n this.employeeService.getDependentFields(this.keyID).then((response: any) => {\r\n this.fields = response;\r\n this.groupedFields = [];\r\n var temp = [];\r\n for (var i = 0; i < this.fields.length; i++) {\r\n if (this.fields[i].FieldDataType == 4) {\r\n if (this.fields[i].FieldValue != null) {\r\n var dateParts = this.fields[i].FieldValue.split(\"-\");\r\n var date = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);\r\n date.setHours(0, 0, 0, 0);\r\n this.formData[this.fields[i].FieldVPColumnName] = date;\r\n this.check30Days(date);\r\n }\r\n }\r\n else {\r\n if (this.fields[i].FieldDataType == 5) {\r\n this.fieldsToBind++;\r\n this.getFieldOptions(this.fields[i]);\r\n }\r\n if (this.fields[i].FieldVPColumnName == \"Relationship\") {\r\n if (this.relationshipList.length > 0) {\r\n for (let j = 0; j < this.relationshipList.length; j++) {\r\n if (this.relationshipList[j].value == this.fields[i].FieldValue) {\r\n this.formData[this.fields[i].FieldVPColumnName] = this.fields[i].FieldValue;\r\n break;\r\n } else {\r\n this.formData[this.fields[i].FieldVPColumnName] = null;\r\n }\r\n }\r\n } else {\r\n this.formData[this.fields[i].FieldVPColumnName] = this.fields[i].FieldValue;\r\n }\r\n } else\r\n this.formData[this.fields[i].FieldVPColumnName] = this.fields[i].FieldValue;\r\n }\r\n if (i > 0 && i % 2 == 0) {\r\n this.groupedFields.push(temp);\r\n temp = [];\r\n }\r\n temp.push(this.fields[i]);\r\n }\r\n if (this.mode == \"approval\") {\r\n if (this.dependent.DependentFieldData != \"\") {\r\n var dependentFieldData = this.dependent.DependentFieldData.DependentInformation.DependentField;\r\n //if only one field has changed, dependentFieldData is an object, else it is an array\r\n if (Object.prototype.toString.call(dependentFieldData) === '[object Array]') {\r\n dependentFieldData.forEach((val: any) => {\r\n if (val.Name == \"BirthDate\") {\r\n this.formData[val.Name] = new Date(parseInt(moment(val.Value).format(\"YYYY\")), parseInt(moment(val.Value).format(\"MM\")) - 1, parseInt(moment(val.Value).format(\"DD\")), 0, 0, 0, 0);\r\n }\r\n //#410452: Handling other dates fields in the screen\r\n else if (moment(val.Value, 'YYYY-MM-DD', true).isValid()) {\r\n this.formData[val.Name] = new Date(parseInt(moment(val.Value).format(\"YYYY\")), parseInt(moment(val.Value).format(\"MM\")) - 1, parseInt(moment(val.Value).format(\"DD\")), 0, 0, 0, 0);\r\n } else {\r\n this.formData[val.Name] = val.Value;\r\n }\r\n });\r\n }\r\n else {\r\n if (dependentFieldData.Name != null && dependentFieldData.Value != null) {\r\n if (dependentFieldData.Name == \"BirthDate\") {\r\n this.formData[dependentFieldData.Name] = new Date(parseInt(moment(dependentFieldData.Value).format(\"YYYY\")), parseInt(moment(dependentFieldData.Value).format(\"MM\")) - 1, parseInt(moment(dependentFieldData.Value).format(\"DD\")), 0, 0, 0, 0);\r\n } if (moment(dependentFieldData.Value, 'YYYY-MM-DD', true).isValid()) {\r\n this.formData[dependentFieldData.Name] = new Date(parseInt(moment(dependentFieldData.Value).format(\"YYYY\")), parseInt(moment(dependentFieldData.Value).format(\"MM\")) - 1, parseInt(moment(dependentFieldData.Value).format(\"DD\")), 0, 0, 0, 0);\r\n } else {\r\n this.formData[dependentFieldData.Name] = dependentFieldData.Value;\r\n }\r\n } \r\n }\r\n }\r\n this.getSavedAttachments();\r\n }\r\n this.originalData = cloneDeep(this.formData);\r\n if (this.fieldsToBind == 0) {\r\n this.isLoading = false;\r\n }\r\n if (temp.length > 0) {\r\n this.groupedFields.push(temp);\r\n }\r\n });\r\n }\r\n\r\n getSavedAttachments() {\r\n var requestParam = \"moduleID=\" + 29 + \"&recordID=\" + this.dependent.DependentRequestID;\r\n this.employeeService.getFileAttachmentList(requestParam).then((response: any) => {\r\n this.savedFiles = response;\r\n });\r\n }\r\n\r\n private getFieldOptions(field) {\r\n this.employeeService.getFieldOptions(field.FieldID).then((response: any) => {\r\n field.fieldOptions = [];\r\n field.fieldOptions[field.FieldVPColumnName] = response;\r\n this.fieldsToBind--;\r\n if (this.fieldsToBind == 0) {\r\n this.isLoading = false;\r\n }\r\n });\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.close('close');\r\n }\r\n\r\n saveClicked() {\r\n this.savingDependent = true;\r\n this.closeAlert();\r\n var postData = [];\r\n var changedKeys = [];\r\n\r\n //Get changed data\r\n for (let [key, value] of Object.entries(this.formData)) {\r\n if (this.originalData[key] !== value && !this.areDatesEqual(this.originalData[key], value)) {\r\n if (key.toLowerCase().indexOf(\"date\") > -1 && value != null) {\r\n //ISO date string is always in format of YYYY-MM-DDTHH:mm:ss.sssZ\r\n value = moment(value).toISOString(true);\r\n value = value.substr(0, value.indexOf(\"T\"));\r\n }\r\n if (key.toLowerCase().indexOf(\"phone\") > -1 && key.toLowerCase().indexOf(\"carrier\") == -1) {\r\n if (value == this.phoneMask) {\r\n value = \"\";\r\n }\r\n }\r\n if (key != \"fileDrop\") {\r\n postData.push({ Name: key, Value: value });\r\n changedKeys.push(key);\r\n }\r\n }\r\n }\r\n //If data was changed, submit\r\n this.isSubmitting = true;\r\n this.employeeService.submitDependents(this.dependent.KeyID, postData, false, this.userID).then((response: any) => {\r\n if (response.success) {\r\n this.dependentRequestID = response.dependentRequestID;\r\n if (this.dependentRequestID != null) {\r\n this.saveAttachments();\r\n }\r\n else {\r\n this.savingDependent = false;\r\n this.activeModal.close({ type: \"success\", msg: \"Dependent information updated successfully.\" });\r\n }\r\n }\r\n else {\r\n this.savingDependent = false;\r\n this.alert = { type: \"danger\", msg: \"An error occurred while updating dependent information.\" }\r\n }\r\n });\r\n\r\n }\r\n\r\n private readFile(file: any, call: any) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n upload() {\r\n this.fileData = [];\r\n var currentUpload = this.formData.fileDrop;\r\n this.formData.fileDrop = [];\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n currentUpload[i].nameEdit = \"\";\r\n for (var y = 0; y < currentUpload[i].name.substr(0, currentUpload[i].name.lastIndexOf('.') + 1).length; y++) {\r\n if (currentUpload[i].name[y] != \" \" && currentUpload[i].name[y] != \"&\" && currentUpload[i].name[y] != \"*\" && currentUpload[i].name[y] != \":\" &&\r\n currentUpload[i].name[y] != \";\" && currentUpload[i].name[y] != \"|\" && currentUpload[i].name[y] != \"=\" && currentUpload[i].name[y] != \",\" &&\r\n currentUpload[i].name[y] != \".\" && currentUpload[i].name[y] != \"/\" && currentUpload[i].name[y] != \"\\\"\" && currentUpload[i].name[y] != \"[\" &&\r\n currentUpload[i].name[y] != \"]\")\r\n currentUpload[i].nameEdit += currentUpload[i].name[y];\r\n }\r\n currentUpload[i].nameEdit += currentUpload[i].name.substr(currentUpload[i].name.lastIndexOf('.'), currentUpload[i].name.length);\r\n }\r\n\r\n if (currentUpload != null) {\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n var n = 0;\r\n this.readFile(currentUpload[i], (e: any, fileName: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: fileName });\r\n if (n == (currentUpload.length - 1)) {\r\n this.fileData.forEach((val: any) => {\r\n currentUpload.forEach((val2: any) => {\r\n if (val2.size == val.size && val.name == val2.name) {\r\n this.newFiles.push({ File: val.data[1], Filename: val2.nameEdit, Filedata: val2, Type: val.data[0].split(\"/\")[0] });\r\n }\r\n });\r\n });\r\n }\r\n n++;\r\n });\r\n });\r\n };\r\n }\r\n }\r\n\r\n saveAttachments() {\r\n var promises = [];\r\n if (this.mode == \"attachmentOnly\" || this.mode == \"approval\") {\r\n this.dependentRequestID = this.dependent.DependentRequestID;\r\n }\r\n this.newFiles.forEach((attachment: any) => {\r\n if (attachment.File != null && attachment.Filename != null) {\r\n promises.push(this.employeeService.saveFileAttachment(29, this.dependentRequestID, attachment.File, attachment.Filename, \"file\", null, null, null).then((response: any) => {\r\n }));\r\n }\r\n });\r\n forkJoin(promises).subscribe({\r\n complete: () => {\r\n this.savingDependent = false;\r\n this.activeModal.close({ type: \"success\", msg: \"Dependent information updated successfully.\" });\r\n }\r\n });\r\n }\r\n\r\n approveClicked() {\r\n this.gettingFilesData = true;\r\n this.closeAlert();\r\n var postData = [];\r\n var changedKeys = [];\r\n //Get changed data\r\n Object.entries(this.formData).forEach((val: any) => {\r\n if (this.originalData[val[0]] !== val[1] && !this.areDatesEqual(this.originalData[val[0]], val[1])) {\r\n //#410452: Handling other dates fields in the screen\r\n if (moment(val[1], 'YYYY-MM-DD', true).isValid()) {\r\n val[1] = moment(val[1]).format(\"YYYY-MM-DD\");\r\n }\r\n postData.push({ Name: val[0], Value: val[1] });\r\n changedKeys.push(val[0]);\r\n }\r\n });\r\n\r\n this.isSubmitting = true;\r\n\r\n //toVPFile\r\n this.approvalService.dependentRequestAction(this.dependent.DependentRequestID, postData, \"A\", this.formData.notes).then((response: any) => {\r\n if (response.success) {\r\n this.saveAttachments();\r\n if (this.savedFiles.length > 0) {\r\n this.employeeService.sendFileAttachmentRawDataToVP(29, this.dependent.DependentRequestID, \"file\", null, null, null, null).then((response: any) => {\r\n this.gettingFilesData = false;\r\n if (response.success) {\r\n this.activeModal.close({ type: \"success\", msg: \"Dependent request approved.\" });\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: \"An error occurred while approving the request.\" }\r\n this.gettingFilesData = false;\r\n }\r\n });\r\n }\r\n\r\n deleteClicked() {\r\n this.employeeService.submitDependents(this.dependent.KeyID, null, true, this.userID).then((response: any) => {\r\n this.activeModal.close({ type: \"danger\", msg: \"Your request to remove a dependent has been submitted.\" });\r\n });\r\n }\r\n\r\n rejectClicked() {\r\n this.approvalService.dependentRequestAction(this.dependent.DependentRequestID, [], \"R\", this.formData.notes).then((response: any) => {\r\n if (response.success) {\r\n this.activeModal.close({ type: \"success\", msg: \"Dependent request rejected.\" });\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: \"An error occurred while rejecting the request.\" }\r\n }\r\n });\r\n }\r\n\r\n areDatesEqual(date, date2) {\r\n return !date && !date2 || date && date2 && date.getMonth && date.getTime() === date2.getTime();\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n\r\n updatePhone(data: string, field: any) {\r\n this.formData[field] = data;\r\n }\r\n\r\n updateSSN(data: string, field: any) {\r\n this.formData[field] = data;\r\n }\r\n}\r\n","
\r\n

Edit Dependent

\r\n

Add New Dependent

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\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 {{data.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
\r\n \r\n
\r\n
\r\n \r\n {{option.DisplayValue}}\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 Drop a file or Click to upload\r\n
\r\n
\r\n
\r\n
\r\n {{file.Filename}}\r\n Remove\r\n
\r\n
0 && file.Progress < 100\">\r\n
{{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

*required

\r\n
\r\n
\r\n
\r\n
{{btmText}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \"Loading...\"\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Documentation of this dependent's relationship is required before the request can be processed - please attach supporting documentation to the request.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","import { switchMap } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpRequest } from '@angular/common/http';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { EmployeeInfoService } from '../../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { EmployeeService } from './../../../../pages/employee/services/employee.service';\r\nimport moment from 'moment';\r\nimport { CurrencyMaskInputMode } from \"ngx-currency\";\r\nimport { NgForm } from '@angular/forms';\r\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\r\nimport { ImageTransform } from 'ngx-image-cropper/lib/interfaces';\r\nimport { OrderByPipe } from './../../../../shared/pipe/order-by.pipe';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EventService } from 'src/app/core/services/event.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { WarningModalComponent } from 'src/app/modals/shared/warning-modal/warning-modal.component';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\nimport { HomeService } from './../../../../pages/home/services/home.service';\r\nimport {\r\n PdfViewerComponent, LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, SignatureFieldSettings,\r\n AnnotationService, TextSearchService, TextSelectionService,\r\n PrintService, FormDesignerService, FormFieldsService, ValidateFormFieldsArgs\r\n} from '@syncfusion/ej2-angular-pdfviewer';\r\n\r\n@Component({\r\n selector: 'app-edit-expense-modal',\r\n templateUrl: './edit-expense-modal.component.html',\r\n styleUrls: ['./edit-expense-modal.component.css'],\r\n providers: [LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, SignatureFieldSettings,\r\n AnnotationService, TextSearchService, TextSelectionService,\r\n PrintService, FormDesignerService, FormFieldsService]\r\n})\r\nexport class EditExpenseModalComponent implements OnInit {\r\n @Input() data: any;\r\n @Input() mode: string;\r\n @Input() selectedEmployee: any;\r\n @Input() where: string;\r\n public pdfviewerControl: PdfViewerComponent;\r\n @ViewChild('typeFields', { static: false }) typeFields: NgForm;\r\n portalSettings: any;\r\n orderByPipe: any;\r\n isOutOfBalance: boolean;\r\n exSubmitIndividualExpenseItem: boolean;\r\n preventSubmitNonCreditCard: boolean;\r\n mileageRateLabel: string;\r\n milesLabel: string;\r\n showTaxCodeOnMileage: boolean;\r\n currencySymbol: string;\r\n requireExpenseCodingForApproversOnly: boolean;\r\n exDisableLineRequireFields: boolean;\r\n switchDropdown: boolean;\r\n exEnabledEMCo: any;\r\n exEnabledGLCo: any;\r\n exEnabledJCCo: any;\r\n exEnabledSMCo: any;\r\n markAttachmentRequireBaseOnThreshold: any;\r\n requireAttachmentBasedOnMileage: boolean;\r\n showReviewer: boolean;\r\n mobileMode: boolean;\r\n saveInProgress: boolean;\r\n bindNewTaxCode: boolean;\r\n disableWhileSaving: boolean;\r\n format: string;\r\n formData: { [key: string]: any } = {};\r\n reimbursementList: any[];\r\n taxTypeList: { TaxType: number; TaxTypeDisplay: string; }[];\r\n ReceiptID: any;\r\n currentPRCo: any;\r\n showPending: boolean;\r\n showSaved: boolean;\r\n newFiles: any[];\r\n openModalLeft: number;\r\n savedFiles: any[];\r\n fieldsName: any[];\r\n groupedFields: any[];\r\n attachmentList: any[];\r\n umList: any[];\r\n itemDetails: { [key: string]: any } = {};\r\n isPR: boolean;\r\n lookupValues: { [key: string]: any } = {};\r\n lookupLoaded: { [key: string]: any } = {};\r\n itemDetailsCheck: { [key: string]: any } = {};\r\n lineTypeList: any[];\r\n reviewer: any[];\r\n reviewerList: any[];\r\n rateList: any[];\r\n taxCodeList: any[];\r\n creditList: any[];\r\n customerList: any[];\r\n employeeInfo: any;\r\n editNow: boolean;\r\n lastSave: { [key: string]: any } = {};\r\n catList: any[];\r\n cleanBoard: boolean;\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean };\r\n fileData: any[];\r\n close: string;\r\n fields: any[];\r\n fieldProperties: any[];\r\n earnCodeList: any[];\r\n innerCounter: number;\r\n alert: string;\r\n showTaxAmount: boolean;\r\n gettingLookupValues: boolean;\r\n options: { [key: string]: any } = {};\r\n submitting: boolean;\r\n aPCo: any;\r\n errorMsg: string;\r\n stopCalculate: boolean;//Unassigned variable\r\n restrictJCCO: any; //Unassigned variable\r\n canSave: boolean;\r\n extension: any;\r\n showViewer: boolean;\r\n disableSaveImage: boolean;\r\n enableEditImage: boolean;\r\n imageSrc: any;\r\n uploadImage: string;\r\n searchText: string;\r\n croppedImage: any;\r\n canvasRotation: number;\r\n transform: ImageTransform = {};\r\n customerNameSearch = new Subject();\r\n reviewerNameSearch = new Subject();\r\n lookupValueSearch = new Subject();\r\n lookupURL: string;\r\n lookupColumnName: string;\r\n preLoadLookup: boolean;\r\n selectFirstLookup: boolean;\r\n isMobileIos: any;\r\n transDateDaysLimit: string;\r\n isTransDateValid: boolean;\r\n service: any;\r\n printMode: string = \"NewWindow\";\r\n receiptItemID: any;\r\n addAttachmentToReceipt: boolean = false;;\r\n pdfResource: any;\r\n currentAttachID: number;\r\n\r\n constructor(public activeModal: NgbActiveModal, portalSettingsService: PortalSettingsService, employeeInfoService: EmployeeInfoService, private employeeService: EmployeeService,\r\n public HttpClient: HttpClient, private eventService: EventService, private sharedModalService: BsModalService, private modalService: NgbModal, private utilityService: UtilityService, private homeService: HomeService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n this.format = utilityService.getDateFormat().toUpperCase();\r\n this.mobileMode = utilityService.isMobileMode();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.service = \"/Api/PdfViewer\";\r\n this.pdfResource = window.location.origin + \"/dist/assets/ej2-pdfviewer-lib\";\r\n this.orderByPipe = new OrderByPipe();\r\n this.datePickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false };\r\n this.editNow = false;\r\n this.formData.selectedReviewer = {};\r\n this.lastSave.status = null;\r\n this.lastSave.time = null;\r\n this.mileageRateLabel = this.portalSettings.CountryDateCode.ConfigValue === \"CAN\" || this.portalSettings.CountryDateCode.ConfigValue === \"AU\" ? \"Rate / km\" : \"Mileage Rate\";\r\n this.milesLabel = this.portalSettings.CountryDateCode.ConfigValue === \"CAN\" || this.portalSettings.CountryDateCode.ConfigValue === \"AU\" ? \"Kilometers\" : \"Miles\";\r\n this.showTaxCodeOnMileage = this.portalSettings.ShowTaxCodeOnMileage.ConfigValue === \"1\";\r\n\r\n this.currencySymbol = this.utilityService.getCurrencySymbol();\r\n this.transDateDaysLimit = this.portalSettings[\"EXRestrictTransactionDateNumberofDays\"].ConfigValue;\r\n this.isTransDateValid = true;\r\n this.requireExpenseCodingForApproversOnly = this.portalSettings.RequireExpenseCodingForApproversOnly.ConfigValue == \"1\";\r\n this.exDisableLineRequireFields = this.portalSettings.ExDisableLineRequireFields.ConfigValue === \"1\";\r\n this.switchDropdown = this.portalSettings.SwitchJobToStandardSearchableDropdown.ConfigValue === \"1\";\r\n this.exEnabledEMCo = this.portalSettings.EXEnabledEMCo.ConfigValue != null ? this.portalSettings.EXEnabledEMCo.ConfigValue.split(\",\") : 0;\r\n this.exEnabledGLCo = this.portalSettings.EXEnabledGLCo.ConfigValue != null ? this.portalSettings.EXEnabledGLCo.ConfigValue.split(\",\") : 0;\r\n this.exEnabledJCCo = this.portalSettings.EXEnabledJCCo.ConfigValue != null ? this.portalSettings.EXEnabledJCCo.ConfigValue.split(\",\") : 0;\r\n this.exEnabledSMCo = this.portalSettings.EXEnabledSMCo.ConfigValue != null ? this.portalSettings.EXEnabledSMCo.ConfigValue.split(\",\") : 0;\r\n this.exSubmitIndividualExpenseItem = this.portalSettings.ExSubmitIndividualExpenseItem.ConfigValue == \"1\";\r\n this.markAttachmentRequireBaseOnThreshold = this.portalSettings.MarkAttachmentRequireBaseOnThreshold.ConfigValue;\r\n this.requireAttachmentBasedOnMileage = this.portalSettings.RequireAttachmentBasedOnMileage.ConfigValue == \"1\";\r\n this.preventSubmitNonCreditCard = this.portalSettings.PreventSubmitNonCreditCard.ConfigValue == \"1\";\r\n this.showReviewer = this.portalSettings.ReviewerOnSubmit.ConfigValue == \"1\" ? true : false;\r\n this.addAttachmentToReceipt = this.portalSettings.EnableAddAttachmentToReceipt.ConfigValue == \"1\";\r\n this.saveInProgress = false;\r\n this.where = this.where;\r\n this.bindNewTaxCode = false;\r\n this.disableWhileSaving = false;\r\n this.isOutOfBalance = this.data != null && this.data.ExpenseTransID != null && this.data.UnreconciledAmount != null;\r\n this.formData.UM = \"LS\";\r\n this.formData.ReimburseOrMileage = null;\r\n this.formData.CustomerName = null;\r\n this.formData.ExpenseTransID = null;\r\n this.formData.matchCreditCard = {};\r\n this.reimbursementList = [];\r\n this.taxTypeList = [{ TaxType: 0, TaxTypeDisplay: \"No Tax Type\" }, { TaxType: 1, TaxTypeDisplay: \"1 - Sales\" }, { TaxType: 2, TaxTypeDisplay: \"2 - Use\" }, { TaxType: 3, TaxTypeDisplay: \"3 - VAT\" }];\r\n this.ReceiptID = null;\r\n this.receiptItemID = null;\r\n this.cleanBoard = true;\r\n if (this.where == \"dashboard\")\r\n this.cleanBoard = false;\r\n this.isMobileIos = navigator.userAgent.match(/(iPad|iPhone|iPod touch);.*(OS 11_0|OS 11_1|OS 11_2|OS 11_3)/i);\r\n if (this.isMobileIos != null) {\r\n $('body').addClass('iosBugFixCaret');\r\n }\r\n if (this.data != null) {\r\n this.currentPRCo = this.data.PRCo;\r\n this.ReceiptID = this.data.ReceiptID;\r\n this.receiptItemID = this.data.ReceiptItemID;\r\n for (let key in this.data) {\r\n let val = this.data[key];\r\n if (key === \"Job\") {\r\n this.formData[\"Job\"] = {};\r\n this.formData[\"Job\"].DatabaseValue = val;\r\n this.formData[\"JobLabel\"] = val;\r\n } else\r\n this.formData[key] = val;\r\n this.formData.Amount = this.data.Amount;\r\n }\r\n } else {\r\n this.data = { ReceiptID: -1 };\r\n this.ReceiptID = -1;\r\n this.receiptItemID = -1;\r\n if (this.selectedEmployee !== null) {\r\n if (this.selectedEmployee.PRCo === null) {\r\n this.currentPRCo = this.employeeInfo.PRCo;\r\n } else {\r\n this.currentPRCo = this.selectedEmployee.PRCo;\r\n }\r\n } else {\r\n this.currentPRCo = this.employeeInfo.PRCo;\r\n }\r\n }\r\n\r\n if (this.formData.TransDate !== null)\r\n this.formData.TransDateDisplay = moment(this.formData.TransDate).utc().format(this.format);\r\n\r\n var temp = this.portalSettings.LimitReimbursementOnSubmit.ConfigValue.split(',');\r\n\r\n temp.forEach((val: string) => {\r\n if (val == \"E\") {\r\n this.reimbursementList.push({ value: \"E\", display: \"Entertainment\" });\r\n } else if (val == \"R\") {\r\n this.reimbursementList.push({ value: \"R\", display: \"Expense\" });\r\n if (this.formData.ReimburseOrMileage == null) {\r\n this.formData.ReimburseOrMileage = \"R\";\r\n }\r\n } else if (val == \"M\" && this.formData.ExpenseTransID == null) {\r\n this.reimbursementList.push({ value: \"M\", display: \"Mileage\" });\r\n }\r\n });\r\n\r\n if (this.formData.ReimburseOrMileage == null) {\r\n this.formData.ReimburseOrMileage = this.reimbursementList[0].value;\r\n }\r\n\r\n this.showPending = true;\r\n this.showSaved = true;\r\n this.newFiles = [];\r\n this.openModalLeft = (window.innerWidth - 200) / 2;\r\n this.savedFiles = [];\r\n this.attachmentList = [];\r\n this.itemDetails = {};\r\n for (let key in this.data) {\r\n this.itemDetails[key] = this.data[key];\r\n }\r\n\r\n if (this.itemDetails.Equip !== undefined) {\r\n this.formData.equipTempName = this.itemDetails.Equip;\r\n }\r\n if (this.itemDetails.Job !== undefined) {\r\n this.formData.jobTempName = this.itemDetails.Job;\r\n }\r\n if (this.itemDetails.Material !== undefined) {\r\n this.formData.materialTempName = this.itemDetails.Material;\r\n }\r\n if (this.itemDetails.SMWorkOrder !== undefined) {\r\n this.formData.smWorkOrderTempName = this.itemDetails.SMWorkOrder;\r\n }\r\n if (this.itemDetails.WO !== undefined) {\r\n this.formData.woTempName = this.itemDetails.WO;\r\n }\r\n\r\n this.formData.ExpenseDate = this.formData.ExpenseDate != null ? new Date(parseInt(moment(this.formData.ExpenseDate).utc().format(\"YYYY\")), parseInt(moment(this.formData.ExpenseDate).utc().format(\"MM\")) - 1, parseInt(moment(this.formData.ExpenseDate).utc().format(\"DD\")), 0, 0, 0, 0) : new Date();\r\n\r\n if (this.selectedEmployee != null && this.selectedEmployee.DefaultBlankDate && this.ReceiptID == -1) {\r\n this.formData.ExpenseDate = null;\r\n }\r\n\r\n this.isPR = this.portalSettings.ExpensePostingType.ConfigValue.toLowerCase() == \"p\";\r\n this.lookupValues = {};\r\n this.lookupLoaded = [];\r\n this.itemDetailsCheck = {};\r\n this.lineTypeList = [];\r\n var lineTypeListCopy = {};\r\n var oriLineTypeList = {};\r\n oriLineTypeList[\"1\"] = \"Job\";\r\n\r\n oriLineTypeList[\"3\"] = \"Expense\";\r\n oriLineTypeList[\"4\"] = \"Equipment\";\r\n oriLineTypeList[\"5\"] = \"EM Work Order\";\r\n if (!this.isPR) {\r\n oriLineTypeList[\"6\"] = \"PO\";\r\n\r\n }\r\n oriLineTypeList[\"8\"] = \"SM Work Order\";\r\n\r\n this.portalSettings.ExpenseLineType.ConfigValue.split(\",\").forEach((val: string) => {\r\n if (oriLineTypeList.hasOwnProperty(val)) {\r\n this.lineTypeList.push({ index: parseInt(val), name: oriLineTypeList[val] });\r\n lineTypeListCopy[val] = true;\r\n }\r\n });\r\n\r\n if (lineTypeListCopy.hasOwnProperty(this.formData.LineChargeType))\r\n this.formData.LineChargeType = (this.formData.LineChargeType == null ? this.lineTypeList[0].index : this.formData.LineChargeType);\r\n else {\r\n this.clearField();\r\n this.formData.LineChargeType = this.lineTypeList[0].index;\r\n }\r\n this.openModal();\r\n this.getMileageList();\r\n this.getUM();\r\n this.getFieldsByLineItem();\r\n this.getCatg();\r\n\r\n if (this.formData.ExpenseTransID === null)\r\n this.getCreditCardList();\r\n\r\n if (this.mode !== \"new\")\r\n this.getAttachment();\r\n\r\n this.reviewer = [];\r\n this.reviewerList = [];\r\n this.options = { align: 'left', prefix: this.currencySymbol, precision: 2, nullable: true, inputMode: CurrencyMaskInputMode.NATURAL };\r\n this.typeSearch()\r\n }\r\n\r\n typeSearch() {\r\n this.customerNameSearch\r\n .pipe(\r\n switchMap(customerNameSearch => this.employeeService.getCustomerNames(this.formData.CustomerName))\r\n )\r\n .subscribe(data => {\r\n var response: any = data;\r\n var list: any[] = [];\r\n response.forEach((val: any, key: any) => {\r\n list.push({ Key: key, DisplayValue: val });\r\n });\r\n this.customerList = list;\r\n });\r\n\r\n this.reviewerNameSearch\r\n .pipe(\r\n switchMap(reviewerNameSearch => this.employeeService.getReviewers(this.formData.selectedReviewer.Label))\r\n )\r\n .subscribe(data => {\r\n var reviewer: any = data;\r\n this.reviewer = reviewer;\r\n });\r\n\r\n this.lookupValueSearch\r\n .pipe(\r\n switchMap(lookupValueSearch => this.employeeService.getlookupURL(this.lookupURL))\r\n )\r\n .subscribe(data => {\r\n var response: any = data;\r\n if (this.preLoadLookup && response.length == 1)\r\n return this.setLookUps(this.lookupColumnName, true, response);\r\n else if (!this.preLoadLookup)\r\n return this.setLookUps(this.lookupColumnName, this.selectFirstLookup, response);\r\n });\r\n\r\n }\r\n\r\n searchReviewer() {\r\n if (this.formData.selectedReviewer.Label != null && this.formData.selectedReviewer.Label.length > 1) {\r\n this.reviewerNameSearch.next();\r\n }\r\n }\r\n\r\n addReviewer() {\r\n this.reviewerList.push({ reviewer: this.formData.selectedReviewer.Value, reviewerName: this.formData.selectedReviewer.Label });\r\n this.formData.selectedReviewer = {};\r\n }\r\n\r\n removeReviewer(index: any) {\r\n this.reviewerList.splice(index, 1);\r\n }\r\n\r\n getCreditCardList() {\r\n this.employeeService.getCreditCardList(this.selectedEmployee).then((response: any) => {\r\n this.creditList = response;\r\n if (this.creditList != null) {\r\n this.creditList.forEach((val: any) => {\r\n if (val.TransDate !== null)\r\n val.TransDateDisplay = moment(val.TransDate).utc().format(this.format);\r\n val.displayValue = val.TransDateDisplay + \" \" + val.TransDescription + \" \" + this.currencySymbol + val.TransAmount;\r\n });\r\n }\r\n })\r\n }\r\n\r\n unlinkCreditCard() {\r\n this.openModal();\r\n this.employeeService.unlinkItem(this.selectedEmployee === null ? null : this.selectedEmployee.UserKeyID, this.ReceiptID).then((response: any) => {\r\n this.cleanBoard = false;\r\n if (response.success) {\r\n this.formData.ExpenseTransID = null;\r\n this.getCreditCardList();\r\n this.formData.matchCreditCard = null;\r\n this.isOutOfBalance = false;\r\n }\r\n this.closeModal();\r\n });\r\n };\r\n\r\n getMileageList() {\r\n this.employeeService.getMileageRate(this.currentPRCo).then((response: any) => {\r\n this.rateList = response;\r\n this.rateList.forEach((val: any) => {\r\n if (val.MileageRate.toFixed(2).length > val.MileageRate.toString().length)\r\n val.mileageRateDisplay = val.MileageRate.toFixed(2);\r\n else\r\n val.mileageRateDisplay = val.MileageRate;\r\n });\r\n if (this.rateList.length > 0) {\r\n if (this.formData.ReimburseOrMileage == \"M\") {\r\n var rateExist = false;\r\n if (this.formData.UnitCost != null) {\r\n this.rateList.forEach((val: any) => {\r\n if (val.MileageRate == this.formData.UnitCost) {\r\n rateExist = true;\r\n }\r\n });\r\n }\r\n if (!rateExist)\r\n this.formData.UnitCost = this.rateList[0].MileageRate;\r\n }\r\n }\r\n this.getCompanySetting();\r\n });\r\n }\r\n\r\n getCompanySetting() {\r\n this.employeeService.expenseSettingsByPRCo(this.currentPRCo).then((response: any) => {\r\n if (this.mode == \"new\") {\r\n if (this.portalSettings[\"CountryDateCode\"].ConfigValue == \"US\") {\r\n this.formData.TaxType = 1;\r\n }\r\n else {\r\n this.formData.TaxType = 3;\r\n }\r\n\r\n if (this.portalSettings[\"ExpenseTaxTypeDefaultOverride\"].ConfigValue != null)\r\n this.formData.TaxType = parseInt(this.portalSettings[\"ExpenseTaxTypeDefaultOverride\"].ConfigValue);\r\n }\r\n\r\n this.showTaxAmount = response[0].ShowTaxAmount;\r\n this.aPCo = response[0].APCo;\r\n\r\n if ((this.mode == \"new\" || this.formData.TaxCode == null) && this.formData.TaxType != 0) {\r\n if (this.formData.ReimburseOrMileage != 'M' || (this.formData.ReimburseOrMileage == 'M' && this.showTaxCodeOnMileage)) {\r\n this.formData.TaxCode = response[0].TaxCode;\r\n this.bindNewTaxCode = true;\r\n }\r\n }\r\n\r\n if (this.formData.TaxType != 0) {\r\n this.getTaxCode();\r\n }\r\n });\r\n }\r\n\r\n getTaxCode() {\r\n this.employeeService.getTaxCodes(this.formData.TaxType).then((response: any) => {\r\n this.taxCodeList = response;\r\n this.taxCodeList.unshift({ EffectiveRate: 0, TaxCode: null, TaxCodeDisplay: \"No Tax Code\" });\r\n if (this.formData.TaxCode != null) {\r\n var count = 0;\r\n response.forEach((val: any) => {\r\n if (val.TaxCode == this.formData.TaxCode)\r\n count++;\r\n });\r\n if (count == 0)\r\n this.formData.TaxCode = null;\r\n }\r\n if (this.formData.Amount != null && this.showTaxAmount && this.taxCodeList.length > 0 && (this.formData.TaxAmount == null || this.bindNewTaxCode)) {\r\n this.calculateTaxAmount();\r\n this.bindNewTaxCode = false;\r\n }\r\n if (this.formData.ReimburseOrMileage == \"M\") {\r\n this.calculatMileage();\r\n }\r\n });\r\n }\r\n\r\n calculatMileage() {\r\n if (this.formData.UnitCost != null && this.formData.Units != null)\r\n this.formData.MileTotal = this.formData.UnitCost * this.formData.Units;\r\n else\r\n this.formData.MileTotal = null;\r\n\r\n if (this.formData.MileTotal != null && this.formData.TaxCode != null && this.taxCodeList != null)\r\n this.calculateCanTaxAmount();\r\n this.saveItem('open');\r\n }\r\n\r\n calculateCanTaxAmount() {\r\n if (this.formData.MileTotal != null && this.formData.TaxCode != null) {\r\n var tempRate = null;\r\n\r\n this.taxCodeList.forEach((val: any) => {\r\n if (this.formData.TaxCode == val.TaxCode)\r\n tempRate = val.EffectiveRate;\r\n });\r\n if (this.formData.TaxType == 2)\r\n this.formData.TaxAmount = this.formData.MileTotal * tempRate;\r\n else\r\n this.formData.TaxAmount = (this.formData.MileTotal / (1 + tempRate)) * tempRate;\r\n } else\r\n this.formData.TaxAmount = null;\r\n }\r\n\r\n calculateTaxAmount() {\r\n if (this.formData.Amount != null && this.formData.TaxCode != null) {\r\n var tempRate = null;\r\n this.taxCodeList.forEach((val: any) => {\r\n if (this.formData.TaxCode == val.TaxCode)\r\n tempRate = val.EffectiveRate;\r\n });\r\n if (this.formData.TaxType == 2)\r\n this.formData.TaxAmount = this.formData.Amount * tempRate;\r\n else\r\n this.formData.TaxAmount = (this.formData.Amount / (1 + tempRate)) * tempRate;\r\n } else\r\n this.formData.TaxAmount = null;\r\n }\r\n\r\n amountChange(where: string) {\r\n if (where === \"amount\") {\r\n if (isNaN(this.formData.Amount)) {\r\n this.formData.Amount = null;\r\n } else {\r\n if (this.formData.Amount !== null && this.showTaxAmount && this.formData.TaxCode !== null) {\r\n var tempRate = null;\r\n this.taxCodeList.forEach((val: any) => {\r\n if (this.formData.TaxCode === val.TaxCode)\r\n tempRate = val.EffectiveRate;\r\n });\r\n if (this.formData.TaxType == 2)\r\n this.formData.TaxAmount = this.formData.Amount * tempRate\r\n else\r\n this.formData.TaxAmount = this.formData.Amount / (1 + tempRate) * tempRate;\r\n } else\r\n this.formData.TaxAmount = null;\r\n }\r\n this.isOutOfBalance = this.formData.ExpenseTransID != null && (this.formData.Amount != null && this.formData.Amount != this.formData.matchCreditCard.UnreconciledAmount);\r\n } else {\r\n if (isNaN(this.formData.TaxAmount)) {\r\n this.formData.TaxAmount = null;\r\n }\r\n }\r\n this.saveItem('open');\r\n }\r\n\r\n getCatg() {\r\n this.employeeService.getCategory().then((response: any) => {\r\n this.catList = [];\r\n response.forEach((val: any) => {\r\n if (val.IsActive)\r\n this.catList.push(val);\r\n });\r\n });\r\n this.closeModal();\r\n }\r\n\r\n readFile(file, call) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n getCustomerNamesSearch() {\r\n if (this.formData.CustomerName != null && this.formData.CustomerName.length >= 2) {\r\n this.customerNameSearch.next();\r\n }\r\n }\r\n\r\n blurSave() {\r\n this.cleanBoard = false;\r\n this.saveItem('open');\r\n }\r\n\r\n calculatTotal(saveTrigger: boolean) {\r\n if (this.formData.Units != null && this.formData.UnitCost != null && !isNaN(this.formData.UnitCost)) {\r\n this.formData.Amount = this.formData.Units * this.formData.UnitCost;\r\n this.amountChange(\"amount\");\r\n }\r\n if (saveTrigger)\r\n this.saveItem('open');\r\n }\r\n\r\n rorMUpdate() {\r\n if (this.formData.ReimburseOrMileage == \"M\") {\r\n this.formData.UM = null;\r\n this.formData.Units = null;\r\n this.formData.TaxCode = null;\r\n this.formData.TaxAmount = null;\r\n this.formData.MileTotal = null;\r\n this.formData.UnitCost = null;\r\n this.formData.Amount = null;\r\n this.formData.CustomerName = null;\r\n this.formData.CustomerCount = null;\r\n this.formData.OurFirmCount = null;\r\n } else if (this.formData.ReimburseOrMileage == \"R\") {\r\n this.formData.CustomerName = null;\r\n this.formData.CustomerCount = null;\r\n this.formData.OurFirmCount = null;\r\n this.calculatTotal(false);\r\n } else {\r\n this.calculatTotal(false);\r\n }\r\n\r\n this.saveItem('open');\r\n }\r\n\r\n saveItem(close: string) {\r\n if (this.ReceiptID == -1) {\r\n this.disableWhileSaving = true;\r\n }\r\n\r\n if (this.formData.ExpenseDate != null && this.transDateDaysLimit != null && this.employeeInfo != null) {\r\n var transDate = moment(this.formData.ExpenseDate).format(this.format);\r\n var restrictedTransDate = moment(new Date()).subtract(this.transDateDaysLimit, \"days\").format(this.format);\r\n if (transDate < restrictedTransDate && !this.employeeInfo.IsExpenseAdmin) {\r\n this.isTransDateValid = false;\r\n this.disableWhileSaving = false;\r\n }\r\n else if (transDate < restrictedTransDate && this.employeeInfo.IsExpenseAdmin && close == 'submit') {\r\n const initialState = {\r\n modalData: {\r\n modalTitle: \"Confirm Message\",\r\n modalMessage: 'Transaction date is beyond allowed expense date. Are you sure you want to continue?',\r\n modalAction: \"Continue\", closeButtonText: \"Cancel\", warningLevel: \"success\"\r\n },\r\n backdrop: 'static',\r\n size: 'md'\r\n };\r\n let modalRef = this.sharedModalService.show(WarningModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n modalRef.onHide.subscribe((reason: any) => {\r\n var result = modalRef.content;\r\n if (result.userAction == \"Continue\") {\r\n this.saveDetail(close);\r\n }\r\n });\r\n }\r\n else {\r\n this.isTransDateValid = true;\r\n this.disableWhileSaving = false;\r\n this.saveDetail(close);\r\n }\r\n }\r\n else {\r\n this.saveDetail(close);\r\n }\r\n }\r\n\r\n saveDetail(close: string) {\r\n this.saveInProgress = true;\r\n if (((this.showTaxAmount && ((Math.abs(this.formData.TaxAmount) <= Math.abs(this.formData.Amount) && this.formData.Amount != null && this.formData.TaxAmount != null) ||\r\n (this.formData.Amount != null && this.formData.TaxAmount == null) && (this.formData.ReimburseOrMileage == \"R\" || this.formData.ReimburseOrMileage == \"E\")) || this.formData.ReimburseOrMileage == \"M\") || !this.showTaxAmount)\r\n && (this.formData.ReceiptDescription != null && this.formData.ReceiptDescription != '') && (this.typeFields.form.valid || this.exDisableLineRequireFields) &&\r\n ((this.formData.Amount != null && this.formData.Amount != '' && (this.formData.ReimburseOrMileage == \"R\" || this.formData.ReimburseOrMileage == \"E\")) ||\r\n (this.formData.ReimburseOrMileage == \"M\" && (this.formData.UnitCost != null && this.formData.Units != null)))\r\n && (this.formData.LineChargeType != 4 || this.itemDetails.Equip != null || this.exDisableLineRequireFields) && (this.selectedEmployee != null ? (!this.selectedEmployee.DefaultBlankDate || (this.selectedEmployee.DefaultBlankDate && this.formData.ExpenseDate != null)) : this.formData.ExpenseDate != null)) {\r\n this.employeeService.insertUpdateReceipt(this.ReceiptID, (this.selectedEmployee === null ? this.data.SubmittedByUserKeyID : this.selectedEmployee.UserKeyID), this.employeeInfo.PRCo, this.formData.ReceiptDescription, moment(this.formData.ExpenseDate, this.format).format(\"YYYY-MM-DD\"), this.formData.ExpenseCatgID, this.formData.Vendor, this.formData.Note, null, this.formData.ReimburseOrMileage, this.formData.AttendeeName, null, null, null, this.formData.Units,\r\n (this.formData.ReimburseOrMileage === \"M\" ? \"EA\" : this.formData.UM),\r\n this.formData.UnitCost, this.formData.TaxType == 0 ? null : this.formData.TaxType, this.formData.TaxCode, this.formData.TaxAmount, this.formData.Amount).then((response: any) => {\r\n this.employeeService.insertUpdateReceiptItem(this.receiptItemID, response.newID, this.formData.Amount,\r\n this.formData.TaxAmount, this.itemDetails.JCCo,\r\n this.itemDetails.Job,\r\n this.itemDetails.Phase,\r\n this.itemDetails.GLCo,\r\n this.itemDetails.GLAcct,\r\n this.itemDetails.SMCo,\r\n this.itemDetails.SMWorkOrder,\r\n this.itemDetails.EMCo, this.itemDetails.JCCType,\r\n this.itemDetails.PO,\r\n this.itemDetails.POItem,\r\n this.itemDetails.SL,\r\n this.itemDetails.SLItem,\r\n this.itemDetails.WO,\r\n this.itemDetails.WOItem,\r\n this.itemDetails.Equip,\r\n this.itemDetails.CostCode,\r\n this.itemDetails.EMCType,\r\n this.itemDetails.CompType,\r\n this.itemDetails.Component,\r\n this.itemDetails.INCo,\r\n this.itemDetails.Loc,\r\n this.itemDetails.Material,\r\n this.itemDetails.Scope,\r\n this.itemDetails.POItemLine,\r\n this.itemDetails.SMCostType,\r\n this.formData.LineChargeType,\r\n this.itemDetails.EarnCode).then((itemResponse: any) => {\r\n if (this.receiptItemID == -1) {\r\n this.receiptItemID = itemResponse.newID;\r\n }\r\n this.fadeLabel(itemResponse.success);\r\n this.cleanBoard = false;\r\n if (this.ReceiptID == -1) {\r\n this.ReceiptID = response.newID;\r\n this.mode = \"edit\";\r\n }\r\n if (this.newFiles.length > 0) {\r\n this.attachmentUpload(response.newID, itemResponse.newID, close);\r\n }\r\n this.disableWhileSaving = false;\r\n this.saveInProgress = false;\r\n if (close == \"close\") {\r\n this.activeModal.close();\r\n } else if (close == 'submit') {\r\n this.submitItem();\r\n }\r\n }).catch((error) => {\r\n this.disableWhileSaving = false;\r\n this.saveInProgress = false;\r\n this.errorMsg = error?.error?.error ?? \"An error has occured\";\r\n });\r\n }).catch((error) => {\r\n this.disableWhileSaving = false;\r\n this.saveInProgress = false;\r\n this.errorMsg = error?.error?.error ?? \"An error has occured\";\r\n });\r\n } else {\r\n if (close == 'close') {\r\n this.closeModal();\r\n } else if (close == 'submit') {\r\n this.submitItem();\r\n }\r\n this.disableWhileSaving = false;\r\n this.saveInProgress = false;\r\n }\r\n }\r\n\r\n submitItem() {\r\n this.submitting = true;\r\n this.employeeService.submitItems(this.ReceiptID, this.formData.ReceiptDescription, this.selectedEmployee == null ? this.data.SubmittedByUserKeyID : this.selectedEmployee.UserKeyID).then((response: any) => {\r\n var reviewerArray = [];\r\n this.reviewerList.forEach((val: any) => {\r\n reviewerArray.push(val.reviewer.Reviewer);\r\n });\r\n if (reviewerArray.length > 0) {\r\n this.employeeService.addReviewer(reviewerArray, null, response.newID).then((response: any) => {\r\n this.activeModal.close(response.success);\r\n });\r\n } else {\r\n this.activeModal.close(response.success);\r\n }\r\n });\r\n }\r\n\r\n clearField() {\r\n for (let key in this.itemDetails) {\r\n this.itemDetails[key] = null;\r\n }\r\n this.formData.equipTempName = null;\r\n this.formData.jobTempName = null;\r\n this.formData.materialTempName = null;\r\n this.formData.smWorkOrderTempName = null;\r\n this.formData.woTempName = null;\r\n this.formData.equipTemp = null;\r\n this.formData.jobTemp = null;\r\n this.formData.materialTemp = null;\r\n this.formData.smWorkOrderTemp = null;\r\n this.formData.woTemp = null;\r\n }\r\n\r\n typeChanged() {\r\n this.clearField();\r\n this.getFieldsByLineItem();\r\n //#435764: Saving item on type change\r\n this.saveItem('open');\r\n }\r\n\r\n getFieldsByLineItem() {\r\n this.openModal();\r\n this.employeeService.getFieldsByLineItem(this.formData.LineChargeType, null).then((response: any) => {\r\n this.fields = response;\r\n this.lookupValues = {};\r\n this.fieldProperties = [];\r\n this.itemDetailsCheck = {};\r\n this.fields.forEach((val: any) => {\r\n this.fieldProperties[val.ColumnName] = {};\r\n this.fieldProperties[val.ColumnName].Visible = true;\r\n this.fieldProperties[val.ColumnName].Required = val.Req;\r\n if (val.ColumnName == \"UM\")\r\n this.fieldProperties[val.ColumnName].Required = true;\r\n if (val.ColumnName == 'CostCode' && this.formData.LineChargeType == 5) {\r\n this.fieldProperties[val.ColumnName].Visible = false;\r\n this.fieldProperties[val.ColumnName].Required = false;\r\n }\r\n if (val.ColumnName != \"Description\" && !(val.ColumnName === \"CostCode\" && this.formData.LineChargeType === 5) && !((val.ColumnName == \"GLCo\" || val.ColumnName == \"GLAcct\") && !this.formData.ExpenseTransID && this.isPR) &&\r\n !(val.ColumnName == \"Material\" && this.formData.LineChargeType != 2)) {\r\n this.itemDetailsCheck[val.ColumnName] = val.Req;\r\n }\r\n if (this.lookupValues[val.ColumnName] == null) {\r\n this.lookupValues[val.ColumnName] = [];\r\n }\r\n });\r\n if (this.formData.LineChargeType == 3 && !this.formData.ExpenseTransID && this.isPR) {\r\n this.fields.push({ FieldLabel: \"EarnCode\", ColumnName: \"EarnCode\", Req: \"true\", IsCombo: 1 });\r\n this.fieldProperties[\"EarnCode\"] = {};\r\n this.fieldProperties[\"EarnCode\"].Visible = true;\r\n this.fieldProperties[\"EarnCode\"].Required = true;\r\n this.itemDetailsCheck[\"EarnCode\"] = true;\r\n this.getEarnCodes();\r\n }\r\n\r\n if (this.formData.LineChargeType == 1)\r\n this.loadValues(\"JCCo\", null, null, null, true);\r\n else if (this.formData.LineChargeType == 3)\r\n this.loadValues(\"GLCo\", null, null, null, true);\r\n else if (this.formData.LineChargeType == 4 || this.formData.LineChargeType == 5)\r\n this.loadValues(\"EMCo\", null, null, null, true);\r\n else if (this.formData.LineChargeType == 8)\r\n this.loadValues(\"SMCo\", null, null, null, true);\r\n\r\n this.closeModal();\r\n if (this.formData.LineChargeType == 6 && this.itemDetails.ItemType != null) {\r\n this.getPOFields('');\r\n }\r\n else {\r\n this.groupFields();\r\n }\r\n });\r\n }\r\n\r\n loadValues(columnName: string, selectFirst?: boolean, searchText?: string, isSuper?: any, preload?: boolean) {\r\n this.gettingLookupValues = true;\r\n this.preLoadLookup = preload;\r\n this.lookupColumnName = columnName;\r\n this.selectFirstLookup = selectFirst;\r\n var tempPOCo = null;\r\n if (this.formData.LineChargeType == 6 && this.itemDetails.PO != null) {\r\n this.lookupValues[\"PO\"].forEach((val: any) => {\r\n if (val.DatabaseValue == this.itemDetails.PO) {\r\n tempPOCo = val.POCo;\r\n }\r\n })\r\n }\r\n\r\n this.lookupURL = \"/employee/GetLookups?columnName=\"\r\n + columnName\r\n + \"&lineType=\" + this.formData.LineChargeType\r\n + (!this.itemDetails.JCCo || this.itemDetails.JCCo === undefined ? '' : \"&jCCo=\" + this.itemDetails.JCCo)\r\n + (!this.itemDetails.Job || this.itemDetails.Job === undefined ? '' : \"&job=\" + encodeURIComponent(this.itemDetails.Job))\r\n + (!this.itemDetails.Phase || this.itemDetails.Phase === undefined ? '' : \"&phase=\" + encodeURIComponent(this.itemDetails.Phase))\r\n + (!this.itemDetails.JCCType || this.itemDetails.JCCType === undefined ? '' : \"&jCCType=\" + this.itemDetails.JCCType)\r\n + (!this.itemDetails.Material || this.itemDetails.Material === undefined ? '' : \"&material=\" + encodeURIComponent(this.itemDetails.Material))\r\n + (!this.itemDetails.ReceiptDescription || this.itemDetails.ReceiptDescription === undefined ? '' : \"&description= \" + encodeURIComponent(this.itemDetails.ReceiptDescription))\r\n + (!this.itemDetails.GLCo || this.itemDetails.GLCo === undefined ? '' : \"&gLCo=\" + this.itemDetails.GLCo)\r\n + (!this.itemDetails.INCo || this.itemDetails.INCo === undefined ? '' : \"&iNCo=\" + this.itemDetails.INCo)\r\n + (!this.itemDetails.EMCo || this.itemDetails.EMCo === undefined ? '' : \"&eMCo=\" + this.itemDetails.EMCo)\r\n + (!this.itemDetails.Equip || this.itemDetails.Equip === undefined ? '' : \"&equip=\" + this.itemDetails.Equip)\r\n + (!this.itemDetails.CompType || this.itemDetails.CompType === undefined ? '' : \"&compType=\" + this.itemDetails.CompType)\r\n + (!this.itemDetails.CostCode || this.itemDetails.CostCode === undefined ? '' : \"&costCode=\" + this.itemDetails.CostCode)\r\n + (!this.itemDetails.WO || this.itemDetails.WO === undefined ? '' : \"&wO=\" + this.itemDetails.WO)\r\n + (!this.itemDetails.WOItem || this.itemDetails.WOItem === undefined ? '' : \"&wOItem=\" + this.itemDetails.WOItem)\r\n + (!this.aPCo || this.aPCo === undefined ? '' : \"&pOCo=\" + ((this.formData.LineChargeType == \"6\" && tempPOCo != null) ? tempPOCo : this.aPCo))\r\n + (!this.itemDetails.Loc || this.itemDetails.Loc === undefined ? '' : \"&loc=\" + this.itemDetails.Loc)\r\n + (!this.itemDetails.SMCo || this.itemDetails.SMCo === undefined ? '' : \"&sMCo=\" + this.itemDetails.SMCo)\r\n + (!this.itemDetails.SMWorkOrder || this.itemDetails.SMWorkOrder === undefined ? '' : \"&sMWorkOrder=\" + this.itemDetails.SMWorkOrder)\r\n + (!this.itemDetails.PO || this.itemDetails.PO === undefined ? '' : \"&pO=\" + this.itemDetails.PO)\r\n + (!this.itemDetails.POItem || this.itemDetails.POItem === undefined ? '' : \"&pOItem=\" + this.itemDetails.POItem)\r\n + (!this.itemDetails.POItemLine || this.itemDetails.POItemLine === undefined ? '' : \"&pOItemLine=\" + this.itemDetails.POItemLine)\r\n + (!this.itemDetails.SMScope || this.itemDetails.SMScope === undefined ? '' : \"&sMScope=\" + this.itemDetails.SMScope)\r\n + \"&userKeyID=\" + (this.selectedEmployee == null ? this.data.SubmittedByUserKeyID : this.selectedEmployee.UserKeyID)\r\n + \"&receiptID=\" + this.ReceiptID;\r\n\r\n if (columnName == \"PO\")\r\n this.lookupURL = \"/employee/GetPOLookup?userKeyID=\" + (this.selectedEmployee == null ? this.data.SubmittedByUserKeyID : this.selectedEmployee.UserKeyID) + \"&receiptID=\" + this.ReceiptID;\r\n\r\n if (searchText !== null && searchText !== undefined) {\r\n this.lookupURL += \"&searchText=\" + searchText;\r\n }\r\n\r\n if (isSuper && isSuper !== undefined) {\r\n this.lookupValueSearch.next();\r\n }\r\n else {\r\n this.lookupValueSearch.next();\r\n }\r\n }\r\n\r\n setLookUps(columnName: string, selectFirst: boolean, response: any) {\r\n this.gettingLookupValues = false;\r\n this.lookupValues[columnName] = [];\r\n this.lookupValues[columnName] = response;\r\n //place null value for clearing\r\n if (this.exDisableLineRequireFields || !this.fieldProperties[columnName].Required)\r\n this.lookupValues[columnName].unshift({ DatabaseValue: null, DisplayValue: \"No \" + columnName, POCo: null });\r\n this.lookupLoaded[columnName] = true;\r\n if (selectFirst && this.lookupValues[columnName].length > 0 && this.itemDetails[columnName] == null) {\r\n //242741: If portal setting - Company Restrictions is assigned with only one Company code, then default them in corresponding combo box.\r\n if (((this.exEnabledEMCo.length == 1 && columnName == \"EMCo\") || (this.exEnabledGLCo.length == 1 && columnName == \"GLCo\") || (this.exEnabledJCCo.length == 1 && columnName == \"JCCo\") || (this.exEnabledSMCo.length == 1 && columnName == \"SMCo\")) && this.lookupValues[columnName].length == 2) {\r\n this.itemDetails[columnName] = this.lookupValues[columnName][1].DatabaseValue;\r\n }\r\n else {\r\n this.itemDetails[columnName] = this.lookupValues[columnName][0].DatabaseValue;\r\n }\r\n this.fieldChanged({ ColumnName: columnName });\r\n } else {\r\n if (columnName == \"JCCo\" || columnName == \"GLCo\" || columnName == \"JCCType\") {\r\n var checkCount = 0;\r\n\r\n response.forEach((val: any) => {\r\n if ((parseInt(val.DatabaseValue) == this.itemDetails.JCCo && columnName == \"JCCo\") || (parseInt(val.DatabaseValue) == this.itemDetails.GLCo && columnName == \"GLCo\")\r\n || (parseInt(val.DatabaseValue) == this.itemDetails.JCCType && columnName == \"JCCType\")) {\r\n this.itemDetails[columnName] = val.DatabaseValue;\r\n checkCount++;\r\n }\r\n });\r\n if (checkCount == 0) {\r\n if (this.exDisableLineRequireFields || !this.fieldProperties[columnName].Required) {\r\n if (this.lookupValues[columnName].length == 2) {\r\n this.itemDetails[columnName] = this.lookupValues[columnName][1].DatabaseValue;\r\n }\r\n } else {\r\n if (this.lookupValues[columnName].length == 1) {\r\n this.itemDetails[columnName] = this.lookupValues[columnName][0].DatabaseValue;\r\n }\r\n }\r\n if (columnName == \"JCCType\")\r\n this.fieldChanged({ ColumnName: columnName });\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n getPOFields(newValues: any) {\r\n var oldPOFields = this.fields;\r\n this.itemDetailsCheck = {};\r\n this.employeeService.getFieldsByLineItem(this.formData.LineChargeType, this.itemDetails[\"ItemType\"]).then((response: any) => {\r\n this.fields = response;\r\n //if the old field no longer exists, delete the value\r\n oldPOFields.forEach((oldField: any) => {\r\n var fieldFound = false;\r\n this.fields.forEach((newField: any) => {\r\n if (oldField.ColumnName == newField.ColumnName) {\r\n fieldFound = true;\r\n return false;\r\n }\r\n this.itemDetailsCheck[newField.ColumnName] = newField.Req;\r\n });\r\n if (!fieldFound) {\r\n this.itemDetails[oldField.ColumnName] = null;\r\n }\r\n this.lookupValues[oldField.ColumnName] = [];\r\n this.lookupLoaded[oldField.ColumnName] = false;\r\n });\r\n if (newValues != '')\r\n this.bindPOValues(newValues);\r\n else\r\n this.groupFields();\r\n });\r\n }\r\n\r\n bindPOValues(newValues: any) {\r\n this.fields.forEach((field: any) => {\r\n var columnName = field.ColumnName;\r\n if (columnName != \"PO\" && columnName != \"POItem\" && columnName != \"POItemLine\") {\r\n this.itemDetails[field.ColumnName] = newValues[field.ColumnName];\r\n }\r\n if (columnName == \"Job\") {\r\n this.formData.jobTemp = newValues.Job;\r\n this.formData.jobTempName = newValues.Job;\r\n }\r\n if (columnName == \"Phase\") {\r\n this.formData.phaseTemp = newValues.Phase;\r\n this.formData.phaseTempName = newValues.Phase;\r\n }\r\n if (columnName == \"Equip\") {\r\n this.formData.equipTemp = newValues.Equip;\r\n this.formData.equipTempName = newValues.Equip;\r\n }\r\n if (columnName == \"Material\") {\r\n this.formData.materialTemp = newValues.Material;\r\n this.formData.materialTempName = newValues.Material;\r\n }\r\n if (columnName == \"SMWorkOrder\") {\r\n this.formData.smWorkOrderTemp = newValues.SMWorkOrder;\r\n this.formData.smWorkOrderTempName = newValues.SMWorkOrder;\r\n }\r\n if (columnName == \"WO\") {\r\n this.formData.woTemp = newValues.WO;\r\n this.formData.woTempName = newValues.WO;\r\n }\r\n if (columnName != \"PO\") {\r\n this.lookupValues[field.ColumnName] = [];\r\n this.lookupLoaded[field.ColumnName] = false;\r\n }\r\n });\r\n\r\n //Amounts\r\n this.formData.UM = null;\r\n for (let val in this.lookupValues.UM) {\r\n if (this.lookupValues.UM[val].DatabaseValue == newValues.UM) {\r\n this.formData.UM = newValues.UM;\r\n }\r\n }\r\n this.formData.UnitCost = newValues.CurUnitCost;\r\n if (!this.stopCalculate) {\r\n this.formData.Units = newValues.CurUnits;\r\n this.formData.Amount = newValues.TotalCost;\r\n this.formData.ECM = newValues.CurECM;\r\n if (newValues.TaxCode !== null) {\r\n this.formData.TaxCode = newValues.TaxCode;\r\n this.formData.TaxType = newValues.TaxType;\r\n this.getTaxCode();\r\n this.formData.TaxBasis = newValues.TotalCost;\r\n this.formData.TaxAmt = newValues.TotalTax;\r\n } else {\r\n this.formData.TaxCode = null;\r\n this.formData.TaxType = null;\r\n this.taxCodeList = [];\r\n this.formData.TaxBasis = 0;\r\n this.formData.TaxAmt = 0;\r\n }\r\n } else if (this.formData.UM != \"LS\" && this.stopCalculate) {\r\n this.formData.Units = this.formData.Amount / newValues.CurUnitCost;\r\n } else if (this.formData.UM == \"LS\") {\r\n this.formData.UnitCost = 0;\r\n this.formData.Units = 0;\r\n }\r\n }\r\n\r\n getEarnCodes() {\r\n this.openModal();\r\n this.employeeService.getEarnCodes(this.currentPRCo).then((response: any) => {\r\n this.earnCodeList = response;\r\n response.forEach((val: any) => {\r\n if (val.IsDefault)\r\n this.formData.SelectedEarnCode = val.EarnCode;\r\n })\r\n this.closeModal();\r\n });\r\n }\r\n\r\n groupFields() {\r\n this.fieldsName = [];\r\n this.groupedFields = [];\r\n var group = [];\r\n for (var i = 0; i < this.fields.length; i++) {\r\n if (group.length == 20) {\r\n this.groupedFields.push(group);\r\n group = [];\r\n if (this.fieldProperties[this.fields[i].ColumnName] != null) {\r\n if (this.fieldProperties[this.fields[i].ColumnName].Visible && this.fields[i].ColumnName != \"ItemType\")\r\n group.push(this.fields[i]);\r\n }\r\n }\r\n else {\r\n if (this.fieldProperties[this.fields[i].ColumnName] != null) {\r\n if (this.fieldProperties[this.fields[i].ColumnName].Visible && this.fields[i].ColumnName != \"ItemType\")\r\n group.push(this.fields[i]);\r\n }\r\n }\r\n if (this.fieldProperties[this.fields[i].ColumnName] != null) {\r\n if (this.fieldProperties[this.fields[i].ColumnName].Visible && this.fields[i].ColumnName != \"ItemType\")\r\n this.fieldsName.push({ name: this.fields[i].ColumnName });\r\n }\r\n }\r\n if (group.length != 0) {\r\n this.groupedFields.push(group);\r\n }\r\n this.populateFields();\r\n }\r\n\r\n populateFields() {\r\n var savedData = {};\r\n this.fields.forEach((val: any) => {\r\n if (val.ColumnName !== \"Description\" && !(val.ColumnName === \"CostCode\" && this.formData.LineChargeType === 5) && !((val.ColumnName === \"GLCo\" || val.ColumnName === \"GLAcct\") && this.isPR) &&\r\n !(val.ColumnName === \"Material\" && this.formData.LineChargeType !== 2)) {\r\n if (this.itemDetails[val.ColumnName]) {\r\n savedData[val.ColumnName] = this.itemDetails[val.ColumnName];\r\n }\r\n else {\r\n savedData[val.ColumnName] = null;\r\n }\r\n if (val.ColumnName === 'Equip') {\r\n this.formData.equipTemp = savedData[val.ColumnName];\r\n this.formData.equipTempname = savedData[val.ColumnName];\r\n }\r\n if (val.ColumnName === 'Job') {\r\n this.formData.jobTemp = savedData[val.ColumnName];\r\n this.formData.jobTempName = savedData[val.ColumnName];\r\n }\r\n if (val.ColumnName === 'Material') {\r\n this.formData.materialTemp = savedData[val.ColumnName];\r\n this.formData.materialTempName = savedData[val.ColumnName];\r\n }\r\n if (val.ColumnName === 'SMWorkOrder') {\r\n this.formData.smWorkOrderTemp = savedData[val.ColumnName];\r\n this.formData.smWorkOrderTempName = savedData[val.ColumnName];\r\n }\r\n if (val.ColumnName === 'WO') {\r\n this.formData.woTemp = savedData[val.ColumnName];\r\n this.formData.woTempName = savedData[val.ColumnName];\r\n }\r\n }\r\n });\r\n //274187 - Ensure Empty data is not assigned for other Line Types\r\n if (Object.keys(savedData).length != 0) {\r\n this.itemDetails = savedData;\r\n }\r\n this.willSave();\r\n if (this.restrictJCCO) {\r\n this.fields.forEach((val: any) => {\r\n if ((val.ColumnName === \"JCCo\" || val.ColumnName === \"GLCo\"))\r\n this.loadValues(val.ColumnName, false, null);\r\n });\r\n }\r\n }\r\n\r\n getUM() {\r\n this.employeeService.getLookups(\"columnName='UM'\").then((response: any) => {\r\n this.umList = response;\r\n });\r\n }\r\n\r\n pendingTrigger() {\r\n this.showPending = !this.showPending;\r\n }\r\n\r\n savedTrigger() {\r\n this.showSaved = !this.showSaved;\r\n }\r\n\r\n cancelClicked() {\r\n if (this.cleanBoard)\r\n this.activeModal.dismiss();\r\n else {\r\n this.activeModal.close();\r\n }\r\n }\r\n\r\n creditCardAction() {\r\n this.openModal();\r\n this.employeeService.transAction(this.formData.matchCreditCard.ExpenseTransID, (this.selectedEmployee === null ? null : this.selectedEmployee.UserKeyID), \"M\", this.ReceiptID, null).then((response: any) => {\r\n this.cleanBoard = false;\r\n this.formData.ExpenseTransID = this.formData.matchCreditCard.ExpenseTransID;\r\n this.formData.TransDateDisplay = this.formData.matchCreditCard.TransDateDisplay;\r\n this.formData.TransVendor = this.formData.matchCreditCard.TransVendor;\r\n this.formData.TransDescription = this.formData.matchCreditCard.TransDescription;\r\n this.formData.TransAmount = this.formData.matchCreditCard.TransAmount;\r\n this.isOutOfBalance = this.formData.Amount != this.formData.matchCreditCard.UnreconciledAmount;\r\n this.isOutOfBalance = this.formData.Amount != this.formData.matchCreditCard.UnreconciledAmount;\r\n\r\n this.lookupValues[\"PO\"] = [];\r\n this.lookupValues[\"POItem\"] = [];\r\n this.lookupValues[\"POItemLine\"] = [];\r\n this.itemDetails.PO = null;\r\n this.itemDetails.POItem = null;\r\n this.itemDetails.POItemLine = null;\r\n\r\n this.closeModal();\r\n }).catch((error: any) => {\r\n this.alert = error?.error?.error ?? \"An error has occured.\";\r\n });\r\n };\r\n\r\n getAttachment() {\r\n this.savedFiles = [];\r\n this.newFiles = [];\r\n this.employeeService.getLineAttachments(this.ReceiptID).then((response: any) => {\r\n this.savedFiles = response;\r\n if (this.savedFiles && this.savedFiles.length > 0) {\r\n this.formData.selectedAttachment = this.savedFiles[0];\r\n }\r\n this.attachmentList = [];\r\n this.savedFiles.forEach((val: any) => {\r\n var tempExten = val.AttachmentFileName.substr(val.AttachmentFileName.lastIndexOf(\".\"), val.AttachmentFileName.length);\r\n if (tempExten.toLowerCase() === \".jpg\" || tempExten.toLowerCase() === \".jpeg\" || tempExten.toLowerCase() === \".png\" || tempExten.toLowerCase() === \".tif\" || tempExten.toLowerCase() === \".tiff\")\r\n this.attachmentList.push(val);\r\n this.attachmentChange();\r\n\r\n });\r\n\r\n this.closeModal();\r\n });\r\n }\r\n\r\n attachmentChange() {\r\n this.extension = this.formData.selectedAttachment.AttachmentFileName.substr(this.formData.selectedAttachment.AttachmentFileName.lastIndexOf(\".\"), this.formData.selectedAttachment.AttachmentFileName.length);\r\n if (!this.utilityService.fileIsNotViewable(this.extension)) {\r\n this.showViewer = true;\r\n setTimeout(() => {\r\n if ((document.getElementById('pdfViewer'))?.ej2_instances != null && this.currentAttachID != this.formData.selectedAttachment.AttachmentID) {\r\n var pdfviewer = (document.getElementById('pdfViewer')).ej2_instances[0];\r\n pdfviewer?.unload();\r\n }\r\n });\r\n this.homeService.getPdfData(this.formData.selectedAttachment.FileAttachmentID).then((response: any) => {\r\n this.currentAttachID = this.formData.selectedAttachment.FileAttachmentID;\r\n var pdfviewer = (document.getElementById('pdfViewer')).ej2_instances[0];\r\n setTimeout(() => {\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"SubmitForm\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"OpenOption\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"PrintOption\"), true);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"AnnotationEditTool\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"FormDesignerEditTool\"), false);\r\n if (!this.mobileMode) {\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"CommentTool\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"UndoRedoTool\"), false);\r\n }\r\n pdfviewer.documentPath = \"data:application/pdf;base64,\" + (response);\r\n pdfviewer.downloadFileName = this.formData.selectedAttachment.AttachmentFileName.substring(0, this.formData.selectedAttachment.AttachmentFileName.indexOf('.')) + \".pdf\";\r\n }, 2000);\r\n }).catch((error: any) => {\r\n\r\n });\r\n } else {\r\n this.showViewer = false;\r\n }\r\n };\r\n\r\n deleteUnsavedAttachment(file) {\r\n var index = this.newFiles.indexOf(file);\r\n this.newFiles.splice(index, 1);\r\n }\r\n\r\n upload() {\r\n this.fileData = [];\r\n var currentUpload = this.formData.fileDrop;\r\n this.formData.fileDrop = [];\r\n this.openModal();\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n currentUpload[i].nameEdit = \"\";\r\n for (var y = 0; y < currentUpload[i].name.substr(0, currentUpload[i].name.lastIndexOf('.') + 1).length; y++) {\r\n if (currentUpload[i].name[y] !== \" \" && currentUpload[i].name[y] !== \"&\" && currentUpload[i].name[y] !== \"*\" && currentUpload[i].name[y] !== \":\" &&\r\n currentUpload[i].name[y] !== \";\" && currentUpload[i].name[y] !== \"|\" && currentUpload[i].name[y] !== \"=\" && currentUpload[i].name[y] !== \",\" &&\r\n currentUpload[i].name[y] !== \".\" && currentUpload[i].name[y] !== \"/\" && currentUpload[i].name[y] !== \"\\\"\" && currentUpload[i].name[y] !== \"[\" &&\r\n currentUpload[i].name[y] !== \"]\")\r\n currentUpload[i].nameEdit += currentUpload[i].name[y];\r\n }\r\n currentUpload[i].nameEdit += currentUpload[i].name.substr(currentUpload[i].name.lastIndexOf('.'), currentUpload[i].name.length);\r\n }\r\n\r\n if (currentUpload !== null) {\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n var preLoad = 0;\r\n this.readFile(currentUpload[i], (e, filename: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: filename });\r\n if (preLoad === (currentUpload.length - 1)) {\r\n this.fileData.forEach((val: any) => {\r\n currentUpload.forEach((val2: any) => {\r\n if (val2.size === val.size && val.name === val2.name) {\r\n this.newFiles.push({ File: val.data[1], Filename: val2.nameEdit, Filedata: val2, Type: val.data[0].split(\"/\")[0] });\r\n }\r\n });\r\n });\r\n if (this.ReceiptID != -1)\r\n this.attachmentUpload(this.ReceiptID, this.receiptItemID, '');\r\n else\r\n this.blurSave();\r\n }\r\n preLoad++;\r\n });\r\n });\r\n };\r\n }\r\n this.closeModal();\r\n }\r\n\r\n fadeLabel(status: any) {\r\n this.formData.labelFade = false;\r\n this.formData.lastSave = this.utilityService.fadeLabel(status);\r\n setTimeout(() => {\r\n this.formData.labelFade = true;\r\n }, 2000);\r\n }\r\n\r\n attachmentUpload(ID: any, ItemID: any, close: string) {\r\n this.openModal();\r\n this.close = close;\r\n this.formData.disableButton = true;\r\n this.innerCounter = 0;\r\n if (this.newFiles.length > 0) {\r\n this.newFiles.forEach((attachment: any) => {\r\n if (attachment.Progress != 100) {\r\n if (attachment.File != null && attachment.Filename != null) {\r\n this.showSaved = true;\r\n this.attachmentList.push({ ExpenseAttachmentID: ID, FileAttachmentID: '', AttachmentFileName: attachment.Filename, AttachmentFileData: attachment });\r\n this.savedFiles.push({ ExpenseAttachmentID: ID, FileAttachmentID: '', AttachmentFileName: attachment.Filename, AttachmentFileData: attachment });\r\n this.showPending = false;\r\n this.showSaved = true;\r\n this.HttpClient.request(new HttpRequest(\r\n 'POST',\r\n \"/employee/AddAttachment\",\r\n { receiptID: ID, receiptItemID: this.addAttachmentToReceipt ? null : ItemID, photoFileData: attachment.File, photoFileType: attachment.Filename }, {\r\n reportProgress: true\r\n })).subscribe((event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.UploadProgress:\r\n attachment.Progress = Math.round(event.loaded / event.total * 100);\r\n if (attachment.Progress == 100) {\r\n attachment.AttchDone = true;\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n this.innerCounter++;\r\n this.checkAttachmentInfo();\r\n attachment.Filedata.result = event.body;\r\n }\r\n },\r\n error => this.errorMsg = error.message\r\n )\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n checkAttachmentInfo() {\r\n if (this.innerCounter == this.newFiles.length && this.innerCounter != 0) {\r\n this.cleanBoard = false;\r\n var attachTF = true;\r\n var error = \"\";\r\n this.newFiles.forEach((val2: any) => {\r\n if (val2.Progress != 100 && val2.FileName != null)\r\n attachTF = false;\r\n });\r\n if (attachTF) {\r\n this.newFiles = [];\r\n this.formData.fileDrop = null;\r\n if (this.close == \"close\") {\r\n this.closeModal();\r\n }\r\n else\r\n this.getAttachment();\r\n } else {\r\n this.alert = \"Failed to save one or more attachments - \" + error;\r\n }\r\n }\r\n }\r\n\r\n fieldChanged(field: any) {\r\n if (field.ColumnName === \"JCCo\") {\r\n this.formData.jobTemp = null;\r\n this.formData.jobTempName = null;\r\n this.formData.phaseTemp = null;\r\n this.formData.phaseTempName = null;\r\n }\r\n if (field.ColumnName === \"EMCo\") {\r\n this.formData.equipTemp = null;\r\n this.formData.equipTempName = null;\r\n this.formData.woTemp = null;\r\n this.formData.woTempName = null;\r\n this.comboFocused(\"EMCo\", null);\r\n }\r\n if (field !== null) {\r\n switch (field.ColumnName) {\r\n case \"ItemType\":\r\n this.getPOFields('');\r\n break;\r\n case \"JCCo\":\r\n this.itemDetails.Job = null;\r\n this.lookupValues.Job = [];\r\n this.lookupLoaded.Job = false;\r\n this.itemDetails.Phase = null;\r\n this.lookupValues.Phase = [];\r\n this.lookupLoaded.Phase = false;\r\n this.formData.phaseTemp = null;\r\n this.formData.phaseTempName = null;\r\n this.itemDetails.JCCType = null;\r\n this.lookupValues.JCCType = [];\r\n this.lookupLoaded.JCCType = false;\r\n this.formData.selectedPayApp = null;\r\n this.comboFocused(\"Job\", null);\r\n break;\r\n case \"Equip\":\r\n this.itemDetails.Equip = this.formData.equipTemp;\r\n break;\r\n case \"GLCo\":\r\n this.itemDetails.GLAcct = null;\r\n this.lookupValues.GLAcct = [];\r\n this.lookupLoaded.GLAcct = false;\r\n this.comboFocused(\"GLAcct\", null);\r\n break;\r\n case \"Job\":\r\n this.itemDetails.Job = this.formData.jobTemp;\r\n this.itemDetails.Phase = null;\r\n this.lookupValues.Phase = [];\r\n this.lookupLoaded.Phase = false;\r\n this.formData.phaseTemp = null;\r\n this.formData.phaseTempName = null;\r\n this.itemDetails.JCCType = null;\r\n this.lookupValues.JCCType = [];\r\n this.lookupLoaded.JCCType = false;\r\n this.formData.selectedPayApp = null;\r\n break;\r\n case \"Phase\":\r\n this.lookupValues.JCCType = [];\r\n this.lookupLoaded.JCCType = false;\r\n this.loadValues(\"JCCType\", null, null, null, null);\r\n if (!this.lookupValues.JCCType || this.lookupValues.JCCType.length == 0 || !this.checkForJCCType(this.itemDetails.JCCType)) {\r\n this.itemDetails.JCCType = null;\r\n }\r\n break;\r\n case \"PO\":\r\n this.lookupLoaded[\"POItem\"] = false;\r\n this.lookupValues[\"POItem\"] = [];\r\n this.itemDetails.POItem = null;\r\n this.lookupLoaded[\"POItemLine\"] = false;\r\n this.lookupValues[\"POItemLine\"] = [];\r\n this.itemDetails.POItemLine = null;\r\n this.comboFocused(\"POItem\", true);\r\n break;\r\n case \"POItem\":\r\n this.lookupLoaded[\"POItemLine\"] = false;\r\n this.lookupValues[\"POItemLine\"] = [];\r\n this.itemDetails.POItemLine = null;\r\n this.comboFocused(\"POItemLine\", true);\r\n break;\r\n case \"POItemLine\":\r\n this.getFieldValuesByPOItem();\r\n break;\r\n case \"EMCo\":\r\n this.itemDetails.EMCType = null;\r\n this.lookupValues.EMCType = [];\r\n this.lookupLoaded.EMCType = false;\r\n this.itemDetails.WO = null;\r\n this.lookupValues.WO = [];\r\n this.formData.woTemp = null;\r\n this.lookupLoaded.WO = false;\r\n this.itemDetails.WOItem = null;\r\n this.lookupValues.WOItem = [];\r\n this.lookupLoaded.WOItem = false;\r\n this.itemDetails.Equipment = null;\r\n this.lookupValues.Equipment = [];\r\n this.lookupLoaded.Equipment = false;\r\n this.itemDetails.CostCode = null;\r\n this.lookupValues.CostCode = [];\r\n this.lookupLoaded.CostCode = false;\r\n break;\r\n case \"WO\":\r\n this.itemDetails.WO = this.formData.woTemp;\r\n this.itemDetails.WOItem = null;\r\n this.lookupValues.WOItem = [];\r\n this.lookupLoaded.WOItem = false;\r\n break;\r\n case \"SMWorkOrder\":\r\n this.itemDetails.SMWorkOrder = this.formData.smWorkOrderTemp;\r\n this.itemDetails.Scope = null;\r\n this.lookupValues.Scope = [];\r\n this.lookupLoaded.Scope = false;\r\n break;\r\n case \"Material\":\r\n this.itemDetails.Material = this.formData.materialTemp;\r\n this.formData.UM = null;\r\n this.lookupValues.UM = [];\r\n this.lookupLoaded.UM = false;\r\n break;\r\n //SL fields\r\n case \"SL\":\r\n this.itemDetails.SLItem = null;\r\n this.lookupValues.SLItem = [];\r\n this.lookupLoaded.SLItem = false;\r\n break;\r\n case \"SLItem\":\r\n //getSLDefaults();\r\n break;\r\n case \"CostCode\":\r\n this.itemDetails.EMCType = null;\r\n this.lookupValues.EMCType = [];\r\n this.lookupLoaded.EMCType = false;\r\n break;\r\n case \"WOItem\":\r\n this.itemDetails.CostCode = null;\r\n this.lookupValues.CostCode = [];\r\n this.lookupLoaded.CostCode = false;\r\n this.itemDetails.EMCType = null;\r\n this.lookupValues.EMCType = [];\r\n this.lookupLoaded.EMCType = false;\r\n }\r\n }\r\n this.willSave();\r\n\r\n if (this.canSave) {\r\n this.blurSave();\r\n }\r\n }\r\n\r\n comboFocused(columnName: string, selectFirst: boolean) {\r\n if ((this.lookupValues[columnName] === null || this.lookupValues[columnName] === undefined || this.lookupValues[columnName].length === 0)) {\r\n this.loadValues(columnName, selectFirst, null, null, null);\r\n }\r\n }\r\n\r\n getFieldValuesByPOItem() {\r\n if (this.itemDetails.PO != null && this.itemDetails.POItem != null && this.itemDetails.POItemLine != null) {\r\n var tempPOCo = null;\r\n this.lookupValues[\"PO\"].forEach((val: any) => {\r\n if (val.DatabaseValue == this.itemDetails.PO) {\r\n tempPOCo = val.POCo;\r\n }\r\n })\r\n\r\n this.employeeService.getFieldValuesByPOItem(this.itemDetails.PO, this.itemDetails.POItem, this.itemDetails.POItemLine, tempPOCo).then((response: any) => {\r\n this.bindPOValues(response);\r\n });\r\n }\r\n }\r\n\r\n checkForJCCType(jccTypeId: any) {\r\n var isInJCCType = false;\r\n this.lookupValues.JCCType.forEach((value: any) => {\r\n if (parseInt(value.DatabaseValue) === parseInt(jccTypeId)) {\r\n isInJCCType = true;\r\n }\r\n });\r\n return isInJCCType;\r\n }\r\n\r\n willSave() {\r\n this.canSave = true;\r\n if (this.typeFields != null && this.typeFields.form.invalid) {\r\n for (let item in this.itemDetailsCheck) {\r\n if (this.itemDetailsCheck[item] && !this.itemDetails[item]) {\r\n this.canSave = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n switchEditImage() {\r\n this.disableSaveImage = true;\r\n this.enableEditImage = false;\r\n this.editNow = !this.editNow;\r\n if (this.editNow) {\r\n this.getAttachmentList();\r\n } else {\r\n this.getAttachment();\r\n }\r\n }\r\n\r\n getAttachmentList() {\r\n this.employeeService.getLineAttachments(this.ReceiptID).then((response: any) => {\r\n response = this.orderByPipe.transform(response, \"AttachmentFileName\", \"asc\");\r\n this.attachmentList = [];\r\n response.forEach((val: any) => {\r\n var tempExten = val.AttachmentFileName.substr(val.AttachmentFileName.lastIndexOf(\".\"), val.AttachmentFileName.length);\r\n if (tempExten.toLowerCase() == \".jpg\" || tempExten.toLowerCase() == \".jpeg\" || tempExten.toLowerCase() == \".png\" || tempExten.toLowerCase() == \".tif\" || tempExten.toLowerCase() == \".tiff\")\r\n this.attachmentList.push(val);\r\n });\r\n if (this.attachmentList.length > 0) {\r\n this.formData.selectedAttachment = this.attachmentList[0];\r\n this.getImageData();\r\n }\r\n });\r\n }\r\n\r\n deleteSavedAttachment(data: any) {\r\n this.employeeService.removeAttachment(data.ExpenseAttachmentID).then((response: any) => {\r\n this.openModal();\r\n this.getAttachment();\r\n this.cleanBoard = false;\r\n });\r\n };\r\n\r\n getImageData() {\r\n this.openModal();\r\n this.employeeService.getRawAttachmentData(this.formData.selectedAttachment.FileAttachmentID, true).then((response: any) => {\r\n this.uploadImage = (\"data:image/png;base64,\" + (response));\r\n this.imageSrc = this.uploadImage;\r\n this.closeModal();\r\n });\r\n }\r\n\r\n\r\n //Image Cropping\r\n imageCropped(event: ImageCroppedEvent) {\r\n this.croppedImage = event.base64;\r\n }\r\n\r\n applyRotateLeft() {\r\n this.canvasRotation--;\r\n this.flipAfterRotate();\r\n }\r\n\r\n applyRotateRight() {\r\n this.canvasRotation++;\r\n this.flipAfterRotate();\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH;\r\n const flippedV = this.transform.flipV;\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH\r\n };\r\n }\r\n\r\n\r\n restartJcrop() {\r\n this.canvasRotation = 0;\r\n this.croppedImage = null;\r\n this.transform = {};\r\n this.imageSrc = this.uploadImage;\r\n this.closeModal();\r\n }\r\n\r\n cancelCrop() {\r\n this.openModal();\r\n this.enableEditImage = false;\r\n this.restartJcrop();\r\n }\r\n\r\n\r\n allowCropping() {\r\n this.enableEditImage = true;\r\n this.restartJcrop();\r\n }\r\n\r\n saveEdit() {\r\n this.disableSaveImage = false;\r\n this.openModal();\r\n\r\n this.employeeService.removeAttachment(this.formData.selectedAttachment.ExpenseAttachmentID).then((response: any) => {\r\n this.employeeService.addAttachment(this.ReceiptID, this.receiptItemID == -1 ? null : this.receiptItemID, this.croppedImage.split(\",\")[1], this.formData.selectedAttachment.AttachmentFileName).then((response: any) => {\r\n this.enableEditImage = false;\r\n if (this.editNow) {\r\n this.getAttachmentList();\r\n } else {\r\n this.getAttachment();\r\n }\r\n this.disableSaveImage = true;\r\n this.closeModal();\r\n\r\n this.restartJcrop();\r\n this.cleanBoard = false;\r\n });\r\n });\r\n\r\n }\r\n\r\n grabURI() {\r\n this.openModal();\r\n this.employeeService.removeAttachment(this.formData.selectedAttachment.ExpenseAttachmentID).then((response: any) => {\r\n this.employeeService.addAttachment(this.ReceiptID, this.receiptItemID == -1 ? null : this.receiptItemID, this.croppedImage.split(\",\")[1], this.formData.selectedAttachment.AttachmentFileName).then((response: any) => {\r\n this.closeModal();\r\n this.cleanBoard = false;\r\n this.switchEditImage();\r\n });\r\n });\r\n }\r\n\r\n getLargeLookupValues(columnName: string, temp: any, tempName: any) {\r\n this.itemDetails[columnName] = this.formData[temp];\r\n if (this.formData[tempName] !== null && this.formData[tempName].length > 2) {\r\n this.loadValues(columnName, false, this.formData[tempName], true);\r\n }\r\n this.willSave();\r\n };\r\n\r\n saveClicked() {\r\n this.saveItem('close');\r\n };\r\n\r\n saveAndSubmitClicked() {\r\n this.saveItem('submit');\r\n };\r\n\r\n earnCodeChanged() {\r\n this.willSave();\r\n if (this.canSave) {\r\n this.blurSave();\r\n }\r\n }\r\n\r\n taxTypeChange() {\r\n if (this.formData.TaxType == 0) {\r\n this.formData.TaxCode = null;\r\n this.taxCodeList = [];\r\n } else {\r\n this.getTaxCode();\r\n }\r\n }\r\n\r\n umChange() {\r\n if (this.formData.UM !== \"LS\") {\r\n this.formData.Amount = null;\r\n this.formData.TaxCode = null;\r\n this.formData.TaxAmount = null;\r\n } else {\r\n this.formData.Units = null;\r\n this.formData.UnitCost = null;\r\n }\r\n }\r\n\r\n openModal() {\r\n document.getElementById('modalShare').style.display = 'block';\r\n document.getElementById('fadeShare').style.display = 'block';\r\n }\r\n\r\n closeModal() {\r\n document.getElementById('modalShare').style.display = 'none';\r\n document.getElementById('fadeShare').style.display = 'none';\r\n }\r\n}","
\r\n

New Edit Expense Item

\r\n Out of Balance\r\n You cannot submit with non credit card item.\r\n Save Successful - {{lastSave.time}}\r\n Save Fail - {{lastSave.time}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Linked to Credit Card Transaction {{formData.TransID}}
\r\n {{formData.TransDateDisplay}} {{formData.TransVendor}} {{formData.TransDescription}} {{currencySymbol}}{{formData.TransAmount}}\r\n Unlink\r\n
\r\n
\r\n
\r\n
0 && where == 'submit'\">\r\n Match to Credit Card\r\n \r\n {{data.displayValue}}\r\n \r\n
\r\n
0 && where == 'submit'\">\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Batch ID: {{formData.BatchID}} Month: {{formData.BatchMthDisplay}}\r\n
\r\n
\r\n
\r\n Transaction Date\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n Category\r\n \r\n {{data.ExpenseCatgName}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Item Description\r\n \r\n
\r\n
\r\n Vendor\r\n \r\n
\r\n
\r\n
\r\n
\r\n Note\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Reimbursement Mode
\r\n \r\n {{data.display}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Customer Name\r\n \r\n \r\n
\r\n
\r\n # of Cust. Attendees\r\n \r\n
\r\n
\r\n
\r\n
\r\n Attendee Name(s)\r\n \r\n
\r\n
\r\n # of Our Firm Attendees\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Unit of Measure\r\n \r\n {{data.DatabaseValue}}\r\n \r\n
\r\n
\r\n Unit Cost\r\n \r\n
\r\n
\r\n Qty.\r\n \r\n
\r\n
\r\n Total\r\n \r\n
\r\n
\r\n
\r\n Total Amount\r\n \r\n
\r\n
\r\n Tax Type\r\n \r\n {{data.TaxTypeDisplay}}\r\n \r\n
\r\n
\r\n Tax Code\r\n \r\n {{data.TaxCodeDisplay}}\r\n \r\n
\r\n
\r\n Tax Amount\r\n
{{formData.TaxAmount | currency : currencySymbol}}
\r\n = formData.Amount && formData.Amount > 0) || ((formData.TaxAmount <= formData.Amount || formData.TaxAmount > 0) && formData.Amount < 0)) && formData.Amount != null && formData.TaxAmount != 0)}\"\r\n class=\"form-control\" (blur)=\"amountChange('tax')\" [disabled]=\"formData.BatchID != null || disableWhileSaving\" />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{mileageRateLabel}}\r\n \r\n {{currencySymbol}}{{data.mileageRateDisplay}} - {{data.RateDescription}}\r\n \r\n
\r\n
\r\n {{milesLabel}}\r\n Kilometers\r\n \r\n
\r\n
\r\n {{milesLabel}} Total\r\n \r\n
\r\n
\r\n Tax Type\r\n \r\n {{data.TaxTypeDisplay}}\r\n \r\n
\r\n
\r\n Tax Code\r\n \r\n {{data.TaxCodeDisplay}}\r\n \r\n
\r\n
\r\n Tax Amount\r\n
{{formData.TaxAmount | currency : currencySymbol}}
\r\n = formData.MileTotal && formData.MileTotal != null && formData.TaxAmount != 0)}\" (blur)=\"amountChange('tax')\" [disabled]=\"formData.BatchID != null || disableWhileSaving\" [(ngModel)]=\"formData.TaxAmount\" />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Type Clear Coding\r\n \r\n {{data.name}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{field.FieldLabel}}\r\n
\r\n \r\n\r\n \r\n \r\n {{lookupValue.DisplayValue}}\r\n \r\n \r\n\r\n \r\n \r\n {{data.EarnCode}} - {{data.EarnCodeDescription}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\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)\">Attached Documentation

\r\n
\r\n
\r\n
= markAttachmentRequireBaseOnThreshold || markAttachmentRequireBaseOnThreshold == 0) && markAttachmentRequireBaseOnThreshold != null && formData.ReimburseOrMileage != 'M')) && !((newFiles && (newFiles != null && newFiles.length > 0)) || (savedFiles != null && savedFiles.length > 0)))}\"\r\n [class.invalid-drag]=\"validComboDrag===false\"\r\n [class.valid-drag]=\"validComboDrag\"\r\n (filesChange)=\"upload()\" [ngfFixOrientation]=\"false\">\r\n Drop a file or Click to upload\r\n
\r\n
\r\n
\r\n 0\">\r\n \r\n \r\n Attachments pending save\r\n \r\n
\r\n
\r\n {{file.Filename}}\r\n Remove\r\n
\r\n
0 && file.Progress < 100\">\r\n
{{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 0\">\r\n \r\n \r\n Saved Attachment\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0\" [disabled]=\"disableWhileSaving\">\r\n
\r\n
\r\n \r\n {{data.AttachmentFileName}}\r\n \r\n \r\n
\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Select a primary reviewer for your expense submission
\r\n
\r\n
\r\n Reviewer\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
    0\">\r\n
  • \r\n
    \r\n Reviewer\r\n
    \r\n
    \r\n
  • \r\n
    \r\n
  • \r\n
    {{data.reviewer.ReviewerName}}
    \r\n \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n You have no images for edit.\r\n
\r\n
0\">\r\n
\r\n \r\n
\r\n
\r\n Select an Image\r\n \r\n {{data.AttachmentFileName}}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n To crop, click or tap the image below\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
","
\r\n

Address Confirmation

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

The address you entered could not be validated. Did you mean:

\r\n

{{suggestedAddress}}

\r\n \r\n

The address you entered:

\r\n

{{badAddress}}

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

The address you entered could not be validated. You entered:

\r\n

{{badAddress}}

\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n@Component({\r\n selector: 'app-address-confirmation-modal',\r\n templateUrl: './address-confirmation-modal.component.html',\r\n styleUrls: ['./address-confirmation-modal.component.css']\r\n})\r\nexport class AddressConfirmationModalComponent {\r\n @Input() suggestedAddress : string\r\n @Input() badAddress : string\r\n\r\n constructor(private activeModal: NgbActiveModal) {}\r\n\r\n useSuggestedAddress () { \r\n this.activeModal.close('1'); \r\n };\r\n\r\n keepBadAddress() { \r\n this.activeModal.close('0'); \r\n };\r\n \r\n cancel () { \r\n this.activeModal.close('-1'); \r\n };\r\n}\r\n","
\r\n

Update Dependents

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

Now that you've updated your address, would you like to make that same change to your dependents?

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{dependent.Name}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-update-dependent-address-modal',\r\n templateUrl: './update-dependent-address-modal.component.html',\r\n styleUrls: ['./update-dependent-address-modal.component.css']\r\n})\r\nexport class UpdateDependentAddressModalComponent implements OnInit {\r\n @Input() data: { [key: string]: any };\r\n dependents: any[];\r\n hasSelected: boolean;\r\n constructor(private employeeservice: EmployeeService, private activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.dependents = [];\r\n this.hasSelected = false;\r\n this.employeeservice.getDependents().then((response: any) => {\r\n if (!response || response == undefined || response.length == 0) {\r\n this.activeModal.close;\r\n }\r\n else {\r\n this.dependents = response;\r\n }\r\n });\r\n }\r\n\r\n updateDependent() {\r\n this.dependents.forEach(dependent => {\r\n if (dependent.selected) {\r\n var listItem = [{ Name: \"Address\", Value: this.data.Address }, { Name: \"Zip\", Value: this.data.Zip }, { Name: \"City\", Value: this.data.City }, { Name: \"State\", Value: this.data.State }];\r\n this.employeeservice.submitDependents(dependent.KeyID, listItem, false, null);\r\n }\r\n });\r\n this.activeModal.close();\r\n }\r\n\r\n checkIfAnySelected() {\r\n var isSelected = false;\r\n this.dependents.forEach(dependent => {\r\n if (dependent.selected) {\r\n isSelected = true;\r\n }\r\n });\r\n this.hasSelected = isSelected;\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","
\r\n

Course Materials

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EmployeeTrainingService } from './../../../../pages/employee/services/employeetraining.service';\r\n\r\n@Component({\r\n selector: 'app-register-training-past-classes-attachment-modal',\r\n templateUrl: './register-training-past-classes-attachment-modal.component.html',\r\n styleUrls: ['./register-training-past-classes-attachment-modal.component.css']\r\n})\r\nexport class RegisterTrainingPastClassesAttachmentModalComponent implements OnInit {\r\n @Input() classInfo: any;\r\n savedFiles: any[];\r\n\r\n constructor(public activeModal: NgbActiveModal, private employeeTrainingService: EmployeeTrainingService) { }\r\n\r\n ngOnInit(): void {\r\n this.savedFiles = [];\r\n this.getAttachmentList();\r\n }\r\n\r\n openModal() {\r\n document.getElementById('modalShare').style.display = 'block';\r\n document.getElementById('fadeShare').style.display = 'block';\r\n }\r\n\r\n closeModal() {\r\n document.getElementById('modalShare').style.display = 'none';\r\n document.getElementById('fadeShare').style.display = 'none';\r\n }\r\n\r\n getAttachmentList() {\r\n this.openModal();\r\n this.employeeTrainingService.getAttachment(89,this.classInfo.TrainingClassID).then((response: any) => {\r\n this.savedFiles = response;\r\n this.closeModal();\r\n });\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EmployeeTrainingService } from './../../../../pages/employee/services/employeetraining.service';\r\n\r\n@Component({\r\n selector: 'app-remove-class-modal',\r\n templateUrl: './remove-class-modal.component.html',\r\n styleUrls: ['./remove-class-modal.component.css']\r\n})\r\nexport class RemoveClassModalComponent implements OnInit {\r\n @Input() classInfo: any;\r\n\r\n constructor(public activeModal: NgbActiveModal, private employeeTrainingService: EmployeeTrainingService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n \r\n deleteClicked() {\r\n this.employeeTrainingService.removeClass(this.classInfo.TrainingClassID).then((response: any) => {\r\n this.activeModal.close();\r\n });\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n}\r\n","
\r\n

Unregister from Class

\r\n
\r\n
\r\n Are you sure you want to unregister for {{classInfo.ClassTitle}}?\r\n
\r\n
\r\n \r\n \r\n
","
\r\n

Training Bulk Update

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

The following training codes will added for the following employees.

\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n Code\r\n
    \r\n
  • \r\n
    \r\n
  • \r\n
    \r\n {{data.CodeType}} - {{data.CodeDescription}}\r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n Employee\r\n
    \r\n
  • \r\n
    \r\n
  • \r\n
    \r\n {{data.FullName}}\r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-training-bulk-update-modal',\r\n templateUrl: './training-bulk-update-modal.component.html',\r\n styleUrls: ['./training-bulk-update-modal.component.css']\r\n})\r\nexport class TrainingBulkUpdateModalComponent implements OnInit {\r\n @Input() employeeData: any;\r\n @Input() trainData: any;\r\n\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n confirmClicked() {\r\n this.activeModal.close();\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}","
\r\n

Skill Detail: Training Detail: {{data.CodeDescription}}

\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{data.DateCertifiedDisplay}}\r\n
\r\n
\r\n
\r\n
\r\n {{data.DateExpiresDisplay}}\r\n
\r\n
\r\n
\r\n
\r\n {{data.Grade}}\r\n
\r\n
\r\n
\r\n
\r\n {{data.Status}}\r\n
\r\n
\r\n
\r\n
\r\n {{data.EmployeeName}}\r\n
\r\n
\r\n
\r\n
\r\n {{data.CodeDescription}}\r\n
\r\n
\r\n
\r\n
\r\n {{data.Notes}}\r\n
\r\n
\r\n
\r\n
\r\n {{data.SkillTesterName}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EmployeeService } from '../../../../pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-view-detail-modal',\r\n templateUrl: './view-detail-modal.component.html',\r\n styleUrls: ['./view-detail-modal.component.css']\r\n})\r\nexport class ViewDetailModalComponent implements OnInit {\r\n\r\n @Input() hideGrade: boolean = false;\r\n @Input() data: any;\r\n savedFiles: any[] = [];\r\n\r\n constructor(private employeeservice: EmployeeService, private activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.getAttachment();\r\n }\r\n\r\n getAttachment() {\r\n this.employeeservice.trainingAttachmentsGetList(this.data.ItemKeyID, this.data.SkillOrTraining).then((response: any[]) => {\r\n this.savedFiles = response;\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close();\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { OrderByPipe } from '../../../shared/pipe/order-by.pipe';\r\n\r\n@Component({\r\n selector: 'app-actual-equipment-modal',\r\n templateUrl: './actual-equipment-modal.component.html',\r\n styleUrls: ['./actual-equipment-modal.component.css']\r\n})\r\nexport class ActualEquipmentModalComponent implements OnInit {\r\n @Input() equipments: any[];\r\n @Input() selected: number;\r\n\r\n formData: any = {};\r\n orderByPipe: OrderByPipe;\r\n\r\n equipmentNotUsed: boolean;\r\n filteredEquipments: any[];\r\n shownEquipments: any[];\r\n searchString: string = \"\";\r\n sortByOptions: any[];\r\n currentSort: any;\r\n\r\n constructor(public activeModal: NgbActiveModal) {\r\n this.orderByPipe = new OrderByPipe();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.equipmentNotUsed = true;\r\n this.sortByOptions = [\r\n { title: 'Equipment Description Ascending', name: 'EquipmentDescription', isDescending: false },\r\n { title: 'Equipment Description Descending', name: 'EquipmentDescription', isDescending: true },\r\n { title: 'Job Ascending', name: 'Job', isDescending: false },\r\n { title: 'Job Descending', name: 'Job', isDescending: true },\r\n { title: 'Transfer Date Ascending', name: 'TransferDate', isDescending: false },\r\n { title: 'Transfer Date Descending', name: 'TransferDate', isDescending: true },\r\n { title: 'Estimate Return Date Ascending', name: 'EstReturnDate', isDescending: false },\r\n { title: 'Estimate Return Date Descending', name: 'EstReturnDate', isDescending: true }\r\n ];\r\n\r\n this.formData.itemsPerPage = 10;\r\n this.formData.sortByValue = this.sortByOptions[0];\r\n this.currentSort = this.formData.sortByValue;\r\n this.formData.currentPage = 1;\r\n this.updateFilter();\r\n }\r\n\r\n setFiltered() {\r\n this.filteredEquipments = [];\r\n var searchString = this.searchString.toLowerCase();\r\n this.equipments.forEach((equipment: any) => {\r\n var filters = false;\r\n Object.entries(equipment).forEach(([key, val]) => {\r\n if (val && val.toString().toLowerCase().includes(searchString)) {\r\n filters = true;\r\n }\r\n })\r\n var notUsedOnly = (this.equipmentNotUsed && !equipment.Job) || !this.equipmentNotUsed;\r\n if (filters && notUsedOnly) {\r\n this.filteredEquipments.push(equipment);\r\n }\r\n })\r\n }\r\n\r\n sortBy() {\r\n this.filteredEquipments = this.orderByPipe.transform(this.filteredEquipments, this.formData.sortByValue.name, this.formData.sortByValue.isDescending ? \"desc\" : \"asc\")\r\n }\r\n\r\n setTableSorting(type: any) {\r\n if (type == 'EquipmentDescription') {\r\n if (this.formData.sortByValue && this.formData.sortByValue.isDescending == false && this.formData.sortByValue.name == 'EquipmentDescription') {\r\n this.formData.sortByValue = this.sortByOptions[1];\r\n }\r\n else {\r\n this.formData.sortByValue = this.sortByOptions[0];\r\n }\r\n }\r\n else if (type == 'Job') {\r\n if (this.formData.sortByValue && this.formData.sortByValue.isDescending == false && this.formData.sortByValue.name == 'Job') {\r\n this.formData.sortByValue = this.sortByOptions[3];\r\n }\r\n else {\r\n this.formData.sortByValue = this.sortByOptions[2];\r\n }\r\n }\r\n else if (type == 'TransferDate') {\r\n if (this.formData.sortByValue && this.formData.sortByValue.isDescending == false && this.formData.sortByValue.name == 'TransferDate') {\r\n this.formData.sortByValue = this.sortByOptions[5];\r\n }\r\n else {\r\n this.formData.sortByValue = this.sortByOptions[4];\r\n }\r\n }\r\n else if (type == 'EstReturnDate') {\r\n if (this.formData.sortByValue && this.formData.sortByValue.isDescending == false && this.formData.sortByValue.name == 'EstReturnDate') {\r\n this.formData.sortByValue = this.sortByOptions[7];\r\n }\r\n else {\r\n this.formData.sortByValue = this.sortByOptions[6];\r\n }\r\n }\r\n this.updateFilter();\r\n }\r\n\r\n setPage() {\r\n this.shownEquipments = [];\r\n var tens = (this.formData.currentPage - 1) * 10;\r\n for (var i = 0; i < 10; i++) {\r\n var index = i + tens;\r\n if (index == this.filteredEquipments?.length) {\r\n break;\r\n }\r\n else {\r\n this.shownEquipments.push(this.filteredEquipments[index]);\r\n }\r\n }\r\n }\r\n\r\n useSelected(selectedValue: any) {\r\n this.activeModal.close(selectedValue);\r\n }\r\n\r\n cancel() {\r\n this.activeModal.close();\r\n };\r\n\r\n updateFilter() {\r\n this.setFiltered();\r\n this.sortBy();\r\n this.setPage();\r\n }\r\n}","
\r\n

Actual Equipment

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{sortByOption.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
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Equipment\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n\r\n \r\n \r\n Current Job\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n\r\n \r\n \r\n Last Transfer\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n\r\n \r\n \r\n Est Return\r\n chevron_up_thick\r\n chevron_down_thick\r\n \r\n
\r\n \r\n \r\n {{equipment.Job}}{{equipment.JobDescription}}\r\n \r\n {{equipment.TransferDateDisplay}}\r\n \r\n {{equipment.EstReturnDateDisplay}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{equipment.Job}}{{equipment.JobDescription}}\r\n
\r\n
\r\n
\r\n
\r\n {{equipment.TransferDateDisplay}}\r\n
\r\n
\r\n
\r\n
\r\n {{equipment.EstReturnDateDisplay}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport _ from 'lodash';\r\nimport { UtilityService } from '../../../../core/services/utility.service';\r\nimport { from, of, Subject, concat } from 'rxjs';\r\nimport { catchError, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\n\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { CrewTimecardService } from '../../../../pages/crew-timecard/services/crew-timecard.service';\r\n\r\n@Component({\r\n selector: 'app-add-field-ticket-day',\r\n templateUrl: './add-field-ticket-day.component.html',\r\n styleUrls: ['./add-field-ticket-day.component.css']\r\n})\r\nexport class AddFieldTicketDayComponent {\r\n @Input() template: any;\r\n @Input() templateDates: any[];\r\n\r\n portalSettings: any;\r\n format: string;\r\n selectedValue: any;\r\n templateChanged: boolean;\r\n\r\n constructor(\r\n private crewTimecardService: CrewTimecardService,\r\n public activeModal: NgbActiveModal,\r\n portalSettingsService: PortalSettingsService,\r\n private utilityService: UtilityService\r\n ) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.format = this.utilityService.getDateFormat().toUpperCase();\r\n this.templateChanged = false;\r\n }\r\n\r\n addValue() {\r\n this.crewTimecardService.insertTemplateData(this.template.PostDateCrewLayoutDetailID, this.template.CrewTemplateID,\r\n this.selectedValue.FieldValue, this.selectedValue.FieldIdentifier).then((response: any) => {\r\n if (response.success) {\r\n this.templateChanged = true;\r\n this.templateDates.every((val) => {\r\n if (val.FieldValue == this.selectedValue.FieldValue) {\r\n val.IsSelected = true;\r\n val.CrewTemplateDataID = response.crewTemplateDataID\r\n return false;\r\n }\r\n return true;\r\n });\r\n this.templateDates = _.cloneDeep(this.templateDates);\r\n this.selectedValue = null;\r\n }\r\n });\r\n }\r\n\r\n deleteValue(value: any) {\r\n this.crewTimecardService.deleteTemplateData(value.CrewTemplateDataID).then((response: any) => {\r\n if (response.success) {\r\n this.templateChanged = true;\r\n this.templateDates.every((val) => {\r\n if (val.FieldValue == value.FieldValue) {\r\n val.IsSelected = false;\r\n return false;\r\n }\r\n return true;\r\n });\r\n this.templateDates = _.cloneDeep(this.templateDates);\r\n }\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close(this.templateChanged);\r\n }\r\n}\r\n","
\r\n

\r\n Add Field Ticket Day\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{templateDate.DateValue}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n","
\r\n

Delete Employee

\r\n
\r\n
\r\n
{{alert.msg}}
\r\n

This will delete all onboarding details for {{data.FirstName}} {{data.LastName}}. Continue?

\r\n
\r\n
\r\n \r\n \r\n
","import { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Component, Input } from '@angular/core';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\n\r\n@Component({\r\n selector: 'app-delete-onboard-employee-modal',\r\n templateUrl: './delete-onboard-employee-modal.component.html',\r\n styleUrls: ['./delete-onboard-employee-modal.component.css']\r\n})\r\nexport class DeleteOnboardEmployeeModalComponent {\r\n @Input() data: any;\r\n processing: boolean= false;\r\n alert: any;\r\n\r\n constructor(public activeModal: NgbActiveModal, private modalService: NgbModal, private hiringService: HiringService) {\r\n }\r\n\r\n deleteClick() {\r\n this.processing = true;\r\n this.hiringService.deleteOnboarding(this.data.OnboardID).then((response: any) => {\r\n if (response.success)\r\n this.activeModal.close(\"delete\");\r\n else\r\n this.alert = ({ type: \"danger\", msg: \"There were errors deleting the employee.\" });\r\n });\r\n }\r\n\r\n closeClick() {\r\n this.activeModal.dismiss();\r\n }\r\n \r\n}","
\r\n

Reset Task

\r\n

Delete Task

\r\n
\r\n
\r\n
{{alert.msg}}
\r\n

Are you sure you want to reset remove the following task from {{pageData.FirstName}} {{pageData.LastName}}'s onboarding process?

\r\n\r\n

{{task.OnboardTaskName}}

\r\n
\r\n
\r\n \r\n \r\n \r\n
","import { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Component, Input } from '@angular/core';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\n@Component({\r\n selector: 'app-delete-reset-onboard-task-modal',\r\n templateUrl: './delete-reset-onboard-task-modal.component.html',\r\n styleUrls: ['./delete-reset-onboard-task-modal.component.css']\r\n})\r\nexport class DeleteResetOnboardTaskModalComponent{\r\n @Input() pageData: any;\r\n @Input() task: any;\r\n @Input() mode: any;\r\n alert: any;\r\n\r\n constructor(public activeModal: NgbActiveModal, private modalService: NgbModal, private hiringService: HiringService) {\r\n }\r\n\r\n resetClicked() {\r\n this.hiringService.deleteTask(this.task.OnboardTaskID).then((response: any) => {\r\n this.activeModal.close(response.success);\r\n })\r\n }\r\n\r\n deleteClicked() {\r\n this.hiringService.deleteTask(this.task.OnboardTaskID).then((response: any) => {\r\n if (response.success) {\r\n this.activeModal.close(this.alert = ({ type: \"success\", msg: \"Task has been deleted.\" }));\r\n } else {\r\n this.activeModal.close(this.alert = ({ type: \"danger\", msg: \"There were errors deleting the notification.\" }));\r\n }\r\n })\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// services \r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { SignalRService } from './../../../core/services/signal-r.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-i9-gen-modal',\r\n templateUrl: './i9-gen-modal.component.html',\r\n styleUrls: ['./i9-gen-modal.component.css']\r\n})\r\nexport class I9GenModalComponent implements OnInit {\r\n portalSettings: any;\r\n formData: { [key: string]: any } = {};\r\n loading: boolean = false;\r\n count: number = 0;\r\n format: string;\r\n progressCurrent: any;\r\n i9List: any[];\r\n alert: any;\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean; adaptivePosition: boolean};\r\n mobileMode: boolean = false;\r\n\r\n constructor(portalSettingsService: PortalSettingsService, private signalRService: SignalRService, private utilityService: UtilityService, private hiringService: HiringService, private ngbActiveModal: NgbActiveModal) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.format = utilityService.getDateFormat();\r\n this.signalRService.establishHub('progressHub', 'sendProgressFileName');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.signalRService.sendProgressFileNameEvent.subscribe((fileName: any) => {\r\n this.progressCurrent = fileName;\r\n });\r\n this.datePickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false, adaptivePosition: true};\r\n this.mobileMode = this.utilityService.isMobileMode();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // Stop SignalR connection to prevent multiple connections\r\n this.signalRService.stopConnection();\r\n }\r\n\r\n getList() {\r\n if (this.formData.fromDate != null && this.formData.toDate != null) {\r\n this.hiringService.i9GenList(moment(this.formData.fromDate).format(\"YYYY/MM/DD\"), moment(this.formData.toDate).format(\"YYYY/MM/DD\")).then((response: any) => {\r\n this.i9List = [];\r\n response.forEach((val: any) => {\r\n this.i9List.push({ value: val.HRRMKeyID, name: val.FirstName + \" \" + val.LastName });\r\n this.count++;\r\n });\r\n this.formData.selectedEmployee = this.i9List;\r\n }, (errorResponse: any) => {\r\n this.alert = { type: \"danger\", msg: errorResponse?.error?.error }\r\n });\r\n }\r\n }\r\n\r\n employeeUpdate = function () {\r\n this.count = 0;\r\n this.formData.selectedEmployee.forEach((val: any) => {\r\n this.count++;\r\n });\r\n }\r\n\r\n genClicked() {\r\n this.loading = true;\r\n var employeeList = [];\r\n this.formData.selectedEmployee.forEach((val: any) => {\r\n employeeList.push(val.value);\r\n });\r\n\r\n this.hiringService.i9Gen(employeeList, moment(this.formData.fromDate).format(\"YYYY/MM/DD\"), moment(this.formData.toDate).format(\"YYYY/MM/DD\")).then((response: any) => {\r\n this.loading = false;\r\n if (response.success) {\r\n this.alert = { type: \"success\", msg: \"All new I-9s were sent to Vista.\" }\r\n } else {\r\n this.alert = { type: \"danger\", msg: response.error }\r\n }\r\n }, (errorResponse: any) => {\r\n this.alert = { type: \"danger\", msg: errorResponse?.error?.error }\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.ngbActiveModal.close('close');\r\n }\r\n\r\n onSelectAll() {\r\n this.formData.selectedEmployee = this.i9List;\r\n this.employeeUpdate();\r\n }\r\n\r\n onClearAll() {\r\n this.formData.selectedEmployee = [];\r\n this.employeeUpdate();\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n\r\n}\r\n","
\r\n

I-9 Utility

\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n
Use this process to send corrected I-9's to each new hire's HR Resource Master.
\r\n
\r\n
\r\n From Date: *\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n To Date: *\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n There are no employee on the selected date range...\r\n 0\">Employee List:\r\n 0\" style=\"max-height:400px; min-width: 135px;\"\r\n class=\"row col-lg-6\"\r\n [items]=\"i9List\"\r\n bindLabel=\"name\"\r\n [(ngModel)]=\"formData.selectedEmployee\"\r\n [multiple]=\"true\"\r\n placeholder=\"None Selected\"\r\n [closeOnSelect]=\"false\"\r\n [clearOnBackspace]=\"false\"\r\n dropdownPosition=\"bottom\"\r\n (change)=\"employeeUpdate()\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{items[0].name}}\r\n 1\" class=\"ng-value\">{{items.length}} Selected\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Processing {{progressCurrent}}...\"Loading...\"\r\n \r\n \r\n \r\n
\r\n","import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-initialized-attach-modal',\r\n templateUrl: './initialized-attach-modal.component.html',\r\n styleUrls: ['./initialized-attach-modal.component.css']\r\n})\r\nexport class InitializedAttachModalComponent {\r\n\r\n @Input() pageData: any;\r\n alert: any;\r\n\r\n constructor(public activeModal: NgbActiveModal) {\r\n }\r\n\r\n confirmClicked() {\r\n this.activeModal.close();\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n}\r\n","
\r\n

Initialize Attachment

\r\n
\r\n
\r\n
This will attach all documents to the rehired employee's employee record. A new HR resource will NOT be created. Continue?
\r\n
\r\n
\r\n \r\n \r\n
","
\r\n

Note - {{data.FirstName}} {{data.LastName}}

\r\n
\r\n Save Successful - {{lastSave.time}}\r\n Save Fail - {{lastSave.time}}\r\n
\r\n
\r\n
\r\n\r\n
    0\">\r\n
  • \r\n
    \r\n Date\r\n
    \r\n
    \r\n Author\r\n
    \r\n
    \r\n Notes\r\n
    \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
    \r\n {{data.DateAdded}}\r\n
    \r\n
    \r\n {{data.UserFullName}}\r\n
    \r\n
    \r\n {{data.NoteText}}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Are you sure you want to delete this note?\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
    \r\n
\r\n\r\n
\r\n Add a Note:\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//services\r\nimport { EmployeeInfoService } from 'src/app/core/services/employee-info.service';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { TimeoutService } from 'src/app/core/services/timeout.service';\r\n\r\n@Component({\r\n selector: 'app-note-detail-action-modal',\r\n templateUrl: './note-detail-action-modal.component.html',\r\n styleUrls: ['./note-detail-action-modal.component.css']\r\n})\r\nexport class NoteDetailActionModalComponent implements OnInit {\r\n @Input() data: any;\r\n @Input() viewMode: boolean;\r\n formData: { [key: string]: any } = {};\r\n updatingTimeout: boolean = false;\r\n employeeInfo: any;\r\n noteList: any[];\r\n lastSave: { [key: string]: any } = {};\r\n saveText: string;\r\n\r\n constructor(employeeInfoService: EmployeeInfoService, private hiringService: HiringService, private utilityService: UtilityService, public activeModal: NgbActiveModal, private timeoutService: TimeoutService) {\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getNote();\r\n }\r\n\r\n getNote() {\r\n this.hiringService.applicantNotesGet(this.data.OnboardID).then((response: any) => {\r\n this.noteList = response;\r\n });\r\n }\r\n\r\n editNote(data: any) {\r\n data.editing = !data.editing;\r\n }\r\n\r\n saveEdit(data: any) {\r\n this.hiringService.applicantNotesAddEdit(this.data.OnboardID, data.NoteText, this.data.ReqID, data.ReqApplicantNoteID).then((response: any) => {\r\n this.fadeLabel(response.success);\r\n data.editing = false;\r\n });\r\n }\r\n\r\n addClicked() {\r\n this.hiringService.applicantNotesAddEdit(this.data.OnboardID, this.formData.newNote, this.data.ReqID, -1).then((response: any) => {\r\n this.formData.newNote = null;\r\n this.fadeLabel(response.success);\r\n this.getNote();\r\n });\r\n }\r\n\r\n updateTimeout() {\r\n if (!this.timeoutService.getRefreshingTimeout()) {\r\n var lastActivityTime = this.timeoutService.getLastActivityTime();\r\n var timeoutConfig = this.timeoutService.getTimeoutConfig();\r\n if (timeoutConfig - lastActivityTime < 10) {\r\n this.timeoutService.refreshTimeout();\r\n }\r\n }\r\n }\r\n\r\n removeNote(data: any) {\r\n data.remove = true;\r\n }\r\n\r\n removeNoteCancel(data: any) {\r\n data.remove = false;\r\n }\r\n\r\n removeNoteConfirm(data: any) {\r\n this.hiringService.applicantNotesRemove(this.data.OnboardID, data.ReqApplicantNoteID).then((response: any) => {\r\n this.fadeLabel(response.success);\r\n this.getNote();\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.dismiss();\r\n };\r\n\r\n fadeLabel(status: any, text?: string) {\r\n this.formData.labelFade = false;\r\n this.lastSave = this.utilityService.fadeLabel(status);\r\n this.saveText = text;\r\n setTimeout(() => {\r\n this.formData.labelFade = true;\r\n }, 2000);\r\n }\r\n\r\n}\r\n","import { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { SignalRService } from './../../../core/services/signal-r.service';\r\nimport { CurrencyMaskInputMode } from 'ngx-currency';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-onboard-init-modal',\r\n templateUrl: './onboard-init-modal.component.html',\r\n styleUrls: ['./onboard-init-modal.component.css']\r\n})\r\n\r\nexport class OnboardInitModalComponent implements OnInit {\r\n @Input() personalInfoData: any;\r\n @Input() employee: any;\r\n @Input() employeeHRREFInfo: any;\r\n @Input() task: any;\r\n @Input() language: any;\r\n @Input() employeeList: any;\r\n @Input() expectHRRef: any;\r\n @Input() expectHRCo: any;\r\n format: string;\r\n portalSettings: any;\r\n employeeInfo: any;\r\n formData: { [key: string]: any } = {};\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean };\r\n mobileMode: boolean = false;\r\n deleteMode: boolean = false;\r\n taskDeleted: boolean = false;\r\n disableAttachmentUploadOnboarding: boolean = false;\r\n oNInitHirestoPayroll: boolean = false;\r\n autoAssignPREmpToHRRef: boolean = false;\r\n progressCurrent: any;\r\n currencySymbol: string;\r\n overtimeScheduleList: any[] = [];\r\n raceList: any[] = [];\r\n insuranceCodeList: any[] = [];\r\n timeRevList: any[] = [];\r\n prCompanies: any[] = [];\r\n hrCompanies: any[] = [];\r\n acaCode1: any[] = [];\r\n acaCode2: any[] = [];\r\n processed: boolean = false;\r\n processing: boolean = false;\r\n finishedLeave: boolean = false;\r\n pRGroups: any[] = [];\r\n employmentStatusList: any[] = [];\r\n localCodeList: any[] = [];\r\n crafts: any[] = [];\r\n classes: any[] = [];\r\n departments: any[] = [];\r\n earnCodes: any[] = [];\r\n occupationCat: any[] = [];\r\n positionCode: any[] = [];\r\n alert: { [key: string]: any } = { type: null, msg: null };\r\n options: { [key: string]: any } = {};\r\n\r\n constructor(public activeModal: NgbActiveModal, private modalService: NgbModal, portalSettingsService: PortalSettingsService, employeeInfoService: EmployeeInfoService, private hiringService: HiringService, private utilityService: UtilityService, private signalRService: SignalRService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n this.format = utilityService.getDateFormat().toUpperCase();\r\n this.mobileMode = utilityService.isMobileMode();\r\n this.signalRService.establishHub('progressHub', 'sendProgressFileName');\r\n }\r\n\r\n ngOnInit(): void {\r\n //SignalR stuff\r\n this.signalRService.sendProgressFileNameEvent.subscribe((fileName: any) => {\r\n setTimeout(() => {\r\n this.progressCurrent = fileName;\r\n });\r\n });\r\n this.datePickerOptions = { dateInputFormat: this.format, containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false };\r\n this.deleteMode = false;\r\n this.taskDeleted = false;\r\n this.formData.Gender = this.employee.Gender == \"X\" ? null : this.employee.Gender;\r\n this.formData.Race = this.employee.RaceEthnic;\r\n this.formData.autoRef = false;\r\n this.formData.hrefCB = false;\r\n this.formData.HRCo = { CompanyName: null, HRCo: null };\r\n this.formData.hrRef = null;\r\n this.formData.futureDate = false;\r\n this.formData.expectHRRef = this.expectHRRef;\r\n this.disableAttachmentUploadOnboarding = this.portalSettings.DisableAttachmentUploadOnboarding.ConfigValue == \"1\" ? true : false;\r\n this.oNInitHirestoPayroll = this.portalSettings.ONInitHirestoPayroll.ConfigValue == \"1\";\r\n this.autoAssignPREmpToHRRef = this.portalSettings.AutoAssignPREmpToHRRef.ConfigValue == \"1\";\r\n //241320: Race is mandatory field to fill out for Admin if Onboardee chosen 'I do not wish to answer' option.\r\n if (this.formData.Race == \"X\") {\r\n this.formData.Race = null;\r\n }\r\n this.formData.PREmployeeDisable = false;\r\n\r\n if (this.employee.IsRehire) {\r\n this.formData.PREmployeeDisable = true;\r\n this.formData.PREmployee = this.employeeHRREFInfo.PREmp;\r\n }\r\n\r\n if (this.oNInitHirestoPayroll && this.autoAssignPREmpToHRRef) {\r\n this.formData.PREmployeeDisable = true;\r\n }\r\n \r\n this.currencySymbol = this.utilityService.getCurrencySymbol();\r\n\r\n this.options = { align: 'left', prefix: this.currencySymbol, precision: 4, nullable: true, inputMode: CurrencyMaskInputMode.NATURAL };\r\n\r\n this.overtimeScheduleList = [{ Value: \"N\", Description: \"None\" }, { Value: \"D\", Description: \"Daily\" }, { Value: \"W\", Description: \"Weekly\" }\r\n , { Value: \"C\", Description: \"Craft\" }, { Value: \"J\", Description: \"Job\" }, { Value: \"P\", Description: \"Posting Seq\" }];\r\n\r\n if (this.personalInfoData != null && this.personalInfoData.AnticipHireDate != null) {\r\n this.formData.hireDate = cloneDeep(this.personalInfoData.AnticipHireDate);\r\n }\r\n this.getHRCo();\r\n this.getPRCo();\r\n this.getACA();\r\n this.getRaceCodes();\r\n this.getTimeRevGroup();\r\n\r\n if (this.employeeHRREFInfo != null) {\r\n if (this.employeeHRREFInfo.HRRef) {\r\n this.formData.hrRef = parseInt(this.employeeHRREFInfo.HRRef);\r\n this.formData.hrefCB = true;\r\n }\r\n } else {\r\n if (this.formData.expectHRRef != null) {\r\n this.formData.hrRef = this.formData.expectHRRef;\r\n this.formData.PREmployee = this.formData.hrRef;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // Stop SignalR connection to prevent multiple connections\r\n this.signalRService.stopConnection();\r\n }\r\n\r\n checkMaxLength() {\r\n if (this.oNInitHirestoPayroll && this.autoAssignPREmpToHRRef) {\r\n this.formData.PREmployee = this.formData.hrRef;\r\n }\r\n if (this.formData.hrRef.toString().length > 6)\r\n this.formData.hrRefDisable = true;\r\n else\r\n this.formData.hrRefDisable = false;\r\n }\r\n\r\n getRaceCodes() {\r\n this.hiringService.getRaceCodes().then((response: any) => {\r\n this.raceList = response;\r\n this.raceList.forEach((val: any) => {\r\n val.Race = val.Race.toString().trim();\r\n })\r\n\r\n if (this.formData.Race != null) {\r\n this.raceList.forEach((val: any) => {\r\n if (val.Race.toString().trim() == this.formData.Race.trim())\r\n this.formData.Race = val.Race.toString().trim();\r\n })\r\n }\r\n if (this.employee.IsRehire) {\r\n this.getRehireValues();\r\n }\r\n });\r\n }\r\n\r\n hrcoUpdate() {\r\n this.getEmploymentStatus();\r\n if (this.formData.PRCo == null) {\r\n this.prCompanies.forEach((val2: any) => {\r\n if (this.formData.HRCo.CompanyName == val2.PRCoNameMask) {\r\n this.formData.PRCo = val2.PRCo;\r\n this.pRCoChanged();\r\n return false;\r\n }\r\n });\r\n }\r\n this.formData.PositionCode = null;\r\n this.getPosition();\r\n }\r\n\r\n pRCoChanged() {\r\n this.formData.PRGroup = null;\r\n this.formData.Craft = null;\r\n this.formData.Class = null;\r\n this.formData.PRDept = null;\r\n this.formData.EarnCode = null;\r\n this.formData.InsCode = null;\r\n this.formData.LocalCode = null;\r\n this.formData.OccupCat = null;\r\n\r\n this.getDropDownValues();\r\n }\r\n\r\n craftChanged() {\r\n this.formData.Class = null;\r\n this.getClass();\r\n }\r\n\r\n hireDateChange() {\r\n if (this.formData.hireDate > new Date)\r\n this.formData.futureDate = true;\r\n else\r\n this.formData.futureDate = false;\r\n }\r\n\r\n //initialize get methods\r\n\r\n getHRCo() {\r\n this.hiringService.getHRCO().then((response: any) => {\r\n response.forEach((val: any) => {\r\n if (val.HRCo == this.expectHRCo) {\r\n this.formData.HRCo = val;\r\n this.getEmploymentStatus();\r\n this.getPosition();\r\n }\r\n });\r\n this.hrCompanies = response;\r\n });\r\n }\r\n\r\n getACA() {\r\n this.acaCode1 = [];\r\n this.acaCode2 = [];\r\n this.hiringService.getACACode().then((response: any) => {\r\n response.forEach((val: any) => {\r\n if (val.ComboType == \"HRACACodeSeries1\")\r\n this.acaCode1.push(val);\r\n else\r\n this.acaCode2.push(val);\r\n });\r\n });\r\n }\r\n\r\n getPRCo() {\r\n this.hiringService.getPRCo().then((response: any) => {\r\n this.prCompanies = response;\r\n });\r\n }\r\n\r\n getPRGroup() {\r\n var data = this.formData.PRCo;\r\n this.hiringService.getCompanyGroups(data).then((response: any) => {\r\n this.pRGroups = response;\r\n });\r\n }\r\n \r\n getInsurance() {\r\n this.hiringService.getInsCodes().then((response: any) => {\r\n this.insuranceCodeList = response;\r\n if (this.formData.InsCode != null) {\r\n var isExist = false;\r\n response.forEach((val: any) => {\r\n if (val.InsCode == this.formData.InsCode)\r\n isExist = true;\r\n })\r\n if (!isExist)\r\n this.formData.InsCode = null;\r\n }\r\n this.utilityService.closeModal();\r\n });\r\n }\r\n\r\n getTimeRevGroup() {\r\n this.hiringService.getInsCodes().then((response: any) => {\r\n this.timeRevList = response;\r\n });\r\n }\r\n\r\n getEmploymentStatus() {\r\n this.hiringService.getEmploymentStatus(this.formData.HRCo.HRCo).then((response: any) => {\r\n this.employmentStatusList = response;\r\n });\r\n }\r\n\r\n getLocalCode() {\r\n this.hiringService.getLocalCode(this.formData.PRCo).then((response: any) => {\r\n this.localCodeList = response;\r\n });\r\n }\r\n\r\n getCraft() {\r\n var data = this.formData.PRCo;\r\n this.hiringService.getCraft(data).then((response: any) => {\r\n this.crafts = response;\r\n });\r\n }\r\n\r\n getClass() {\r\n this.hiringService.getClass(this.formData.PRCo, encodeURIComponent(this.formData.Craft)).then((response: any) => {\r\n this.classes = response;\r\n });\r\n }\r\n\r\n getPRDept() {\r\n this.hiringService.getPRDept(this.formData.PRCo).then((response: any) => {\r\n this.departments = response;\r\n });\r\n }\r\n\r\n getEarnCode() {\r\n this.hiringService.getEarnCode(this.formData.PRCo).then((response: any) => {\r\n this.earnCodes = response;\r\n });\r\n }\r\n\r\n public getOccupation() {\r\n this.hiringService.getOccupationCategories(this.formData.PRCo).then((response: any) => {\r\n this.occupationCat = response;\r\n });\r\n }\r\n\r\n public getPosition() {\r\n this.hiringService.getPositionCodes(this.formData.HRCo.HRCo).then((response: any) => {\r\n this.positionCode = response;\r\n });\r\n }\r\n\r\n closeClicked() {\r\n if (this.finishedLeave)\r\n window.location.href = \"/Hiring/OnboardingDashboard\";\r\n else\r\n this.activeModal.close();\r\n }\r\n\r\n autoRefChange() {\r\n if (this.formData.autoRef) {\r\n this.formData.hrRef = null;\r\n this.formData.PREmployee = null;\r\n }\r\n }\r\n\r\n initialize() {\r\n var requestObj = { raceEthnic: null };\r\n if (this.formData.Race != null) {\r\n this.raceList.forEach((val: any) => {\r\n if (val.Race.trim() == this.formData.Race.trim())\r\n requestObj.raceEthnic = val.Race;\r\n })\r\n }\r\n this.processing = true;\r\n this.hiringService.initializeEmployee(this.employee.OnboardID, this.formData.HRCo.HRCo, moment(this.formData.hireDate).format(\"MM/DD/YYYY\"), this.formData.hrRef, this.formData.PRCo,\r\n this.formData.PRGroup, this.formData.Craft, this.formData.Class, this.formData.PRDept, this.formData.EarnCode, this.formData.Gender, this.formData.Wage, requestObj.raceEthnic,\r\n this.formData.InsCode, this.formData.timesheetRevGroup, null, this.formData.CodeSeries1, this.formData.CodeSeries2, this.formData.EmploymentStatus, this.formData.LocalCode,\r\n this.formData.OvertimeSchedule, this.formData.PREmployee, this.formData.OccupCat, this.formData.PositionCode).then(async (response: any) => {\r\n if (response.success) {\r\n if (this.disableAttachmentUploadOnboarding) {\r\n this.alert = ({ type: \"success\", msg: this.employee.FirstName + \" \" + this.employee.LastName + \" has been successfully initialized to HR Company \" + this.formData.HRCo.HRCo + \" with the Employee Number \" + response.info[0].InitializedHRRef + (response.info[0].ReturnMessage != null ? (\". \" + response.info[0].ReturnMessage) : \"\") });\r\n this.processed = true;\r\n this.processing = false;\r\n this.finishedLeave = true;\r\n } else {\r\n await this.processOnboardingForms(response.info[0]);\r\n }\r\n\r\n if (response.info[0]['ReturnMessage']) {\r\n this.alert.msg += `\\n\\n${response.info[0]['ReturnMessage']}`;\r\n }\r\n\r\n } else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n this.finishedLeave = false;\r\n this.processed = true;\r\n this.processing = false;\r\n }\r\n }, (errorResponse: any) => {\r\n this.alert = { type: \"danger\", msg: errorResponse?.error?.error };\r\n this.finishedLeave = false;\r\n this.processed = true;\r\n this.processing = false;\r\n });\r\n }\r\n\r\n async processOnboardingForms(info: any) {\r\n var instanceIDs = [];\r\n var templateIDs = [];\r\n var filenames = [];\r\n var filetypes = [];\r\n if (this.task != null) {\r\n for (var i = 0; i < this.task.length; i++) {\r\n if (this.task[i].OnboardChecklistInstanceID != null) {\r\n instanceIDs.push(this.task[i].OnboardChecklistInstanceID);\r\n templateIDs.push(this.task[i].ChecklistTemplateID);\r\n filenames.push(this.task[i].Filename);\r\n filetypes.push(\"Checklist\");\r\n }\r\n else if (this.task[i].OnboardBulletinID != null) {\r\n instanceIDs.push(this.task[i].OnboardBulletinID);\r\n templateIDs.push(-1);\r\n filenames.push(this.task[i].Filename);\r\n filetypes.push(\"Document\");\r\n }\r\n }\r\n }\r\n\r\n const response: any = await this.hiringService.processOnboardingForms(info.HRRMKeyID, this.employee.OnboardID, instanceIDs, templateIDs, filenames, filetypes, this.employee.IncludeW4, this.employee.IncludeI9, this.employee.IncludeIdentification, this.language, this.employee.ApplicantOnboardID, this.employee.IncludeDirectDeposit, this.employee.IncludeEmergencyContacts,)\r\n if (response.success) {\r\n this.alert = ({ type: \"success\", msg: this.employee.FirstName + \" \" + this.employee.LastName + \" has been successfully initialized to HR Company \" + this.formData.HRCo.HRCo + \" with the Employee Number \" + info.InitializedHRRef });\r\n this.processed = true;\r\n this.processing = false;\r\n this.finishedLeave = true;\r\n } else {\r\n this.alert = { type: \"danger\", msg: response.errorMessage };\r\n this.finishedLeave = false;\r\n this.processed = true;\r\n this.processing = false;\r\n }\r\n }\r\n\r\n getDropDownValues() {\r\n this.utilityService.openModal();\r\n this.getPRGroup();\r\n this.getLocalCode();\r\n this.getCraft();\r\n this.getPRDept();\r\n this.getEarnCode();\r\n this.getInsurance();\r\n this.getOccupation();\r\n }\r\n\r\n getRehireValues() {\r\n this.utilityService.openModal();\r\n this.formData.HRCo = { HRCo: this.employeeHRREFInfo.HRCo, CompanyName: null };\r\n this.hiringService.getRehireDetailsByHRRef(this.employeeHRREFInfo.HRRef, this.employeeHRREFInfo.HRCo).then((response: any) => {\r\n var reHireInfo = response[0];\r\n this.formData.PRCo = reHireInfo.PRCo;\r\n if (reHireInfo.Race != null) {\r\n this.raceList.forEach((val: any) => {\r\n if (val.Race.toString().trim() == reHireInfo.Race.trim())\r\n this.formData.Race = val.Race.toString().trim();\r\n })\r\n }\r\n this.getDropDownValues();\r\n this.formData.Wage = reHireInfo.ExpectedSalary;\r\n this.formData.PRGroup = reHireInfo.PRGroup;\r\n this.formData.InsCode = reHireInfo.StdInsCode;\r\n this.formData.Craft = reHireInfo.StdCraft;\r\n if (this.formData.Craft) {\r\n this.getClass();\r\n this.formData.Class = reHireInfo.StdClass;\r\n }\r\n this.formData.PRDept = reHireInfo.PRDept;\r\n this.formData.EarnCode = reHireInfo.EarnCode;\r\n this.formData.OccupCat = reHireInfo.OccupCat;\r\n this.formData.PositionCode = reHireInfo.PositionCode;\r\n this.getEmploymentStatus();\r\n this.getPosition();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Initialize to Vista

\r\n
\r\n
\r\n
\r\n
Initializing this employee will create the HR Resource for this record, migrate all attachments and submitted information to Vista.
\r\n
Since hire date is a future date, active check boxes will not be updated in Vista HR or PR.
\r\n
\r\n
\r\n
\r\n HR Company *\r\n \r\n {{hrCompany.CompanyName}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Expected Hire Date *\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n EEOC Gender *\r\n \r\n M - Male\r\n F - Female\r\n \r\n
\r\n
\r\n
\r\n
\r\n Auto Generate HR Ref\r\n \r\n
\r\n
\r\n HR Ref *\r\n \r\n
\r\n
\r\n Race *\r\n \r\n {{data.Race}} - {{data.Description}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Hourly / Salary Amt.\r\n \r\n
\r\n
\r\n PR Employee *\r\n \r\n
\r\n
\r\n PRCo *\r\n \r\n {{prCompany.PRCoNameMask}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n PR Group *\r\n \r\n {{pRGroup.PRGroupName}}\r\n \r\n
\r\n
\r\n Insurance Code *\r\n \r\n {{data.InsCode}} - {{data.Description}}\r\n \r\n
\r\n
\r\n Craft\r\n \r\n {{craft.Craft}} - {{craft.CraftDescription}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Class\r\n \r\n {{class.Class}} - {{class.ClassDescription}}\r\n \r\n
\r\n
\r\n PR Department *\r\n \r\n {{department.PRDept}} - {{department.PRDeptDescription}}\r\n \r\n
\r\n
\r\n Default Earn Code *\r\n \r\n {{earnCode.EarnCode}} - {{earnCode.EarnCodeDescription}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Occupation Category\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n\r\n
\r\n Position Code\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Code Series 1\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n\r\n
\r\n Code Series 2\r\n \r\n {{data.DisplayValue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Employment Status\r\n \r\n {{data.StatusCode}} - {{data.Description}}\r\n \r\n
\r\n\r\n
\r\n Local Code\r\n \r\n {{data.LocalCode}} - {{data.Description}}\r\n \r\n
\r\n
\r\n Overtime Schedule *\r\n \r\n {{data.Value}} - {{data.Description}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Processing {{progressCurrent}}...\"Loading...\"\r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { concat, from, Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\n\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { HiringService } from '../../../pages/hiring/services/hiring.service';\r\n\nimport { OrderByPipe } from './../../../shared/pipe/order-by.pipe';\n\r\n\n@Component({\n selector: 'app-onboarding-invitation-modal',\n templateUrl: './onboarding-invitation-modal.component.html',\n styleUrls: ['./onboarding-invitation-modal.component.css']\n})\n\nexport class OnboardingInvitationModalComponent implements OnInit {\n @Input() profileList: any[];\n\n portalSettings: any;\n employeeInfo: any;\n orderByPipe: any;\n formData: { [key: string]: any } = {};\n employees: any[] = [];\n showCheckSSN: boolean = false;\r\n processes: any[] = [];\r\n unusedProcesses: any[] = [];\r\n employeeLoading: boolean = false;\r\n employee$: Observable;\n employeeInput$ = new Subject();\r\n\n constructor(portalSettingsService: PortalSettingsService, employeeInfoService: EmployeeInfoService, private hiringService: HiringService, public activeModal: NgbActiveModal) {\n this.portalSettings = portalSettingsService.getPortalSettings();\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\n }\n\n ngOnInit(): void {\n this.orderByPipe = new OrderByPipe();\n this.showCheckSSN = this.portalSettings.ONCheckSSNOnInvite.ConfigValue == \"1\";\n this.registerLookups();\n }\n\n private registerLookups() {\n //register observables used by super lookups\n this.employee$ = concat(\n this.employeeInput$.pipe(\n debounceTime(500),\n distinctUntilChanged(),\n switchMap(term => ((term != null && term.length > 2) ?\n from(this.hiringService.getOnboardingEmployees(term)).pipe(\n catchError(() => of([]))) : of([])\n ))\n )\n );\n }\n\n checkSSN() {\n if (this.formData.noHireCheck != null && this.formData.noHireCheck.length != 11) {\n this.formData.noHireCheck = null;\n }\n }\n\n getAllDefaultsList() {\n this.hiringService.defaultsGetAllList(this.formData.profile).then((response: any[]) => {\n if (response != null) {\n var processes = response;\n var filteredProcesses = [];\n var unusedProcesses = [];\n processes.forEach((val: any) => {\n if (val.OnboardTaskIsDefault) {\n val.UseTask = true;\n filteredProcesses.push(val);\n }\n else {\n val.UseTask = false;\n unusedProcesses.push(val);\n }\n });\n this.processes = filteredProcesses;\n this.unusedProcesses = unusedProcesses;\r\n }\n });\n }\n\n addProcess() {\n this.formData.taskToAdd.UseTask = true;\n this.processes.push(this.formData.taskToAdd);\n this.unusedProcesses.splice(this.unusedProcesses.indexOf(this.formData.taskToAdd), 1);\n this.formData.taskToAdd = null;\n }\n\n employeeUpdate() {\n if (this.formData.employee != null) {\n setTimeout(() => {\n this.formData.firstName = this.formData.employee.FirstName;\n this.formData.lastName = this.formData.employee.LastName;\n this.formData.email = this.formData.employee.Email.trim();\n this.formData.noHireCheck = null;\n });\n }\n }\n\n sendClicked() {\n var usedProccesses = [];\n this.processes.forEach((val: any) => {\n usedProccesses.push(val.OnboardTaskDefID);\n });\n if (usedProccesses.length > 0) {\n this.formData.onboardTaskDefIDString = usedProccesses.join(',');\r\n }\n this.formData.action = \"send\";\n this.activeModal.close(this.formData);\n }\n\n removeTask(index: number) {\n this.unusedProcesses.push(this.processes[index]);\n this.unusedProcesses = this.orderByPipe.transform(this.unusedProcesses, \"StepName\", \"asc\");\n this.processes.splice(index, 1);\n }\n\n updateFormdata(data: string, field: any) {\n this.formData[field] = data;\r\n }\n\n cancelClicked() {\n this.activeModal.dismiss();\n }\n}\n\n","
\r\n

Send Onboarding Invitation

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n If the employee exists in the Resource Master, select below:\r\n \r\n \r\n
\r\n
\r\n
\r\n
Otherwise, input the new hire's information below:
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n {{profile.OnboardProfileName}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{unusedProcess.StepName}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0 || unusedProcesses.length > 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 Step Name\r\n \r\n\r\n
{{process.StepName}}Remove
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","
\r\n

Direct Deposit

\r\n
\r\n
\r\n
\r\n
\r\n
{{accountName[$index]}} Account
\r\n
\r\n
\r\n
\r\n \r\n

{{data.RoutingID}}

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

{{data.BankAcct}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Checking\r\n
\r\n
\r\n
\r\n \r\n Savings\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Percent\r\n
\r\n
\r\n
\r\n \r\n $ Amount\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

{{data.Amount}}

\r\n

{{data.Pct}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { HiringService } from '../../../pages/hiring/services/hiring.service';\r\nimport { EmployeeService } from './../../../pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-review-ddmodal',\r\n templateUrl: './review-ddmodal.component.html',\r\n styleUrls: ['./review-ddmodal.component.css']\r\n})\r\n\r\nexport class ReviewDDModalComponent implements OnInit {\r\n @Input() id: number;\r\n accountList: any[] = [];\r\n accountName: string[] = [\"Primary\", \"Secondary\", \"Third\", \"Fourth\"];\r\n\r\n constructor(public activeModal: NgbActiveModal, private employeeService: EmployeeService, private hiringService: HiringService) { }\r\n\r\n ngOnInit(): void {\r\n this.getDirectDeposit();\r\n }\r\n\r\n getDirectDeposit() {\r\n this.hiringService.getOnboardDirectDeposits(this.id).then((response: any[]) => {\r\n if (response != null) {\r\n this.accountList = response;\r\n this.accountList.forEach((val: any) => {\r\n this.getAttachmentList(val);\r\n });\r\n }\r\n });\r\n }\r\n\r\n getAttachmentList(data: any) {\r\n var requestParam = \"moduleID=\" + 601 + \"&recordID=\" + data.OnboardDirectDepositID + \"&onboarding=\" + true;\r\n this.employeeService.getFileAttachmentList(requestParam).then((response: any[]) => {\r\n if (response != null && response.length > 0) {\r\n data.Attachments = response[0];\r\n }\r\n });\r\n }\r\n\r\n closeClick() {\r\n this.activeModal.close();\r\n }\r\n\r\n}\r\n","
\r\n

Emergency Contacts

\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 \r\n \r\n \r\n \r\n \r\n
NameRelationshipHome PhoneCell PhoneWork PhoneNote
{{row.ContactName}}{{row.Relationship}}{{row.HomePhone}}{{row.CellPhone}}{{row.WorkPhone}}{{row.Note}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Contact Name\r\n

{{row.ContactName}}

\r\n
\r\n
\r\n Relationship\r\n

\r\n {{row.Relationship}}\r\n

\r\n
\r\n
\r\n Home Phone\r\n

{{row.HomePhone}}

\r\n
\r\n
\r\n Cell Phone\r\n

{{row.CellPhone}}

\r\n
\r\n
\r\n Work Phone\r\n

{{row.WorkPhone}}

\r\n
\r\n
\r\n
\r\n
\r\n Address\r\n

{{row.Address}}

\r\n
\r\n
\r\n City\r\n

{{row.City}}

\r\n
\r\n
\r\n State\r\n Province\r\n

{{row.State}}

\r\n
\r\n
\r\n Zip\r\n Postal Code\r\n

{{row.Zip}}

\r\n
\r\n
\r\n
\r\n
\r\n Note\r\n

{{row.Note}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//services\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\n\r\n@Component({\r\n selector: 'app-review-ecmodal',\r\n templateUrl: './review-ecmodal.component.html',\r\n styleUrls: ['./review-ecmodal.component.css']\r\n})\r\nexport class ReviewECModalComponent implements OnInit {\r\n\r\n @Input() id: any;\r\n contactList: any[];\r\n portalSettings: any;\r\n country: string;\r\n\r\n constructor(private hiringService: HiringService, public activeModal: NgbActiveModal, portalSettingsService: PortalSettingsService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.country = this.portalSettings.CountryDateCode.ConfigValue;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getContact();\r\n }\r\n\r\n getContact() {\r\n this.hiringService.getOnboardEmergencyContacts(this.id).then((response: any) => {\r\n if (response != null) {\r\n this.contactList = response;\r\n }\r\n });\r\n }\r\n\r\n expendRow(data: any) {\r\n data.Expended = !data.Expended;\r\n }\r\n\r\n closeClick = function () {\r\n this.activeModal.dismiss();\r\n }\r\n}\r\n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport moment, { utc } from 'moment';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//services\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\nimport { HomeService } from 'src/app/pages/home/services/home.service';\r\n\r\n@Component({\r\n selector: 'app-review-i9-modal',\r\n templateUrl: './review-i9-modal.component.html',\r\n styleUrls: ['./review-i9-modal.component.css']\r\n})\r\nexport class ReviewI9ModalComponent implements OnInit {\r\n\r\n @ViewChild('I9Form', { static: false }) I9Form: NgForm;\r\n @ViewChild('signaturePadS2', { static: false }) signaturePadS2;\r\n @ViewChild('signaturePadS3', { static: false }) signaturePadS3;\r\n @Input() id: number;\r\n @Input() viewMode: boolean;\r\n @Input() isRehire: boolean;\r\n portalSettings: any;\r\n i9Section3Require: boolean;\r\n enableCheckboxSign: boolean;\r\n requireFirstWorkdateOnI9: boolean;\r\n formData: { [key: string]: any } = {};\r\n sign: { [key: string]: any } = {};\r\n date: { [key: string]: any } = {};\r\n formData2: { [key: string]: any } = {};\r\n sign2: { [key: string]: any } = {};\r\n date2: { [key: string]: any } = {};\r\n validateCheck: boolean = false;\r\n mobileMode: boolean;\r\n format: string;\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean; adaptivePosition: boolean };\r\n documentTitleAList12: any[] = [];\r\n documentTitleAList3: any[] = [];\r\n documentTitleAList4: any[] = [];\r\n documentTitleListOri: any[] = [];\r\n documentTitleBList: any[] = [];\r\n documentTitleCList12: any[] = [];\r\n documentTitleCList34: any[] = [];\r\n stateList: any[];\r\n q4NA: boolean = false;\r\n documentTitleAList: any[];\r\n documentTitleCList: any[];\r\n alert: string;\r\n latitude: any;\r\n longitude: any;\r\n panelWidth: number;\r\n signEmporAuthS2RedBorder: boolean;\r\n signEmporAuthS3RedBorder: boolean;\r\n monthDateFormat: string = \"MM/DD/YYYY\";\r\n new2023: any;\r\n\r\n constructor(portalSettingsService: PortalSettingsService, private utilityService: UtilityService, private hiringService: HiringService, private activeModal: NgbActiveModal, private homeService: HomeService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.mobileMode = this.utilityService.isMobileMode();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.new2023 = false;\r\n this.i9Section3Require = this.portalSettings.I9Section3Require.ConfigValue == \"1\";\r\n this.enableCheckboxSign = this.portalSettings.EnableCheckboxSign.ConfigValue == \"1\" ? true : false;\r\n this.requireFirstWorkdateOnI9 = this.portalSettings.RequireFirstWorkdateOnI9.ConfigValue == \"1\";\r\n this.viewMode = this.viewMode == true ? true : false;\r\n\r\n this.format = this.utilityService.getDateFormat();\r\n this.datePickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false, adaptivePosition: true };\r\n\r\n if (this.isRehire)\r\n this.date2.S3SignatureDate = new Date(moment().format(this.monthDateFormat));\r\n else\r\n this.date2.S2SignatureDate = new Date(moment().format(this.monthDateFormat));\r\n\r\n this.formData2.ListBDocumentTitle = null; this.formData2.ListBIssuingAuthority = null; this.formData2.ListBDocumentNumber = null;\r\n this.formData2.ListAExpirationDateStr = null; this.formData2.ListAExpirationDateStr2 = null; this.formData2.ListAExpirationDateStr3 = null; this.formData2.ListBExpirationDateStr = null; this.formData2.ListCExpirationDateStr = null; this.formData2.S2EmployeeFirstDayStr = null; this.formData2.S2SignatureDateStr = null; this.formData2.S3RehireDateStr = null; this.formData2.S3ExpirationDateStr = null;\r\n this.formData2.S3SignatureDateStr = null; this.formData2.S2SignatureTypeSign = null; this.formData2.S3SignatureTypeSign = null;\r\n this.formData2.S2SignatureBinary = null; this.formData2.S3SignatureBinary = null;\r\n this.date2.ListBExpirationDate = null;\r\n this.formData2.ListCDocumentTitle = null; this.formData2.ListCIssuingAuthority = null; this.formData2.ListCDocumentNumber = null; this.date2.ListCExpirationDate = null;\r\n\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(position => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n });\r\n }\r\n\r\n this.documentTitleAList12.push({ name: \"\", value: '' });\r\n this.documentTitleAList12.push({ name: \"U.S. Passport\", value: \"U.S. Passport\" });\r\n this.documentTitleAList12.push({ name: \"U.S. Passport Card\", value: \"U.S. Passport Card\" });\r\n\r\n this.documentTitleAList3.push({ name: \"\", value: '' });\r\n this.documentTitleAList3.push({ name: \"Perm. Resident Card (Form I-551)\", value: \"Perm. Resident Card (Form I-551)\" });\r\n this.documentTitleAList3.push({ name: \"Alien Reg. Receipt Card (Form I-551)\", value: \"Alien Reg. Receipt Card (Form I-551)\" });\r\n this.documentTitleAList3.push({ name: \"Foreign Passport with Temp. I-551 Stamp\", value: \"Foreign Passport with Temp. I-551 Stamp\" });\r\n this.documentTitleAList3.push({ name: \"Foreign Passport with Temp. I-551 MRIV\", value: \"Foreign Passport with Temp. I-551 MRIV\" });\r\n this.documentTitleAList3.push({ name: \"Receipt: Form I-94/I-94A w/I-551 stamp, photo\", value: \"Receipt: Form I-94/I-94A w/I-551 stamp, photo\" });\r\n this.documentTitleAList3.push({ name: \"Receipt: Replacement Perm. Res. Card (Form I-551)\", value: \"Receipt: Replacement Perm. Res. Card (Form I-551)\" });\r\n\r\n this.documentTitleAList4.push({ name: \"\", value: '' });\r\n this.documentTitleAList4.push({ name: \"Employment Auth. Document (Form I-766)\", value: \"Employment Auth. Document (Form I-766)\" });\r\n this.documentTitleAList4.push({ name: \"Foreign Passport, work-authorized nonimmigrant\", value: \"Foreign Passport, work-authorized nonimmigrant\" });\r\n this.documentTitleAList4.push({ name: \"FSM Passport with Form I-94\", value: \"FSM Passport with Form I-94\" });\r\n this.documentTitleAList4.push({ name: \"RMI Passport with Form I-94\", value: \"RMI Passport with Form I-94\" });\r\n this.documentTitleAList4.push({ name: \"Receipt: Replacement EAD (Form I-766)\", value: \"Receipt: Replacement EAD (Form I-766)\" });\r\n this.documentTitleAList4.push({ name: \"Receipt: Form I-94/I-94A w/refugee stamp (or RE class of admission)\", value: \"Receipt: Form I-94/I-94A w/refugee stamp (or RE class of admission)\" });\r\n this.documentTitleAList4.push({ name: \"Receipt: Foreign Passport, work-authorized nonimmigrant\", value: \"Receipt: Foreign Passport, work-authorized nonimmigrant\" });\r\n this.documentTitleAList4.push({ name: \"Receipt: FSM Passport with Form I-94\", value: \"Receipt: FSM Passport with Form I-94\" });\r\n this.documentTitleAList4.push({ name: \"Receipt: RMI Passport with Form I-94\", value: \"Receipt: RMI Passport with Form I-94\" });\r\n this.documentTitleAList4.push({ name: \"Student Form I-20\", value: \"Student Form I-20\" });\r\n\r\n this.documentTitleListOri.push({ name: \"\", value: '' });\r\n this.documentTitleListOri.push({ name: \"U.S. Passport\", value: \"U.S. Passport\" });\r\n this.documentTitleListOri.push({ name: \"U.S. Passport Card\", value: \"U.S. Passport Card\" });\r\n this.documentTitleListOri.push({ name: \"Perm. Resident Card (Form I-551)\", value: \"Perm. Resident Card (Form I-551)\" });\r\n this.documentTitleListOri.push({ name: \"Alien Reg. Receipt Card (Form I-551)\", value: \"Alien Reg. Receipt Card (Form I-551)\" });\r\n this.documentTitleListOri.push({ name: \"Foreign Passport with Temp. I-551 Stamp\", value: \"Foreign Passport with Temp. I-551 Stamp\" });\r\n this.documentTitleListOri.push({ name: \"Foreign Passport with Temp. I-551 MRIV\", value: \"Foreign Passport with Temp. I-551 MRIV\" });\r\n this.documentTitleListOri.push({ name: \"Employment Auth. Document (Form I-766)\", value: \"Employment Auth. Document (Form I-766)\" });\r\n this.documentTitleListOri.push({ name: \"Foreign Passport with Form I-94, endorsement\", value: \"Foreign Passport with Form I-94, endorsement\" });\r\n this.documentTitleListOri.push({ name: \"FSM Passport with Form I-94\", value: \"FSM Passport with Form I-94\" });\r\n this.documentTitleListOri.push({ name: \"RMI Passport with Form I-94\", value: \"RMI Passport with Form I-94\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Form I-94/I-94A w/I-551 stamp, photo\", value: \"Receipt: Form I-94/I-94A w/I-551 stamp, photo\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Form I-94/I-94A w/refugee stamp (or RE class of admission)\", value: \"Receipt: Form I-94/I-94A w/refugee stamp (or RE class of admission)\" });\r\n this.documentTitleListOri.push({ name: \"Social Security Card (Unrestricted)\", value: \"Social Security Card (Unrestricted)\" });\r\n this.documentTitleListOri.push({ name: \"Form FS-545\", value: \"Form FS-545\" });\r\n this.documentTitleListOri.push({ name: \"Form FS-240\", value: \"Form FS-240\" });\r\n this.documentTitleListOri.push({ name: \"Form DS-1350\", value: \"Form DS-1350\" });\r\n this.documentTitleListOri.push({ name: \"U.S. Birth certificate\", value: \"U.S. Birth certificate\" });\r\n this.documentTitleListOri.push({ name: \"Native American Tribal document\", value: \"Native American Tribal document\" });\r\n this.documentTitleListOri.push({ name: \"Form I-197\", value: \"Form I-197\" });\r\n this.documentTitleListOri.push({ name: \"Form I-179\", value: \"Form I-179\" });\r\n this.documentTitleListOri.push({ name: \"Employment auth. document (DHS)\", value: \"Employment auth. document (DHS)\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement Perm. Res. Card (Form I-551)\", value: \"Receipt: Replacement Perm. Res. Card (Form I-551)\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement Employment Auth. Document (Form I-766)\", value: \"Receipt: Replacement Employment Auth. Document (Form I-766)\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement Foreign Passport with Form I-94 , endorsement\", value: \"Receipt: Replacement Foreign Passport with Form I-94 , endorsement\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement FSM passport/Form I-94\", value: \"Receipt: Replacement FSM passport/Form I-94\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement RMI passport/Form I-94\", value: \"Receipt: Replacement RMI passport/Form I-94\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement Social Security Card\", value: \"Receipt: Replacement Social Security Card\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement Birth Certificate\", value: \"Receipt: Replacement Birth Certificate\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement Native American Tribal Document\", value: \"Receipt: Replacement Native American Tribal Document\" });\r\n this.documentTitleListOri.push({ name: \"Receipt: Replacement Employment Auth. Doc (DHS)\", value: \"Receipt: Replacement Employment Auth. Doc (DHS)\" });\r\n\r\n this.documentTitleBList.push({ name: \"\", value: '' });\r\n this.documentTitleBList.push({ name: \"Driver's License issued by state/territory\", value: \"Driver's License issued by state/territory\" });\r\n this.documentTitleBList.push({ name: \"ID card issued by state/territory\", value: \"ID card issued by state/territory\" });\r\n this.documentTitleBList.push({ name: \"Government ID\", value: \"Government ID\" });\r\n this.documentTitleBList.push({ name: \"School ID\", value: \"School ID\" });\r\n this.documentTitleBList.push({ name: \"Voter registration card\", value: \"Voter registration card\" });\r\n this.documentTitleBList.push({ name: \"U.S. Military card\", value: \"U.S. Military card\" });\r\n this.documentTitleBList.push({ name: \"U.S. Military draft record\", value: \"U.S. Military draft record\" });\r\n this.documentTitleBList.push({ name: \"Military dependent's ID card\", value: \"Military dependent's ID card\" });\r\n this.documentTitleBList.push({ name: \"USCG Merchant Mariner card\", value: \"USCG Merchant Mariner card\" });\r\n this.documentTitleBList.push({ name: \"Native American tribal document\", value: \"Native American tribal document\" });\r\n this.documentTitleBList.push({ name: \"Canadian driver's license\", value: \"Canadian driver's license\" });\r\n this.documentTitleBList.push({ name: \"School record (under age 18)\", value: \"School record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Report card (under age 18)\", value: \"Report card (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Clinic record (under age 18)\", value: \"Clinic record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Doctor record (under age 18)\", value: \"Doctor record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Hospital record (under age 18)\", value: \"Hospital record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Day-care record (under age 18)\", value: \"Day-care record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Nursery School record (under age 18)\", value: \"Nursery School record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Individual under Age 18\", value: \"Individual under Age 18\" });\r\n this.documentTitleBList.push({ name: \"Special Placement\", value: \"Special Placement\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Driver's License\", value: \"Receipt Replacement Driver's License\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement ID Card\", value: \"Receipt Replacement ID Card\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Government ID\", value: \"Receipt Replacement Government ID\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement School ID\", value: \"Receipt Replacement School ID\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Voter Reg. Card\", value: \"Receipt Replacement Voter Reg. Card\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement U.S. Military card\", value: \"Receipt Replacement U.S. Military card\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Military Draft Record\", value: \"Receipt Replacement Military Draft Record\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Military Dep. Card\", value: \"Receipt Replacement Military Dep. Card\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Merchant Mariner Card\", value: \"Receipt Replacement Merchant Mariner Card\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Native American Tribal Doc\", value: \"Receipt Replacement Native American Tribal Doc\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Canadian DL.\", value: \"Receipt Replacement Canadian DL.\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement School Record (under age 18)\", value: \"Receipt Replacement School Record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Report Card (under age 18)\", value: \"Receipt Replacement Report Card (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Clinic Record (under age 18)\", value: \"Receipt Replacement Clinic Record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replacement Doctor Record (under age 18)\", value: \"Receipt Replacement Doctor Record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replace. Hospital Record (under age 18)\", value: \"Receipt Replace. Hospital Record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replace. Day-Care Record (under age 18)\", value: \"Receipt Replace. Day-Care Record (under age 18)\" });\r\n this.documentTitleBList.push({ name: \"Receipt Replace. Nursery School Record (under age 18)\", value: \"Receipt Replace. Nursery School Record (under age 18)\" });\r\n\r\n this.documentTitleCList12.push({ name: \"\", value: '' });\r\n this.documentTitleCList12.push({ name: \"Social Security Card (Unrestricted)\", value: \"Social Security Card (Unrestricted)\" });\r\n this.documentTitleCList12.push({ name: \"Form FS-545\", value: \"Form FS-545\" });\r\n this.documentTitleCList12.push({ name: \"Form FS-240\", value: \"Form FS-240\" });\r\n this.documentTitleCList12.push({ name: \"Form DS-1350\", value: \"Form DS-1350\" });\r\n this.documentTitleCList12.push({ name: \"U.S. Birth certificate\", value: \"U.S. Birth certificate\" });\r\n this.documentTitleCList12.push({ name: \"Native American tribal document\", value: \"Native American tribal document\" });\r\n this.documentTitleCList12.push({ name: \"Form I-197\", value: \"Form I-197\" });\r\n this.documentTitleCList12.push({ name: \"Form I-179\", value: \"Form I-179\" });\r\n this.documentTitleCList12.push({ name: \"Employment auth. document (DHS)\", value: \"Employment auth. document (DHS)\" });\r\n this.documentTitleCList12.push({ name: \"Receipt Replace. Unrestricted SS Card\", value: \"Receipt Replace. Unrestricted SS Card\" });\r\n this.documentTitleCList12.push({ name: \"Receipt Replacement Birth Certificate\", value: \"Receipt Replacement Birth Certificate\" });\r\n this.documentTitleCList12.push({ name: \"Receipt Replace. Native American Tribal Doc.\", value: \"Receipt Replace. Native American Tribal Doc.\" });\r\n this.documentTitleCList12.push({ name: \"Receipt Replace. Employment Auth. Doc (DHS)\", value: \"Receipt Replace. Employment Auth. Doc (DHS)\" });\r\n\r\n this.documentTitleCList34.push({ name: \"\", value: '' });\r\n this.documentTitleCList34.push({ name: \"Social Security Card (Unrestricted)\", value: \"Social Security Card (Unrestricted)\" });\r\n this.documentTitleCList34.push({ name: \"Native American tribal document\", value: \"Native American tribal document\" });\r\n this.documentTitleCList34.push({ name: \"Employment auth. document (DHS)\", value: \"Employment auth. document (DHS)\" });\r\n this.documentTitleCList34.push({ name: \"Receipt Replace. Unrestricted SS Card\", value: \"Receipt Replace. Unrestricted SS Card\" });\r\n this.documentTitleCList34.push({ name: \"Receipt Replace. Native American Tribal Doc.\", value: \"Receipt Replace. Native American Tribal Doc.\" });\r\n this.documentTitleCList34.push({ name: \"Receipt Replace. Employment Auth. Doc (DHS)\", value: \"Receipt Replace. Employment Auth. Doc (DHS)\" });\r\n\r\n this.getDependentLookupByColumnName();\r\n this.getI9ByOnboardID();\r\n this.oNGetI9ByOnboardIDStep2();\r\n }\r\n\r\n getDependentLookupByColumnName() {\r\n this.hiringService.getDependentLookupByColumnName(\"State\", null).then((response: any) => {\r\n this.stateList = response;\r\n });\r\n }\r\n\r\n getI9ByOnboardID() {\r\n this.hiringService.getI9ByOnboardID(this.id, 2).then((response: any) => {\r\n if (response.length > 0) {\r\n for (var [key, val] of Object.entries(response[0])) {\r\n if (key == \"IsPreparerUsed\") {\r\n if (val != null) {\r\n this.formData.IsPreparerUsedYN = val ? \"Y\" : \"N\";\r\n }\r\n } else if (key == \"S1BirthDate\") {\r\n if (val != null) {\r\n this.date.S1BirthDate = new Date(moment(val).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S1AlienExpiration\") {\r\n if (val != null) {\r\n this.date.S1AlienExpiration = new Date(moment(val).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S1SignatureDate\") {\r\n if (val != null) {\r\n this.date.S1SignatureDate = new Date(moment(val).utc().format(this.monthDateFormat));\r\n if ((new Date(parseInt(moment(val).utc().format(\"YYYY\"))\r\n , parseInt(moment(val).utc().format(\"MM\")) - 1\r\n , parseInt(moment(val).utc().format(\"DD\")), 0, 0, 0, 0)) >= (new Date(\"2023/10/4\")))\r\n this.new2023 = true;\r\n } else {\r\n if ((new Date()) >= (new Date(\"2023/10/4\")))\r\n this.new2023 = true;\r\n }\r\n } else if (key == \"PreparerSignatureDate\") {\r\n if (val != null) {\r\n this.date.PreparerSignatureDate = new Date(moment(val).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S1SignatureBinary\") {\r\n if (val != null) {\r\n this.sign.signEmployeesubmitSignImg = \"data:image/png;base64,\" + (val);\r\n }\r\n } else if (key == \"PreparerSignatureBinary\") {\r\n if (val != null) {\r\n this.sign.signPreorTransubmitSignImg = \"data:image/png;base64,\" + (val);\r\n }\r\n }\r\n else {\r\n this.formData[key] = val;\r\n }\r\n }\r\n\r\n if (this.formData.IsPreparerUsedYN == \"Y\" && this.new2023) {\r\n this.formData.PreparerList = [];\r\n this.hiringService.onboardI9GetSupA(this.id).then((response: any) => {\r\n response.forEach((val: any) => {\r\n this.formData.PreparerList.push({\r\n PreparerSignatureDate: new Date(moment(val.Date).utc().format(\"MM/DD/YYYY\")), PreparerLastName: val.LastName, PreparerFirstName: val.FirstName, PreparerMiddleInitial: val.MiddleInitial, PreparerAddress: val.Address, PreparerCity: val.City,\r\n PreparerState: val.State, PreparerZip: val.ZipCode,\r\n signPreorTransubmitSignImg: (val.PreparerSignature != null ? \"data:image/png;base64,\" + (val.PreparerSignature) : null), seq: val.Seq\r\n })\r\n })\r\n });\r\n }\r\n\r\n this.formData2.S2EmpLastName = this.formData.S1LastName;\r\n this.formData2.S2EmpFirstName = this.formData.S1FirstName;\r\n this.formData2.S2EmpMiddleName = this.formData.S1MiddleInitial;\r\n this.formData2.S2EmpCitizenStatus = this.formData.S1CitizenStatus;\r\n\r\n if (this.formData.S1CitizenStatus == 4 && this.date.S1AlienExpiration == null) {\r\n this.q4NA = true;\r\n }\r\n\r\n if (this.formData.S1CitizenStatus == 1 || this.formData.S1CitizenStatus == 2) {\r\n this.documentTitleAList = this.documentTitleAList12;\r\n this.documentTitleCList = this.documentTitleCList12;\r\n } else if (this.formData.S1CitizenStatus == 3) {\r\n this.documentTitleAList = this.documentTitleAList3;\r\n this.documentTitleCList = this.documentTitleCList34;\r\n } else if (this.formData.S1CitizenStatus == 4) {\r\n this.documentTitleAList = this.documentTitleAList4;\r\n this.documentTitleCList = this.documentTitleCList34;\r\n }\r\n }\r\n });\r\n }\r\n\r\n oNGetI9ByOnboardIDStep2() {\r\n this.hiringService.oNGetI9ByOnboardIDStep2(this.id).then((response: any) => {\r\n if (response.length > 0) {\r\n for (const [key, val] of Object.entries(response[0])) {\r\n if (key == \"ListAExpirationDate\") {\r\n if (val != null) {\r\n this.date2.ListAExpirationDate = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"ListAExpirationDate2\") {\r\n if (val != null) {\r\n this.date2.ListAExpirationDate2 = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"ListAExpirationDate3\") {\r\n if (val != null) {\r\n this.date2.ListAExpirationDate3 = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"ListBExpirationDate\") {\r\n if (val != null) {\r\n this.date2.ListBExpirationDate = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"ListCExpirationDate\") {\r\n if (val != null) {\r\n this.date2.ListCExpirationDate = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S2EmployeeFirstDay\") {\r\n if (val != null) {\r\n this.date2.S2EmployeeFirstDay = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S2SignatureDate\") {\r\n if (val != null) {\r\n this.date2.S2SignatureDate = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S3ExpirationDate\") {\r\n if (val != null) {\r\n this.date2.S3ExpirationDate = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S3RehireDate\") {\r\n if (val != null) {\r\n this.date2.S3RehireDate = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S3SignatureDate\") {\r\n if (val != null) {\r\n this.date2.S3SignatureDate = new Date(moment(val, this.format.toUpperCase()).utc().format(this.monthDateFormat));\r\n }\r\n } else if (key == \"S2SignatureBinary\" && this.viewMode) {\r\n if (val != null) {\r\n this.sign2.signEmporAuthS2submitSignImg = \"data:image/png;base64,\" + (val);\r\n }\r\n } else if (key == \"S3SignatureBinary\" && this.viewMode) {\r\n if (val != null) {\r\n this.sign2.signEmporAuthS3submitSignImg = \"data:image/png;base64,\" + (val);\r\n }\r\n } else if (key != \"S2SignatureBinary\" && key != \"S3SignatureBinary\") {\r\n this.formData2[key] = val;\r\n }\r\n }\r\n\r\n this.date2.ListAExpirationDateinvalid = false;\r\n this.date2.ListAExpirationDateinvalid2 = false;\r\n this.date2.ListAExpirationDateinvalid3 = false;\r\n this.date2.ListBExpirationDateinvalid = false;\r\n this.date2.ListCExpirationDateinvalid = false;\r\n }\r\n });\r\n }\r\n\r\n checkDate(date: any, name: string) {\r\n var todayDate = new Date();\r\n if (date != null) {\r\n if ((date / 1) < todayDate.setHours(0, 0, 0, 0) / 1) {\r\n this.date2[name + \"invalid\"] = true;\r\n } else {\r\n this.date2[name + \"invalid\"] = false;\r\n }\r\n }\r\n else {\r\n this.date2[name + \"invalid\"] = false;\r\n }\r\n }\r\n\r\n saveI9() {\r\n this.validateCheck = true;\r\n this.checkSigned();\r\n if (!this.I9Form.form.invalid && !this.formData2.S2BusinessAddressInvalid) {\r\n this.alert = null;\r\n if (((this.sign2.signEmporAuthS2NotEmpty && !this.isRehire) ||\r\n (this.isRehire && ((this.i9Section3Require && this.sign2.signEmporAuthS3NotEmpty) || (!this.i9Section3Require && (this.sign2.signEmporAuthS2NotEmpty || this.sign2.signEmporAuthS3NotEmpty)))))\r\n && !this.date2.ListAExpirationDateinvalid && !this.date2.ListAExpirationDateinvalid2 && !this.date2.ListAExpirationDateinvalid3 && !this.date2.ListBExpirationDateinvalid && !this.date2.ListCExpirationDateinvalid) {\r\n\r\n this.formData2.OnboardID = this.id;\r\n\r\n\r\n if (this.date2.ListAExpirationDate != null) {\r\n this.formData2.ListAExpirationDateStr = moment(this.date2.ListAExpirationDate).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.ListAExpirationDate2 != null) {\r\n this.formData2.ListAExpirationDateStr2 = moment(this.date2.ListAExpirationDate2).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.ListAExpirationDate3 != null) {\r\n this.formData2.ListAExpirationDateStr3 = moment(this.date2.ListAExpirationDate3).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.ListBExpirationDate != null) {\r\n this.formData2.ListBExpirationDateStr = moment(this.date2.ListBExpirationDate).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.ListCExpirationDate != null) {\r\n this.formData2.ListCExpirationDateStr = moment(this.date2.ListCExpirationDate).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.S2EmployeeFirstDay != null) {\r\n this.formData2.S2EmployeeFirstDayStr = moment(this.date2.S2EmployeeFirstDay).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.S2SignatureDate != null) {\r\n this.formData2.S2SignatureDateStr = moment(this.date2.S2SignatureDate).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.S3RehireDate != null) {\r\n this.formData2.S3RehireDateStr = moment(this.date2.S3RehireDate).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.S3ExpirationDate != null) {\r\n this.formData2.S3ExpirationDateStr = moment(this.date2.S3ExpirationDate).utc().format(this.monthDateFormat);\r\n }\r\n if (this.date2.S3SignatureDate != null) {\r\n this.formData2.S3SignatureDateStr = moment(this.date2.S3SignatureDate).utc().format(this.monthDateFormat);\r\n }\r\n\r\n if (this.sign2.signEmporAuthS2typeSign) { // need to remove\r\n this.formData2.S2SignatureBinary = this.sign2.signEmporAuthS2rawImgData;\r\n } else {\r\n if (this.formData2.S2SignatureBinary == null)\r\n this.formData2.S2SignatureBinary = this.signaturePadS2.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\");\r\n }\r\n\r\n if (this.isRehire) {\r\n if (this.sign2.signEmporAuthS3rawImgData) { // need to remove\r\n this.formData2.S3SignatureBinary = this.sign2.signEmporAuthS3rawImgData;\r\n } else {\r\n if (this.formData2.S3SignatureBinary == null)\r\n this.formData2.S3SignatureBinary = this.signaturePadS3.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\");\r\n }\r\n }\r\n\r\n if (this.longitude != null)\r\n this.formData2.longitude = this.longitude;\r\n if (this.latitude != null)\r\n this.formData2.latitude = this.latitude;\r\n\r\n for (let [key, value] of Object.entries(this.formData2)) {\r\n if (value == \"\") {\r\n this.formData2[key] = null;\r\n }\r\n }\r\n this.hiringService.updateI9ByOnboardIDPart2(this.formData2).then((response: any) => {\r\n this.validateCheck = false;\r\n if (response.success) {\r\n this.activeModal.close(\"success\");\r\n } else {\r\n this.alert = response.error;\r\n }\r\n });\r\n } else {\r\n this.alert = \"Please fill out or correct all required fields.\";\r\n }\r\n } else {\r\n this.alert = \"Please fill out or correct all required fields. \";\r\n }\r\n }\r\n\r\n checkAddress(parmName: string) {\r\n var regex = /^ *((#\\d+)|((box|bin)[-. \\/\\\\]?\\d+)|(.*p[ \\.]? ?(o|0)[-. \\/\\\\]? *-?((box|bin)|b|(#|num)?\\d+))|(p(ost)? *(o(ff(ice)?)?)? *((box|bin)|b)? *\\d+)|(p *-?\\/?(o)? *-?box)|post office box|((box|bin)|b) *(number|num|#)? *\\d+|(num|number|#) *\\d+)/i;\r\n var match = regex.exec(this.formData2[parmName]);\r\n if (match != null) {\r\n this.formData2[parmName + \"Invalid\"] = true;\r\n } else {\r\n this.formData2[parmName + \"Invalid\"] = false;\r\n }\r\n }\r\n\r\n closeClick() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n getTypeSign(type: string, name: string) {\r\n this.sign2[name + \"typeSign\"] = true;\r\n this.homeService.getTypeSign(type).then((response: any) => {\r\n this.sign2[name + \"rawImgData\"] = response;\r\n this.sign2[name + \"submitSignImg\"] = \"data:image/png;base64,\" + response;\r\n this.sign2[name + \"NotEmpty\"] = true;\r\n this.sign2[name + \"hideClick\"] = true;\r\n });\r\n this.sign2[name + \"showClickMsg\"] = false;\r\n }\r\n\r\n clickSign(type: string, name: string) {\r\n if (name == \"signEmporAuthS2\") {\r\n if (this.signaturePadS2.isEmpty()) {\r\n this.getTypeSign(type, name);\r\n } else {\r\n this.sign2[name + \"showClickMsg\"] = true;\r\n }\r\n }\r\n else if (name == \"signEmporAuthS3\") {\r\n if (this.signaturePadS3.isEmpty()) {\r\n this.getTypeSign(type, name);\r\n } else {\r\n this.sign2[name + \"showClickMsg\"] = true;\r\n }\r\n }\r\n }\r\n\r\n checkSigned() {\r\n if (this.isRehire) {\r\n if (this.signaturePadS3 != null) {\r\n if (this.signaturePadS3.isEmpty() == false) {\r\n this.sign2.signEmporAuthS3NotEmpty = true;\r\n this.signEmporAuthS3RedBorder = false;\r\n } else {\r\n this.signEmporAuthS3RedBorder = true;\r\n }\r\n }\r\n\r\n if (this.signaturePadS2 != null) {\r\n if (this.signaturePadS2.isEmpty() == false) {\r\n this.sign2.signEmporAuthS2NotEmpty = true;\r\n this.signEmporAuthS2RedBorder = false;\r\n } else {\r\n this.signEmporAuthS2RedBorder = true;\r\n }\r\n }\r\n } else if (!this.isRehire) {\r\n if (this.signaturePadS2 != null) {\r\n if (this.signaturePadS2.isEmpty() == false) {\r\n this.sign2.signEmporAuthS2NotEmpty = true;\r\n this.signEmporAuthS2RedBorder = false;\r\n } else {\r\n this.signEmporAuthS2RedBorder = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n clear(name: string) {\r\n if (name == \"signEmporAuthS3\" && this.signaturePadS3 != null) {\r\n this.signaturePadS3.clear();\r\n }\r\n else if (name == \"signEmporAuthS2\" && this.signaturePadS2 != null) {\r\n this.signaturePadS2.clear();\r\n\r\n }\r\n this.sign2[name + \"NotEmpty\"] = false;\r\n this.sign2[name + \"rawImgData\"] = null;\r\n this.sign2[name + \"submitSignImg\"] = null;\r\n this.sign2[name + \"typeSign\"] = false;\r\n this.sign2[name + \"showClickMsg\"] = false;\r\n this.sign2[name + \"hideClick\"] = false;\r\n this.sign2[name + \"showClickMsg\"] = false;\r\n }\r\n\r\n base64ArrayBuffer(arrayBuffer: any) {\r\n var base64 = ''\r\n var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\r\n\r\n var bytes = new Uint8Array(arrayBuffer)\r\n var byteLength = bytes.byteLength\r\n var byteRemainder = byteLength % 3\r\n var mainLength = byteLength - byteRemainder\r\n\r\n var a, b, c, d\r\n var chunk\r\n\r\n // Main loop deals with bytes in chunks of 3\r\n for (var i = 0; i < mainLength; i = i + 3) {\r\n // Combine the three bytes into a single integer\r\n chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]\r\n\r\n // Use bitmasks to extract 6-bit segments from the triplet\r\n a = (chunk & 16515072) >> 18 // 16515072 = (2^6 - 1) << 18\r\n b = (chunk & 258048) >> 12 // 258048 = (2^6 - 1) << 12\r\n c = (chunk & 4032) >> 6 // 4032 = (2^6 - 1) << 6\r\n d = chunk & 63 // 63 = 2^6 - 1\r\n\r\n // Convert the raw binary segments to the appropriate ASCII encoding\r\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]\r\n }\r\n\r\n // Deal with the remaining bytes and padding\r\n if (byteRemainder == 1) {\r\n chunk = bytes[mainLength]\r\n\r\n a = (chunk & 252) >> 2 // 252 = (2^6 - 1) << 2\r\n\r\n // Set the 4 least significant bits to zero\r\n b = (chunk & 3) << 4 // 3 = 2^2 - 1\r\n\r\n base64 += encodings[a] + encodings[b] + '=='\r\n } else if (byteRemainder == 2) {\r\n chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]\r\n\r\n a = (chunk & 64512) >> 10 // 64512 = (2^6 - 1) << 10\r\n b = (chunk & 1008) >> 4 // 1008 = (2^6 - 1) << 4\r\n\r\n // Set the 2 least significant bits to zero\r\n c = (chunk & 15) << 2 // 15 = 2^4 - 1\r\n\r\n base64 += encodings[a] + encodings[b] + encodings[c] + '='\r\n }\r\n\r\n return base64\r\n }\r\n\r\n updateSZip(data: string) {\r\n this.formData.S1Zip = data;\r\n }\r\n\r\n updatePZip(data: string) {\r\n this.formData.PreparerZip = data;\r\n }\r\n\r\n updateS2Zip(data: string) {\r\n this.formData2.S2Zip = data;\r\n }\r\n}\r\n","
\r\n
\r\n

Employment Eligibility Verification

\r\n

Department of Homeland Security

\r\n
U.S. Citizenship and Immigration Services
\r\n\r\n

START HERE: Read instructions carefully before completing this form. The instructions must be available, either in paper or electronically, during completion of this form. Employers are liable for errors in the completion of this form.

\r\n

ANTI-DISCRIMINATION NOTICE: It is illegal to discriminate against work-authorized individuals. Employers CANNOT specify which document(s) an employee may present to establish employment authorization and identity. The refusal to hire or continue to employ an individual because the documentation presented has a future expiration date may also constitute illegal discrimination.

\r\n\r\n

START HERE: Employers must ensure the form instructions are available to employees when completing this form. Employers are liable for failing to comply with the requirements for completing this form. See below and the instructions.

\r\n

ANTI-DISCRIMINATION NOTICE: All employees can choose which acceptable documentation to present for Form I-9. Employers cannot ask employees for documentation to verify information in Section 1, or specify which acceptable documentation employees must present for Section 2 or Supplement B, Reverification and Rehire. Treating employees differently based on their citizenship, immigration status, or national origin may be illegal

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

\r\n \r\n I-9 Instruction\r\n \r\n

\r\n

\r\n \r\n I-9 Instrucciones\r\n \r\n

\r\n
\r\n
\r\n
Section 1. Employee Information and Attestation (Employees must complete and sign Section 1 of Form I-9 no later than the first day of employment, but not before accepting a job offer.) If you only have one name, enter it in the Last Name field and then enter \"Unknown\" in the First Name field.
\r\n
\r\n
\r\n
\r\n Last Name (Family Name)\r\n \r\n
\r\n
\r\n First Name (Given Name)\r\n \r\n
\r\n
\r\n Middle Initial (if any)\r\n \r\n
\r\n
\r\n Other Last Names Used (if any)\r\n \r\n
\r\n
\r\n
\r\n
\r\n Address (Street Number and Name)\r\n \r\n
\r\n
\r\n Apt. Number (if any)\r\n \r\n
\r\n
\r\n City or Town\r\n \r\n
\r\n
\r\n State\r\n \r\n \r\n {{ data.DatabaseValue }}\r\n \r\n \r\n
\r\n
\r\n ZIP Code\r\n \r\n
\r\n
\r\n
\r\n
\r\n Date of Birth (mm/dd/yyyy)\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n U.S. Social Security\r\n \r\n
\r\n
\r\n Employee's E-mail Address\r\n \r\n
\r\n
\r\n Employee's Telephone\r\n \r\n
\r\n
\r\n
\r\n

\r\n\r\n I am aware that federal law provides for imprisonment and/or fines for false statements or use of false documents in connection with the completion of this form.\r\n I attest, under penalty of perjury, that I am (check one of the following boxes):\r\n I am aware that federal law provides for imprisonment and/or fines for false statements, or the use of false documents, in connection with the completion of this form. I attest, under penalty of perjury, that this information, including my selection of the box attesting to my citizenship or immigration status, is true and correct.\r\n Check one of the following boxes to attest to your citizenship or immigration status (See page 2 and 3 of the instructions.)\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n 1. A citizen of the United States\r\n \r\n
\r\n
\r\n \r\n \r\n 2. A noncitizen national of the United States (See Instructions)\r\n \r\n
\r\n
\r\n \r\n \r\n 3. A lawful permanent resident (Alien Registration Number/USCIS Number):\r\n 3. A lawful permanent resident (Enter USCIS Number or A-Number):\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n 4. An alien authorized to work until (expiration date, if applicable, mm/dd/yyyy):\r\n 4. A noncitizen (other than Item Number 2. and 3. above) authorized to work until (exp. date, if any)\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n N/A\r\n
\r\n Some aliens may write \"N/A\" in the expiration data field. (See instructions)\r\n\r\n

Aliens authorized to work must provide only one of the following document numbers to complete Form I-9:

\r\n

An Alien Registration Number/USCIS Number OR Form I-94 Admission Number OR Foreign Passport Number.

\r\n\r\n

If you check item Number 4., enter one of these:

\r\n\r\n
\r\n 1.

Alien Registration Number/USCIS Number:

\r\n USCIS A-Number\r\n \r\n
\r\n

OR

\r\n
\r\n 2.

Form I-94 Admission Number:

\r\n Form I-94 Admission Number\r\n \r\n
\r\n

OR

\r\n
\r\n 3.Foreign Passport Number:\r\n \r\n
\r\n
\r\n Country of Issuance:\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Today's Date\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

If a preparer and/or translator assisted you in completing Section 1, that person MUST complete the Preparer and/or Translator Certification on Page 3.

\r\n
\r\n
\r\n Supplement A,\r\n Preparer and/or Translator Certification (check one):\r\n
\r\n I did not use a preparer or translator.\r\n \r\n A preparer(s) and/or translators assist an employee in completing Section 1.\r\n \r\n
\r\n

\r\n (Fields below must be completed and signed when preparers and/or translators assist an employee in completing Section 1.)\r\n

\r\n
\r\n
\r\n \r\n I attest, under penalty of perjury, that i have assisted in the completion of Section 1 of this form and that to the best of my knowledge the information is true and correct.\r\n \r\n
\r\n
\r\n
\r\n Today's Date\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{data.DatabaseValue}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Instructions: This supplement must be completed by any preparer and/or translator who assists an employee in completing Section 1 of Form I-9. The preparer and/or translator must enter the employee's name in spaces provided above. Each preparer or translator must complete, sign, and date a separate certification area. Employers must retain completed supplement sheets with the employee's completed Form I-9.

\r\n
\r\n I attest, under penalty of perjury, that I have assisted in the completion of Section 1 of this form and that to the best of my knowledge the information is true and correct.\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ data.DatabaseValue }}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Section 2. Employer or Authorized Representative Review and Verification\r\n \r\n

\r\n (Employers or their authorized representative must complete and sign Section 2 within 3 business days of the employee's first day of employment. You must physically examine one document from List A OR a combination of one document from List B and one document from List C as listed on the \"Lists of Acceptable Documents.\")\r\n

\r\n

Employers or their authorized representative must complete and sign Section 2 within three business days after the employee's first day of employment, and must physically examine, or examine consistent with an alternative procedure authorized by the Secretary of DHS, documentation from List A OR a combination of documentation from List B and List C. Enter any additional documentation in the Additional Information box; see Instructions.

\r\n
\r\n
\r\n
\r\n
\r\n Last Name\r\n \r\n
\r\n
\r\n First Name\r\n \r\n
\r\n
\r\n Middle Initial\r\n \r\n
\r\n
\r\n Citizen Status
\r\n Citizen\r\n Non-Citizen\r\n Permanent Resident\r\n Alien Authorized to work\r\n
\r\n
\r\n
\r\n
\r\n
\r\n List A\r\n Identity & Employment Authorization\r\n
\r\n
\r\n Document Title 1\r\n 0 ||\r\n formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 ||\r\n formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 || viewMode \"\r\n [required]=\" (formData2.ListADocumentTitle == null || formData2.ListADocumentTitle == '') && !formData2.ListBDocumentTitle && !formData2.ListBIssuingAuthority &&\r\n !formData2.ListBDocumentNumber && date2.ListBExpirationDate == null && !formData2.ListCDocumentTitle && !formData2.ListCIssuingAuthority && !formData2.ListCDocumentNumber &&\r\n date2.ListCExpirationDate == null\">\r\n \r\n {{ data.name }}\r\n \r\n \r\n 0 ||\r\n formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 ||\r\n formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 || viewMode \"\r\n [required]=\" (formData2.ListADocumentTitle == null || formData2.ListADocumentTitle == '') && !formData2.ListBDocumentTitle && !formData2.ListBIssuingAuthority &&\r\n !formData2.ListBDocumentNumber && date2.ListBExpirationDate == null && !formData2.ListCDocumentTitle && !formData2.ListCIssuingAuthority && !formData2.ListCDocumentNumber &&\r\n date2.ListCExpirationDate == null\"/>\r\n
\r\n Issuing Authority\r\n 0 ||\r\n formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 ||\r\n formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 || viewMode\"\r\n [ngClass]=\"{ invalidField: (formData2.ListAIssuingAuthority == null || formData2.ListAIssuingAuthority == '') && !formData2.ListBDocumentTitle && !formData2.ListBIssuingAuthority &&\r\n !formData2.ListBDocumentNumber && date2.ListBExpirationDate == null && !formData2.ListCDocumentTitle && !formData2.ListCIssuingAuthority && !formData2.ListCDocumentNumber &&\r\n date2.ListCExpirationDate == null && !formData2.S2AdditionalInfo && validateCheck}\"\r\n [required]=\"(formData2.ListAIssuingAuthority == null || formData2.ListAIssuingAuthority == '') && !formData2.ListBDocumentTitle && !formData2.ListBIssuingAuthority &&\r\n !formData2.ListBDocumentNumber && date2.ListBExpirationDate == null && !formData2.ListCDocumentTitle && !formData2.ListCIssuingAuthority && !formData2.ListCDocumentNumber &&\r\n date2.ListCExpirationDate == null\" />\r\n Document Number (if any)\r\n 0 ||\r\n formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 ||\r\n formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 || viewMode\"\r\n [ngClass]=\"{ invalidField: (formData2.ListADocumentNumber == null || formData2.ListADocumentNumber == '') && !formData2.ListBDocumentTitle && !formData2.ListBIssuingAuthority &&\r\n !formData2.ListBDocumentNumber && date2.ListBExpirationDate == null && !formData2.ListCDocumentTitle && !formData2.ListCIssuingAuthority && !formData2.ListCDocumentNumber &&\r\n date2.ListCExpirationDate == null && !formData2.S2AdditionalInfo && validateCheck && !new2023}\"\r\n [required]=\" (formData2.ListADocumentNumber == null || formData2.ListADocumentNumber == '') && !new2023 && !formData2.ListBDocumentTitle && !formData2.ListBIssuingAuthority && !formData2.ListBDocumentNumber &&\r\n date2.ListBExpirationDate == null && !formData2.ListCDocumentTitle && !formData2.ListCIssuingAuthority && !formData2.ListCDocumentNumber && date2.ListCExpirationDate == null\" />\r\n Expiration Date (if any)(mm/dd/yyyy)\r\n
\r\n 0 || formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null ||\r\n formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null ||\r\n formData2.S2AdditionalInfo?.length > 0 || viewMode\" [ngClass]=\"{ invalidField: date2.ListAExpirationDateinvalid }\" />\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Document Title 2 (if any)\r\n 0 || formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null ||\r\n formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 ||\r\n !formData2.ListADocumentTitle || !formData2.ListAIssuingAuthority || ((!formData2.ListADocumentNumber || date2.ListAExpirationDate == null) && !new2023) || viewMode\"\r\n [required]=\"(formData2.ListADocumentTitle2 == null || formData2.ListADocumentTitle2 == '') && !new2023 && (formData2.ListAIssuingAuthority2 || formData2.ListADocumentNumber2 ||\r\n date2.ListAExpirationDate2 != null)\">\r\n \r\n {{ data.name }}\r\n \r\n \r\n 0 || formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null ||\r\n formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 ||\r\n !formData2.ListADocumentTitle || !formData2.ListAIssuingAuthority || viewMode\" />\r\n
\r\n Issuing Authority\r\n 0 || formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null ||\r\n formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null ||\r\n formData2.S2AdditionalInfo?.length > 0 || !formData2.ListADocumentTitle || !formData2.ListAIssuingAuthority || ((!formData2.ListADocumentNumber || date2.ListAExpirationDate == null) && !new2023) || viewMode\"\r\n [ngClass]=\"{invalidField: (formData2.ListAIssuingAuthority2 == null || formData2.ListAIssuingAuthority2 == '') && (formData2.ListADocumentTitle2 ||\r\n formData2.ListADocumentNumber2 || date2.ListAExpirationDate2 != null) && validateCheck}\"\r\n [required]=\"(formData2.ListAIssuingAuthority2 == null || formData2.ListAIssuingAuthority2 == '') && (formData2.ListADocumentTitle2 ||\r\n formData2.ListADocumentNumber2 || date2.ListAExpirationDate2 != null)\" />\r\n Document Number (if any)\r\n 0 ||\r\n formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 ||\r\n formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 ||\r\n !formData2.ListADocumentTitle || !formData2.ListAIssuingAuthority || ((!formData2.ListADocumentNumber || date2.ListAExpirationDate == null) && !new2023) || viewMode\"\r\n [ngClass]=\"{ invalidField: (formData2.ListADocumentNumber2 == null || formData2.ListADocumentNumber2 == '') && !new2023 && (formData2.ListADocumentTitle2 || formData2.ListAIssuingAuthority2 ||\r\n date2.ListAExpirationDate2 != null) && validateCheck}\"\r\n [required]=\" (formData2.ListADocumentNumber2 == null || formData2.ListADocumentNumber2 == '') && !new2023 && (formData2.ListADocumentTitle2 || formData2.ListAIssuingAuthority2 ||\r\n date2.ListAExpirationDate2 != null)\" />\r\n Expiration Date (if any)(mm/dd/yyyy)\r\n
\r\n 0 || formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null ||\r\n formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null ||\r\n formData2.S2AdditionalInfo?.length > 0 || !formData2.ListADocumentTitle || !formData2.ListAIssuingAuthority || ((!formData2.ListADocumentNumber || date2.ListAExpirationDate == null) && !new2023) || viewMode\"\r\n [ngClass]=\"{ invalidField: date2.ListAExpirationDate2invalid }\"/>\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Document Title 3 (if any)\r\n \r\n 0 ||\r\n formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 ||\r\n formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 ||\r\n !formData2.ListADocumentTitle2 || !formData2.ListAIssuingAuthority2 || ((!formData2.ListADocumentNumber2 || date2.ListAExpirationDate2 == null) && !new2023) || viewMode\"\r\n [required]=\"(formData2.ListADocumentTitle3 == null || formData2.ListADocumentTitle3 == '') && !new2023 && (formData2.ListAIssuingAuthority3 || formData2.ListADocumentNumber3 ||\r\n date2.ListAExpirationDate3 != null)\">\r\n \r\n {{ data.name }}\r\n \r\n \r\n 0 || formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 ||\r\n formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 ||\r\n !formData2.ListADocumentTitle2 || !formData2.ListAIssuingAuthority2 || viewMode\"\r\n [required]=\"(formData2.ListADocumentTitle3 == null || formData2.ListADocumentTitle3 == '') && !new2023 && (formData2.ListAIssuingAuthority3 || formData2.ListADocumentNumber3 ||\r\n date2.ListAExpirationDate3 != null)\"/>\r\n
\r\n Issuing Authority\r\n 0 ||\r\n formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 ||\r\n formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 || !formData2.ListADocumentTitle2 || !formData2.ListAIssuingAuthority2 ||\r\n ((!formData2.ListADocumentNumber2 || date2.ListAExpirationDate2 == null) && !new2023) || viewMode\"\r\n [ngClass]=\"{invalidField: (formData2.ListAIssuingAuthority3 == null || formData2.ListAIssuingAuthority3 == '') && (formData2.ListADocumentTitle3 || formData2.ListADocumentNumber3 ||\r\n date2.ListAExpirationDate3 != null) && validateCheck}\"\r\n [required]=\"(formData2.ListAIssuingAuthority3 == null || formData2.ListAIssuingAuthority3 == '') && (formData2.ListADocumentTitle3 || formData2.ListADocumentNumber3 ||\r\n date2.ListAExpirationDate3 != null)\" />\r\n Document Number (if any)\r\n 0 || formData2.ListBIssuingAuthority?.length > 0 ||\r\n formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null || formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 ||\r\n date2.ListCExpirationDate != null || formData2.S2AdditionalInfo?.length > 0 || !formData2.ListADocumentTitle2 || !formData2.ListAIssuingAuthority2 || ((!formData2.ListADocumentNumber2 ||\r\n date2.ListAExpirationDate2 == null) && !new2023) || viewMode\"\r\n [ngClass]=\"{invalidField: (formData2.ListADocumentNumber3 == null || formData2.ListADocumentNumber3 == '') && !new2023 && (formData2.ListADocumentTitle3 || formData2.ListAIssuingAuthority3 ||\r\n date2.ListAExpirationDate3 != null) && validateCheck}\"\r\n [required]=\" (formData2.ListADocumentNumber3 == null || formData2.ListADocumentNumber3 == '') && !new2023 && (formData2.ListADocumentTitle3 || formData2.ListAIssuingAuthority3 || date2.ListAExpirationDate3 != null)\" />\r\n Expiration Date (if any)(mm/dd/yyyy)\r\n
\r\n 0 || formData2.ListBIssuingAuthority?.length > 0 || formData2.ListBDocumentNumber?.length > 0 || date2.ListBExpirationDate != null ||\r\n formData2.ListCDocumentTitle?.length > 0 || formData2.ListCIssuingAuthority?.length > 0 || formData2.ListCDocumentNumber?.length > 0 || date2.ListCExpirationDate != null ||\r\n formData2.S2AdditionalInfo?.length > 0 || !formData2.ListADocumentTitle2 || !formData2.ListAIssuingAuthority2 || ((!formData2.ListADocumentNumber2 || date2.ListAExpirationDate2 == null) && !new2023) ||\r\n viewMode\" [ngClass]=\"{ invalidField: date2.ListAExpirationDate3invalid }\" />\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n List B\r\n Identity\r\n
\r\n
\r\n Document Title\r\n 0 ||\r\n formData2.ListAIssuingAuthority?.length > 0 || formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 ||\r\n formData2.ListAIssuingAuthority2?.length > 0 || formData2.ListADocumentNumber2?.length > 0 || date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 ||\r\n formData2.ListAIssuingAuthority3?.length > 0 || formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null || viewMode\"\r\n [required]=\"(formData2.ListBDocumentTitle == null || formData2.ListBDocumentTitle == '') && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority &&\r\n !formData2.ListADocumentNumber && date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 &&\r\n date2.ListAExpirationDate2 == null && !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null\">\r\n \r\n {{ data.name }}\r\n \r\n \r\n
\r\n Issuing Authority\r\n 0 ||\r\n formData2.ListAIssuingAuthority?.length > 0 || formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 ||\r\n formData2.ListAIssuingAuthority2?.length > 0 || formData2.ListADocumentNumber2?.length > 0 || date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 ||\r\n formData2.ListAIssuingAuthority3?.length > 0 || formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null || viewMode\"\r\n [ngClass]=\"{invalidField: (formData2.ListBIssuingAuthority == null || formData2.ListBIssuingAuthority == '') && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority &&\r\n !formData2.ListADocumentNumber && date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 &&\r\n date2.ListAExpirationDate2 == null && !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null && validateCheck}\"\r\n [required]=\"(formData2.ListBIssuingAuthority == null || formData2.ListBIssuingAuthority == '') && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority && !formData2.ListADocumentNumber &&\r\n date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 && date2.ListAExpirationDate2 == null &&\r\n !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null\" />\r\n Document Number (if any)\r\n 0 || formData2.ListAIssuingAuthority?.length > 0 ||\r\n formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 || formData2.ListAIssuingAuthority2?.length > 0 || formData2.ListADocumentNumber2?.length > 0 ||\r\n date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 || formData2.ListAIssuingAuthority3?.length > 0 || formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null || viewMode\"\r\n [ngClass]=\"{invalidField: (formData2.ListBDocumentNumber == null || formData2.ListBDocumentNumber == '') && !new2023 && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority && !formData2.ListADocumentNumber &&\r\n date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 && date2.ListAExpirationDate2 == null &&\r\n !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null && validateCheck}\"\r\n [required]=\"(formData2.ListBDocumentNumber == null || formData2.ListBDocumentNumber == '') && !new2023 && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority && !formData2.ListADocumentNumber &&\r\n date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 && date2.ListAExpirationDate2 == null &&\r\n !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null\" />\r\n Expiration Date (if any)(mm/dd/yyyy)\r\n
\r\n 0 || formData2.ListAIssuingAuthority?.length > 0 || formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 ||\r\n formData2.ListAIssuingAuthority2?.length > 0 || formData2.ListADocumentNumber2?.length > 0 || date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 || formData2.ListAIssuingAuthority3?.length > 0 ||\r\n formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null || viewMode\" [ngClass]=\"{ invalidField: date2.ListBExpirationDateinvalid }\" />\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n List C\r\n Employment Authorization\r\n
\r\n
\r\n Document Title\r\n 0 ||\r\n formData2.ListAIssuingAuthority?.length > 0 || formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 ||\r\n formData2.ListAIssuingAuthority2?.length > 0 || formData2.ListADocumentNumber2?.length > 0 || date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 ||\r\n formData2.ListAIssuingAuthority3?.length > 0 || formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null || viewMode\"\r\n [required]=\"(formData2.ListCDocumentTitle == null || formData2.ListCDocumentTitle == '') && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority && !formData2.ListADocumentNumber &&\r\n date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 && date2.ListAExpirationDate2 == null &&\r\n !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null\">\r\n \r\n {{ data.name }}\r\n \r\n \r\n
\r\n Issuing Authority\r\n 0 ||\r\n formData2.ListAIssuingAuthority?.length > 0 || formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 ||\r\n formData2.ListAIssuingAuthority2?.length > 0 || formData2.ListADocumentNumber2?.length > 0 || date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 || formData2.ListAIssuingAuthority3?.length > 0 ||\r\n formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null || viewMode\"\r\n [ngClass]=\"{invalidField: (formData2.ListCIssuingAuthority == null || formData2.ListCIssuingAuthority == '') && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority &&\r\n !formData2.ListADocumentNumber && date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 &&\r\n date2.ListAExpirationDate2 == null && !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null && validateCheck}\"\r\n [required]=\"(formData2.ListCIssuingAuthority == null || formData2.ListCIssuingAuthority == '') && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority && !formData2.ListADocumentNumber && date2.ListAExpirationDate == null &&\r\n !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 && date2.ListAExpirationDate2 == null && !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 &&\r\n !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null\" />\r\n Document Number (if any)\r\n 0 ||\r\n formData2.ListAIssuingAuthority?.length > 0 || formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 || formData2.ListAIssuingAuthority2?.length > 0 ||\r\n formData2.ListADocumentNumber2?.length > 0 || date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 || formData2.ListAIssuingAuthority3?.length > 0 ||\r\n formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null || viewMode\"\r\n [ngClass]=\"{invalidField: (formData2.ListCDocumentNumber == null || formData2.ListCDocumentNumber == '') && !new2023 && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority &&\r\n !formData2.ListADocumentNumber && date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 && date2.ListAExpirationDate2 == null &&\r\n !formData2.ListADocumentTitle3 && !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null && validateCheck}\"\r\n [required]=\"(formData2.ListCDocumentNumber == null || formData2.ListCDocumentNumber == '') && !new2023 && !formData2.ListADocumentTitle && !formData2.ListAIssuingAuthority && !formData2.ListADocumentNumber &&\r\n date2.ListAExpirationDate == null && !formData2.ListADocumentTitle2 && !formData2.ListAIssuingAuthority2 && !formData2.ListADocumentNumber2 && date2.ListAExpirationDate2 == null && !formData2.ListADocumentTitle3 &&\r\n !formData2.ListAIssuingAuthority3 && !formData2.ListADocumentNumber3 && date2.ListAExpirationDate3 == null\" />\r\n Expiration Date (if any)(mm/dd/yyyy)\r\n
\r\n 0 || formData2.ListAIssuingAuthority?.length > 0 ||\r\n formData2.ListADocumentNumber?.length > 0 || date2.ListAExpirationDate != null || formData2.ListADocumentTitle2?.length > 0 || formData2.ListAIssuingAuthority2?.length > 0 || formData2.ListADocumentNumber2?.length > 0 ||\r\n date2.ListAExpirationDate2 != null || formData2.ListADocumentTitle3?.length > 0 || formData2.ListAIssuingAuthority3?.length > 0 || formData2.ListADocumentNumber3?.length > 0 || date2.ListAExpirationDate3 != null ||\r\n viewMode\" [ngClass]=\"{ invalidField: date2.ListCExpirationDateinvalid }\" />\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Additional Information\r\n \r\n \r\n Check here if you used an alternative procedure authorized by DHS to examine documents.\r\n
\r\n
\r\n
\r\n \r\n Certification: I attest, under penalty of perjury, that (1) I have examined the documents(s) presented by the above-named employee, (2) the above-listed documents(s) appear to be genuine and to relate to the employee named, and (3) to the best of my knowledge the employee is authorized to work in the United States.\r\n \r\n
\r\n
\r\n The employee's first day of employment (mm/dd/yyyy):\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n (See instructions for exemptions)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Today's Date\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Title of Employer or Authorized Representative\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Signature of Employer or Authorized Representative\r\n
\r\n
\r\n
\r\n Press \"Clear\" before generating your signature image.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Sign above\r\n
\r\n \r\n \r\n
\r\n By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Last Name of Employer or Authorized Representative\r\n \r\n
\r\n
\r\n First Name of Employer or Authorized Representative\r\n \r\n
\r\n
\r\n Employer's Business or Organization Name\r\n \r\n
\r\n
\r\n
\r\n
\r\n Employer's Business or Organization Address (Street Number and Name)\r\n \r\n
\r\n
\r\n City or Town\r\n \r\n
\r\n
\r\n State\r\n \r\n \r\n {{ data.DatabaseValue }}\r\n \r\n \r\n
\r\n
\r\n ZIP Code\r\n \r\n
\r\n
\r\n
\r\n
\r\n For reverification or rehire, complete Supplement B, Reverification and Rehire on Page 4.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Section 3. Reverification and Rehires(To be completed and signed by employee or authorized representative.)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n A. New Name (if applicable)\r\n
\r\n
\r\n
\r\n Last Name (Family Name)\r\n \r\n
\r\n
\r\n First Name (Given Name)\r\n \r\n
\r\n
\r\n M.I.\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n B. Date of Rehire (if applicable)\r\n
\r\n
\r\n
\r\n Date (mm/dd/yyyy)\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n C. If the employee's previous grant of employment authorization has expired, provide the information for the document or reciept that establishes continuing employment authorization in the space provided below.\r\n
\r\n
\r\n
\r\n
\r\n Document Title\r\n \r\n \r\n {{ data.name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n Document Number\r\n \r\n
\r\n
\r\n Expiration Date (if any) (mm/dd/yyyy)\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n I attest, under penalty of perjury, that to the best of my knowledge, this employee is authorized to work in the United States, and if the employee presented document(s), the document(s) I have examined appear to be genuine and to relate to the individual.\r\n \r\n
\r\n
\r\n Today's Date\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Name of Employer or Authorized Representative\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Signature of Employer or Authorized Representative\r\n
\r\n
\r\n
\r\n Press \"Clear\" before generating your signature image.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Sign above\r\n
\r\n \r\n \r\n
\r\n By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Supplement B Reverification and Rehire\r\n
\r\n
\r\n

Instructions: This Supplement replaces Sections 3 on the previous version of Form I-9. Only use this page if your employee requires reverification, is rehired within three years of the date the original Form I-9 was completed, or provides proof of a legal name change. Enter the employee's name in the fields above. Use a new section for each reverification or rehire. Review the Form I-9 instructions before completing this page. Keep this page as part of the employee's Form I-9 record. Additional guidance can be found in the Handbook for Employers: Guidance for Completing Form I-9 (M-274)

\r\n
\r\n
\r\n
\r\n Date of Rehire (if applicable)\r\n
\r\n
\r\n New Name (if applicable)\r\n
\r\n
\r\n
\r\n
\r\n Date (mm/dd/yyyy)\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Last Name (Family Name)\r\n \r\n
\r\n
\r\n First Name (Given Name)\r\n \r\n
\r\n
\r\n M.I.\r\n \r\n
\r\n
\r\n

Reverification: If the employee requires reverification, your employee can choose to present any acceptable List A or List C documentation to show continued employment authorization. Enter the document information in the spaces below.

\r\n
\r\n
\r\n Document Title\r\n \r\n \r\n {{ data.name }}\r\n \r\n \r\n
\r\n
\r\n Document Number (if any)\r\n \r\n
\r\n
\r\n Expiration Date (if any) (mm/dd/yyyy)\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

I attest, under penalty of perjury, that to the best of my knowledge, this employee is authorized to work in the United States, and if the employee presented documentation, the documentation I examined appears to be genuine and to relate to the individual who presented it.

\r\n
\r\n
\r\n Name of Employer or Authorized Representative\r\n \r\n
\r\n
\r\n Today's Date (mm/dd/yyyy)\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Signature of Employer or Authorized Representative\r\n
\r\n
\r\n
\r\n Press \"Clear\" before generating your signature image.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Sign above\r\n
\r\n \r\n \r\n
\r\n By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Additional Information (Initial and date each notation.)\r\n \r\n
\r\n
\r\n \r\n Check here if you used an alternative procedure authorized by DHS to examine documents.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ alert }}
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\n//services\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\n\r\n@Component({\r\n selector: 'app-review-iden-modal',\r\n templateUrl: './review-iden-modal.component.html',\r\n styleUrls: ['./review-iden-modal.component.css']\r\n})\r\nexport class ReviewIdenModalComponent implements OnInit {\r\n\r\n @Input() id: any;\r\n @Input() page: string;\r\n formData: { [key: string]: any } = {};\r\n companyName: any;\r\n portalSettings: any;\r\n raceList: any[] = [];\r\n validateCheck: boolean = true; \r\n hideFederalMsgSelfIden: boolean = false;\r\n selectedRace: any;\r\n datePickerOptions: { dateInputFormat: string; };\r\n\r\n constructor(portalSettingsService: PortalSettingsService, private hiringService: HiringService, private activeModal: NgbActiveModal) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.datePickerOptions = { dateInputFormat: \"YYYY-MM-DD\" };\r\n this.companyName = this.portalSettings.CareerJobCompanyName.ConfigValue;\r\n if(this.page == \"applicant\"){\r\n this.getApplicantRaceCodes();\r\n this.formData.selectedSex = this.id.Gender;\r\n this.formData.selectedVeteran = this.id.Veteran;\r\n this.formData.selectedDisability = this.id.Disability;\r\n this.formData.GenderIdentity = this.id.GenderIdentity;\r\n this.formData.GenderIdentity_OtherDesc = this.id.GenderIdentity_OtherDesc;\r\n this.formData.Veteran_Disabled = this.id.Veteran_Disabled?.toString();\r\n this.formData.Veteran_AFServiceMedal = this.id.Veteran_AFServiceMedal?.toString();\r\n this.formData.Veteran_ActiveDutyWartime = this.id.Veteran_ActiveDutyWartime?.toString();\r\n if (this.id.Veteran_DischargeDate != null)\r\n this.formData.Veteran_DischargeDate = new Date(parseInt(moment.utc(this.id.Veteran_DischargeDate).format(\"YYYY\")), parseInt(moment.utc(this.id.Veteran_DischargeDate).format(\"MM\")) - 1, parseInt(moment.utc(this.id.Veteran_DischargeDate).format(\"DD\")), 0, 0, 0, 0);\r\n }else{\r\n this.getRaceCodes();\r\n }\r\n }\r\n\r\n getRaceCodes() {\r\n this.hiringService.getRaceCodes().then((response: any) => {\r\n this.raceList = response;\r\n this.raceList.push({ Race: \"X\", Description: \"I do not wish to answer\" });\r\n this.hiringService.getDashboard(this.id, null).then((response: any) => {\r\n if(response != null){\r\n this.formData.selectedSex = response[0].Gender;\r\n if (response[0].RaceEthnic != null) {\r\n this.raceList.forEach((val: any) => {\r\n val.Race = val.Race.toString().trim();\r\n if (val.Race == response[0].RaceEthnic.trim()) {\r\n this.formData.selectedRace = val.Race;\r\n this.formData.selectedRace = this.formData.selectedRace.toString().trim();\r\n }\r\n });\r\n }\r\n }\r\n this.formData.selectedVeteran = response[0].Veteran;\r\n this.formData.selectedDisability = response[0].Disability;\r\n this.formData.GenderIdentity = response[0].GenderIdentity;\r\n this.formData.GenderIdentity_OtherDesc = response[0].GenderIdentity_OtherDesc;\r\n this.formData.Veteran_Disabled = response[0]?.Veteran_Disabled?.toString();\r\n this.formData.Veteran_AFServiceMedal = response[0]?.Veteran_AFServiceMedal?.toString();\r\n this.formData.Veteran_ActiveDutyWartime = response[0]?.Veteran_ActiveDutyWartime?.toString();\r\n if (response[0].Veteran_DischargeDate != null)\r\n this.formData.Veteran_DischargeDate = new Date(parseInt(moment.utc(response[0].Veteran_DischargeDate).format(\"YYYY\")), parseInt(moment.utc(response[0].Veteran_DischargeDate).format(\"MM\")) - 1, parseInt(moment.utc(response[0].Veteran_DischargeDate).format(\"DD\")), 0, 0, 0, 0);\r\n });\r\n });\r\n }\r\n\r\n getApplicantRaceCodes(){\r\n this.hiringService.getRaceCodes().then((response: any)=> {\r\n if(response != null){\r\n this.raceList = response;\r\n this.raceList.push({ Race: \"X\", Description: \"I do not wish to answer\" });\r\n if (this.id.RaceEthnic != null) {\r\n this.raceList.forEach((val: any)=> {\r\n val.Race = val.Race.toString().trim();\r\n if (val.Race == this.id.RaceEthnic.trim()) {\r\n this.formData.selectedRace = val.Race;\r\n this.formData.selectedRace = this.formData.selectedRace.toString().trim();\r\n }})\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n closeClick() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","
\r\n

Voluntary Self-Identification

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

Affirmative Action Invitation to Self-Identify

\r\n

\r\n It is the policy of {{companyName}} to provide equal opportunity to all qualified applicants for employment without regard to race, color, religion, age, sex or sexual orientation, gender identity or\r\n transgender status, marital or domestic partner status, ancestry, national origin, disability or AIDS/HIV status, or veteran status. The company also has certain Affirmative Action Programs relating\r\n to minority, female, some veteran, and disabled applicants. If you are eligible and wish to take advantage of one or more of these Affirmative Action Programs, you are invited to identify yourself below.\r\n This information is confidential and will be maintained separately from your application.\r\n

\r\n\r\n

\r\n Completion of the remainder of this form is voluntary and any refusal to complete it will not result in any adverse treatment.\r\n

\r\n
\r\n
What is your EEOC (Equal Employment Opportunity Commission) Reporting Gender?
\r\n
\r\n
\r\n
\r\n \r\n Male\r\n
\r\n
\r\n \r\n Female\r\n
\r\n
\r\n \r\n I do not wish to answer\r\n
\r\n
\r\n
\r\n

\r\n\r\n
\r\n
What is your gender?
\r\n
\r\n
\r\n
\r\n \r\n Male\r\n
\r\n
\r\n \r\n Female\r\n
\r\n
\r\n \r\n I do not wish to answer\r\n
\r\n
\r\n
\r\n
\r\n \r\n Non Binary\r\n
\r\n
\r\n \r\n Other\r\n \r\n
\r\n
\r\n
\r\n

\r\n\r\n\r\n
\r\n
What is your race / ethnic origin?
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{data.Description}}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n\r\n
\r\n\r\n
\r\n
Veteran Status (See criteria below)
\r\n
\r\n
\r\n \r\n
\r\n \r\n Yes\r\n
\r\n
\r\n \r\n No\r\n
\r\n
\r\n \r\n I do not wish to answer\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Yes
\r\n
No
\r\n
\r\n
\r\n \r\n
Yes
\r\n
No
\r\n
\r\n
\r\n \r\n
Yes
\r\n
No
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n\r\n

Definitions of Veteran

\r\n

\r\n Recently Separated Veteran – Any veteran during the three-year period beginning on the date of such veteran’s discharge or release from active duty in the U.S. military,\r\n ground, naval or air service.\r\n

\r\n

\r\n Active Wartime or Campaign Badge Veteran – A veteran who served on active duty in the U.S. military, ground, naval or air service during a war or\r\n in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.\r\n

\r\n

\r\n Armed Forces Service Medal Veteran – Any veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated\r\n in a United States military operation for which an Armed Forces service medal was awarded.\r\n

\r\n

\r\n Disabled Veteran – (1) A veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be\r\n entitled to compensation) under laws administered by the Secretary of Veterans Affairs, or (2) A person who was discharged or released from active duty because of a service-connected disability.\r\n

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

Voluntary Self-Identification of Disability

\r\n
\r\n

Form CC-305

\r\n

OMB Control Number 1250-0005

\r\n

Expires 04/30/2026

\r\n
\r\n
\r\n
\r\n
\r\n
Why are you being asked to complete this form?
\r\n
\r\n
\r\n

\r\n We are a federal contractor or subcontractor. The law requires us to provide equal employment opportunity to qualified\r\n people with disabilities. We have a goal of having at least 7% of our workers as people with disabilities. The law says we\r\n must measure our progress towards this goal. To do this, we must ask applicants and employees if they have a disability\r\n or have ever had one. People can become disabled, so we need to ask this question at least every five years.\r\n

\r\n
\r\n

\r\n Completing this form is voluntary, and we hope that you will choose to do so. Your answer is confidential. No one who\r\n makes hiring decisions will see it. Your decision to complete the form and your answer will not harm you in any way. If you\r\n want to learn more about the law or this form, visit the U.S. Department of Labor’s Office of Federal Contract Compliance\r\n Programs (OFCCP) website at www.dol.gov/ofccp\r\n

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

\r\n\r\n
\r\n
\r\n
\r\n
How do you know if you have a disability?
\r\n
\r\n
\r\n

\r\n A disability is a condition that substantially limits one or more of your “major life activities.” If you have or have ever had\r\n such a condition, you are a person with a disability. Disabilities include, but are not limited to:\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • Alcohol or other substance use disorder (not currently using drugs illegally)
  • \r\n
  • Autoimmune disorder, for example, lupus, fibromyalgia, rheumatoid arthritis, HIV/AIDS
  • \r\n
  • Blind or low vision
  • \r\n
  • Cancer (past or present)
  • \r\n
  • Cardiovascular or heart disease
  • \r\n
  • Celiac disease
  • \r\n
  • Cerebral palsy
  • \r\n
  • Deaf or serious difficulty hearing
  • \r\n
  • Diabetes
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • Disfigurement, for example, disfigurement caused by burns, wounds, accidents, or congenital disorders
  • \r\n
  • Epilepsy or other seizure disorder
  • \r\n
  • Gastrointestinal disorders, for example, Crohn's Disease, irritable bowel syndrome
  • \r\n
  • Intellectual or developmental disability
  • \r\n
  • Mental health conditions, for example, depression, bipolar disorder, anxiety disorder, schizophrenia, PTSD
  • \r\n
  • Missing limbs or partially missing limbs
  • \r\n
  • Mobility impairment, benefiting from the use of a wheelchair, scooter, walker, leg brace(s) and/or other supports
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • Nervous system condition, for example, migraine headaches, Parkinson’s disease, multiple sclerosis (MS)
  • \r\n
  • Neurodivergence, for example, attention-deficit/hyperactivity disorder (ADHD), autism spectrum disorder, dyslexia, dyspraxia, other learning disabilities
  • \r\n
  • Partial or complete paralysis (any cause)
  • \r\n
  • Pulmonary or respiratory conditions, for example, tuberculosis, asthma, emphysema
  • \r\n
  • Short stature (dwarfism)
  • \r\n
  • Traumatic brain injury
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
Please check one of the boxes below:
\r\n
\r\n
\r\n
\r\n \r\n Yes, I have a disability, or have had one in the past\r\n
\r\n
\r\n \r\n No, I do not have a disability and have not had one in the past\r\n
\r\n
\r\n \r\n I do not want to answer\r\n
\r\n
\r\n
\r\n

\r\n PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond\r\n to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5\r\n minutes to complete.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { CurrencyMaskInputMode } from \"ngx-currency\";\r\nimport moment from 'moment';\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpRequest } from '@angular/common/http';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//Services\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { EmployeeInfoService } from 'src/app/core/services/employee-info.service';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\nimport { FieldService } from 'src/app/pages/field/service/field.service';\r\nimport { AdminService } from 'src/app/pages/admin/services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-review-onboarding-modal',\r\n templateUrl: './review-onboarding-modal.component.html',\r\n styleUrls: ['./review-onboarding-modal.component.css']\r\n})\r\nexport class ReviewOnboardingModalComponent implements OnInit {\r\n\r\n @Input() employee: any;\r\n portalSettings: any;\r\n format: string;\r\n employeeInfo: any;\r\n onAdmin: any;\r\n initMode: boolean = false;\r\n formData: { [key: string]: any } = {};\r\n newFiles: any[] = [];\r\n savedFiles: any[] = [];\r\n deleteMode: boolean = false;\r\n taskDeleted: boolean = false;\r\n currencySymbol: string;\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean; adaptivePosition: boolean; };\r\n existingMsg: string;\r\n raceList: any[] = [];\r\n timeRevList: any[] = [];\r\n insuranceCodeList: any[] = [];\r\n prCompanies: any[] = [];\r\n tasks: any[] = [];\r\n fileData: any[] = [];\r\n innerCounter: number;\r\n errorMsg: string;\r\n hrCompanies: any[] = [];\r\n pRGroups: any[] = [];\r\n crafts: any[] = [];\r\n classes: any[] = [];\r\n departments: any[] = [];\r\n earnCodes: any[] = [];\r\n processed: boolean = false;\r\n processing: boolean = false;\r\n alert: any;\r\n options: { [key: string]: any } = {};\r\n validComboDrag: any;\r\n dragFiles: any;\r\n mobileMode: boolean = false;\r\n\r\n constructor(private portalSettingsService: PortalSettingsService, private utilityService: UtilityService, private employeeInfoServcie: EmployeeInfoService, private hiringService: HiringService, private fieldService: FieldService, private employeeService: EmployeeService, private adminService: AdminService, private httpClient: HttpClient, private activeModal: NgbActiveModal) {\r\n this.portalSettings = this.portalSettingsService.getPortalSettings();\r\n this.format = this.utilityService.getDateFormat().toUpperCase();\r\n this.employeeInfo = this.employeeInfoServcie.getEmployeeInfo();\r\n }\r\n ngOnInit(): void {\r\n this.mobileMode = this.utilityService.isMobileMode();\r\n this.onAdmin = this.employeeInfo.IsOnboardAdmin;\r\n this.currencySymbol = \"$\";\r\n this.options = { align: 'left', prefix: this.currencySymbol, precision: 2, nullable: true, inputMode: CurrencyMaskInputMode.NATURAL };\r\n this.currencySymbol = this.utilityService.getCurrencySymbol();\r\n this.formData.Gender = this.employee.gender == \"Male\" ? \"M\" : (this.employee.gender == \"Female\" ? \"F\" : null);\r\n this.datePickerOptions = { dateInputFormat: this.format, containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false, adaptivePosition: true };\r\n if (this.employee.TasksCompleted != \"In Process\" && this.employee.TasksCompleted != \"Completed\")\r\n this.getTasks();\r\n this.getHRCo();\r\n this.getPRCo();\r\n this.getAttachmentList();\r\n if (this.employee.hasOwnProperty(\"existingHire\")) {\r\n if (this.employee.existingHire[0]) {\r\n this.existingMsg = \"It appears this employee is a re-hire - an existing HR Resource has been found with the same SSN.\";\r\n }\r\n }\r\n this.getRaceCodes();\r\n this.getTimeRevGroup();\r\n }\r\n\r\n checkMaxLength() {\r\n if (this.formData.hrRef.toString().length > 6)\r\n this.formData.hrRefDisable = true;\r\n else\r\n this.formData.hrRefDisable = false;\r\n }\r\n\r\n pRCoChanged() {\r\n this.formData.PRGroup = null;\r\n this.formData.Craft = null;\r\n this.formData.Class = null;\r\n this.formData.PRDept = null;\r\n this.formData.EarnCode = null;\r\n this.formData.InsCode = null;\r\n this.getPRGroup();\r\n this.getCraft();\r\n this.getPRDept();\r\n this.getEarnCode();\r\n this.getInsuranceCode();\r\n }\r\n\r\n craftChanged() {\r\n this.formData.Class = null;\r\n this.getClass();\r\n }\r\n\r\n getRaceCodes() {\r\n this.hiringService.getRaceCodes().then((response: any[]) => {\r\n if (response != null) {\r\n this.raceList = response;\r\n if (this.employee.raceEthnicity != null) {\r\n this.raceList.forEach((val: any) => {\r\n if (val.Description.substr(0, 4).toLowerCase().indexOf(this.employee.raceEthnicity.substr(0, 4).toLowerCase()) > -1) {\r\n this.formData.Race = val.Race;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n getTimeRevGroup() {\r\n this.hiringService.getTimeRevGroup().then((response: any[]) => {\r\n if (response != null) {\r\n this.timeRevList = response;\r\n }\r\n });\r\n }\r\n\r\n getInsuranceCode() {\r\n this.hiringService.getInsCodes().then((response: any[]) => {\r\n if (response != null) {\r\n this.insuranceCodeList = response;\r\n }\r\n });\r\n }\r\n\r\n hrcoUpdate() {\r\n if (this.formData.PRCo == null && this.prCompanies != null) {\r\n this.prCompanies.forEach((val: any) => {\r\n if (this.formData.HRCo.CompanyName == val.PRCoNameMask) {\r\n this.formData.PRCo = val.PRCo;\r\n this.pRCoChanged();\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getTasks() {\r\n this.hiringService.getTasksByOnboardID(this.employee.OnboardID).then((response: any[]) => {\r\n if (response != null) {\r\n var tasks = response;\r\n for (var i = 0; i < response.length; i++) {\r\n var task = tasks[i];\r\n task.TaskCompletedDisplay = null;\r\n if (task.OnboardTaskDateCompleted != null) {\r\n task.TaskCompletedDisplay = moment.utc(task.OnboardTaskDateCompleted).format(this.format.toUpperCase());\r\n }\r\n if (task.OnboardTaskDateCompleted != null)\r\n task.Filename = task.OnboardTaskName.replace(/[^0-9a-zA-z]/g, \" \") + \"_\" + moment.utc(task.OnboardTaskDateCompleted).format(\"l\").replace(/\\//g, \"_\") + \".pdf\";\r\n else\r\n task.Filename = task.OnboardTaskName.replace(/[^0-9a-zA-z]/g, \" \");\r\n }\r\n this.tasks = tasks;\r\n }\r\n });\r\n }\r\n\r\n downloadDocument(task: any) {\r\n return \"/Employee/DownloadDocument?onboardID=\" + task.OnboardID + \"&bulletinID=\" + task.OnboardBulletinID + \"&filename=\" + encodeURIComponent(task.Filename);\r\n }\r\n\r\n downloadChecklist(task: any) {\r\n return \"/Checklist/DownloadChecklists?checklistInstanceIDs=\" + task.OnboardChecklistInstanceID + \"&filenames=\" + encodeURIComponent(task.Filename) + \"&templateID=\" + task.ChecklistTemplateID + \"&isonboard=true\";\r\n }\r\n\r\n getAttachmentList() {\r\n this.newFiles = [];\r\n this.fieldService.getDBAttachmentList(60, null, this.employee.OnboardID, null).then((response: any[]) => {\r\n if (response != null) {\r\n this.savedFiles = response;\r\n }\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured\" };\r\n this.processing = false;\r\n });\r\n }\r\n\r\n deleteAttachment(data: any) {\r\n this.employeeService.removeFileAttachment(data.FileAttachmentID).then((response: any) => {\r\n if (response != null) {\r\n this.getAttachmentList();\r\n }\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured\" };\r\n this.processing = false;\r\n });\r\n }\r\n\r\n readFile(file: any, call: any) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n upload() {\r\n this.newFiles = [];\r\n this.fileData = [];\r\n this.innerCounter = 0;\r\n for (var i = 0; i < this.formData.fileDrop.length; i++) {\r\n this.formData.fileDrop[i].nameEdit = this.utilityService.formatAttachmentName(this.formData.fileDrop[i].name);\r\n var n = 0;\r\n this.readFile(this.formData.fileDrop[i], (e: any, fileName: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: fileName });\r\n if (n == (this.formData.fileDrop.length - 1)) {\r\n this.fileData.forEach((val: any) => {\r\n this.formData.fileDrop.forEach((val2: any) => {\r\n if ((val2.size == val.size && val.name == val2.name)) {\r\n this.newFiles.push({ File: val.data[1], Filename: val2.nameEdit, Filedata: val2, Type: val.data[0].split(\"/\")[0] });\r\n }\r\n });\r\n });\r\n if (this.formData.fileDrop && this.formData.fileDrop.length >= 1) {\r\n this.newFiles.forEach((val3: any) => {\r\n if (val3.Progress != 100 && val3.File != null) {\r\n var temp = val3.Type;\r\n var type = \"file\";\r\n if (temp == \"data:image\")\r\n type = \"Photo\";\r\n this.httpClient.request(new HttpRequest(\r\n 'POST',\r\n \"/Document/SaveDBAttachment\",\r\n { moduleID: 60, recordGUID: this.employee.OnboardID, attachmentFileData: val3.File, attachmentFileName: val3.Filename, recordID: -1 },\r\n { reportProgress: true }\r\n )).subscribe((event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.UploadProgress:\r\n val3.Progress = Math.round(event.loaded / event.total * 100);\r\n if (val3.Progress == 100) {\r\n val3.AttchDone = true;\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n this.innerCounter++;\r\n this.innerCounterChange();\r\n val3.Filedata.result = event.body;\r\n }\r\n },\r\n error => this.errorMsg = error.message\r\n )\r\n }\r\n });\r\n }\r\n }\r\n n++;\r\n });\r\n });\r\n }\r\n }\r\n\r\n innerCounterChange() {\r\n if (this.innerCounter == this.newFiles.length && this.innerCounter != 0) {\r\n this.getAttachmentList();\r\n this.formData.fileDrop = null;\r\n }\r\n }\r\n\r\n getHRCo() {\r\n this.hiringService.getHRCO().then((response: any[]) => {\r\n if (response != null) {\r\n this.hrCompanies = response;\r\n }\r\n });\r\n }\r\n\r\n getPRCo() {\r\n this.adminService.getCompanies().then((response: any[]) => {\r\n if (response != null) {\r\n this.prCompanies = response;\r\n }\r\n });\r\n }\r\n\r\n getPRGroup() {\r\n this.hiringService.getCompanyGroups(this.formData.PRCo).then((response: any[]) => {\r\n if (response != null) {\r\n this.pRGroups = response;\r\n }\r\n });\r\n }\r\n\r\n getCraft() {\r\n this.hiringService.getCraft(this.formData.PRCo).then((response: any[]) => {\r\n if (response != null) {\r\n this.crafts = response;\r\n }\r\n });\r\n }\r\n\r\n getClass() {\r\n this.hiringService.getClass(this.formData.PRCo, this.formData.Craft).then((response: any[]) => {\r\n if (response != null) {\r\n this.classes = response;\r\n }\r\n });\r\n }\r\n\r\n getPRDept() {\r\n this.hiringService.getPRDept(this.formData.PRCo).then((response: any[]) => {\r\n if (response != null) {\r\n this.departments = response;\r\n }\r\n });\r\n }\r\n\r\n getEarnCode() {\r\n this.hiringService.getEarnCode(this.formData.PRCo).then((response: any[]) => {\r\n if (response != null) {\r\n this.earnCodes = response;\r\n }\r\n });\r\n }\r\n\r\n deleteTask(task: any) {\r\n task.ConfirmDelete = true;\r\n }\r\n\r\n confirmDeleteTask(task: any) {\r\n this.hiringService.deleteTask(task.OnboardTaskID).then((response: any) => {\r\n if (response != null && response.success) {\r\n this.taskDeleted = true;\r\n this.tasks.splice(this.tasks.indexOf(task), 1);\r\n }\r\n })\r\n }\r\n\r\n confirmDelete() {\r\n this.processing = true;\r\n this.hiringService.deleteOnboarding(this.employee.OnboardID).then((response: any) => {\r\n if (response != null && response.success) {\r\n this.activeModal.close({ alert: { type: \"success\", msg: \"Onboarding instance has been deleted.\" } });\r\n this.processed = true;\r\n this.processing = false\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.data.errorMessage };\r\n this.processing = false;\r\n }\r\n });\r\n }\r\n\r\n closeClicked() {\r\n if (this.taskDeleted)\r\n this.activeModal.close({ action: \"taskRebind\" });\r\n else\r\n this.activeModal.dismiss();\r\n }\r\n\r\n sendReminder() {\r\n this.hiringService.sendReminder(this.employee.OnboardID).then((response: any) => {\r\n if (response != null && response.success) {\r\n this.alert = { type: \"success\", msg: \"Email reminder sent\" };\r\n }\r\n });\r\n }\r\n\r\n toggleInitialize() {\r\n this.formData.HRCo = null;\r\n this.formData.PRCo = null;\r\n this.formData.PRGroup = null;\r\n this.formData.Craft = null;\r\n this.formData.Class = null;\r\n this.formData.PRDept = null;\r\n this.formData.EarnCode = null;\r\n this.formData.hireDate = new Date();\r\n this.initMode = !this.initMode;\r\n }\r\n\r\n autoRefChange() {\r\n if (this.formData.autoRef)\r\n this.formData.hrRef = null;\r\n }\r\n\r\n initializeBirdDog() {\r\n var requestObj = { effectiveHireDateStr: null, hRCoForInitialization: null, pRCo: null, pRGroup: null, wage: null, craft: null, classID: null, pRDept: null, earnCode: null, email: null, gender: null, raceEthnicity: null, insuranceCode: null, hRRef: null, timesheetRevGroup: null, TasksCompleted: null, systemID: null };\r\n if (this.employee.OnboardID == null) {\r\n for (const [key, val] of Object.entries(this.employee)) {\r\n requestObj[key] = val;\r\n }\r\n }\r\n requestObj.effectiveHireDateStr = moment(this.formData.hireDate).format(\"MM/DD/YYYY\");\r\n requestObj.hRCoForInitialization = this.formData.HRCo.HRCo;\r\n if (this.formData.PRCo !== null) {\r\n requestObj.pRCo = this.formData.PRCo;\r\n }\r\n if (this.formData.PRGroup !== null) {\r\n requestObj.pRGroup = this.formData.PRGroup;\r\n }\r\n if (this.formData.Wage !== null) {\r\n requestObj.wage = this.formData.Wage;\r\n }\r\n if (this.formData.Craft !== null) {\r\n requestObj.craft = this.formData.Craft;\r\n }\r\n if (this.formData.Class !== null) {\r\n requestObj.classID = this.formData.Class;\r\n }\r\n if (this.formData.PRDept !== null) {\r\n requestObj.pRDept = parseInt(this.formData.PRDept);\r\n }\r\n if (this.formData.EarnCode !== null) {\r\n requestObj.earnCode = this.formData.EarnCode;\r\n }\r\n if (this.employee.Email !== null) {\r\n requestObj.email = this.employee.Email;\r\n }\r\n if (this.formData.Gender != null) {\r\n requestObj.gender = this.formData.Gender;\r\n }\r\n if (this.formData.Race !== null) {\r\n requestObj.raceEthnicity = this.formData.Race;\r\n }\r\n if (this.formData.InsCode !== null) {\r\n requestObj.insuranceCode = this.formData.InsCode;\r\n }\r\n if (this.formData.hrRef !== null) {\r\n requestObj.hRRef = this.formData.hrRef;\r\n }\r\n if (this.formData.timesheetRevGroup !== null) {\r\n requestObj.timesheetRevGroup = this.formData.timesheetRevGroup;\r\n }\r\n requestObj.TasksCompleted = this.employee.TasksCompleted;\r\n this.processing = true;\r\n this.hiringService.onInitializeBirdDogRecord(requestObj).then((response: any) => {\r\n if (response != null) {\r\n if (response.success) {\r\n this.activeModal.close({ alert: { type: \"success\", msg: this.employee.FirstName + \" \" + this.employee.LastName + \" has been successfully initialized to Company \" + this.formData.HRCo.HRCo + \" as HRRef \" + response.result.NewHRRef + \".\" } });\r\n this.processed = true;\r\n this.processing = false;\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.errorMessage };\r\n this.processing = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n}\r\n","
\r\n

Review - {{employee.FirstName}} {{employee.LastName}}

\r\n
\r\n
\r\n
\r\n
{{existingMsg}}
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n
\r\n
Initializing this employee will create the HR Resource for this record, migrate all attachments and submitted information to Vista.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{employee.Email}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{employee.TasksCompleted}} / {{employee.TasksTotalCount}}\r\n
\r\n
\r\n {{employee.TasksCompleted}} / {{employee.TasksTotalCount}}\r\n
\r\n
\r\n
{{employee.TasksCompleted}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{employee.DateInitiatedDisplay}}
\r\n
\r\n
\r\n \r\n
\r\n {{employee.IdentityKey}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Task:Status:
\r\n {{task.OnboardTaskName}}\r\n \r\n {{task.OnboardTaskName}}\r\n \r\n {{task.OnboardTaskName}}\r\n \r\n Incomplete\r\n Completed on {{task.TaskCompletedDisplay}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{hrCompany.CompanyName}}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n M - Male\r\n F - Female\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{data.Race + ' - ' + data.Description}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{data.ReviewerGroup}} - {{data.Description}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{prCompany.PRCoNameMask}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{pRGroup.PRGroupName}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{data.InsCode + ' - ' + data.Description}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{craft.Craft}} - {{craft.CraftDescription}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{class.ClassDescription}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{department.PRDept}} - {{department.PRDeptDescription}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{earnCode.EarnCode}} - {{earnCode.EarnCodeDescription}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{file.Filename}}\r\n \r\n
\r\n
0\">\r\n
{{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Drop a file or Click to upload\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, Input, OnInit, Optional, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\nimport { CurrencyMaskInputMode } from 'ngx-currency';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Router } from '@angular/router';\r\n\r\n//Services\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { EmployeeInfoService } from 'src/app/core/services/employee-info.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { HiringService } from '../../../pages/hiring/services/hiring.service';\r\nimport { HomeService } from 'src/app/pages/home/services/home.service';\r\n\r\n//Modals\r\nimport { AddressConfirmationModalComponent } from '../../employee/personal-info/address-confirmation-modal/address-confirmation-modal.component';\r\n\r\n@Component({\r\n selector: 'app-review-w4-modal',\r\n templateUrl: './review-w4-modal.component.html',\r\n styleUrls: ['./review-w4-modal.component.css']\r\n})\r\n\r\nexport class ReviewW4ModalComponent implements OnInit {\r\n\r\n @ViewChild('W4Form', { static: false }) W4Form: NgForm;\r\n @ViewChild('signaturePad', { static: false }) signaturePad;\r\n @Input() id: number;\r\n @Input() viewMode: boolean;\r\n portalSettings: any;\r\n employeeInfo: any;\r\n format: string;\r\n mobileMode: boolean = false;\r\n currencyFormatSymbols: any;\r\n currencySymbol: string;\r\n currentYear: number;\r\n formData: { [key: string]: any } = {};\r\n options: { [key: string]: any } = {};\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean; adaptivePosition: boolean };\r\n alreadySubmitted: boolean = false;\r\n stateList: any[];\r\n submitSignImg: string;\r\n validateCheck: boolean = false;\r\n alert: string;\r\n isAddressValidationEnabled: boolean = false;\r\n enableCheckboxSign: boolean = false;\r\n latitude: any;\r\n longitude: any;\r\n signatureNEmpty: boolean = false;\r\n rawImgData: any;\r\n hideClick: boolean = false;\r\n showClickMsg: boolean = false;\r\n redBorder: boolean = false;\r\n fillW4: boolean = false;\r\n fillW4URL: string = \"/careers/fillw4\";\r\n tasksURL: string = \"/careers/tasks\"\r\n\r\n constructor(portalSettingsService: PortalSettingsService, @Optional() employeeInfoService: EmployeeInfoService, private utilityService: UtilityService, private hiringService: HiringService, @Optional() private activeModal: NgbActiveModal, private homeService: HomeService, private modalService: NgbModal, private router: Router) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.mobileMode = this.utilityService.isMobileMode();\r\n this.format = this.utilityService.getDateFormat() \r\n this.isAddressValidationEnabled = this.portalSettings.IsAddressValidated.ConfigValue == \"1\"; \r\n this.enableCheckboxSign = this.portalSettings.EnableCheckboxSign.ConfigValue == \"1\";\r\n this.datePickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false, adaptivePosition: true };\r\n this.currencySymbol = this.utilityService.getCurrencySymbol();\r\n this.options = { align: 'left', prefix: this.currencySymbol, precision: 2, nullable: true, inputMode: CurrencyMaskInputMode.NATURAL };\r\n this.currentYear = new Date().getFullYear();\r\n this.formData.IsExempt = false;\r\n this.formData.SignDate = new Date(moment().format(\"MM/DD/YYYY\"));\r\n\r\n if (parseInt(new Date().toString()) < parseInt(new Date(\"2020/01/01\").toString()))\r\n this.formData.showNewForm = false;\r\n else\r\n this.formData.showNewForm = true;\r\n\r\n this.getRouteData();\r\n\r\n if (this.fillW4) {\r\n this.getInfoByOnboardID();\r\n }\r\n\r\n this.getDependentLookupByColumnName();\r\n\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position: any) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n });\r\n }\r\n\r\n if (this.fillW4) {\r\n this.getW4Info(1);\r\n } else {\r\n this.getW4Info(2);\r\n }\r\n\r\n }\r\n\r\n getRouteData() {\r\n var path = window.location.pathname;\r\n if (path != null && path.length > 1) {\r\n if (path == this.fillW4URL.toLowerCase()) {\r\n this.fillW4 = true;\r\n } else {\r\n this.alreadySubmitted = true;\r\n }\r\n }\r\n }\r\n\r\n getDependentLookupByColumnName() {\r\n this.hiringService.getDependentLookupByColumnName(\"State\", null).then((response: any[]) => {\r\n if (response != null) {\r\n this.stateList = response;\r\n }\r\n });\r\n }\r\n\r\n getInfoByOnboardID() {\r\n this.hiringService.getInfoByOnboardID().then((response: any) => {\r\n if (response != null && response.DateSubmitted != null)\r\n this.alreadySubmitted = true;\r\n else\r\n this.alreadySubmitted = false;\r\n });\r\n }\r\n\r\n\r\n switchLanguage() {\r\n if (this.formData.FormLanguage == \"EN\")\r\n this.formData.FormLanguage = \"ES\";\r\n else\r\n this.formData.FormLanguage = \"EN\";\r\n }\r\n\r\n getW4Info(step: number) {\r\n this.hiringService.getW4Info(this.id, step).then((response: any) => {\r\n if (response != null && response.length > 0) {\r\n var w4Info = response[0];\r\n for (let key in w4Info) {\r\n if (key == \"IsDiffLastName\") {\r\n if (w4Info[key] != null) {\r\n this.formData.IsDiffLastName = w4Info[key];\r\n }\r\n }\r\n else if (key == \"IsExempt\") {\r\n if (w4Info[key] != null) {\r\n this.formData.IsExempt = w4Info[key];\r\n }\r\n }\r\n else if (key == \"SignDate\") {\r\n if (w4Info[key] != null) {\r\n this.formData.SignDate = new Date(moment(w4Info[key], this.format.toUpperCase()).utc().format(\"MM/DD/YYYY\"));\r\n }\r\n }\r\n else if (key == \"SignatureBinary\" && this.alreadySubmitted) {\r\n if (w4Info[key] != null) {\r\n this.submitSignImg = \"data:image/png;base64,\" + this.base64ArrayBuffer(w4Info[key]);\r\n }\r\n }\r\n else if (key == \"DateFirstEmployment\") {\r\n if (w4Info[key] != null) {\r\n this.formData.DateFirstEmployment = new Date(moment(w4Info[key]).utc().format(\"MM/DD/YYYY\"));\r\n }\r\n }\r\n else {\r\n this.formData[key] = w4Info[key];\r\n }\r\n }\r\n if (this.formData.MaritalStatus == null)\r\n this.formData.MaritalStatus = null;\r\n\r\n if (this.fillW4)\r\n this.formData.SignatureBinary = null;\r\n\r\n if (this.formData.SignatureDate != null &&\r\n (new Date(parseInt(moment(this.formData.SignatureDate).utc().format(\"YYYY\"))\r\n , parseInt(moment(this.formData.SignatureDate).utc().format(\"MM\")) - 1\r\n , parseInt(moment(this.formData.SignatureDate).utc().format(\"DD\")), 0, 0, 0, 0)) < (new Date(\"2020/01/01\"))) {\r\n this.formData.showNewForm = false;\r\n }\r\n else if (\r\n this.formData.SignatureDate != null\r\n &&\r\n (new Date(parseInt(moment(this.formData.SignatureDate).utc().format(\"YYYY\"))\r\n , parseInt(moment(this.formData.SignatureDate).utc().format(\"MM\")) - 1\r\n , parseInt(moment(this.formData.SignatureDate).utc().format(\"DD\")), 0, 0, 0, 0)) > (new Date(\"2020/01/01\"))) {\r\n this.formData.showNewForm = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n isExemptUpdated() {\r\n setTimeout(() => {\r\n if (this.formData.showNewForm && this.formData.IsExempt) {\r\n this.formData.MaritalStatus = null;\r\n this.formData.MultiJobs2020 = null;\r\n this.formData.QualChildAmount = null;\r\n this.formData.OtherDependentAmount = null;\r\n this.formData.DependentAmt2020 = null;\r\n this.formData.OtherIncome2020 = null;\r\n this.formData.Deductions2020 = null;\r\n this.formData.AdditionalAmount = null;\r\n }\r\n })\r\n }\r\n\r\n submit(isAddressInvalid: boolean) {\r\n isAddressInvalid = typeof (isAddressInvalid) == 'undefined' ? null : isAddressInvalid == true;\r\n this.hiringService.insertUpdatew4(this.formData).then((response: any) => {\r\n if (response != null) {\r\n this.validateCheck = false;\r\n if (response.success) {\r\n this.router.navigate(['/careers/tasks']);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n dirty() {\r\n if (this.formData.DependentAmt2020 || this.formData.OtherIncome2020 || this.formData.Deductions2020 || this.formData.AdditionalAmount)\r\n this.formData.IsExempt = false;\r\n }\r\n\r\n step3Calculate() {\r\n if (this.formData.QualChildAmount != null && this.formData.OtherDependentAmount != null)\r\n this.formData.DependentAmt2020 = this.formData.QualChildAmount + this.formData.OtherDependentAmount;\r\n }\r\n\r\n saveW4() {\r\n this.validateCheck = true;\r\n if (!this.W4Form.form.invalid) {\r\n this.alert = null;\r\n this.hiringService.updateW4ByOnboardIDPart2(this.id, this.formData.EmployerNameAddress, null, this.formData.EIN, this.formData.DateFirstEmployment != null ? moment(this.formData.DateFirstEmployment).format(\"YYYY-MM-DD\") : \"\").then((response: any) => {\r\n this.validateCheck = false;\r\n if (response != null && response.success) {\r\n this.activeModal.close(\"success\");\r\n } else {\r\n this.alert = response.error;\r\n }\r\n });\r\n } else {\r\n this.alert = \"Please fill out all required fields.\";\r\n }\r\n }\r\n\r\n saveFillW4() {\r\n this.validateCheck = true;\r\n this.checkSigned();\r\n this.checkSSN();\r\n\r\n if (!this.W4Form.form.invalid && ((this.formData.MaritalStatus != null && !this.formData.IsExempt) || (this.formData.IsExempt && this.formData.MaritalStatus == null)) && this.formData.SSN != null) {\r\n this.alert = null;\r\n if (this.signatureNEmpty) {\r\n if (this.formData.SSN != null) {\r\n this.formData.SSN = this.formData.SSN.split('-').join(\"\");\r\n }\r\n if (this.formData.SignDate != null) {\r\n this.formData.SignDateStr = moment(this.formData.SignDate).utc().format(\"MM/DD/YYYY\");\r\n }\r\n\r\n if (this.formData.typeSign) {\r\n this.formData.SignatureBinary = this.rawImgData;\r\n } else {\r\n if (this.formData.SignatureBinary == null)\r\n this.formData.SignatureBinary = this.signaturePad.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\");\r\n }\r\n\r\n if (this.longitude != null)\r\n this.formData.longitude = this.longitude;\r\n if (this.latitude != null)\r\n this.formData.latitude = this.latitude;\r\n for (const [key, val] of Object.entries(this.formData)) {\r\n if (val == \"\" && val != 0)\r\n this.formData[key] = null;\r\n }\r\n\r\n if (!this.isAddressValidationEnabled) {\r\n this.submit(true);\r\n return;\r\n }\r\n\r\n //------------hold it\r\n\r\n this.validateAddress();\r\n return;\r\n } else {\r\n window.scrollTo(0, 0);\r\n this.alert = \"Please fill out all required fields.\";\r\n }\r\n } else {\r\n window.scrollTo(0, 0);\r\n this.alert = \"Please fill out all required fields.\";\r\n }\r\n }\r\n\r\n validateAddress() {\r\n this.hiringService.validateAddress(this.formData.Address, this.formData.City, this.formData.State, this.formData.Zip).then((response: any) => {\r\n if (response != null) {\r\n if (response.IsValid == false) {\r\n this.openAddressValidationModal(response.SuggestedAddressString, response.OriginalAddressString, response.SuggestedAddress);\r\n return;\r\n }\r\n else {\r\n this.submit(true);\r\n }\r\n }\r\n else {\r\n var address = this.formData.Address + ', ' + this.formData.City + ', ' + this.formData.State + ' ' + this.formData.Zip;\r\n this.openAddressValidationModal(null, address, null);\r\n }\r\n }, (error) => {\r\n var address = this.formData.Address + ', ' + this.formData.City + ', ' + this.formData.State + ' ' + this.formData.Zip;\r\n this.openAddressValidationModal(null, address, null);\r\n });\r\n }\r\n\r\n openAddressValidationModal(suggestedAddress: string, originalAddress: string, suggestedAddressComponents: any) {\r\n let modalRef = this.modalService.open(AddressConfirmationModalComponent, { size: 'sm', backdrop: 'static' });\r\n modalRef.componentInstance.suggestedAddress = suggestedAddress;\r\n modalRef.componentInstance.badAddress = originalAddress;\r\n\r\n modalRef.result.then((userChoice) => {\r\n // User chose bad address\r\n if (userChoice == 0) {\r\n this.submit(true);\r\n }\r\n // User chose suggested address\r\n else if (userChoice == 1) {\r\n this.formData.Address = suggestedAddressComponents.Address;\r\n this.formData.City = suggestedAddressComponents.City;\r\n this.formData.State = suggestedAddressComponents.State;\r\n this.formData.Zip = suggestedAddressComponents.PostalCode;\r\n this.submit(false);\r\n }\r\n // User chose to cancel\r\n else {\r\n this.utilityService.closeModal();\r\n } \r\n });\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.close('cancel');\r\n }\r\n\r\n clickSign(type: string) {\r\n if (this.signaturePad.isEmpty()) {\r\n this.formData.typeSign = true;\r\n this.homeService.getTypeSign(type).then((response: any) => {\r\n this.rawImgData = response;\r\n this.submitSignImg = \"data:image/png;base64,\" + response;\r\n this.signatureNEmpty = true;\r\n });\r\n this.hideClick = true;\r\n this.showClickMsg = false;\r\n } else {\r\n this.showClickMsg = true;\r\n }\r\n }\r\n\r\n checkSigned() {\r\n if (this.signaturePad != null) {\r\n if (!this.signaturePad.isEmpty()) {\r\n this.redBorder = false;\r\n this.signatureNEmpty = true;\r\n }\r\n else {\r\n this.redBorder = true;\r\n }\r\n }\r\n }\r\n\r\n clear() {\r\n if (this.signaturePad != null) {\r\n if (!this.signaturePad.isEmpty()) {\r\n this.signaturePad.clear();\r\n }\r\n this.signatureNEmpty = false;\r\n }\r\n\r\n this.rawImgData = null;\r\n this.submitSignImg = null;\r\n this.formData.typeSign = false;\r\n this.showClickMsg = false;\r\n this.hideClick = false;\r\n }\r\n\r\n base64ArrayBuffer(arrayBuffer: any) {\r\n var base64 = ''\r\n var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\r\n\r\n var bytes = new Uint8Array(arrayBuffer)\r\n var byteLength = bytes.byteLength\r\n var byteRemainder = byteLength % 3\r\n var mainLength = byteLength - byteRemainder\r\n\r\n var a, b, c, d\r\n var chunk\r\n\r\n // Main loop deals with bytes in chunks of 3\r\n for (var i = 0; i < mainLength; i = i + 3) {\r\n // Combine the three bytes into a single integer\r\n chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]\r\n\r\n // Use bitmasks to extract 6-bit segments from the triplet\r\n a = (chunk & 16515072) >> 18 // 16515072 = (2^6 - 1) << 18\r\n b = (chunk & 258048) >> 12 // 258048 = (2^6 - 1) << 12\r\n c = (chunk & 4032) >> 6 // 4032 = (2^6 - 1) << 6\r\n d = chunk & 63 // 63 = 2^6 - 1\r\n\r\n // Convert the raw binary segments to the appropriate ASCII encoding\r\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]\r\n }\r\n\r\n // Deal with the remaining bytes and padding\r\n if (byteRemainder == 1) {\r\n chunk = bytes[mainLength]\r\n\r\n a = (chunk & 252) >> 2 // 252 = (2^6 - 1) << 2\r\n\r\n // Set the 4 least significant bits to zero\r\n b = (chunk & 3) << 4 // 3 = 2^2 - 1\r\n\r\n base64 += encodings[a] + encodings[b] + '=='\r\n } else if (byteRemainder == 2) {\r\n chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]\r\n\r\n a = (chunk & 64512) >> 10 // 64512 = (2^6 - 1) << 10\r\n b = (chunk & 1008) >> 4 // 1008 = (2^6 - 1) << 4\r\n\r\n // Set the 2 least significant bits to zero\r\n c = (chunk & 15) << 2 // 15 = 2^4 - 1\r\n\r\n base64 += encodings[a] + encodings[b] + encodings[c] + '='\r\n }\r\n\r\n return base64\r\n }\r\n\r\n checkSSN() {\r\n if (this.formData.SSN != null) {\r\n if (this.formData.SSN.length != 11)\r\n this.formData.SSN = null;\r\n }\r\n }\r\n\r\n updateFormdata(data: string, field: any) {\r\n this.formData[field] = data;\r\n }\r\n\r\n closeClick() {\r\n this.activeModal.close();\r\n }\r\n\r\n routeToTask() {\r\n this.router.navigate(['/careers/tasks']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Complete your W-4

Complete el Formulario W-4

\r\n\r\n chevron_left Back\r\n chevron_left Atras\r\n\r\n \r\n

Employee's Withholding Allowance Certificate

\r\n
Whether you are entitled to claim a certain number of allowances or exemption from withholding is subject to review by the IRS. Your employer may be required to send a copy of this form to the IRS.
\r\n

Certificado de Retenciones del Empleado

\r\n
Su derecho a reclamar cierto número de descuentos o a declararse exento de la retención de impuestos está sujeto a revisión por el IRS. Su empleador puede tener la obligación de enviar una copia de este formulario al IRS.
\r\n

W-4 Instructions

\r\n

W-4 Instrucciones

\r\n
{{alert}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Single\r\n Married\r\n Married, but withhold at higher Single rate.\r\n

Note: If married filing separately, check \"Married, but withhold at higher Single rate.\"

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{data.DatabaseValue}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\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 number of allowances you are claiming (from the applicable worksheet found in the link to W-4 instructions above)

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

Additional amount, if any, you want withheld from each paycheck

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

I claim exemption from withholding for 2019, and I certify that I meet both of the following conditions for examption.

\r\n

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

\r\n Last year I had a right to refund of all federal income tax withheld because I had no tax liability, and\r\n

\r\n
\r\n

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

This year I expect a refund of all federal income tax withheld because I expect to have no tax liability.

\r\n
\r\n

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

If you meet both condiditons, click here - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

\r\n
\r\n - - - - - - - - - - - - - - - - - - - -\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Under penalties of perjury, I declare that I have examined this certificate and, to the best of my knowledge and belief, it is true, correct, and complete.

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
Step 1: Enter Personal Information
\r\n
Paso 1: Anote su informacion personal
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{data.DatabaseValue}}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Single or Married filing separatelySoltero o Casado que presenta una declaracion por separado\r\n
\r\n
\r\n
\r\n
\r\n \r\n Married filing jointly (or Qualifying widow(er))\r\n
\r\n
\r\n \r\n Casado que presenta una declaracion conjunta (o Viudo que reune los requisitos)\r\n
\r\n
\r\n
\r\n
\r\n \r\n Head of household (Check only if you're unmarried and pay more than half the costs of keeping up a home for yourself and a qualifying individual.)Cabeza de familia (Marque solamente si no esta casado y pago mas de la mitad del costo de mantener una vivienda para usted y una persona calificada)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Complete Steps 2-4 ONLY if they apply to you; otherwise, skip to Step 5. See page 2 for more information on each step, who can claim exemption from withholding, when to use the online estimator, and privacy.

\r\n

Complete los Pasos 2 a 4 SOLAMENTE si le aplican a usted; de lo contrario, siga al Paso 5. Vea la pagina 2 para obtener mas informacion sobre cada paso, saber quien puede reclamar la exencion de la retencion, saber cuando utilizar el estimador de retencion de impuestos en linea y conocer acerca de su privacidad.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Step 2: Multiple Jobs or Spouse Works
\r\n
Paso 2: Personas con multiples empleos o con conyuges que trabajan
\r\n
\r\n
\r\n
\r\n
\r\n

Complete this step if you (1) hold more than one job at a time, or (2) are married filing jointly and your spouse also works. The correct amount of withholding depends on income earned from all of these jobs.

\r\n

Do only one of the following.

\r\n

(a) Use the estimator at www.irs.gov/W4App for most accurate withholding for this step (and Steps 3-4); or

\r\n

(b) Use the Multiple Jobs Worksheet on page 3 and enter the result in Step 4(c) below for roughly accurate withholding; or

\r\n

(c) If there are only two jobs total, you may check this box. Do the same on Form W-4 for the other job. This option is accurate for jobs with similar pay; otherwise, more tax than necessary may be withheld

\r\n

TIP: To be accurate, submit a {{currentYear}} Form W-4 for all other jobs. If you (or your spouse) have self-employment income, including as an independent contractor, use the estimator.

\r\n

Complete Steps 3-4(b) on Form W-4 for only ONE of these jobs. Leave those steps blank for the other jobs. (Your withholding will be most accurate if you complete Steps 3-4(b) on the Form W-4 for the highest paying job.)

\r\n

Complete este paso si (1) tiene mas de un trabajo a la vez o (2) esta casado y presenta una declaracion conjunta y su conyuge tambien trabaja. La cantidad correcta de retencion depende de los ingresos obtenidos de todos los empleos.

\r\n

Tome solo una de las siguientes opciones:

\r\n

(a) Utilice el estimador de retencion de impuestos en www.irs.gov/W4AppSP para calcular su retencion con la mayor precision eneste paso (y los Pasos 3 a 4) o

\r\n

(b) Utilice la Hoja de Trabajo para Multiples Empleos en la pagina 3 y anote el resultado en el Paso 4(c) para calcular una retencion aproximada o

\r\n

(c) Marque este recuadro si solo hay dos empleos en total. Haga lo mismo en el Formulario W-4(SP) para el otro empleo. Esta opcion es precisa para empleos con una paga similar; de lo contrario, se le pueden retener mas impuestos de lo necesario.

\r\n

CONSEJO: Para un resultado preciso, entregue un Formulario W-4(SP) de 2020 en todos los otros empleos. Si usted y/o su conyuge tienen ingresos de trabajo por cuenta propia, incluidos los ingresos como contratista independiente, utilice el estimador de retencion de impuestos.

\r\n

Complete los Pasos 3 a 4(b) en el Formulario W-4(SP) para solo uno de sus empleos. Deje esas lineas en blanco para los otros empleos. (Su calculo de la retencion sera mas preciso si completa los Pasos 3 a 4(b) en el Formulario W-4(SP) para el empleo que le paga el salario mas alto).

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Step 3: Claim Dependents
\r\n
Paso 3: Reclamacion de dependientes
\r\n
\r\n
\r\n
\r\n
\r\n

If your income will be $200,000 or less ($400,000 or less if married filing jointly):

\r\n

Si su ingreso va a ser $200,000 o menos ($400,000 o menos si es casado que presenta una declaracion conjunta):

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

Multiply the number of qualifying children under age 17 by $2,000

Multiplique la cantidad de hijos calificados menores de 17 anos por $2,000

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

Multiply the number of other dependents by $500

Multiplique el numero de otros dependientes por $500

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

Add the amounts above and enter the total here - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3

Sume las cantidades anteriores y anote el total aqui - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Step 4 (optional): Other Adjustments
\r\n
Paso 4 (opcional): Otros ajustes
\r\n
\r\n
\r\n
\r\n

(a) Other income (not from jobs). If you want tax withheld for other income you expect this year that won't have withholding, enter the amount of other income here. This may include interest, dividends, and retirement income - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4(a)

(a) Otros ingresos (no incluya los ingresos de ningun empleo). Si desea que se le retengan impuestos por otros ingresos que espera este ano que no tendran retenciones, anote aqui la cantidad de los otros ingresos. Esto puede incluir intereses, dividendos e ingresos por jubilacion - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4(a)

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

(b) Deductions. If you expect to claim deductions other than the standard deduction and want to reduce your withholding, use the Deductions Worksheet on page 3 and enter the result here - - - - - - - - - - - - - - - 4(b)

(b) Deducciones. Si espera reclamar deducciones diferentes a la deduccion estandar y desea reducir su retencion, utilice la Hoja de Trabajo para Deducciones en la pagina 3 y anote el resultado aqui - - - - 4(b)

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

(c) Extra withholding. Enter any additional tax you want withheld each pay period - - - - - - - - - - - - - - - 4(c)

(c) Retencion adicional. Anote todo impuesto adicional que desee que se le retenga en cada periodo de pago - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4(c)

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n info\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Step 5: Sign Here
\r\n
Paso 5: Firme aqui
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Signature of Employee
\r\n
Firma del empleado
\r\n
\r\n
Press \"Clear\" before generating your signature image.
\r\n
Haga clic en \"borrar\" antes de generar su firma.
\r\n
I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.
\r\n
Estoy de acuerdo en que la firma y las iniciales serán la representación electrónica de mi firma e iniciales para todos los propósitos cuando yo (o mi agente) los utilice en los documentos, incluidos los contratos jurídicamente vinculantes - lo mismo que una firma o inicial.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign above
\r\n
Firma aqui
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","
\r\n

Clock In

\r\n
\r\n
\r\n
\r\n
\r\n Job:\r\n \r\n {{job.DisplayValue}}\r\n \r\n
\r\n
\r\n Phase:\r\n \r\n \r\n
{{phase.PhaseDescription}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { HomeService } from '../../../pages/home/services/home.service';\r\n\r\n@Component({\r\n selector: 'app-clockin-job-modal',\r\n templateUrl: './clockin-job-modal.component.html',\r\n styleUrls: ['./clockin-job-modal.component.css']\r\n})\r\nexport class ClockinJobModalComponent implements OnInit {\r\n portalSettings: any;\r\n employeeInfo: any;\r\n formData: { [key: string]: any } = {};\r\n tcClockIOIgnoreJobPhase: boolean;\r\n jobs: any[] = [];\r\n phases: any[] = [];\r\n prefillJP: boolean;\r\n userAction: string;\r\n\r\n constructor(private homeService: HomeService, private bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit(): void {\r\n this.prefillJP = this.portalSettings.PrefillPerviousJobPhase.ConfigValue == \"1\";\r\n this.tcClockIOIgnoreJobPhase = this.portalSettings.TCClockIOIgnoreJobPhase.ConfigValue == \"1\";\r\n this.formData.selectedJob = null;\r\n this.formData.selectedPhase = null;\r\n this.getJobs();\r\n }\r\n\r\n getJobs() {\r\n this.homeService.getJobs(\"TC\").then((response: any) => {\r\n var jobs = response;\r\n for (var i = 0; i < jobs.length; i++) {\r\n jobs[i].DisplayValue = \"JCCo \" + jobs[i].JCCo + \" - \" + jobs[i].JobDisplayName;\r\n if (this.employeeInfo.LastUsedJCJMKeyID != null && jobs[i].JCJMKeyID == this.employeeInfo.LastUsedJCJMKeyID && this.prefillJP) {\r\n this.formData.selectedJob = jobs[i];\r\n }\r\n }\r\n if (this.formData.selectedJob != null) {\r\n this.getPhases();\r\n }\r\n this.jobs = jobs;\r\n if (this.tcClockIOIgnoreJobPhase) {\r\n this.jobs.unshift({ JCJMKeyID: null, DisplayValue: \"No Job\", JCCo: null, Job: \"\", JobDescription: \"\", JobDisplayName: \"\" });\r\n }\r\n });\r\n }\r\n\r\n jobChanged() {\r\n this.formData.selectedPhase = null;\r\n this.homeService.setJob(this.formData.selectedJob.JCJMKeyID, this.employeeInfo.UserKeyID);\r\n this.getPhases();\r\n }\r\n\r\n getPhases() {\r\n this.phases = [];\r\n if (this.formData.selectedJob?.JCJMKeyID != null) {\r\n this.homeService.getPhasesByJCJMKeyID(this.formData.selectedJob.JCJMKeyID).then((response: any) => {\r\n var phases = response;\r\n this.phases = phases;\r\n if (this.prefillJP) {\r\n for (var i = 0; i < phases.length; i++) {\r\n if (this.employeeInfo.LastUsedJCJPKeyID != null && this.employeeInfo.LastUsedJCJPKeyID == phases[i].JCJPKeyID) {\r\n this.formData.selectedPhase = phases[i];\r\n }\r\n }\r\n }\r\n if (this.tcClockIOIgnoreJobPhase) {\r\n this.phases.unshift({ JCJPKeyID: null, Phase: \"\", PhaseDescription: \"No Phase\", PhaseGroup: null });\r\n }\r\n });\r\n } else {\r\n if (this.tcClockIOIgnoreJobPhase) {\r\n this.phases.unshift({ JCJPKeyID: null, Phase: \"\", PhaseDescription: \"No Phase\", PhaseGroup: null });\r\n }\r\n }\r\n }\r\n\r\n clockInClicked() {\r\n this.userAction = \"Clock In\";\r\n this.bsModalRef.hide();\r\n }\r\n\r\n cancelClicked() {\r\n this.userAction = \"cancel\";\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","
\r\n Clock Out\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Press \"Clear\" before generating your signature image.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign above
\r\n \r\n \r\n
By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { HomeService } from '../../../pages/home/services/home.service';\r\n\r\n@Component({\r\n selector: 'app-clockout-modal',\r\n templateUrl: './clockout-modal.component.html',\r\n styleUrls: ['./clockout-modal.component.css']\r\n})\r\nexport class ClockoutModalComponent implements OnInit {\r\n @ViewChild('signaturePad', { static: false }) signaturePad;\r\n\r\n portalSettings: any;\r\n formData: { [key: string]: any } = {};\r\n userAction: any;\r\n customMsg: any;\r\n rawImgData: any;\r\n submitSignImg: any = null;\r\n hideClick: boolean;\r\n showClickMsg: boolean;\r\n requireSign: boolean = true;\r\n signatureNEmpty: boolean;\r\n redBorder: boolean;\r\n panelWidth: number;\r\n\r\n constructor(private homeService: HomeService, private bsModalRef: BsModalRef) {\r\n this.homeService = homeService;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formData.typeSign = false;\r\n this.customMsg = this.portalSettings.CustomVerbiageClockOutSign.ConfigValue;\r\n var width = $(\"#modal_size\").width();\r\n this.panelWidth = (width > 550 ? 550 : width) + 30;\r\n }\r\n\r\n clockOutClicked() {\r\n this.checkSigned();\r\n if (this.formData.typeSign) {\r\n this.userAction = this.rawImgData;\r\n this.bsModalRef.hide();\r\n }\r\n else if (this.signatureNEmpty) {\r\n this.userAction = this.signaturePad.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\");\r\n this.bsModalRef.hide();\r\n }\r\n };\r\n\r\n cancelClicked() {\r\n this.userAction = \"close\";\r\n this.bsModalRef.hide();\r\n };\r\n\r\n clickSign(type: string) {\r\n if (this.signaturePad.isEmpty()) {\r\n this.formData.typeSign = true;\r\n this.homeService.getTypeSign(type).then((response: any) => {\r\n this.rawImgData = response;\r\n this.submitSignImg = \"data:image/png;base64,\" + response;\r\n });\r\n this.hideClick = true;\r\n this.showClickMsg = false;\r\n } else {\r\n this.showClickMsg = true;\r\n }\r\n }\r\n\r\n checkSigned() {\r\n if (this.signaturePad.isEmpty()) {\r\n this.redBorder = true;\r\n } else {\r\n this.signatureNEmpty = true;\r\n this.redBorder = false;\r\n }\r\n }\r\n\r\n clear() {\r\n if (this.signaturePad != null) {\r\n this.signaturePad.clear();\r\n }\r\n this.signatureNEmpty = false;\r\n this.rawImgData = null;\r\n this.submitSignImg = null;\r\n this.formData.typeSign = false;\r\n this.showClickMsg = false;\r\n this.hideClick = false;\r\n }\r\n}\r\n","import { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { CurrencyMaskInputMode } from \"ngx-currency\";\r\nimport { Router } from '@angular/router';\r\n\r\nimport { EmployeeService } from './../../../pages/employee/services/employee.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { HomeService } from './../../../pages/home/services/home.service';\r\nimport { ReadOnlyPdfViewerComponent } from 'src/app/shared/component/read-only-pdf-viewer/read-only-pdf-viewer.component';\r\n\r\n@Component({\r\n selector: 'app-confirmation-modal',\r\n templateUrl: './confirmation-modal.component.html',\r\n styleUrls: ['./confirmation-modal.component.css'],\r\n providers: []\r\n})\r\nexport class ConfirmationModalComponent implements OnInit {\r\n @Input() data: any;\r\n @Input() selectedEmployee: any;\r\n @Input() errorMsg: string;\r\n @ViewChild(ReadOnlyPdfViewerComponent) ReadOnlyPdfViewerComponent: ReadOnlyPdfViewerComponent;\r\n expenseData: { [key: string]: any } = {};\r\n options: { [key: string]: any } = {};\r\n currencySymbol: string;\r\n format: string;\r\n portalSettings: any;\r\n employeeInfo: any;\r\n formData: { [key: string]: any } = {};\r\n extenion: string;\r\n isOpen: any[];\r\n savedFiles: any[];\r\n newFiles: any[];\r\n expensePostingType: string;\r\n attachmentList: any[];\r\n bdatePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean };\r\n mobileMode: boolean;\r\n catList: any[] = [];\r\n showExpenseCategory: boolean = false;\r\n printMode: string = \"NewWindow\";\r\n downloadURL: string | null = null;\r\n fileIsNotViewable: boolean = true;\r\n\r\n constructor(public activeModal: NgbActiveModal, private modalService: NgbModal, portalSettingsService: PortalSettingsService, employeeInfoService: EmployeeInfoService,\r\n private employeeService: EmployeeService, private utilityService: UtilityService, private homeService: HomeService, private router: Router) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n this.format = utilityService.getDateFormat().toUpperCase();\r\n this.mobileMode = utilityService.isMobileMode();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.bdatePickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false };\r\n this.formData.selectedAttachment = {}\r\n this.getExpenseModel();\r\n this.getCatg();\r\n this.showExpenseCategory = this.portalSettings.ExShowExpenseCategory.ConfigValue == \"1\";\r\n this.expensePostingType = this.portalSettings.ExpensePostingType.ConfigValue;\r\n this.currencySymbol = this.utilityService.getCurrencySymbol();\r\n this.options = { align: 'left', prefix: this.currencySymbol, precision: 2, nullable: true, inputMode: CurrencyMaskInputMode.NATURAL };\r\n }\r\n\r\n getExpenseModel() {\r\n var userKeyID = this.selectedEmployee ? this.selectedEmployee.UserKeyID : null;\r\n var requestParam = \"receiptID=\" + this.data.newID + \"&returnMode=E\";\r\n this.employeeService.getExpenseReceipts(requestParam).then((response: any) => {\r\n this.expenseData = response[0];\r\n this.expenseData.ExpenseDate = new Date();\r\n this.expenseData.ReceiptItemID = this.data.receiptItemID;\r\n this.getAttachment();\r\n })\r\n }\r\n\r\n getCatg() {\r\n this.openModal();\r\n this.employeeService.getCategory().then((response: any) => {\r\n if (response != null) {\r\n this.catList = [];\r\n response.forEach((val: any) => {\r\n if (val.IsActive)\r\n this.catList.push(val);\r\n });\r\n }\r\n });\r\n this.closeModal();\r\n }\r\n\r\n getAttachment() {\r\n this.savedFiles = [];\r\n this.newFiles = [];\r\n this.employeeService.getLineAttachments(this.expenseData.ReceiptID, null).then((response: any) => {\r\n this.savedFiles = response;\r\n if (this.savedFiles && this.savedFiles.length > 0) {\r\n this.formData.selectedAttachment = this.savedFiles[0]; \r\n }\r\n this.attachmentList = [];\r\n response.forEach((val: { AttachmentFileName: string; }) => {\r\n var tempExten = val.AttachmentFileName.slice(val.AttachmentFileName.lastIndexOf(\".\"), val.AttachmentFileName.length);\r\n if (tempExten.toLowerCase() == \".jpg\" || tempExten.toLowerCase() == \".jpeg\" || tempExten.toLowerCase() == \".png\" || tempExten.toLowerCase() == \".tif\" || tempExten.toLowerCase() == \".tiff\")\r\n this.attachmentList.push(val);\r\n });\r\n });\r\n }\r\n\r\n openEditExpenseReceipt() {\r\n this.openModal();\r\n this.employeeService.insertUpdateReceipt(this.expenseData.ReceiptID, (this.selectedEmployee == null ? this.data.SubmittedByUserKeyID : this.selectedEmployee.UserKeyID), this.employeeInfo.PRCo, this.expenseData.ReceiptDescription, moment(this.expenseData.ExpenseDate, this.format.toUpperCase()).format(\"YYYY-MM-DD\"), this.expenseData.ExpenseCatgID, null, null, null, null, null, null, null, null, null, null, null, null, null, null, this.expenseData.Amount).then((response: any) => {\r\n this.employeeService.insertUpdateReceiptItem(this.data.receiptItemID, response.newID, (this.expenseData.Amount || 0)).then((itemResponse: any) => {\r\n this.closeModal();\r\n this.activeModal.dismiss();\r\n this.router.navigate(['/employee/editexpensereceipt/'], { fragment: 'receiptID/' + (this.expenseData.ReceiptID) + \"/proxyuserID/\" + (this.selectedEmployee == null ? null : this.selectedEmployee.UserKeyID) });\r\n }).catch((error: any) => {\r\n this.errorMsg = error?.error?.error ?? \"An error has occured.\";\r\n });\r\n }).catch((error: any) => {\r\n this.errorMsg = error?.error?.error ?? \"An error has occured.\";\r\n });\r\n }\r\n\r\n cancelClicked() {\r\n this.openModal();\r\n this.employeeService.insertUpdateReceipt(this.expenseData.ReceiptID, (this.selectedEmployee == null ? this.data.SubmittedByUserKeyID : this.selectedEmployee.UserKeyID), this.employeeInfo.PRCo, this.expenseData.ReceiptDescription, moment(this.expenseData.ExpenseDate, this.format.toUpperCase()).format(\"YYYY-MM-DD\"), this.expenseData.ExpenseCatgID, null, null, null, null, null, null, null, null, null, null, null, null, null, null, this.expenseData.Amount).then((response: any) => {\r\n this.employeeService.insertUpdateReceiptItem(this.data.receiptItemID, response.newID, (this.expenseData.Amount || 0)).then((itemResponse: any) => {\r\n this.activeModal.close('close');\r\n this.closeModal();\r\n }).catch((error: any) => {\r\n this.errorMsg = error?.error?.error ?? \"An error has occured.\";\r\n });\r\n }).catch((error: any) => {\r\n this.errorMsg = error?.error?.error ?? \"An error has occured.\";\r\n });\r\n }\r\n\r\n openModal() {\r\n document.getElementById('modalShare').style.display = 'block';\r\n document.getElementById('fadeShare').style.display = 'block';\r\n }\r\n\r\n closeModal() {\r\n document.getElementById('modalShare').style.display = 'none';\r\n document.getElementById('fadeShare').style.display = 'none';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Expense Added

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n You have successfully added a new expense.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\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 && showExpenseCategory\">\r\n
\r\n \r\n \r\n {{data.ExpenseCatgName}}\r\n \r\n
\r\n
\r\n\r\n
0\">\r\n
\r\n
\r\n \r\n \r\n {{data.AttachmentFileName}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{errorMsg}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","
\r\n Thanks for logging into the {{companyName}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n
\r\n
\r\n
\r\n

Please confirm your paperless document settings.

\r\n
\r\n
\r\n Paperless Paystub Delivery Consent\r\n

{{formData.ElectronicPaystubVerbiage}}

\r\n
\r\n
\r\n Yes, I consent to view my paystubs electronically
\r\n I do NOT want to view my paystubs electronically
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n W-2T4 Paperless Delivery Consent\r\n

{{formData.W2DocumentVerbiage}}

\r\n
\r\n
\r\n Yes, I consent to view my W-2T4 electronically
\r\n I do NOT want to view my W-2T4 electronically
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 1095-C Paperless Delivery Consent\r\n

{{formData.C1095DocumentVerbiage}}

\r\n
\r\n
\r\n Yes, I consent to view my Form 1095-C electronically
\r\n I do NOT want to view my Form 1095-C electronically
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Personal Information\r\n
\r\n
\r\n
\r\n
\r\n {{formData.CellLabel}}: \r\n \r\n \r\n Pending\r\n \r\n \r\n\r\n
\r\n
\r\n {{formData.CellCarrierLabel}}: \r\n \r\n \r\n Pending\r\n \r\n \r\n {{carrier.DisplayValue}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{formData.EmailLabel}}: \r\n \r\n \r\n Pending\r\n \r\n \r\n
\r\n
\r\n Opt out of non-emergency SMS?\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \"Loading...\"\r\n \r\n
\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { HomeService } from '../../../pages/home/services/home.service';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-paperless-modal',\r\n templateUrl: './paperless-modal.component.html',\r\n styleUrls: ['./paperless-modal.component.css']\r\n})\r\nexport class PaperlessModalComponent implements OnInit {\r\n @Input() data: any;\r\n @Input() portalSettings: any;\r\n mobileMode: boolean;\r\n processing: boolean = false;\r\n formData: { [key: string]: any } = {};\r\n postData: { [key: string]: any } = {};\r\n cellCarriers: any[] = [];\r\n inValidPhone: boolean;\r\n emptyCarrierList: boolean;\r\n carrierMissingMsg: string = 'Cell Phone Carrier is not set in Vista';\r\n allowInfoChange: boolean;\r\n showPaperlessCarrier: boolean;\r\n requirePersonalInfo: boolean;\r\n personalInfoLoaded: boolean;\r\n phoneMask: string;\r\n companyName: string;\r\n userAction: string;\r\n alert: { [key: string]: any } = {}\r\n\r\n constructor(private homeService: HomeService, public activeModal: NgbActiveModal, private utilityService: UtilityService) {\r\n this.mobileMode = utilityService.isMobileMode();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.allowInfoChange = this.portalSettings.AllowPaperlessInfoChange.ConfigValue == \"1\";\r\n this.showPaperlessCarrier = this.portalSettings.ShowPaperlessCarrier.ConfigValue == \"1\";\r\n this.requirePersonalInfo = this.portalSettings.PaperlessPersonalInfoRequire.ConfigValue == \"1\";\r\n this.phoneMask = this.portalSettings.PhoneMask.ConfigValue ? this.portalSettings.PhoneMask.ConfigValue.replace(/9/g, '_') : \"\";\r\n this.companyName = this.portalSettings.HRPortalName.ConfigValue;\r\n this.formData.EmployeeCountry = this.data.EmplCountry;\r\n this.formData.optOutSMS = this.data.OptOutSMS == true ? true : false;\r\n this.formData.showPayStub = this.portalSettings.ShowPaystubPaperless.ConfigValue == 1 ? true : false;\r\n this.formData.showW2 = this.portalSettings.ShowW2Paperless.ConfigValue == 1 ? true : false;\r\n this.formData.showC1095 = this.portalSettings.ShowC1095Paperless.ConfigValue == 1 ? true : false;\r\n this.formData.ElectronicPaystubConsent = this.data.ConsentPaystubs == true ? \"1\" : (this.data.ConsentPaystubs == false ? \"0\" : null);\r\n this.formData.W2DocumentConsent = this.data.ConsentW2T4 == true ? \"1\" : (this.data.ConsentW2T4 == false ? \"0\" : null);\r\n this.formData.C1095DocumentConsent = this.data.ConsentACA1095 == true ? \"1\" : (this.data.ConsentACA1095 == false ? \"0\" : null);\r\n this.formData.ElectronicPaystubVerbiage = this.portalSettings.ConsentPaystubsVerbiage.ConfigValue;\r\n this.formData.W2DocumentVerbiage = this.portalSettings.ConsentOtherDocsVerbiage.ConfigValue;\r\n this.formData.C1095DocumentVerbiage = this.portalSettings.ConsentC1095DocsVerbiage.ConfigValue;\r\n this.alert = null;\r\n\r\n if (this.allowInfoChange) {\r\n this.homeService.getUserFields().then((response: any[]) => {\r\n var userFields = response;\r\n for (var i = 0; i < userFields.length; i++) {\r\n var field = userFields[i];\r\n if (field.FieldVPColumnName == \"CellPhone\" && field.FieldVPViewName != \"HRDP\") {\r\n if (field.PendingValue != null) {\r\n this.formData.CellPhoneOrig = field.PendingValue;\r\n this.formData.CellPhone = field.PendingValue;\r\n this.formData.CellPending = true;\r\n this.formData.CellPhoneFieldUpdateMode = field.FieldUpdateMode;\r\n }\r\n else {\r\n this.formData.CellPhoneOrig = field.FieldValue;\r\n this.formData.CellPhone = field.FieldValue;\r\n this.formData.CellPending = false;\r\n this.formData.CellPhoneFieldUpdateMode = field.FieldUpdateMode;\r\n }\r\n\r\n this.formData.CellLabel = field.FieldLabel;\r\n }\r\n if (field.FieldVPColumnName == \"Email\" && field.FieldVPViewName != \"HRDP\") {\r\n if (field.PendingValue != null) {\r\n this.formData.EmailOrig = field.PendingValue;\r\n this.formData.Email = field.PendingValue;\r\n this.formData.EmailPending = true;\r\n this.formData.EmailFieldUpdateMode = field.FieldUpdateMode;\r\n }\r\n else {\r\n this.formData.EmailOrig = field.FieldValue;\r\n this.formData.Email = field.FieldValue;\r\n this.formData.EmailPending = false;\r\n this.formData.EmailFieldUpdateMode = field.FieldUpdateMode;\r\n }\r\n\r\n this.formData.EmailLabel = field.FieldLabel;\r\n }\r\n if (field.FieldVPColumnName == \"udCellPhoneCarrier\" && field.FieldVPViewName != \"HRDP\") {\r\n if (field.PendingValue != null) {\r\n this.formData.CellCarrierOrig = field.PendingValue;\r\n this.formData.CellCarrier = field.PendingValue;\r\n this.formData.CellCarrierPending = true;\r\n this.formData.CellCarrierFieldUpdateMode = field.FieldUpdateMode;\r\n }\r\n else {\r\n this.formData.CellCarrierOrig = field.FieldValue;\r\n this.formData.CellCarrier = field.FieldValue;\r\n this.formData.CellCarrierPending = false;\r\n this.formData.CellCarrierFieldUpdateMode = field.FieldUpdateMode;\r\n }\r\n\r\n this.formData.CellCarrierLabel = field.FieldLabel;\r\n //238277: Remove the error message to be displayed\r\n this.carrierMissingMsg = null;\r\n this.getComboItems(field.FieldID);\r\n }\r\n this.personalInfoLoaded = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n validatePhone() {\r\n if (this.phoneMask != null) {\r\n var stringReplace = \"/[\\D\\s]/gi\";\r\n var maskLength = this.portalSettings.PhoneMask.ConfigValue.replace(stringReplace, '').length;\r\n var origVal = this.formData.CellPhone.replace(stringReplace, '');\r\n\r\n if (origVal.length != 0 && origVal.length < maskLength) {\r\n this.inValidPhone = true;\r\n } else {\r\n this.inValidPhone = false;\r\n }\r\n }\r\n }\r\n\r\n getComboItems(fieldID: any) {\r\n //hardcoded for just cell carriers, but can be modified to do more\r\n this.homeService.getComboItemsByFieldID(fieldID).then((response: any) => {\r\n this.cellCarriers = [];\r\n this.cellCarriers = this.cellCarriers.concat(response);\r\n\r\n if (this.cellCarriers.length == 0) {\r\n this.emptyCarrierList = true;\r\n }\r\n });\r\n }\r\n\r\n confirmClicked() {\r\n this.processing = true;\r\n if (this.allowInfoChange)\r\n this.updateInfo();\r\n else\r\n this.confirmSettings();\r\n }\r\n\r\n updateInfo() {\r\n this.postData = {};\r\n if (((this.allowInfoChange && this.formData.CellPhoneOrig == this.formData.CellPhone && this.formData.EmailOrig == this.formData.Email) || !this.allowInfoChange)\r\n && ((this.showPaperlessCarrier && this.formData.CellCarrierOrig == this.formData.CellCarrier) || !this.showPaperlessCarrier)) {\r\n this.confirmSettings();\r\n }\r\n else {\r\n if (this.allowInfoChange) {\r\n if (this.formData.CellPhoneOrig != this.formData.CellPhone) {\r\n this.postData.CellPhone = this.formData.CellPhone;\r\n }\r\n if (this.formData.EmailOrig != this.formData.Email) {\r\n this.postData.Email = this.formData.Email;\r\n }\r\n }\r\n if (this.showPaperlessCarrier) {\r\n if (this.formData.CellCarrierOrig != this.formData.CellCarrier) {\r\n this.postData.udCellPhoneCarrier = this.formData.CellCarrier;\r\n }\r\n }\r\n this.homeService.personalInfoUpdate(JSON.stringify(this.postData)).then((response: any) => {\r\n if (response.success) {\r\n this.confirmSettings();\r\n }\r\n });\r\n }\r\n }\r\n\r\n confirmSettings() {\r\n var firstRadio = this.formData.ElectronicPaystubConsent == \"1\" ? true : false;\r\n var secondRadio = this.formData.W2DocumentConsent == \"1\" ? true : false;\r\n var thirdRadio = this.formData.C1095DocumentConsent == \"1\" ? true : false;\r\n this.homeService.setDocConsent(this.formData.CellPhone, this.formData.Email, firstRadio, secondRadio, thirdRadio, this.formData.optOutSMS).then((response: any) => {\r\n if (response.success) {\r\n this.userAction = \"confirm\";\r\n this.activeModal.close();\r\n }\r\n }).catch((error: any) => {\r\n this.processing = false;\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n\r\n updateCellPhone(data: string) {\r\n this.formData.CellPhone = data;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\n@Component({\n selector: 'app-password-warning-modal',\n templateUrl: './password-warning-modal.component.html',\n styleUrls: ['./password-warning-modal.component.css']\n})\nexport class PasswordWarningModalComponent {\n\n constructor(private router: Router, public activeModal: NgbActiveModal ) { }\n\n changePassword() {\n this.activeModal.close();\n this.router.navigate([\"/account/changeaccountpassword\"], { queryParams: {}, fragment: \"/UA=F/Reset=T\"});\n }\n}\n","
\r\n

Expired Password Warning

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ngfModule } from 'angular-file';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { NgxSignaturepadModule } from 'ngx-signaturepad2';\r\nimport { QuillModule } from 'ngx-quill';\r\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { NgxCurrencyModule } from 'ngx-currency';\r\nimport { ImageCropperModule } from 'ngx-image-cropper';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport {\r\n PdfViewerModule, LinkAnnotationService, BookmarkViewService,\r\n MagnificationService, ThumbnailViewService, ToolbarService,\r\n NavigationService, TextSearchService, TextSelectionService,\r\n PrintService, FormDesignerService, FormFieldsService, AnnotationService, ValidateFormFieldsArgs\r\n} from '@syncfusion/ej2-angular-pdfviewer';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\n\r\n//Modal Component\r\nimport { AddAttachmentChecklistTemplateModalComponent } from './shared/add-attachment-checklist-template-modal/add-attachment-checklist-template-modal.component';\r\nimport { AddAttachmentModalComponent } from './shared/add-attachment-modal/add-attachment-modal.component';\r\nimport { AddressConfirmationModalComponent } from './employee/personal-info/address-confirmation-modal/address-confirmation-modal.component';\r\nimport { AdvanceItemModalComponent } from './checklist/manage-template/advance-item-modal/advance-item-modal.component';\r\nimport { CancelHolidayModalComponent } from './timeoff/cancel-holiday-modal/cancel-holiday-modal.component';\r\nimport { ChecklistItemClickSignModalComponent } from './shared/checklist-item-click-sign-modal/checklist-item-click-sign-modal.component';\r\nimport { ClockinJobModalComponent } from './home/clockin-job-modal/clockin-job-modal.component';\r\nimport { ClockoutModalComponent } from './home/clockout-modal/clockout-modal.component';\r\nimport { CreateNewChecklistModalComponent } from './checklist/create-new-checklist-modal/create-new-checklist-modal.component';\r\nimport { CreateNewTemplateModalComponent } from './checklist/templates/create-new-template-modal/create-new-template-modal.component';\r\nimport { DeleteBulletinModalComponent } from './admin/delete-bulletin-modal/delete-bulletin-modal.component';\r\nimport { DeleteOnboardEmployeeModalComponent } from './hiring/delete-onboard-employee-modal/delete-onboard-employee-modal.component';\r\nimport { DeleteResetOnboardTaskModalComponent } from './hiring/delete-reset-onboard-task-modal/delete-reset-onboard-task-modal.component';\r\nimport { DeleteUserGroupMembersModalComponent } from './admin/delete-user-group-members-modal/delete-user-group-members-modal.component';\r\nimport { DistributeChecklistsModalComponent } from './checklist/distribute-checklists-modal/distribute-checklists-modal.component';\r\nimport { DownloadAttachmentModalComponent } from './employee/benefit/download-attachment-modal/download-attachment-modal.component';\r\nimport { EditDependentModalComponent } from './employee/edit-dependent-modal/edit-dependent-modal.component';\r\nimport { EditExpenseModalComponent } from './employee/expense/edit-expense-modal/edit-expense-modal.component';\r\nimport { EditLongPromptModalComponent } from './shared/edit-long-prompt-modal/edit-long-prompt-modal.component';\r\nimport { EditPersonalModalComponent } from './careers/edit-personal-modal/edit-personal-modal.component';\r\nimport { EnableChecklistWorkflowModalComponent } from './checklist/manage-template/enable-checklist-workflow-modal/enable-checklist-workflow-modal.component';\r\nimport { FinalizeSubmitedModalComponent } from './employee/benefit/finalize-submited-modal/finalize-submited-modal.component';\r\nimport { FinalizeSubmitSignModalComponent } from './employee/benefit/finalize-submit-sign-modal/finalize-submit-sign-modal.component';\r\nimport { FloatingModalComponent } from './timeoff/floating-modal/floating-modal.component';\r\nimport { I9GenModalComponent } from './hiring/i9-gen-modal/i9-gen-modal.component';\r\nimport { InitializedAttachModalComponent } from './hiring/initialized-attach-modal/initialized-attach-modal.component';\r\nimport { InitializeModalComponent } from './performance/initialize-modal/initialize-modal.component';\r\nimport { NoteDetailActionModalComponent } from './hiring/note-detail-action-modal/note-detail-action-modal.component';\r\nimport { NoteModalComponent } from './shared/note-modal/note-modal.component';\r\nimport { OnboardingInvitationModalComponent } from './hiring/onboarding-invitation-modal/onboarding-invitation-modal.component';\r\nimport { OnboardInitModalComponent } from './hiring/onboard-init-modal/onboard-init-modal.component';\r\nimport { OnboardSubmittedModalComponent } from './careers/onboard-submitted-modal/onboard-submitted-modal.component';\r\nimport { PaperlessModalComponent } from './home/paperless-modal/paperless-modal.component';\r\nimport { PasswordWarningModalComponent } from './home/password-warning-modal/password-warning-modal.component';\r\nimport { RegisterTrainingPastClassesAttachmentModalComponent } from './employee/training/register-training-past-classes-attachment-modal/register-training-past-classes-attachment-modal.component';\r\nimport { RejectAllBenefitsModalComponent } from './employee/benefit/reject-all-benefits-modal/reject-all-benefits-modal.component';\r\nimport { RemoveClassModalComponent } from './employee/training/remove-class-modal/remove-class-modal.component';\r\nimport { ReviewCashoutRequestModalComponent } from './timeoff/review-cashout-request-modal/review-cashout-request-modal.component';\r\nimport { ReviewDDModalComponent } from './hiring/review-ddmodal/review-ddmodal.component';\r\nimport { ReviewECModalComponent } from './hiring/review-ecmodal/review-ecmodal.component';\r\nimport { ReviewI9ModalComponent } from './hiring/review-i9-modal/review-i9-modal.component';\r\nimport { ReviewIdenModalComponent } from './hiring/review-iden-modal/review-iden-modal.component';\r\nimport { ReviewOnboardingModalComponent } from './hiring/review-onboarding-modal/review-onboarding-modal.component';\r\nimport { ReviewTimeoffRequestModalComponent } from './timeoff/review-timeoff-request-modal/review-timeoff-request-modal.component';\r\nimport { ReviewW4ModalComponent } from './hiring/review-w4-modal/review-w4-modal.component';\r\nimport { SendBulletinEmailModalComponent } from './admin/send-bulletin-email-modal/send-bulletin-email-modal.component';\r\nimport { SubmitChecklistSignModalComponent } from './shared/submit-checklist-sign-modal/submit-checklist-sign-modal.component';\r\nimport { TimeoutModalComponent } from './shared/timeout-modal/timeout-modal.component';\r\nimport { TrainingBulkUpdateModalComponent } from './employee/training/training-bulk-update-modal/training-bulk-update-modal.component';\r\nimport { UpdateBenefitsModalComponent } from './employee/benefit/update-benefits-modal/update-benefits-modal.component';\r\nimport { UpdateDependentAddressModalComponent } from './employee/personal-info/update-dependent-address-modal/update-dependent-address-modal.component';\r\nimport { UserGroupModalComponent } from './shared/user-group-modal/user-group-modal.component';\r\nimport { ViewChecklistWorkflowModalComponent } from './checklist/view-checklist-workflow-modal/view-checklist-workflow-modal.component';\r\nimport { ViewCompanyHolidayModalComponent } from './timeoff/view-company-holiday-modal/view-company-holiday-modal.component';\r\nimport { ViewDetailModalComponent } from './employee/training/view-detail-modal/view-detail-modal.component';\r\nimport { ViewEditReviewerModalComponent } from './performance/view-edit-reviewer-modal/view-edit-reviewer-modal.component';\r\nimport { ViewGroupTimeoffModalComponent } from './timeoff/view-group-timeoff-modal/view-group-timeoff-modal.component';\r\nimport { ViewReportHistoryModalComponent } from './employee/benefit/view-report-history-modal/view-report-history-modal.component';\r\nimport { LookupModalComponent } from './office/lookup-modal/lookup-modal.component';\r\nimport { NamedLoginSetupModalComponent } from './admin/named-login-setup-modal/named-login-setup-modal.component';\r\n\r\n//shared Modal imports\r\nimport { AlertModalComponent } from './shared/alert-modal/alert-modal.component';\r\nimport { ErrorModalComponent } from './shared/error-modal/error-modal.component';\r\nimport { WarningModalComponent } from './shared/warning-modal/warning-modal.component';\r\nimport { ManageCatModalComponent } from './admin/expense-dashboard/manage-cat-modal/manage-cat-modal.component';\r\nimport { ManageMileageRateModalComponent } from './admin/expense-dashboard/manage-mileage-rate-modal/manage-mileage-rate-modal.component';\r\nimport { ReProcessExpenseModalComponent } from './admin/expense-dashboard/re-process-expense-modal/re-process-expense-modal.component';\r\nimport { EditVendorModalComponent } from './admin/expense-dashboard/edit-vendor-modal/edit-vendor-modal.component';\r\nimport { SendReminderExpenseModalComponent } from './admin/expense-dashboard/send-reminder-expense-modal/send-reminder-expense-modal.component';\r\nimport { ProcessExpenseModalComponent } from './admin/expense-dashboard/process-expense-modal/process-expense-modal.component';\r\nimport { ExpenseApprovalModalComponent } from './admin/expense-dashboard/expense-approval-modal/expense-approval-modal.component';\r\nimport { ExcelExportComponent } from './office/excel-export/excel-export.component';\r\nimport { ViewAttachmentComponent } from './report-gateway/view-attachment/view-attachment.component';\r\nimport { TextEditModalComponent } from './shared/text-edit-modal/text-edit-modal.component';\r\nimport { ClockInModalComponent } from './sm/clock-in-modal/clock-in-modal.component';\r\nimport { ViewImageModalComponent } from './shared/view-image-modal/view-image-modal.component';\r\nimport { CompleteTripModalComponent } from './sm/complete-trip-modal/complete-trip-modal.component';\r\nimport { ClockOutModalComponent } from './sm/clock-out-modal/clock-out-modal.component';\r\nimport { CloseOutModalComponent } from './sm/close-out-modal/close-out-modal.component';\r\nimport { TextDisplayModalComponent } from './shared/text-display-modal/text-display-modal.component';\r\nimport { ActualEquipmentModalComponent } from './equipment/actual-equipment-modal/actual-equipment-modal.component';\r\nimport { OverrideModalComponent } from './admin/manage-employee-groups/override-modal/override-modal.component';\r\nimport { PreviewUserMembershipModalComponent } from './admin/manage-employee-groups/preview-user-membership-modal/preview-user-membership-modal.component';\r\nimport { ListViewModalComponent } from './shared/list-view-modal/list-view-modal.component';\r\nimport { ContactListModalComponent } from './sm/contact-list-modal/contact-list-modal.component';\r\nimport { NewServiceItemModalComponent } from './sm/new-service-item-modal/new-service-item-modal.component';\r\nimport { ServiceListModalComponent } from './sm/service-list-modal/service-list-modal.component';\r\nimport { NewWorkOrderModalComponent } from './sm/new-work-order-modal/new-work-order-modal.component';\r\nimport { EditScheduledDateModalComponent } from './sm/edit-scheduled-date-modal/edit-scheduled-date-modal.component';\r\nimport { AttachmentDetailsModalComponent } from './sm/attachment-details-modal/attachment-details-modal.component';\r\nimport { ConfirmationModalComponent } from './sm/confirmation-modal/confirmation-modal.component';\r\nimport { ResetApprovalModalComponent } from './admin/expense-dashboard/reset-approval-modal/reset-approval-modal.component';\r\nimport { DropdownSelectModalComponent } from './shared/dropdown-select-modal/dropdown-select-modal.component';\r\nimport { AcknowledgeModalComponent } from './shared/acknowledge-modal/acknowledge-modal.component';\r\nimport { ConfirmModalComponent } from './shared/confirm-modal/confirm-modal.component';\r\nimport { NumberInputModalComponent } from './shared/number-input-modal/number-input-modal.component';\r\nimport { SearchSelectModalComponent } from './shared/search-select-modal/search-select-modal.component';\r\nimport { PaperlessSettingsModalComponent } from './admin/paperless-settings-modal/paperless-settings-modal.component';\r\nimport { WebixDatatablecomponent } from '../shared/component/time-off-grid/webix-datatable.component';\r\nimport { AddFieldTicketDayComponent } from './field/FieldTickets/add-field-ticket-day/add-field-ticket-day.component';\r\nimport { LoginOnboardCoPickModalComponent } from './account/login-onboard-co-pick-modal/login-onboard-co-pick-modal.component';\r\nimport { ViewExpenseAttachmentModalComponent } from './shared/view-expense-attachment-modal/view-expense-attachment-modal.component';\r\nimport { RejectLineModalComponent } from './approval/JobApproval/reject-line-modal/reject-line-modal.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AddAttachmentChecklistTemplateModalComponent,\r\n AddAttachmentModalComponent,\r\n AddressConfirmationModalComponent,\r\n AdvanceItemModalComponent,\r\n AlertModalComponent,\r\n CancelHolidayModalComponent,\r\n ChecklistItemClickSignModalComponent,\r\n ClockinJobModalComponent,\r\n ClockoutModalComponent,\r\n CreateNewChecklistModalComponent,\r\n CreateNewTemplateModalComponent,\r\n DeleteBulletinModalComponent,\r\n DeleteOnboardEmployeeModalComponent,\r\n DeleteResetOnboardTaskModalComponent,\r\n DeleteUserGroupMembersModalComponent,\r\n DistributeChecklistsModalComponent,\r\n DownloadAttachmentModalComponent,\r\n EditDependentModalComponent,\r\n EditExpenseModalComponent,\r\n EditLongPromptModalComponent,\r\n EditPersonalModalComponent,\r\n EnableChecklistWorkflowModalComponent,\r\n ErrorModalComponent,\r\n FinalizeSubmitedModalComponent,\r\n FinalizeSubmitSignModalComponent,\r\n FloatingModalComponent,\r\n I9GenModalComponent,\r\n InitializedAttachModalComponent,\r\n InitializeModalComponent,\r\n NoteDetailActionModalComponent,\r\n NoteModalComponent,\r\n OnboardingInvitationModalComponent,\r\n OnboardInitModalComponent,\r\n OnboardSubmittedModalComponent,\r\n PaperlessModalComponent,\r\n PasswordWarningModalComponent,\r\n RegisterTrainingPastClassesAttachmentModalComponent,\r\n RejectAllBenefitsModalComponent,\r\n RemoveClassModalComponent,\r\n ReviewCashoutRequestModalComponent,\r\n ReviewDDModalComponent,\r\n ReviewECModalComponent,\r\n ReviewI9ModalComponent,\r\n ReviewIdenModalComponent,\r\n ReviewOnboardingModalComponent,\r\n ReviewTimeoffRequestModalComponent,\r\n ReviewW4ModalComponent,\r\n SendBulletinEmailModalComponent,\r\n SubmitChecklistSignModalComponent,\r\n TimeoutModalComponent,\r\n TrainingBulkUpdateModalComponent,\r\n UpdateBenefitsModalComponent,\r\n UpdateDependentAddressModalComponent,\r\n UserGroupModalComponent,\r\n ViewChecklistWorkflowModalComponent,\r\n ViewCompanyHolidayModalComponent,\r\n ViewDetailModalComponent,\r\n ViewEditReviewerModalComponent,\r\n ViewGroupTimeoffModalComponent,\r\n ViewReportHistoryModalComponent,\r\n WarningModalComponent,\r\n ManageCatModalComponent,\r\n ManageMileageRateModalComponent,\r\n ReProcessExpenseModalComponent,\r\n EditVendorModalComponent,\r\n SendReminderExpenseModalComponent,\r\n ProcessExpenseModalComponent,\r\n ExpenseApprovalModalComponent,\r\n LookupModalComponent,\r\n ExcelExportComponent,\r\n ViewAttachmentComponent,\r\n TextEditModalComponent,\r\n ClockInModalComponent,\r\n ViewImageModalComponent,\r\n CompleteTripModalComponent,\r\n ClockOutModalComponent,\r\n CloseOutModalComponent,\r\n TextDisplayModalComponent,\r\n ViewAttachmentComponent,\r\n ActualEquipmentModalComponent,\r\n ListViewModalComponent,\r\n ContactListModalComponent,\r\n NewServiceItemModalComponent,\r\n ServiceListModalComponent,\r\n NewWorkOrderModalComponent,\r\n EditScheduledDateModalComponent,\r\n AttachmentDetailsModalComponent,\r\n ConfirmationModalComponent,\r\n OverrideModalComponent,\r\n PreviewUserMembershipModalComponent,\r\n ResetApprovalModalComponent,\r\n PreviewUserMembershipModalComponent,\r\n DropdownSelectModalComponent,\r\n AcknowledgeModalComponent,\r\n ConfirmModalComponent,\r\n NumberInputModalComponent,\r\n NamedLoginSetupModalComponent,\r\n SearchSelectModalComponent,\r\n PaperlessSettingsModalComponent,\r\n AddFieldTicketDayComponent,\r\n LoginOnboardCoPickModalComponent,\r\n ViewExpenseAttachmentModalComponent,\r\n RejectLineModalComponent,\r\n ActualEquipmentModalComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgSelectModule,\r\n FormsModule,\r\n SharedModule,\r\n ngfModule,\r\n NgbModule,\r\n BsDatepickerModule,\r\n NgxSignaturepadModule,\r\n QuillModule,\r\n PaginationModule,\r\n NgxCurrencyModule,\r\n ImageCropperModule,\r\n PdfViewerModule,\r\n DragDropModule,\r\n TimepickerModule\r\n ],\r\n exports: [\r\n AddAttachmentChecklistTemplateModalComponent,\r\n AddAttachmentModalComponent,\r\n AddressConfirmationModalComponent,\r\n AdvanceItemModalComponent,\r\n AlertModalComponent,\r\n CancelHolidayModalComponent,\r\n ChecklistItemClickSignModalComponent,\r\n ClockinJobModalComponent,\r\n ClockoutModalComponent,\r\n CreateNewChecklistModalComponent,\r\n CreateNewTemplateModalComponent,\r\n DeleteBulletinModalComponent,\r\n DeleteOnboardEmployeeModalComponent,\r\n DeleteResetOnboardTaskModalComponent,\r\n DeleteUserGroupMembersModalComponent,\r\n DistributeChecklistsModalComponent,\r\n DownloadAttachmentModalComponent,\r\n EditDependentModalComponent,\r\n EditExpenseModalComponent,\r\n EditLongPromptModalComponent,\r\n EnableChecklistWorkflowModalComponent,\r\n ErrorModalComponent,\r\n FinalizeSubmitedModalComponent,\r\n FinalizeSubmitSignModalComponent,\r\n FloatingModalComponent,\r\n I9GenModalComponent,\r\n InitializedAttachModalComponent,\r\n InitializeModalComponent,\r\n NoteDetailActionModalComponent,\r\n NoteModalComponent,\r\n OnboardingInvitationModalComponent,\r\n OnboardInitModalComponent,\r\n PaperlessModalComponent,\r\n PasswordWarningModalComponent,\r\n RegisterTrainingPastClassesAttachmentModalComponent,\r\n RejectAllBenefitsModalComponent,\r\n RemoveClassModalComponent,\r\n ReviewCashoutRequestModalComponent,\r\n ReviewDDModalComponent,\r\n ReviewECModalComponent,\r\n ReviewI9ModalComponent,\r\n ReviewIdenModalComponent,\r\n ReviewOnboardingModalComponent,\r\n ReviewTimeoffRequestModalComponent,\r\n ReviewW4ModalComponent,\r\n SendBulletinEmailModalComponent,\r\n SubmitChecklistSignModalComponent,\r\n TimeoutModalComponent,\r\n TrainingBulkUpdateModalComponent,\r\n UpdateBenefitsModalComponent,\r\n UpdateDependentAddressModalComponent,\r\n UserGroupModalComponent,\r\n ViewChecklistWorkflowModalComponent,\r\n ViewCompanyHolidayModalComponent,\r\n ViewDetailModalComponent,\r\n ViewEditReviewerModalComponent,\r\n ViewGroupTimeoffModalComponent,\r\n ViewReportHistoryModalComponent,\r\n WarningModalComponent,\r\n ManageCatModalComponent,\r\n ManageMileageRateModalComponent,\r\n ReProcessExpenseModalComponent,\r\n EditVendorModalComponent,\r\n SendReminderExpenseModalComponent,\r\n ProcessExpenseModalComponent,\r\n ExpenseApprovalModalComponent,\r\n LookupModalComponent,\r\n WebixDatatablecomponent,\r\n LookupModalComponent,\r\n DropdownSelectModalComponent,\r\n NamedLoginSetupModalComponent,\r\n PaperlessSettingsModalComponent\r\n ],\r\n providers: [LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, AnnotationService,\r\n TextSearchService, TextSelectionService, PrintService, FormDesignerService, FormFieldsService]\r\n})\r\nexport class ModalsModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-excel-export',\r\n templateUrl: './excel-export.component.html',\r\n styleUrls: ['./excel-export.component.css']\r\n})\r\nexport class ExcelExportComponent implements OnInit {\r\n @Input() formName: string\r\n @Input() formTitle: string \r\n filename: string\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.filename = this.formName;\r\n }\r\n\r\n export() {\r\n this.activeModal.close(this.filename);\r\n }\r\n\r\n closeModal() {\r\n this.activeModal.close(null);\r\n }\r\n}\r\n","
\r\n

Export {{formTitle}}

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

What would you like to name the file?

\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LookupModalService } from './services/lookup-modal.service';\r\nimport { OrderByPipe } from 'src/app/shared/pipe/order-by.pipe';\r\n\r\n@Component({\r\n selector: 'app-lookup-modal',\r\n templateUrl: './lookup-modal.component.html',\r\n styleUrls: ['./lookup-modal.component.css']\r\n})\r\n\r\nexport class LookupModalComponent implements OnInit {\r\n orderByPipe: OrderByPipe;\r\n rowOrderValue: string;\r\n filterValue: string | null;\r\n selectedLookupCategory: string;\r\n reverseSortOrder: boolean | null;\r\n retrievingLookups: boolean;\r\n columnHeaders: string[];\r\n lookupRows: object[];\r\n filteredRows: object[];\r\n pageRows: object[];\r\n selectedRow: object | null;\r\n paginationData: {\r\n maxItemsPerPage: number;\r\n maxPageCountDisplay: number;\r\n totalItemCount: number;\r\n currentPage: number;\r\n }\r\n @Input() lookupParams: {\r\n co: number;\r\n form: string;\r\n seq: number;\r\n lookup: string;\r\n formData: string;\r\n showAllColumns: boolean;\r\n searchString: string;\r\n };\r\n @Input() availableLookups: {\r\n LoadSeq: number,\r\n Lookup: string,\r\n Title: string\r\n }[];\r\n @Input() modalTitle: string;\r\n\r\n constructor(\r\n private lookupService: LookupModalService,\r\n private ngbActiveModal: NgbActiveModal\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.orderByPipe = new OrderByPipe();\r\n this.rowOrderValue = \"\";\r\n this.filterValue = null;\r\n this.reverseSortOrder = null;\r\n this.retrievingLookups = false;\r\n this.columnHeaders = [];\r\n this.lookupRows = [];\r\n this.filteredRows = [];\r\n this.pageRows = [];\r\n this.selectedRow = null;\r\n this.paginationData = {\r\n maxItemsPerPage: 10,\r\n maxPageCountDisplay: 10,\r\n totalItemCount: 0,\r\n currentPage: 1\r\n }\r\n this.setLookupCategory();\r\n this.getLookupList();\r\n }\r\n\r\n setLookupCategory() {\r\n if (this.availableLookups.length > 1) {\r\n this.availableLookups.sort((a, b) => a.LoadSeq - b.LoadSeq);\r\n this.selectedLookupCategory = this.availableLookups[0].Lookup;\r\n } else {\r\n this.selectedLookupCategory = this.lookupParams.lookup;\r\n }\r\n }\r\n\r\n async getLookupList() {\r\n this.retrievingLookups = true;\r\n try {\r\n let response: any = await this.lookupService.getLookup(this.lookupParams);\r\n this.columnHeaders = Object.keys(response[0]);\r\n this.lookupRows = response;\r\n this.filteredRows = this.lookupRows;\r\n this.paginationData.totalItemCount = this.filteredRows.length;\r\n this.updatePageRows(this.paginationData.currentPage);\r\n }\r\n finally {\r\n this.retrievingLookups = false;\r\n }\r\n }\r\n\r\n closeLookupModal() {\r\n this.ngbActiveModal.close(this.selectedRow);\r\n }\r\n\r\n orderTableByValue(orderValue: string) {\r\n if (this.rowOrderValue === orderValue) {\r\n this.reverseSortOrder = !this.reverseSortOrder;\r\n } else {\r\n this.rowOrderValue = orderValue;\r\n }\r\n this.filteredRows = this.orderByPipe.transform(\r\n this.filteredRows, [orderValue], this.reverseSortOrder ? \"desc\" : \"asc\"\r\n );\r\n this.updatePageRows(this.paginationData.currentPage);\r\n }\r\n\r\n filterLookupTable() {\r\n this.filteredRows = this.lookupRows.filter((row) => this.rowContainsSubstring(row));\r\n this.paginationData.totalItemCount = this.filteredRows.length;\r\n this.updatePageRows(this.paginationData.currentPage);\r\n }\r\n\r\n rowContainsSubstring(row: object) {\r\n let rowContainsSubstring = false;\r\n this.columnHeaders.forEach((key) => {\r\n if (row[key] != null && row[key].toString().toLowerCase().includes(this.filterValue.toLowerCase())) {\r\n rowContainsSubstring = true;\r\n return;\r\n }\r\n });\r\n return rowContainsSubstring;\r\n }\r\n\r\n selectRow(row: object) {\r\n this.selectedRow = row;\r\n this.closeLookupModal();\r\n }\r\n\r\n async triggerLookup() {\r\n if (this.selectedLookupCategory != null) {\r\n this.lookupParams.lookup = this.selectedLookupCategory;\r\n this.filteredRows = [];\r\n this.pageRows = [];\r\n await this.getLookupList();\r\n }\r\n }\r\n\r\n updatePageRows(selectedPage: number) {\r\n const begin = ((selectedPage - 1) * this.paginationData.maxItemsPerPage);\r\n const end = begin + this.paginationData.maxItemsPerPage;\r\n this.pageRows = this.filteredRows.slice(begin, end);\r\n }\r\n}\r\n","
\r\n

{{ modalTitle}} Lookup

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \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 {{ row[key] }}\r\n
\r\n
\r\n No items available\r\n
\r\n \r\n
\r\n\r\n\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LookupModalService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getLookup(params: object) {\r\n return this.http.post(\"/Office/getLookup\", params).toPromise();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { PerformanceService } from '../../../pages/performance/services/performance.service';\n\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\nimport { OrderByPipe } from './../../../shared/pipe/order-by.pipe';\n\n@Component({\n selector: 'app-initialize-modal',\n templateUrl: './initialize-modal.component.html',\n styleUrls: ['./initialize-modal.component.css']\n})\nexport class InitializeModalComponent implements OnInit {\n\n format: string;\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean; adaptivePosition: boolean };\n formData: { [key: string]: any } = {};\n count: number = 0;\n templateList: any[] = [];\n orderByPipe: any;\n emplData: any[] = [];\r\n filterEmplList: any[] = [];\r\n\n constructor(private utilityService: UtilityService, public activeModal: NgbActiveModal, private performanceService: PerformanceService) { }\n\n ngOnInit(): void {\n this.format = this.utilityService.getDateFormat();\n this.orderByPipe = new OrderByPipe();\n this.datePickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false, adaptivePosition: true };\n this.formData.selectedAll = false;\n this.formData.dueDate = new Date(new Date().setDate(new Date().getDate() + 30))\n this.formData.disableSelfReview = false;\n this.formData.selectedManTemplate = null;\n this.getTemplate();\n }\n\n getTemplate() {\n this.performanceService.getTemplateCategories(-2).then((response: any[]) => {\n if (response != null) {\n this.templateList = [];\n response.forEach((val: any) => {\n if (val.ChecklistTemplateIsActive) {\n this.templateList.push(val);\r\n }\n })\r\n }\n });\n }\n\n getEmpl() {\n this.formData.selectedManTemplate = this.formData.selectedEmpTemplate;\n this.performanceService.getEmplByChecklistTemplateID(this.formData.selectedEmpTemplate).then((response: any[]) => {\n if (response != null) {\n this.emplData = response;\n this.emplData = this.orderByPipe.transform(response, \"EmployeeName\", \"asc\");\n this.filterEmplList = this.emplData;\n this.selectAll();\n }\n });\n }\n\n selectEmployee(data: any) {\n data.selected = !data.selected;\n this.count = 0;\n var errorCount = 0;\n this.emplData.forEach((val: any) => {\n if (val.selected) {\n this.count++;\r\n }\n else {\n this.formData.selectedAll = false;\n errorCount++;\n }\n });\n if (errorCount == 0) {\n this.formData.selectedAll = true;\r\n }\n }\n\n selectAll() {\n this.count = 0;\n if (this.formData.selectedAll) {\n this.emplData.forEach((val: any) => {\n val.selected = true;\n this.count++;\n });\n } else {\n this.emplData.forEach((val) => {\n val.selected = false;\n });\n }\n }\n\n filterList() {\n this.filterEmplList = [];\n this.emplData.forEach((val: any) => {\n if (this.formData.searchText != null && this.formData.searchText != \"\") {\n if ((val.EmployeeName != null ? val.EmployeeName.toLowerCase().indexOf(this.formData.searchText.toLowerCase()) > -1 : false) ||\n (val.Employee != null ? val.Employee.toString().toLowerCase().indexOf(this.formData.searchText.toLowerCase()) > -1 : false)) {\n this.filterEmplList.push(val);\n }\n } else {\n this.filterEmplList.push(val);\n }\n });\n }\n\n initializeClicked() {\n var emplString = \"\";\n this.emplData.forEach((val: any) => {\n if (val.selected) {\n emplString += val.UserKeyID + \",\"\r\n }\n });\n this.formData.initializing = true;\n var requestObj = {\r\n userKeyIDString: emplString, dateDueStr: moment(this.formData.dueDate).format(\"YYYY-MM-DD\"), employeeChecklistTemplateID: this.formData.selectedEmpTemplate, managerChecklistTemplateID: this.formData.selectedManTemplate, disableSelfReview: this.formData.disableSelfReview\n }\n this.performanceService.initializePerformanceInstance(requestObj).then((response: any) => {\n this.formData.initializing = false;\n this.activeModal.close();\n });\n }\n\n cancelClicked() {\n this.activeModal.dismiss();\n }\n\n}\n","
\r\n

Initialize Reviews

\r\n
\r\n
\r\n
\r\n \r\n Disable Employee Self Review\r\n
\r\n
\r\n \r\n \r\n \r\n {{data.ChecklistTemplateName}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{data.ChecklistTemplateName}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Select All - {{count}} employees selected\r\n
\r\n \r\n \r\n
\r\n
    \r\n
  • PRCo {{data.PRCo}} - {{data.Employee}} - {{data.EmployeeName}}
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\n\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { PerformanceService } from '../../../pages/performance/services/performance.service';\r\n\r\n@Component({\r\n selector: 'app-view-edit-reviewer-modal',\r\n templateUrl: './view-edit-reviewer-modal.component.html',\r\n styleUrls: ['./view-edit-reviewer-modal.component.css']\r\n})\r\nexport class ViewEditReviewerModalComponent implements OnInit {\r\n @Input() data: any;\r\n format: string;\r\n formData: { [key: string]: any } = {}\r\n reviewerAddList: any[] = [];\r\n exist: boolean = false;\r\n reviewerList: any[] = [];\r\n lastSave: { [key: string]: any } = {}\r\n unsubmit: boolean = false;\r\n\r\n constructor(public activeModal: NgbActiveModal, private utilityService: UtilityService, private performanceService: PerformanceService) {\r\n this.format = this.utilityService.getDateFormat().toUpperCase();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getReviewerList();\r\n this.getAttendees();\r\n }\r\n\r\n getAttendees() {\r\n this.performanceService.getAttendees().then((response: any) => {\r\n if (response != null) {\r\n this.reviewerAddList = response;\r\n this.reviewerAddList.forEach((key: any, value: any) => {\r\n if (value != null && value.KeyID == this.data.UserKeyID) {\r\n this.reviewerAddList.splice(key, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkExisting() {\r\n this.exist = false;\r\n this.reviewerList.forEach((val: any) => {\r\n if (this.formData.selectedReviewer == val.UserKeyID) {\r\n this.exist = true;\r\n }\r\n });\r\n }\r\n\r\n getReviewerList() {\r\n this.performanceService.getReviewersByInstance(this.data.PerformanceInstanceID).then((response: any) => {\r\n if (response != null) {\r\n this.reviewerList = response;\r\n this.reviewerList.forEach((value: any) => {\r\n if (value.DateSubmitted != null) {\r\n value.DateSubmittedDisplay = moment(value.DateSubmitted).utc().format(this.format);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n addNewReviewer() {\r\n this.performanceService.reviewerAdd(this.data.PerformanceInstanceID, this.formData.selectedReviewer).then((response: any) => {\r\n if (response != null) {\r\n this.fadeLabel(response.success);\r\n if (response.success) {\r\n this.formData.selectedReviewer = null;\r\n this.getReviewerList();\r\n }\r\n }\r\n });\r\n }\r\n\r\n unsubmitReviewer(rowData: any) {\r\n this.performanceService.unsubmitReview(rowData.PerformanceInstanceID, rowData.PerformanceReviewerID).then((response: any) => {\r\n if (response != null) {\r\n this.fadeLabel(response.success);\r\n if (response.success) {\r\n this.getReviewerList();\r\n this.unsubmit = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n removeReviewer(rowData: any) {\r\n this.performanceService.reviewerDelete(rowData.PerformanceInstanceID, rowData.PerformanceReviewerID).then((response: any) => {\r\n if (response != null) {\r\n this.fadeLabel(response.success);\r\n if (response.success) {\r\n this.reviewerList.forEach((val: any, key: any) => {\r\n if (val.UserKeyID == rowData.UserKeyID) {\r\n this.reviewerList.splice(key, 1);\r\n }\r\n });\r\n if (this.formData.selectedReviewer != null) {\r\n this.checkExisting();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close(this.unsubmit);\r\n }\r\n\r\n fadeLabel(status: any) {\r\n this.formData.labelFade = false;\r\n this.lastSave = this.utilityService.fadeLabel(status);\r\n setTimeout(() => {\r\n this.formData.labelFade = true;\r\n }, 2000);\r\n }\r\n\r\n}\r\n","
\r\n

Performance Reviewers: {{data.EmployeeName}} {{data.ReviewTemplateName}}

\r\n
\r\n
\r\n
\r\n Save Successful - {{lastSave.time}}\r\n Save Fail - {{lastSave.time}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{data.FullName}}\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
ReviewerEmailDate Review CompletedLinkScore
{{data.ReviewerFullName}}{{data.Email}}{{data.DateSubmittedDisplay}}View{{data.ReviewerScore}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { HttpClient, HttpEvent, HttpEventType, HttpRequest } from '@angular/common/http';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ReportGatewayService } from '../../../pages/report-gateway/services/report-gateway.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\nimport {\r\n PdfViewerComponent, LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, SignatureFieldSettings,\r\n AnnotationService, TextSearchService, TextSelectionService,\r\n PrintService, FormDesignerService, FormFieldsService, ValidateFormFieldsArgs\r\n} from '@syncfusion/ej2-angular-pdfviewer';\r\n\r\n@Component({\r\n selector: 'app-view-attachment',\r\n templateUrl: './view-attachment.component.html',\r\n styleUrls: ['./view-attachment.component.css'],\r\n providers: [LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, SignatureFieldSettings,\r\n AnnotationService, TextSearchService, TextSelectionService,\r\n PrintService, FormDesignerService, FormFieldsService]\r\n})\r\nexport class ViewAttachmentComponent {\r\n @Input() attachmentId: string;\r\n @Input() rid: string;\r\n @Input() rsid: string;\r\n public pdfviewerControl: PdfViewerComponent;\r\n showViewer: boolean = false;\r\n alert: any;\r\n fileName: string;\r\n service: any;\r\n mobileMode: boolean = false;\r\n pdfResource: any;\r\n constructor(public activeModal: NgbActiveModal, public HttpClient: HttpClient, private modalService: NgbModal, private reportGatewayService: ReportGatewayService, private utilityService: UtilityService) {\r\n this.mobileMode = utilityService.isMobileMode();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.service = \"/Api/PdfViewer\";\r\n this.pdfResource = window.location.origin + \"/dist/assets/ej2-pdfviewer-lib\";\r\n this.reportGatewayService.getVistaAttachment(this.attachmentId, this.rid, this.rsid).then((response: any) => {\r\n if (!response.IsError) {\r\n this.showViewer = true;\r\n this.fileName = response.FileName;\r\n setTimeout(() => {\r\n var pdfviewer = (document.getElementById('pdfViewerModal')).ej2_instances[0];\r\n setTimeout(() => {\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"SubmitForm\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"OpenOption\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"PrintOption\"), true);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"AnnotationEditTool\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"FormDesignerEditTool\"), false);\r\n if (!this.mobileMode) {\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"CommentTool\"), false);\r\n pdfviewer.toolbar.showToolbarItem(new Array(\"UndoRedoTool\"), false);\r\n }\r\n pdfviewer.documentPath = \"data:application/pdf;base64,\" + (response.FileData);\r\n pdfviewer.downloadFileName = this.fileName;\r\n }, 2000);\r\n }, 1000);\r\n } else {\r\n this.alert = { type: (response.IsError ? \"danger\" : \"warning\"), msg: response.Error };\r\n }\r\n }).catch((error: any) => {\r\n });\r\n }\r\n\r\n public closeClicked() {\r\n this.activeModal.close();\r\n }\r\n\r\n public closeAlert() {\r\n this.alert = null;\r\n }\r\n}\r\n","
\r\n

View Attachment

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n {{fileName}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n\r\n@Component({\r\n selector: 'app-acknowledge-modal',\r\n templateUrl: './acknowledge-modal.component.html',\r\n styleUrls: ['./acknowledge-modal.component.css']\r\n})\r\nexport class AcknowledgeModalComponent {\r\n @Input() headerText: string = 'Acknowledge';\r\n @Input() bodyText: string = '';\r\n @Input() closeButtonText: string = 'Close';\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal\r\n ) { }\r\n\r\n ngOnInit (): void {\r\n }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.close();\r\n }\r\n}","
\r\n

{{ headerText }}

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

{{ bodyText }}

\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { HttpClient, HttpRequest, HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//services\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\n\r\n@Component({\r\n selector: 'app-add-attachment-checklist-template-modal',\r\n templateUrl: './add-attachment-checklist-template-modal.component.html',\r\n styleUrls: ['./add-attachment-checklist-template-modal.component.css']\r\n})\r\nexport class AddAttachmentChecklistTemplateModalComponent implements OnInit {\r\n\r\n\r\n @Input() itemID: number;\r\n @Input() moduleID: number;\r\n @Input() active: boolean;\r\n @Input() status: any;\r\n @Input() mobileMode: boolean;\r\n formData: { [key: string]: any } = {};\r\n newFiles: any[] = [];\r\n savedFiles: any[] = [];\r\n fileData: any[] = [];\r\n alert: any = null;\r\n captionChanged: boolean = false;\r\n validComboDrag: boolean = false;\r\n dragFiles: any;\r\n errorMsg: any;\r\n lastSave: { [key: string]: any } = {};\r\n\r\n constructor(private employeeService: EmployeeService, private utilityService: UtilityService, private hiringService: HiringService, public HttpClient: HttpClient, public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.getAttachmentList();\r\n }\r\n\r\n getAttachmentList() {\r\n var requestParam = \"moduleID=\" + this.moduleID + \"&recordID=\" + this.itemID;\r\n this.employeeService.getFileAttachmentList(requestParam).then((response: any) => {\r\n if (response != null) {\r\n this.savedFiles = response;\r\n this.savedFiles.forEach((val: any) => {\r\n if (val.AttachmentCaption != null)\r\n val.TempAttachmentCaption = val.AttachmentCaption;\r\n });\r\n }\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n\r\n deleteUnsavedAttachment(file: any) {\r\n var index = this.newFiles.indexOf(file);\r\n this.newFiles.splice(index, 1);\r\n }\r\n\r\n deleteSavedAttachment(file: any) {\r\n this.employeeService.removeFileAttachment(file.FileAttachmentID).then((response: any) => {\r\n if (response != null) {\r\n this.captionChanged = false;\r\n if (this.moduleID == 12) {\r\n this.employeeService.updateOnboardTaskComplete(this.itemID).then((result: any) => {\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n this.getAttachmentList();\r\n }\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured.\" };\r\n });\r\n }\r\n\r\n upload() {\r\n var currentUpload = this.formData.fileDrop;\r\n this.formData.fileDrop = [];\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n this.fileUpload(currentUpload[i]);\r\n }\r\n if (this.mobileMode) {\r\n setTimeout(() => {\r\n if (this.newFiles.length > 0) {\r\n $(\"#fileDrop\").css(\"cursor\", \"no-drop\");\r\n }\r\n }, 200);\r\n }\r\n }\r\n\r\n fileUpload(fileDrop: any) {\r\n this.fileData = [];\r\n if (fileDrop != null) {\r\n fileDrop.nameEdit = this.utilityService.formatAttachmentName(fileDrop.name);\r\n this.readFile(fileDrop, (e: any, fileName: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: fileName })\r\n this.fileData.forEach((val: any) => {\r\n if ((fileDrop.size == val.size && val.name == fileDrop.name) && ((this.moduleID == 38 && this.newFiles.length < 2 && (this.newFiles.length + this.savedFiles.length < 2)) || this.moduleID != 38)) {\r\n this.newFiles.push({ File: val.data[1], Filename: fileDrop.nameEdit, Filedata: fileDrop, Type: val.data[0].split(\"/\")[0] });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n checkCaption() {\r\n this.captionChanged = false;\r\n this.savedFiles.forEach((val: any) => {\r\n if (val.TempAttachmentCaption != val.AttachmentCaption) {\r\n this.captionChanged = true;\r\n this.formData.disableButton = false;\r\n }\r\n });\r\n }\r\n\r\n private readFile(file: any, call: any) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n uploadAttachment(counter: number, error: number) {\r\n var currentFile = this.newFiles[counter];\r\n var type = \"file\";\r\n var errMsg = \"\";\r\n if (currentFile.Type == \"data:image\")\r\n type = \"Photo\";\r\n if (currentFile.Progress != 100) {\r\n if (currentFile.File != null && currentFile.Filename != null) {\r\n var temp = currentFile.Type;\r\n var type = \"file\";\r\n if (temp == \"data:image\") {\r\n type = \"Photo\";\r\n }\r\n currentFile.Filedata.upload = new HttpRequest(\r\n \"POST\",\r\n \"/Employee/SaveFileAttachment\",\r\n { moduleID: this.moduleID, recordID: this.itemID, attachmentFileData: currentFile.File, attachmentFileName: currentFile.Filename, attachmentType: type }, { reportProgress: true }\r\n ),\r\n currentFile.Filedata.upload = this.HttpClient.request(currentFile.Filedata.upload).subscribe((event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.UploadProgress:\r\n currentFile.Progress = Math.round(event.loaded / event.total * 100);\r\n if (currentFile.Progress == 100) {\r\n currentFile.AttchDone = true;\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n setTimeout(() => {\r\n currentFile.Filedata.result = event.body;\r\n });\r\n if (event.body.success) {\r\n counter++;\r\n if (counter < this.newFiles.length) {\r\n this.uploadAttachment(counter, error)\r\n }\r\n if (counter == this.newFiles.length) {\r\n this.formData.disableButton = false;\r\n if (error == 0) {\r\n this.newFiles = [];\r\n if (this.captionChanged) {\r\n this.savedFiles.forEach((val: any, key: any) => {\r\n if (val.AttachmentCaption != val.TempAttachmentCaption) {\r\n this.hiringService.fileAttachmentUpdateCaption(val.FileAttachmentID, val.AttachmentCaption).then((response: any) => {\r\n if (response != null) {\r\n this.fadeLabel(response.success);\r\n val.TempAttachmentCaption = val.AttachmentCaption;\r\n this.captionChanged = false;\r\n }\r\n });\r\n }\r\n if (key == this.savedFiles.length - 1) {\r\n this.getAttachmentList();\r\n }\r\n });\r\n } else {\r\n this.getAttachmentList();\r\n }\r\n } else {\r\n this.alert = { type: \"danger\", msg: errMsg + \" failed to save one or more attachments - \" };\r\n }\r\n }\r\n }\r\n else {\r\n error++; counter++;\r\n errMsg += currentFile.Filename + \",\";\r\n this.uploadAttachment(counter, error)\r\n }\r\n }\r\n error => this.errorMsg = error.message\r\n });\r\n }\r\n }\r\n }\r\n\r\n saveClicked() {\r\n this.formData.disableButton = true;\r\n if (this.newFiles.length > 0) {\r\n this.uploadAttachment(0, 0);\r\n } else {\r\n if (this.captionChanged) {\r\n this.savedFiles.forEach((val: any) => {\r\n if (val.AttachmentCaption != val.TempAttachmentCaption) {\r\n this.hiringService.fileAttachmentUpdateCaption(val.FileAttachmentID, val.AttachmentCaption).then((response: any) => {\r\n if (response != null) {\r\n this.fadeLabel(response.success);\r\n val.TempAttachmentCaption = val.AttachmentCaption;\r\n this.captionChanged = false;\r\n this.formData.disableButton = false;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close(\"close\");\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n\r\n fadeLabel(status: any) {\r\n this.formData.labelFade = false;\r\n this.lastSave = this.utilityService.fadeLabel(status);\r\n setTimeout(() => {\r\n this.formData.labelFade = true;\r\n }, 2000);\r\n }\r\n\r\n}\r\n","
\r\n

Add Attachments

\r\n Save Successful - {{lastSave.time}}\r\n Save Fail - {{lastSave.time}}\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n \r\n
\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 {{file.Filename}}\r\n \r\n
\r\n
0\">\r\n
{{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n Drop a file or Click to upload\r\n
\r\n
\r\n
Maximum of 2 attachments
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { HiringService } from 'src/app/pages/hiring/services/hiring.service';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { HttpClient, HttpRequest, HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { FieldService } from 'src/app/pages/field/service/field.service';\r\n\r\n@Component({\r\n selector: 'app-add-attachment-modal',\r\n templateUrl: './add-attachment-modal.component.html',\r\n styleUrls: ['./add-attachment-modal.component.css']\r\n})\r\nexport class AddAttachmentModalComponent implements OnInit {\r\n @Input() itemID: any;\r\n @Input() moduleID: number;\r\n @Input() active: boolean;\r\n @Input() status: any;\r\n @Input() mobileMode: boolean;\r\n @Input() allowMultipleAttachments: boolean;\r\n formData: { [key: string]: any } = {};\r\n newFiles: any[] = [];\r\n savedFiles: any[] = [];\r\n fileData: any[] = [];\r\n alert: any;\r\n errorMsg: any;\r\n captionChanged: boolean = false;\r\n validComboDrag: boolean = false;\r\n dragFiles: any;\r\n isSendToVista: boolean = false;\r\n\r\n constructor(public activeModal: NgbActiveModal, private hiringService: HiringService, private employeeService: EmployeeService, private utilityService: UtilityService, public HttpClient: HttpClient, private fieldService: FieldService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isSendToVista = this.moduleID == 105 || this.moduleID == 115;\r\n if(!this.isSendToVista){\r\n this.getAttachmentList();\r\n }\r\n }\r\n\r\n getAttachmentList() {\r\n var requestParam = \"moduleID=\" + this.moduleID + \"&recordID=\" + this.itemID;\r\n this.employeeService.getFileAttachmentList(requestParam).then((response: any) => {\r\n this.savedFiles = response;\r\n this.savedFiles.forEach((val: any) => {\r\n if (val.AttachmentCaption != null)\r\n val.TempAttachmentCaption = val.AttachmentCaption;\r\n });\r\n })\r\n }\r\n\r\n\r\n deleteUnsavedAttachment(file: any) {\r\n var index = this.newFiles.indexOf(file);\r\n this.newFiles.splice(index, 1);\r\n }\r\n\r\n deleteSavedAttachment(file: any) {\r\n this.employeeService.removeFileAttachment(file.FileAttachmentID).then((response: any) => {\r\n if (response.success) {\r\n this.captionChanged = false;\r\n if (this.moduleID == 12) {\r\n this.employeeService.updateOnboardTaskComplete(this.itemID).then((response: any) => {\r\n if (response.success) {\r\n }\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured\" };\r\n });\r\n }\r\n this.getAttachmentList();\r\n }\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured\" };\r\n });\r\n }\r\n\r\n upload() {\r\n var currentUpload = this.formData.fileDrop;\r\n this.formData.fileDrop = [];\r\n for (var i = 0; i < currentUpload.length; i++) {\r\n this.fileUpload(currentUpload[i]);\r\n }\r\n if (this.mobileMode) {\r\n setTimeout(() => {\r\n if (this.newFiles.length > 0) {\r\n $(\"#fileDrop\").css(\"cursor\", \"no-drop\");\r\n }\r\n }, 200);\r\n }\r\n }\r\n\r\n fileUpload(fileDrop) {\r\n this.fileData = [];\r\n if (fileDrop != null) {\r\n fileDrop.nameEdit = \"\";\r\n for (var y = 0; y < fileDrop.name.substr(0, fileDrop.name.lastIndexOf('.') + 1).length; y++) {\r\n if (fileDrop.name[y] != \" \" && fileDrop.name[y] != \"&\" && fileDrop.name[y] != \"*\" && fileDrop.name[y] != \":\" &&\r\n fileDrop.name[y] != \";\" && fileDrop.name[y] != \"|\" && fileDrop.name[y] != \"=\" && fileDrop.name[y] != \",\" &&\r\n fileDrop.name[y] != \".\" && fileDrop.name[y] != \"/\" && fileDrop.name[y] != \"\\\"\" && fileDrop.name[y] != \"[\" &&\r\n fileDrop.name[y] != \"]\")\r\n fileDrop.nameEdit += fileDrop.name[y];\r\n }\r\n fileDrop.nameEdit += fileDrop.name.substr(fileDrop.name.lastIndexOf('.'), fileDrop.name.length);\r\n this.readFile(fileDrop, (e: any, fileName: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: fileName })\r\n this.fileData.forEach((val: any) => {\r\n if ((fileDrop.size == val.size && val.name == fileDrop.name) && ((this.moduleID == 38 && this.newFiles.length < 2 && (this.newFiles.length + this.savedFiles.length < 2)) || this.moduleID != 38)) {\r\n this.newFiles.push({ File: val.data[1], Filename: fileDrop.nameEdit, Filedata: fileDrop, Type: val.data[0].split(\"/\")[0] });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n checkCaption() {\r\n this.captionChanged = false;\r\n this.savedFiles.forEach((val: any) => {\r\n if (val.TempAttachmentCaption != val.AttachmentCaption) {\r\n this.captionChanged = true;\r\n this.formData.disableButton = false;\r\n }\r\n });\r\n }\r\n\r\n private readFile(file: any, call: any) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n uploadAttachment(counter, error) {\r\n var currentFile = this.newFiles[counter];\r\n var type = \"file\";\r\n var errMsg;\r\n var data;\r\n var url;\r\n if (currentFile.Type == \"data:image\")\r\n type = \"Photo\";\r\n if (currentFile.Progress != 100) {\r\n if (currentFile.File != null && currentFile.Filename != null) {\r\n var temp = currentFile.Type;\r\n var type = \"file\";\r\n if (temp == \"data:image\")\r\n type = \"Photo\";\r\n if (this.isSendToVista) {\r\n url = \"/Field/AddVPAttachment\";\r\n data = {\r\n fileName: currentFile.Filename, fileDescription: \"\", fileData: currentFile.File,\r\n moduleID: this.moduleID, recordKeyID: this.itemID, fileAttachmentID: -1, fileAttachmentType: type\r\n }\r\n }\r\n else {\r\n url = \"/Employee/SaveFileAttachment\";\r\n data = { \r\n moduleID: this.moduleID, recordID: this.itemID, attachmentFileData: currentFile.File, \r\n attachmentFileName: currentFile.Filename, attachmentType: type \r\n }\r\n }\r\n currentFile.Filedata.upload = new HttpRequest(\r\n \"POST\",\r\n url,\r\n data, \r\n { reportProgress: true }\r\n ),\r\n currentFile.Filedata.upload = this.HttpClient.request(currentFile.Filedata.upload).subscribe((event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.UploadProgress:\r\n currentFile.Progress = Math.round(event.loaded / event.total * 100);\r\n if (currentFile.Progress == 100) {\r\n currentFile.AttchDone = true;\r\n }\r\n break;\r\n case HttpEventType.Response:\r\n setTimeout(() => {\r\n currentFile.Filedata.result = event.body;\r\n });\r\n if (event.body.success) {\r\n counter++;\r\n if(this.isSendToVista){\r\n this.addBillAttachment(event.body.data, counter, error);\r\n }\r\n if (counter < this.newFiles.length) {\r\n this.uploadAttachment(counter, error);\r\n }\r\n if (counter == this.newFiles.length) {\r\n this.formData.disableButton = false;\r\n if (error == 0) {\r\n this.newFiles = [];\r\n if (this.captionChanged) {\r\n this.savedFiles.forEach((val: any, key: any) => {\r\n if (val.AttachmentCaption != val.TempAttachmentCaption) {\r\n this.hiringService.fileAttachmentUpdateCaption(val.FileAttachmentID, val.AttachmentCaption).then((response: any) => {\r\n this.utilityService.fadeLabel(response.success);\r\n val.TempAttachmentCaption = val.AttachmentCaption;\r\n this.captionChanged = false;\r\n });\r\n }\r\n if (key == this.savedFiles.length - 1)\r\n this.getAttachmentList();\r\n });\r\n } else if(!this.isSendToVista)\r\n this.getAttachmentList();\r\n } else {\r\n this.alert = { type: \"danger\", msg: errMsg + \" failed to save one or more attachments - \" };\r\n }\r\n }\r\n }\r\n else {\r\n error++; counter++;\r\n errMsg += currentFile.Filename + \",\";\r\n if (counter < this.newFiles.length){\r\n this.uploadAttachment(counter, error);\r\n }\r\n else if (this.isSendToVista){\r\n this.activeModal.close(error);\r\n }\r\n }\r\n }\r\n error => this.errorMsg = error.message\r\n })\r\n }\r\n }\r\n }\r\n\r\n addBillAttachment(attachmentDetail: any, counter: number, error: number){\r\n this.fieldService.addBillAttachment(this.itemID, attachmentDetail.AttachmentID).then((response: any) => {\r\n if (response != null && !response.success) {\r\n this.alert = { type: \"danger\", msg: \" failed to save one or more attachments - \" };\r\n }\r\n }).catch((error: any) => {\r\n this.alert = { type: \"danger\", msg: error?.error?.error ?? \"An error has occured\" };\r\n });\r\n\r\n if(counter == this.newFiles.length){\r\n this.activeModal.close(error);\r\n }\r\n }\r\n\r\n saveClicked() {\r\n this.formData.disableButton = true;\r\n if (this.newFiles.length > 0) {\r\n this.uploadAttachment(0, 0);\r\n } else {\r\n if (this.captionChanged) {\r\n this.savedFiles.forEach((val: any) => {\r\n if (val.AttachmentCaption != val.TempAttachmentCaption) {\r\n this.hiringService.fileAttachmentUpdateCaption(val.FileAttachmentID, val.AttachmentCaption).then((response: any) => {\r\n this.utilityService.fadeLabel(response.success);\r\n val.TempAttachmentCaption = val.AttachmentCaption;\r\n this.captionChanged = false;\r\n this.formData.disableButton = false;\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close(\"close\");\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n\r\n\r\n}","
\r\n

Add Attachments

\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
\r\n \r\n
\r\n {{file.AttachmentFileName}}\r\n \r\n
\r\n \r\n
0\" />\r\n
\r\n {{file.Filename}}\r\n \r\n
\r\n
0\">\r\n
{{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n
0\"\r\n accept=\".pdf,.jpg,.jpeg,.gif,.tif,.tiff,.png,.bmp,.doc,.docx,.xls,.xlsx,.ppt,.pps,.pptx,.ppsx,.sldx\"\r\n [(dragFiles)]=\"dragFiles\"\r\n class=\"drop-box\"\r\n [class.invalid-drag]=\"validComboDrag===false\"\r\n [class.valid-drag]=\"validComboDrag\"\r\n (filesChange)=\"upload()\" [ngfFixOrientation]=\"false\">\r\n Drop a file or Click to upload\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-alert-modal',\r\n templateUrl: './alert-modal.component.html',\r\n styleUrls: ['./alert-modal.component.css']\r\n})\r\nexport class AlertModalComponent implements OnInit {\r\n modalData: { [key: string]: any } = {};\r\n userAction: string;\r\n closeButtonText: string;\r\n\r\n constructor(private bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit(): void {\r\n this.closeButtonText = this.modalData.closeButtonText != null ? this.modalData.closeButtonText : \"Close\";\r\n }\r\n\r\n cancelClicked() {\r\n this.userAction = \"close\";\r\n this.bsModalRef.hide();\r\n }\r\n\r\n}","
\r\n

{{modalData.modalTitle}}

\r\n
\r\n
\r\n
{{modalData.modalMessage}}
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//services\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-checklist-item-click-sign-modal',\r\n templateUrl: './checklist-item-click-sign-modal.component.html',\r\n styleUrls: ['./checklist-item-click-sign-modal.component.css']\r\n})\r\nexport class ChecklistItemClickSignModalComponent implements OnInit {\r\n\r\n @Input() type: any;\r\n img: any;\r\n\r\n constructor(private employeeService: EmployeeService, private activeModal: NgbActiveModal) {}\r\n\r\n ngOnInit(): void {\r\n this.getTypeSign(this.type);\r\n }\r\n\r\n getTypeSign(type: any){\r\n this.employeeService.getTypeSign(type).then((response: any)=> {\r\n this.img = \"data:image/png;base64,\" + response; \r\n });\r\n }\r\n \r\n cancelClicked() {\r\n this.activeModal.close();\r\n }\r\n\r\n confirmClicked() {\r\n this.activeModal.close(this.img);\r\n }\r\n}\r\n","
\r\n

Generate Signature

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

Are you sure you want to use this as your signature?

\r\n

By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.

\r\n \r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n@Component({\r\n selector: 'app-confirm-modal',\r\n templateUrl: './confirm-modal.component.html',\r\n styleUrls: ['./confirm-modal.component.css']\r\n})\r\nexport class ConfirmModalComponent {\r\n @Input() headerText: string;\r\n @Input() bodyText: string;\r\n @Input() confirmButtonText: string = 'Confirm';\r\n @Input() cancelButtonText: string = 'Cancel';\r\n @Input() onConfirm: Function | null;\r\n @Input() warningLevel: string | null = null;\r\n confirmed: boolean = false;\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal\r\n ) { }\r\n\r\n ngOnInit (): void {\r\n }\r\n\r\n saveAndCloseModal () {\r\n this.confirmed = true;\r\n if (this.onConfirm) {\r\n this.onConfirm()\r\n }\r\n this.closeModal()\r\n }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.close(this.confirmed);\r\n }\r\n}\r\n","
\r\n

{{ headerText }}

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

\r\n
\r\n
\r\n \r\n \r\n
","
\r\n

{{ modalTitle }}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-dropdown-select-modal',\r\n templateUrl: './dropdown-select-modal.component.html',\r\n styleUrls: ['./dropdown-select-modal.component.css']\r\n})\r\n\r\nexport class DropdownSelectModalComponent implements OnInit {\r\n @Input() modalTitle: string;\r\n @Input() dropdownItems: any[];\r\n @Input() bindValue: string;\r\n @Input() bindLabel: string;\r\n @Input() confirmationButtonText: string = 'Save';\r\n @Input() cancelButtonText: string = 'Cancel';\r\n @Input() onSave: Function\r\n @Input() selectedItem: any = null;\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n saveAndCloseModal () {\r\n if (this.onSave) {\r\n this.onSave()\r\n }\r\n this.ngbActiveModal.close(this.selectedItem);\r\n }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.close(undefined);\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-edit-long-prompt-modal',\r\n templateUrl: './edit-long-prompt-modal.component.html',\r\n styleUrls: ['./edit-long-prompt-modal.component.css']\r\n})\r\nexport class EditLongPromptModalComponent {\r\n\r\n @Input() text: string;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n cancelClicked = function () {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n saveClicked = function () {\r\n this.activeModal.close(this.text);\r\n }\r\n\r\n}\r\n","
\r\n

Edit Long Prompt

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.css']\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n modalData: { [key: string]: any } = {};\r\n closeButtonText: string;\r\n userAction: string;\r\n\r\n constructor(private bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit(): void {\r\n this.closeButtonText = this.modalData.closeButtonText != null ? this.modalData.closeButtonText : \"Close\";\r\n if (this.modalData.warningLevel == null) {\r\n this.modalData.warningLevel = \"danger\";\r\n }\r\n }\r\n\r\n actionClicked() {\r\n this.userAction = \"close\";\r\n this.bsModalRef.hide();\r\n }\r\n\r\n cancelClicked() {\r\n this.userAction = \"cancel\";\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","
\r\n
{{modalData.modalMessage}}
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input } from '@angular/core'\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'\r\n\r\n\r\n@Component({\r\n selector: 'app-list-view-modal',\r\n templateUrl: './list-view-modal.component.html',\r\n styleUrls: ['./list-view-modal.component.css']\r\n})\r\nexport class ListViewModalComponent {\r\n @Input() headerText: string\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-note-modal',\r\n templateUrl: './note-modal.component.html',\r\n styleUrls: ['./note-modal.component.css']\r\n})\r\nexport class NoteModalComponent {\r\n\r\n @Input() checklistTextHeader: string;\r\n\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n saveClicked() {\r\n this.activeModal.close(this.checklistTextHeader);\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n}\r\n","
\r\n

Note for This Form:

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-number-input-modal',\r\n templateUrl: './number-input-modal.component.html',\r\n styleUrls: ['./number-input-modal.component.css']\r\n})\r\nexport class NumberInputModalComponent {\r\n @Input() headerText: string = 'Number Input';\r\n @Input() bodyText: string = '';\r\n @Input() inputLabelText: string = 'Input number: ';\r\n @Input() saveButtonText: string = 'Save';\r\n @Input() cancelButtonText: string = 'Cancel';\r\n inputValue: number | null = null;\r\n\r\n constructor(private activeModal: NgbActiveModal) { }\r\n\r\n saveAndClose () {\r\n this.activeModal.close(this.inputValue);\r\n }\r\n\r\n close () {\r\n this.activeModal.close(this.inputValue);\r\n }\r\n\r\n}","
\r\n

{{ headerText }}

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

{{ bodyText }}

\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-search-select-modal',\r\n templateUrl: './search-select-modal.component.html',\r\n styleUrls: ['./search-select-modal.component.css']\r\n})\r\nexport class SearchSelectModalComponent {\r\n @Input() bindLabel: string;\r\n @Input() bindValue: string;\r\n @Input() headerText: any;\r\n @Input() clearButtonText: string = 'Clear Value';\r\n @Input() saveButtonText: string = 'Save';\r\n @Input() cancelButtonText: string = 'Cancel';\r\n @Input() searchFunction: (args: string) => any[] | null = null;\r\n @Input() searchFunctionAsync: (args: string) => Promise | null = null;\r\n items: any[] = [];\r\n @Input() selectedItem: any = null;\r\n\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal,\r\n public utilityService: UtilityService\r\n ) { }\r\n\r\n search (event) {\r\n if (event != null && event.term.length > 2) {\r\n if (this.searchFunction != null) {\r\n this.items = this.searchFunction(event.term)\r\n } else if (this.searchFunctionAsync != null) {\r\n this.searchAsync(event);\r\n }\r\n }\r\n }\r\n\r\n async searchAsync (event) {\r\n this.searchFunctionAsync(event.term).then(result => {\r\n this.items = result;\r\n });\r\n }\r\n\r\n clearSearchField() {\r\n this.selectedItem = null;\r\n this.saveAndCloseModal();\r\n }\r\n\r\n saveAndCloseModal () {\r\n this.ngbActiveModal.close(this.selectedItem);\r\n };\r\n\r\n cancelAndCloseModal () {\r\n this.ngbActiveModal.close(undefined);\r\n };\r\n}\r\n","
\r\n

Update Vendor

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
","
\r\n

\r\n Finalize\r\n Submit {{where}}\r\n

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

\r\n Are you sure you want to\r\n finalize\r\n submit\r\n your {{where.toLowerCase()}}?\r\n

\r\n
\r\n
\r\n
Please sign in the box below when you finish your {{where.toLowerCase()}}.
\r\n
\r\n
Press \"Clear\" before generating your signature image.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign above
\r\n \r\n \r\n
By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
","import { Component, OnInit, Input, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EmployeeService } from 'src/app/pages/employee/services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-submit-checklist-sign-modal',\r\n templateUrl: './submit-checklist-sign-modal.component.html',\r\n styleUrls: ['./submit-checklist-sign-modal.component.css']\r\n})\r\nexport class SubmitChecklistSignModalComponent implements OnInit {\r\n\r\n @ViewChild('signaturePad', { static: false }) signaturePad;\r\n @Input() signed: any;\r\n @Input() type: string;\r\n @Input() where: string;\r\n @Input() enableCheckboxSign: boolean;\r\n typeSign: boolean = false;\r\n redBorder: boolean = false;\r\n submitSignImg: any;\r\n hideClick: boolean = false;\r\n showClickMsg: boolean = false;\r\n rawImgData: any;\r\n\r\n constructor(private activeModal: NgbActiveModal, private employeeService: EmployeeService) { }\r\n\r\n ngOnInit(): void {\r\n this.signed = this.signed != null;\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.dismiss();\r\n }\r\n\r\n submitClicked() {\r\n if (this.signed)\r\n this.activeModal.close(\"signed\");\r\n else {\r\n if (this.typeSign || !this.signaturePad.isEmpty()) {\r\n this.activeModal.close({ data: this.typeSign ? this.rawImgData : this.signaturePad.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\"), typeSign: this.typeSign });\r\n } else {\r\n this.redBorder = true;\r\n }\r\n }\r\n }\r\n\r\n getTypeSign(type: string) {\r\n if (this.signaturePad.isEmpty()) {\r\n this.typeSign = true;\r\n if (this.typeSign) {\r\n this.employeeService.getTypeSign(type).then((response: any) => {\r\n this.rawImgData = response;\r\n this.submitSignImg = \"data:image/png;base64,\" + response;\r\n });\r\n }\r\n this.hideClick = true;\r\n this.showClickMsg = false;\r\n } else {\r\n this.showClickMsg = true;\r\n }\r\n }\r\n\r\n clear() {\r\n this.typeSign = false;\r\n if (this.signaturePad != null)\r\n this.signaturePad.clear();\r\n this.showClickMsg = false;\r\n this.hideClick = false;\r\n }\r\n}\r\n","
\r\n

\r\n {{ headerText }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ bodyText }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-text-display-modal',\r\n templateUrl: './text-display-modal.component.html',\r\n styleUrls: ['./text-display-modal.component.css']\r\n})\r\n\r\nexport class TextDisplayModalComponent {\r\n @Input() headerText: string | null\r\n @Input() labelText: string | null\r\n @Input() bodyText: string\r\n @Input() buttonText: string = 'Close'\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal\r\n ) { }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.close()\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-text-edit-modal',\r\n templateUrl: './text-edit-modal.component.html',\r\n styleUrls: ['./text-edit-modal.component.css']\r\n})\r\nexport class TextEditModalComponent {\r\n\r\n @Input() modalHeader: string\r\n @Input() editText: string\r\n @Input() closeButtonText: string\r\n @Input() saveButtonText: string\r\n modifiedText: string\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.modifiedText = this.editText\r\n }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n saveModal () {\r\n this.ngbActiveModal.close(this.modifiedText)\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{ modalHeader }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-timeout-modal',\r\n templateUrl: './timeout-modal.component.html',\r\n styleUrls: ['./timeout-modal.component.css']\r\n})\r\nexport class TimeoutModalComponent {\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n refreshClicked() {\r\n this.activeModal.close('refresh');\r\n\r\n };\r\n\r\n logoutClicked() {\r\n this.activeModal.close('logout');\r\n };\r\n}\r\n","\r\n
\r\n

Timeout Warning

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

\r\n You will be logged out in 1 minute.\r\n

\r\n

\r\n If you are logged off any changes will be lost.\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subject } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { AdminService } from 'src/app/pages/admin/services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-user-group-modal',\r\n templateUrl: './user-group-modal.component.html',\r\n styleUrls: ['./user-group-modal.component.css']\r\n})\r\nexport class UserGroupModalComponent implements OnInit {\r\n employees: any[];\r\n matchFound: boolean;\r\n matchFoundCount: number;\r\n userGroupID: number;\r\n individualFilter: { [key: string]: any } = {};\r\n errorMessage: string;\r\n alertGroupAdded: string;\r\n userGroups: any[];\r\n formData: { [key: string]: any } = {};\r\n employeeSearch = new Subject();\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal, private adminService: AdminService) { }\r\n\r\n ngOnInit(): void {\r\n this.employees = [];\r\n this.matchFound = false;\r\n this.matchFoundCount = 0;\r\n this.userGroupID = null;\r\n this.individualFilter = [];\r\n this.typeSearch();\r\n }\r\n\r\n searchEmployees() {\r\n this.getEmployees();\r\n };\r\n\r\n closeClicked() {\r\n this.ngbActiveModal.close({ success: false });\r\n };\r\n\r\n isEmployeeGroup() {\r\n var fullName;\r\n this.errorMessage = \"\";\r\n\r\n if (this.individualFilter != null) {\r\n this.alertGroupAdded = \"\";\r\n\r\n this.employees.forEach(val=> {\r\n if (this.individualFilter.Employee == val.KeyID) {\r\n fullName = val.FullName;\r\n }\r\n });\r\n this.adminService.getUserGroup().then((response: any) => {\r\n this.userGroups = response;\r\n this.userGroups.forEach((val, key) => {\r\n if (val.UserGroupName == fullName) {\r\n this.matchFoundCount = this.matchFoundCount + 1;\r\n if (this.userGroupID == null) {\r\n this.userGroupID = val.UserGroupID;\r\n }\r\n }\r\n });\r\n });\r\n }\r\n };\r\n\r\n private typeSearch() {\r\n this.employeeSearch\r\n .pipe(\r\n switchMap(employeeSearch => this.adminService.getHRUsers(this.formData.employeeLabel,false,null))\r\n )\r\n .subscribe(data => {\r\n var employees: any = data;\r\n this.employees = employees;\r\n });\r\n }\r\n\r\n getEmployees() {\r\n if (this.formData.employeeLabel !== null && this.formData.employeeLabel.length >= 2) {\r\n this.employeeSearch.next();\r\n }\r\n }\r\n\r\n addByIndividual() {\r\n if (this.matchFoundCount === 0) {\r\n var tempPRCo, tempEmployee;\r\n this.alertGroupAdded = \"\";\r\n\r\n this.employees.forEach(val => {\r\n if (this.individualFilter.Employee === val.KeyID) {\r\n tempPRCo = val.PRCo;\r\n tempEmployee = val.Employee;\r\n }\r\n });\r\n\r\n this.formData.SqlOver = \"\";\r\n\r\n this.adminService.userGroupAddSingleUser(-1, this.formData.employeeLabel, true, this.formData.SqlOver, tempPRCo, \"Employee\", true, tempEmployee).then((response: any) => {\r\n if (response.success) {\r\n this.individualFilter.Employee = null;\r\n this.formData.employeeLabel = null;\r\n this.ngbActiveModal.close({ UserGroupID: response.ID, success: response.success, closed: false });\r\n }\r\n });\r\n }\r\n else {\r\n this.ngbActiveModal.close({ UserGroupID: this.userGroupID, success: true, closed: false });\r\n }\r\n };\r\n\r\n}\r\n","
\r\n

Select Employee

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n This action will automatically create an employee group for this individual employee.\r\n
\r\n
\r\n Employee:\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","
\r\n
\r\n

Receipt Attachment

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Employee
Name
Date
Package
Receipt Description
Amt
{{receiptDetails.Employee}}{{receiptDetails.ExpenseEmployeeName}}{{receiptDetails.ExpenseDateDisplay}}{{receiptDetails.HeaderDescription}}{{receiptDetails.ReceiptDescription}}\r\n {{receiptDetails.ReceiptAmount | currency : currencySymbol}}\r\n {{0 | currency : currencySymbol}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Charge ToItem AmountStatus
\r\n {{lineItem.ChargeToLabel}}\r\n warning\r\n \r\n {{lineItem.ItemAmount | currency : currencySymbol}}\r\n {{0 | currency : currencySymbol}}\r\n {{lineItem.ItemStatusLabel}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{data.AttachmentCaption == null || data.AttachmentCaption == '' ? data.AttachmentFileName : data.AttachmentCaption}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-view-expense-attachment-modal',\r\n templateUrl: './view-expense-attachment-modal.component.html',\r\n styleUrls: ['./view-expense-attachment-modal.component.css']\r\n})\r\nexport class ViewExpenseAttachmentModalComponent implements OnInit {\r\n @Input() receiptDetails: any;\r\n @Input() receiptItemsDetails: any;\r\n @Input() receiptAttachments: any;\r\n alert: any;\r\n selectedAttachment: any;\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.selectedAttachment = this.receiptAttachments[0];\r\n }\r\n\r\n close() {\r\n this.ngbActiveModal.close();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-view-image-modal',\r\n templateUrl: './view-image-modal.component.html',\r\n styleUrls: ['./view-image-modal.component.css']\r\n})\r\nexport class ViewImageModalComponent {\r\n @Input() headerText: string\r\n @Input() imagePath: string\r\n @Input() buttonText: string = 'Close'\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal\r\n ) { }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.close()\r\n }\r\n}\r\n","
\r\n
\r\n {{ headerText }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
","
\r\n

{{modalData.modalTitle}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-warning-modal',\r\n templateUrl: './warning-modal.component.html',\r\n styleUrls: ['./warning-modal.component.css']\r\n})\r\nexport class WarningModalComponent implements OnInit {\r\n modalData: { [key: string]: any } = {};\r\n userAction: string;\r\n closeButtonText: string;\r\n\r\n constructor(private bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit(): void {\r\n if (this.modalData.actionID == null)\r\n this.modalData.actionID == \"actionButton\";\r\n if (this.modalData.actionType == null)\r\n this.modalData.actionType = \"danger\";\r\n this.closeButtonText = this.modalData.closeButtonText != null ? this.modalData.closeButtonText : \"Cancel\";\r\n }\r\n\r\n actionClicked() {\r\n this.userAction = this.modalData.modalAction;\r\n this.bsModalRef.hide();\r\n }\r\n\r\n cancelClicked() {\r\n this.userAction = \"close\";\r\n this.bsModalRef.hide();\r\n }\r\n}","
\r\n

Attachment Options

\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 You are about to delete {{details.Description}}. Continue?\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-attachment-details-modal',\r\n templateUrl: './attachment-details-modal.component.html',\r\n styleUrls: ['./attachment-details-modal.component.css']\r\n})\r\nexport class AttachmentDetailsModalComponent {\r\n @Input() typeList: any\r\n @Input() details: any\r\n @Input() attachmentCount: any\r\n formData: { [key: string]: any };\r\n triggerDelete: boolean;\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.formData = {};\r\n this.triggerDelete = false;\r\n\r\n if (this.details != null) {\r\n this.formData.attachmentType = this.details.AttachmentTypeID;\r\n this.formData.attachmentDescription = this.details.RawDescription;\r\n }\r\n }\r\n\r\n public triggerDeleteAttachment() {\r\n this.triggerDelete = true;\r\n }\r\n\r\n public resetTriggerDeleteAttachment() {\r\n this.triggerDelete = false;\r\n }\r\n\r\n public deleteAttachmentAndCloseModal () {\r\n this.ngbActiveModal.close({ cancel: false, delete: true });\r\n }\r\n\r\n public uploadClicked() {\r\n this.ngbActiveModal.close({ attachmentType: this.formData.attachmentType, attachmentDescription: this.formData.attachmentDescription, cancel: false, delete: false });\r\n }\r\n\r\n public cancelClicked() {\r\n this.ngbActiveModal.close({ cancel: true, delete: false });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SmService } from '../../../pages/sm/services/sm.service';\r\nimport { SmDataService } from '../../../pages/sm/services/sm-data.service';\r\nimport { HomeService } from '../../../pages/home/services/home.service';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-clock-in-modal',\r\n templateUrl: './clock-in-modal.component.html',\r\n styleUrls: ['./clock-in-modal.component.css']\r\n})\r\nexport class ClockInModalComponent {\r\n alert: any\r\n lookupList: any\r\n clockIn: boolean\r\n formData: { [key: string]: any };\r\n tripListFiltered: any\r\n employeeInfo: any;\r\n lookupReady: boolean = false;\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal, private smService: SmService, public smDataService: SmDataService, private employeeInfoService: EmployeeInfoService,\r\n private homeService: HomeService, public utilityService: UtilityService) {\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n}\r\n\r\n ngOnInit(): void {\r\n this.formData = {};\r\n this.tripListFiltered = [];\r\n this.formData.selectedTrip = null;\r\n\r\n var counter = 0;\r\n if (this.smDataService.tripList != null) {\r\n this.smDataService.tripList.forEach((val: any) => {\r\n if (val.ScopeData != null && val.SMTripID != null) {\r\n this.tripListFiltered.push({\r\n ScopeDataDisplay: val.ScopeDataDisplay, WorkOrder: val.WorkOrder, SMTripID: val.SMTripID, SMWorkOrderID: val.SMWorkOrderID, ScheduledDateDisplay: val.ScheduledDateDisplay,\r\n Display: (val.ScheduledDateDisplay != null ? val.ScheduledDateDisplay + \" - \": \"\") + \"WO #\" + val.WorkOrder + \" \" + val.TripDescription, Index: counter++, SMCo: val.SMCo\r\n });\r\n }\r\n })\r\n }\r\n\r\n if (this.smDataService.currentWorkOrder != null) {\r\n this.tripListFiltered.forEach((val: any) => {\r\n if (val.SMTripID == this.smDataService.currentWorkOrder.SMTripID) {\r\n this.formData.selectedTrip = val.Index;\r\n this.getPayType();\r\n }\r\n })\r\n }\r\n }\r\n\r\n closeAlert () {\r\n this.alert = null\r\n }\r\n\r\n getPayType () {\r\n this.formData.selectedScope = null;\r\n this.formData.selectedPayType = null;\r\n\r\n if (this.tripListFiltered[this.formData.selectedTrip].ScopeDataDisplay.length == 1) {\r\n this.formData.selectedScope = this.tripListFiltered[this.formData.selectedTrip].ScopeDataDisplay[0].SMWorkOrderScopeID;\r\n }\r\n\r\n if (this.smDataService.currentWorkOrderScopeData != null) {\r\n this.formData.selectedScope = this.smDataService.currentWorkOrderScopeData.SMWorkOrderScopeID.toString();\r\n }\r\n\r\n this.smService.getSettingsBySMCo(this.tripListFiltered[this.formData.selectedTrip].SMCo).then((settings: any) => {\r\n this.smService.getCommonLookups(\"?sMWorkOrderID=\" + this.tripListFiltered[this.formData.selectedTrip].SMWorkOrderID).then((response: any) => {\r\n\r\n this.lookupList = {};\r\n\r\n response.forEach((val: any) => {\r\n if (!this.lookupList.hasOwnProperty(val.LookupType))\r\n this.lookupList[val.LookupType] = [];\r\n if (!isNaN(val.Code) && val.LookupType != \"SMPayType\")\r\n val.Code = parseInt(val.Code);\r\n if (val.LookupType == \"SMPayType\" || val.LookupType == \"SMCallType\") {\r\n val.Code = val.Code.toString();\r\n }\r\n this.lookupList[val.LookupType].push(val);\r\n });\r\n\r\n let payTypeExist = false;\r\n\r\n this.lookupList['SMPayType'].forEach((val: any) => {\r\n if (settings[0].DefaultPayType.toString() == val.Code.toString())\r\n payTypeExist = true;\r\n })\r\n\r\n if (payTypeExist)\r\n this.formData.selectedPayType = settings[0].DefaultPayType.toString();\r\n\r\n if (this.lookupList.hasOwnProperty(\"INLocation\")) {\r\n if (this.lookupList[\"INLocation\"] != null && this.lookupList[\"INLocation\"].length > 0) {\r\n this.lookupList[\"INLocation\"].unshift({ Code: null, CodeDescription: \"No Location\", Company: this.tripListFiltered[this.formData.selectedTrip].SMCo, LookupType: \"INLocation\" });\r\n }\r\n }\r\n\r\n this.lookupReady = true;\r\n })\r\n })\r\n }\r\n\r\n public clockInClicked() {\r\n var currentTime = moment();\r\n var clockTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n var latitude = null;\r\n var longitude = null;\r\n\r\n if (this.smDataService.position != null && this.smDataService.position.coords != null) {\r\n latitude = this.smDataService.position.coords.latitude;\r\n longitude = this.smDataService.position.coords.longitude;\r\n }\r\n this.openModal(\"Clock In...\");\r\n this.homeService.postClockAction({\r\n gPSLat: latitude, gPSLong: longitude, clockAction: true, clockTimeString: clockTimeString, employee: this.employeeInfo.Employee, pRCo: this.employeeInfo.PRCo,\r\n sMWorkOrderScopeID: this.formData.selectedScope, sMPayType: this.formData.selectedPayType, sMTripID: (this.tripListFiltered[this.formData.selectedTrip].SMTripID == null ? \"-2\" : this.tripListFiltered[this.formData.selectedTrip].SMTripID)\r\n }).then((response: any) => {\r\n if (response.success) {\r\n this.ngbActiveModal.close(response.success);\r\n } else {\r\n this.alert = response.error;\r\n this.utilityService.closeModal();\r\n }\r\n });\r\n }\r\n\r\n public openModal(msg: any) {\r\n this.smDataService.modalMsg = msg;\r\n this.utilityService.openModal();\r\n }\r\n\r\n public cancelClicked() {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n}\r\n","
\r\n

Clock In

\r\n
\r\n
\r\n
\r\n {{ alert }}\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n","
\r\n

You are currently clocked-in

\r\n

You are currently clocked-out

\r\n
\r\n
\r\n
\r\n {{alert}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{clockStatus.WorkOrder}} - {{clockStatus.WorkOrderDescription}}\r\n

\r\n
\r\n
\r\n {{clockStatus.Scope}} - {{clockStatus.ScopeDescription}}\r\n

\r\n
\r\n
\r\n {{clockStatus.ClockDateDisplay}} {{clockStatus.ClockTimeDisplay}}\r\n

\r\n
\r\n
\r\n {{clockStatus.PayTypeDescription}}\r\n
\r\n
\r\n
\r\n
\r\n Navigate to a scope to clock-in.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n\r\n@Component({\r\n selector: 'app-clock-out-modal',\r\n templateUrl: './clock-out-modal.component.html',\r\n styleUrls: ['./clock-out-modal.component.css']\r\n})\r\nexport class ClockOutModalComponent {\r\n @Input() woData: any\r\n @Input() clockStatus: any\r\n @Input() isTripExist: boolean\r\n clockEmpty: any\r\n clockOut: boolean\r\n alert: string | null\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.clockEmpty = false;\r\n\r\n if (this.clockStatus == null)\r\n this.clockEmpty = true;\r\n\r\n if (this.clockStatus != null) {\r\n if (!this.isTripExist && !this.clockEmpty && this.clockStatus.ClockAction) {\r\n if (this.clockStatus.SMTripID != null)\r\n this.alert = \"The work order you are clocking out of must be present in your dashboard filter. Modify your date filter to include this work order.\";\r\n else\r\n this.alert = \"You are not currently clocked into a SM Work Order.\";\r\n }\r\n }\r\n }\r\n\r\n\r\n clockOutClicked () {\r\n this.ngbActiveModal.close();\r\n }\r\n\r\n cancelClicked () {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport th from 'date-fns/esm/locale/th';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { SmDataService } from '../../../pages/sm/services/sm-data.service';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-close-out-modal',\r\n templateUrl: './close-out-modal.component.html',\r\n styleUrls: ['./close-out-modal.component.css']\r\n})\r\nexport class CloseOutModalComponent {\r\n @Input() emailToList: any\r\n @Input() emailCCList: any\r\n @Input() fullEmailList: any\r\n @Input() disableEmailOnComplete: any\r\n fullEmailListFiltered: any = [];\r\n count = 0;\r\n tempEmail = \"\";\r\n formData: { [key: string]: any };\r\n emailInvalid: boolean = false;\r\n emailExist: boolean = false;\r\n\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal, private smDataService: SmDataService, private utilityService: UtilityService) { }\r\n\r\n ngOnInit(): void {\r\n this.formData = {};\r\n this.formData.emailDistribution = \"\";\r\n this.formData.emailToList = [];\r\n this.formData.emailCCList = [];\r\n\r\n if (this.emailToList != null) {\r\n this.fullEmailList.forEach((val, key) => {\r\n this.count = 0;\r\n this.emailToList.forEach((val2, key2) => {\r\n if (val.Email != null && val2.signedOffSelected != null && val.Email == val2.signedOffSelected.Email) {\r\n this.count++;\r\n }\r\n });\r\n if (this.count == 0) {\r\n this.fullEmailListFiltered.push(val);\r\n }\r\n });\r\n }\r\n\r\n if (this.emailToList != null)\r\n this.formData.emailToList = cloneDeep(this.emailToList);\r\n if (this.emailCCList != null)\r\n this.formData.emailCCList = cloneDeep(this.emailCCList)\r\n }\r\n\r\n public emailRegexCheck() {\r\n var testRegex = new RegExp(\"^(([a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4},)*([a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}))?$\");\r\n if (testRegex.test(this.formData.emailDistribution)) {\r\n this.emailInvalid = false;\r\n } else {\r\n this.emailInvalid = true;\r\n }\r\n }\r\n\r\n public checkEmail() {\r\n var count = 0;\r\n this.formData.emailCCList.forEach((val, key) => {\r\n if (val.Email == this.formData.selectedEmail.Email) {\r\n count++;\r\n }\r\n })\r\n if (count == 0)\r\n this.emailExist = false;\r\n else\r\n this.emailExist = true;\r\n }\r\n\r\n public addToEmailList() {\r\n this.formData.emailCCList.push({ \"Email\": this.formData.selectedEmail.Email, \"NewAdded\": true });\r\n this.formData.selectedEmail = null;\r\n }\r\n\r\n public removeEmail(index) {\r\n this.formData.emailCCList.splice(index, 1);\r\n }\r\n\r\n public completeClicked() {\r\n if (!this.disableEmailOnComplete) {\r\n this.formData.emailToList.forEach((val, key) => {\r\n if (val.selectedEmployees) {\r\n if (val.signedOffSelected != null && val.signedOffSelected.HQContactID != -1)\r\n this.tempEmail += val.signedOffSelected.Email + \",\";\r\n else {\r\n this.tempEmail += val.email + \",\";\r\n }\r\n }\r\n })\r\n if (this.formData.emailDistribution.length > 0)\r\n this.tempEmail += this.formData.emailDistribution\r\n }\r\n this.smDataService.emailCCList = this.formData.emailCCList;\r\n this.ngbActiveModal.close({ extraEmailList: this.tempEmail });\r\n }\r\n\r\n public cancelClicked() {\r\n this.ngbActiveModal.dismiss()\r\n }\r\n}","
\r\n

Close Out Email Recipients

\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{data.signedOffSelected?.Display}}\r\n {{data.firstName}} {{data.lastName}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {{data.Display}} - {{data.Email}}\r\n \r\n \r\n \r\n \r\n \r\n Email already added\r\n
\r\n
\r\n
0 && !disableEmailOnComplete\">\r\n
    \r\n
  • {{data.Email}} remove
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","
\r\n

{{headerText}}

\r\n \r\n
\r\n
\r\n
\r\n You are currently clocked-in to a scope on this work order - please clock out before completing the trip.\r\n
\r\n
\r\n This will complete the current trip.\r\n
\r\n\r\n
\r\n
\r\n {{alertForm}}\r\n
\r\n
\r\n
    \r\n
  • Scope {{data.ScopeSeq}} - {{data.ChecklistTemplateName}}
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n {{alertCall}} Scope {{missingCallType}}\r\n
\r\n\r\n
\r\n \r\n Hide Attachments During Completion\r\n
\r\n
\r\n \r\n Include Photo Thumbnails During Review\r\n
\r\n
\r\n \r\n Collect Payment Onsite\r\n
\r\n
\r\n \r\n Return Trip Required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Completed Scopes for Customer Signature:\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{isCollectSignature ? \"Sign\" : \"Complete\"}}\r\n SeqScope
{{data.Scope}}{{data.ScopeDescription}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SmService } from '../../../pages/sm/services/sm.service';\r\nimport { SmDataService } from '../../../pages/sm/services/sm-data.service';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\n\r\n@Component({\r\n selector: 'app-complete-trip-modal',\r\n templateUrl: './complete-trip-modal.component.html',\r\n styleUrls: ['./complete-trip-modal.component.css']\r\n})\r\nexport class CompleteTripModalComponent {\r\n @Input() lookup: any\r\n @Input() isCollectSignature: any\r\n @Input() currentTrip: any\r\n @Input() clockStatus: any\r\n portalSettings: any;\r\n formData: { [key: string]: any };\r\n closeCount: number = 0\r\n stopCompleteTrip: boolean = false\r\n closeOutMissCompleteForm: boolean = false\r\n missingRequireForm: any;\r\n SMHideReturnTrip: boolean = false\r\n closeOutMissingCallType: boolean = false\r\n scopeDetails: any;\r\n RequiredTripNotes: any;\r\n missingCallType: any;\r\n alertCall: any;\r\n alertForm: any;\r\n headerText: any;\r\n SMEnablePaymentCollection: any;\r\n SMHideAttachmentOnComplete: any;\r\n\r\n constructor(private ngbActiveModal: NgbActiveModal, private smService: SmService, private smDataService: SmDataService, portalSettingsService: PortalSettingsService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit() {\r\n this.formData = {};\r\n this.stopCompleteTrip = false;\r\n this.formData.loadAttachData = false;\r\n this.formData.closeReturnTripRequired = false;\r\n this.formData.collectPayment = false;\r\n this.formData.bypassAttach = false;\r\n this.SMHideAttachmentOnComplete = this.portalSettings.SMHideAttachmentOnComplete.ConfigValue;\r\n if (this.SMHideAttachmentOnComplete) {\r\n this.formData.bypassAttach = true;\r\n }\r\n this.headerText = 'WO ' + this.currentTrip.WorkOrder + ' - ' + (this.isCollectSignature ? 'Collect Signature' : 'Trip Completion');\r\n this.SMEnablePaymentCollection = this.portalSettings.SMEnablePaymentCollection.ConfigValue == \"1\";\r\n\r\n this.smService.getWorkOrderScopes(\"?sMWorkOrderID=\" + this.currentTrip.SMWorkOrderID).then((response: any) => {\r\n this.scopeDetails = response;\r\n });\r\n\r\n if (this.isCollectSignature == false) {\r\n this.smService.getSettingsBySMCo(this.currentTrip.SMCo).then((response: any) => {\r\n this.SMHideReturnTrip = response[0].TripCloseSetting == \"D\";\r\n this.RequiredTripNotes = response[0].RequiredTripNotes;\r\n })\r\n }\r\n\r\n if (this.clockStatus?.ClockAction) {\r\n if (this.currentTrip.SMTripID == this.clockStatus.SMTripID && (this.portalSettings.SMDaysFromTripClosedToShowWorkOrder.ConfigValue == 0 || this.portalSettings.SMDaysFromTripClosedToShowWorkOrder.ConfigValue == null))\r\n this.stopCompleteTrip = true\r\n }\r\n\r\n this.currentTrip.ScopeDataDisplay.forEach((val, key) => {\r\n val.IsClose = false\r\n })\r\n }\r\n\r\n closeRequireUpdate () {\r\n this.formData.closeReturnTripReason = null\r\n this.formData.closeNotes = null\r\n }\r\n\r\n previewCompleteTrip () {\r\n let tempScopes = ''\r\n let tempUnique = ''\r\n\r\n this.currentTrip.ScopeDataDisplay.forEach((val, key) => {\r\n if (val.IsClose == true) {\r\n tempScopes += val.SMWorkOrderScopeID + \",\";\r\n tempUnique += (val.UniqueAttchID != null ? (val.UniqueAttchID + \",\") : \",\");\r\n }\r\n })\r\n window.open(\"/SM/PreviewCompleteTrip?sMTripID=\" + this.currentTrip.SMTripID + \"&sMWorkOrderID=\" + this.currentTrip.SMWorkOrderID + \"&scopes=\" + tempScopes + \"&unique=\" + tempUnique + \"&sMCO=\" + this.currentTrip.SMCo + \"&filename=\" + this.currentTrip.WorkOrder + \"_\" + this.currentTrip.TripDescription + \"_Completion\", \"_blank\");\r\n }\r\n\r\n checkAll () {\r\n var count = 0\r\n\r\n this.currentTrip.ScopeDataDisplay.forEach((val, key) => {\r\n val.IsClose = this.formData.allCheck;\r\n count++;\r\n })\r\n this.closeCount = this.formData.allCheck ? count : 0;\r\n }\r\n\r\n updateCheck(IsClose: boolean) {\r\n IsClose ? this.closeCount++ : this.closeCount--;\r\n this.formData.allCheck = this.closeCount == this.currentTrip.ScopeDataDisplay.length;\r\n }\r\n\r\n hideAttachmentChange () {\r\n this.formData.loadAttachData = false\r\n }\r\n\r\n continueClicked () {\r\n this.closeOutMissCompleteForm = false\r\n this.closeOutMissingCallType = false\r\n\r\n var tempClose = []\r\n var tempCloseInt = []\r\n var tempCloseExcludeForInvoice = \"\"\r\n this.missingCallType = \"\"\r\n\r\n this.currentTrip.ScopeDataDisplay.forEach((scope: any) => {\r\n if (scope.IsClose == true) {\r\n tempClose.push(scope)\r\n tempCloseInt.push(scope.SMWorkOrderScopeID)\r\n\r\n if (this.smDataService.SMCallTypeRequire) {\r\n this.scopeDetails.forEach((scopeDetail: any) => {\r\n if (scopeDetail.SMWorkOrderScopeID == scope.SMWorkOrderScopeID && scopeDetail.CallType == null) {\r\n this.closeOutMissingCallType = true\r\n this.missingCallType += scopeDetail.Scope + \",\";\r\n }\r\n })\r\n }\r\n } else {\r\n tempCloseExcludeForInvoice += scope.SMWorkOrderScopeID + \",\";\r\n }\r\n })\r\n\r\n if (this.closeOutMissingCallType) {\r\n this.alertCall = \"The following call types are required to be finished prior to completing the trip:\" \r\n }\r\n\r\n if (this.isCollectSignature) {\r\n this.ngbActiveModal.close({\r\n closeList: tempClose, justComplete: false, loadAttachData: this.formData.loadAttachData, bypassAttach: this.formData.bypassAttach\r\n })\r\n } else {\r\n if (!this.closeOutMissingCallType) {\r\n this.smService.getFormsPerScopeMulti(tempCloseInt, this.currentTrip.SMTripID).then((response: any) => {\r\n var templateList = response.data;\r\n this.missingRequireForm = []\r\n if (templateList != null) {\r\n templateList.forEach((val, key) => {\r\n if (val.CompleteRequired && val.IsMissingRequiredFields) {\r\n this.closeOutMissCompleteForm = true;\r\n this.missingRequireForm.push(val);\r\n }\r\n })\r\n }\r\n if (this.closeOutMissCompleteForm) {\r\n this.alertForm = \"The following forms are required to be finished prior to completing the trip:\";\r\n } else {\r\n if (this.closeCount == 0) {\r\n this.smService.completeTrip({\r\n sMTripID: this.currentTrip.SMTripID,\r\n sMWorkOrderID: this.currentTrip.SMWorkOrderID,\r\n revisitRequired: this.formData.closeReturnTripRequired,\r\n revisitReason: this.formData.closeReturnTripReason,\r\n revisitNotes: this.formData.closeNotes,\r\n justComplete: true,\r\n justSendEmail: false\r\n }).then((response: any) => {\r\n this.ngbActiveModal.close({ success: response, justComplete: true })\r\n })\r\n } else {\r\n this.ngbActiveModal.close({\r\n closeList: tempClose, revisitRequired: this.formData.closeReturnTripRequired, revisitReason: this.formData.closeReturnTripReason,\r\n revisitNotes: this.formData.closeNotes, justComplete: false, loadAttachData: this.formData.loadAttachData, collectPayment: this.formData.collectPayment,\r\n bypassAttach: this.formData.bypassAttach, tempCloseExcludeForInvoice: tempCloseExcludeForInvoice\r\n })\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n cancelClicked () {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n}\r\n","
\r\n

{{header}}

\r\n
\r\n
\r\n
\r\n {{body}}\r\n
\r\n\r\n
0\">\r\n Error: {{offlinePostFailList.length}} items failed to sync.\r\n
    \r\n
  • \r\n {{data.url.substr(data.url.indexOf(\"/SM/\"))}}\r\n
      \r\n
    • {{data.result.error}}
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n\r\n
0\">\r\n If you would like to delete the lines that are failing to sync, choose Delete.\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SmDataService } from '../../../pages/sm/services/sm-data.service';\r\nimport { EventService } from '../../../core/services/event.service';\r\n\r\n@Component({\r\n selector: 'app-confirmation-modal',\r\n templateUrl: './confirmation-modal.component.html',\r\n styleUrls: ['./confirmation-modal.component.css']\r\n})\r\nexport class ConfirmationModalComponent {\r\n @Input() body: any\r\n @Input() header: any\r\n\r\n indexedDBVersion = 26;\r\n offlinePostFailList: any;\r\n constructor(private ngbActiveModal: NgbActiveModal, private smDataService: SmDataService, private eventService: EventService) { }\r\n\r\n ngOnInit() {\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n let transaction = db.transaction(\"SM_OfflineSyncFail\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_OfflineSyncFail\");\r\n let offlinePostFailList = storage.getAll();\r\n offlinePostFailList.onsuccess = () => {\r\n this.offlinePostFailList = offlinePostFailList.result;\r\n }\r\n }\r\n }\r\n\r\n public cancelClicked() {\r\n this.ngbActiveModal.close()\r\n }\r\n\r\n public confirmClicked() {\r\n this.ngbActiveModal.close(true);\r\n }\r\n\r\n public deleteClicked() {\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n let transaction = db.transaction(\"SM_OfflineSyncFail\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_OfflineSyncFail\");\r\n storage.clear();\r\n this.smDataService.haveOfflinePostFail = false;\r\n this.eventService.broadcast('haveOfflinePostFail', this.smDataService.haveOfflinePostFail);\r\n }\r\n\r\n let indexdb2 = window.indexedDB.open(\"KDS_SM_DB\", this.indexedDBVersion);\r\n indexdb2.onsuccess = () => {\r\n let db = indexdb2.result;\r\n let transaction = db.transaction(\"SM_PostCalls\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_PostCalls\");\r\n $.each(this.offlinePostFailList, function (key, val) {\r\n storage.delete(val.deleteID);\r\n });\r\n }\r\n this.ngbActiveModal.close(false);\r\n }\r\n}\r\n","
\r\n

Contact 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
NameContact Info
{{data.FirstName}} {{data.LastName}}
{{data.Title}}
\r\n Office: {{data.Phone}}\r\n Cell: {{data.Cell}}\r\n {{data.Email}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-contact-list-modal',\r\n templateUrl: './contact-list-modal.component.html',\r\n styleUrls: ['./contact-list-modal.component.css']\r\n})\r\nexport class ContactListModalComponent {\r\n @Input() signOffList: any\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal,\r\n ) { }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.close()\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport moment from 'moment';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-edit-scheduled-date-modal',\r\n templateUrl: './edit-scheduled-date-modal.component.html',\r\n styleUrls: ['./edit-scheduled-date-modal.component.css']\r\n})\r\nexport class EditScheduledDateModalComponent {\r\n @Input() data: any\r\n formData: { [key: string]: any }\r\n portalSettings: any\r\n format: string\r\n datepickerOptions: any\r\n\r\n constructor(\r\n private ngbActiveModal: NgbActiveModal,\r\n private portalSettingsService: PortalSettingsService,\r\n private utilityService: UtilityService\r\n ) {\r\n this.portalSettings = this.portalSettingsService.getPortalSettings()\r\n this.format = this.utilityService.getDateFormat();\r\n }\r\n\r\n ngOnInit () {\r\n this.datepickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: true, clearPosition: \"left\", showWeekNumbers: false }\r\n this.formData = {\r\n TripName: this.data.TripName,\r\n ScheduledDate: (this.data.ScheduledDate != null ? new Date(moment(this.data.ScheduledDate).utc().format('MM/DD/YYYY')) : null),\r\n TripDescription: this.data.TripDescription,\r\n ScheduledTime: null\r\n }\r\n\r\n if (this.data.ScheduledTime != null) {\r\n var temp = this.data.ScheduledTime.split(':');\r\n var hour = parseInt(temp[0]);\r\n var min = parseInt(temp[1].substring(0, 2));\r\n var meridiem = temp[1].substring(3, 5);\r\n if (hour == 12 && meridiem == \"AM\")\r\n hour = 0;\r\n else if (hour != 12 && meridiem == \"PM\")\r\n hour += 12;\r\n this.formData.ScheduledTime = new Date(2000, 1, 1, hour, min, 1);\r\n }\r\n }\r\n\r\n cancelClicked () {\r\n this.ngbActiveModal.dismiss();\r\n }\r\n\r\n saveClicked () {\r\n this.ngbActiveModal.close(this.formData);\r\n }\r\n}\r\n","
\r\n

Edit Trip

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SmService } from '../../../pages/sm/services/sm.service';\r\n\r\n@Component({\r\n selector: 'app-new-service-item-modal',\r\n templateUrl: './new-service-item-modal.component.html',\r\n styleUrls: ['./new-service-item-modal.component.css']\r\n})\r\nexport class NewServiceItemModalComponent {\r\n @Input() lookupList:any\r\n @Input() woData: any\r\n formData: { [key: string]: any };\r\n constructor(private ngbActiveModal: NgbActiveModal, private smService: SmService,) { }\r\n\r\n ngOnInit() {\r\n this.formData = {};\r\n this.formData.Active = true;\r\n }\r\n\r\n closeModal () {\r\n this.ngbActiveModal.close()\r\n }\r\n\r\n addServiceItemAndClose () {\r\n this.smService.serviceItemInsertUpdate(\r\n -1,\r\n this.woData.SMCo,\r\n this.woData.ServiceSite,\r\n this.formData.ServiceItem,\r\n this.formData.ItemDescription,\r\n this.formData.Manufacturer,\r\n this.formData.Model,\r\n this.formData.YearManufactured,\r\n this.formData.Location,\r\n this.formData.SMTypeID,\r\n this.formData.SerialNumber,\r\n this.formData.Active,\r\n this.formData.ServiceItemSummary,\r\n null\r\n ).then((response) => {\r\n this.ngbActiveModal.close(response)\r\n })\r\n }\r\n}\r\n","
\r\n

\r\n New Service Item\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input } from '@angular/core'\r\nimport { concat, forkJoin, from, Observable, of, Subject } from 'rxjs';\r\nimport { catchError, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service'\r\nimport { UtilityService } from '../../../core/services/utility.service'\r\nimport { SmService } from '../../../pages/sm/services/sm.service'\r\nimport { SmDataService } from '../../../pages/sm/services/sm-data.service';\r\n\r\n@Component({\r\n selector: 'app-new-work-order-modal',\r\n templateUrl: './new-work-order-modal.component.html',\r\n styleUrls: ['./new-work-order-modal.component.css']\r\n})\r\nexport class NewWorkOrderModalComponent {\r\n @Input() technicianList: any\r\n formData: { [key: string]: any };\r\n portalSettings: any\r\n SMRequireSiteOnNewWO: boolean\r\n AllowManualWorkOrderNumber: boolean\r\n SMServiceSiteSuperLookup: boolean\r\n workOrderInvallid: boolean = false\r\n divisionList: any\r\n currentSMCo: any\r\n xhr: any\r\n lookupList: {}\r\n customerList: any\r\n customerListBack: any\r\n siteList: any\r\n centerList: any\r\n openModalLeft: string\r\n alert: string | null\r\n workOrderInvalid: boolean\r\n siteListInput$ = new Subject();\r\n siteList$: Observable;\r\n constructor(private ngbActiveModal: NgbActiveModal, private smService: SmService, private portalSettingsService: PortalSettingsService, public utilityService: UtilityService, public smDataService: SmDataService) {\r\n this.portalSettings = this.portalSettingsService.getPortalSettings()\r\n }\r\n\r\n ngOnInit() {\r\n this.SMRequireSiteOnNewWO = this.portalSettings.SMRequireSiteOnNewWO.ConfigValue == \"1\"\r\n this.AllowManualWorkOrderNumber = this.portalSettings.AllowManualWorkOrderNumber.ConfigValue == \"1\"\r\n this.SMServiceSiteSuperLookup = this.portalSettings.SMServiceSiteSuperLookup.ConfigValue == \"1\"\r\n this.formData = {};\r\n this.centerList = [];\r\n this.divisionList = [];\r\n this.lookupList = [];\r\n \r\n var count = 0;\r\n this.technicianList.forEach(tech => {\r\n if (tech.IsLoggedInUser && count == 0) {\r\n this.formData.technician = tech\r\n this.currentSMCo = this.formData.technician.SMCo\r\n this.getCustomers()\r\n this.getCenters()\r\n if (!this.SMServiceSiteSuperLookup) {\r\n this.getSite()\r\n }\r\n this.getCommonLookup()\r\n count++;\r\n }\r\n })\r\n\r\n this.registerObservables();\r\n }\r\n\r\n registerObservables() {\r\n this.siteList$ = concat(this.siteListInput$.pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n switchMap(async (term: any) => {\r\n if (term != null && term.length > 2) {\r\n let result: any = await this.smService.getSitesByCustomer(\"sMCustomerID=\" + this.formData.customer + \"&includeInactive=false&searchString=\" + encodeURIComponent(term));\r\n return result;\r\n }\r\n })\r\n ));\r\n }\r\n\r\n getCommonLookup() {\r\n this.smService.getCommonLookups(\"?sMCo=\" + this.currentSMCo).then((response: any) => {\r\n this.lookupList = {}\r\n response.forEach((val) => {\r\n if (!this.lookupList.hasOwnProperty(val.LookupType))\r\n this.lookupList[val.LookupType] = []\r\n if (!isNaN(val.Code) && val.LookupType != \"SMPayType\" && val.LookupType == \"SMCallType\" && val.LookupType == \"SMLaborCode\" && val.LookupType != \"SMServiceableItem\")\r\n val.Code = parseInt(val.Code)\r\n if (val.LookupType == \"SMPayType\" || val.LookupType == \"SMCallType\" || val.LookupType == \"SMLaborCode\" || val.LookupType == \"SMServiceableItem\") {\r\n val.Code = val.Code.toString()\r\n }\r\n this.lookupList[val.LookupType].push(val)\r\n })\r\n\r\n });\r\n };\r\n\r\n searchFilter(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Technician.toLowerCase().indexOf(term) > -1 || item.Technician.toString().indexOf(term) > -1 ||\r\n item.UserFullName.toLowerCase().indexOf(term) > -1 || item.UserFullName.toString().indexOf(term) > -1;\r\n }\r\n\r\n technicianChanged() {\r\n if (this.currentSMCo != this.formData.technician.SMCo) {\r\n this.formData.customer = null\r\n this.formData.serviceCenter = null\r\n this.formData.serviceSite = null\r\n this.formData.siteContact = null\r\n this.formData.siteContactPhone = null\r\n this.currentSMCo = this.formData.technician.SMCo\r\n this.getCustomers()\r\n this.getCenters()\r\n if (!this.SMServiceSiteSuperLookup)\r\n this.getSite()\r\n else\r\n this.formData.selectedSiteName = null\r\n this.getCommonLookup()\r\n }\r\n }\r\n\r\n getCustomers() {\r\n this.smService.getCustomers(this.formData.technician.SMCo).then((response: any) => {\r\n this.customerList = response;\r\n this.customerListBack = response.slice();\r\n this.customerList.forEach((val) => {\r\n val.newName = val.Customer + \" - \" + val.CustomerName\r\n });\r\n })\r\n }\r\n\r\n public nameCheck(event) {\r\n this.customerList = [];\r\n this.customerListBack.forEach((val) => {\r\n if ((val.Customer != null ? val.Customer.toString().toLowerCase().indexOf(event.term.toLowerCase()) > -1 : false) ||\r\n (val.CustomerName != null ? val.CustomerName.toLowerCase().indexOf(event.term.toLowerCase()) > -1 : false))\r\n this.customerList.push(val);\r\n });\r\n return this.customerList\r\n }\r\n\r\n public resetLookup() {\r\n this.customerList = this.customerListBack.slice();\r\n }\r\n\r\n checkNumber() {\r\n this.workOrderInvalid = false\r\n if (isNaN(this.formData.workOrder)) {\r\n this.workOrderInvalid = true\r\n }\r\n }\r\n\r\n customerChanged() {\r\n this.formData.serviceSite = null\r\n this.formData.siteContact = null\r\n this.formData.siteContactPhone = null\r\n if (!this.SMServiceSiteSuperLookup)\r\n this.getSite()\r\n else {\r\n this.formData.selectedSiteName = null\r\n }\r\n }\r\n\r\n getSite() {\r\n this.smService.getSitesByCustomer(\"sMCustomerID=\" + this.formData.customer + \"&includeInactive=false\").then((response: any) => {\r\n this.siteList = response\r\n })\r\n }\r\n\r\n siteChanged() {\r\n if (this.formData.serviceSite != null) {\r\n if (!this.SMServiceSiteSuperLookup) {\r\n this.formData.siteContact = this.formData.serviceSite.DefaultSiteContact\r\n this.formData.siteContactPhone = this.formData.serviceSite.DefaultSitePhone\r\n this.formData.serviceCenter = this.formData.serviceSite.DefaultServiceCenter\r\n } else {\r\n this.siteList.forEach((val) => {\r\n if (val.SMServiceSiteID == this.formData.serviceSite) {\r\n this.formData.siteContact = val.DefaultSiteContact\r\n this.formData.siteContactPhone = val.DefaultSitePhone\r\n this.formData.serviceCenter = val.DefaultServiceCenter\r\n this.formData.customer = this.formData.customer == null ? val.SMCustomerID : this.formData.customer\r\n }\r\n })\r\n }\r\n }\r\n if (this.formData.customer == null) {\r\n this.siteList.forEach((val) => {\r\n if (val.SMServiceSiteID == this.formData.serviceSite.SMServiceSiteID) {\r\n this.formData.customer = val.SMCustomerID\r\n }\r\n })\r\n this.siteList = (this.siteList.filter(site => site.SMCustomerID == this.formData.customer))\r\n }\r\n }\r\n\r\n getCenters() {\r\n this.smService.getServiceCenters(this.formData.technician.SMCo).then((response: any) => {\r\n this.centerList = response\r\n this.centerList.forEach((val) => {\r\n var temp = new DOMParser()\r\n var temp2 = temp.parseFromString(val.Divisions, \"text/xml\")\r\n var temp3: any = this.utilityService.xmlToJson(temp2)\r\n var temp4 = []\r\n $.each(temp3?.DivisionList?.Division, function (key2, val2) {\r\n if (val2.attributes != null)\r\n temp4.push({ Description: val2.attributes.Description, Division: val2.attributes.Division })\r\n else\r\n temp4.push({ Description: val2.Description, Division: val2.Division })\r\n })\r\n this.divisionList[val.ServiceCenter] = temp4\r\n })\r\n })\r\n }\r\n\r\n serviceCenterChanged() {\r\n this.formData.division = null\r\n }\r\n\r\n createNewWorkOrderClicked() {\r\n this.alert = null\r\n if (this.formData.description != null && this.formData.description != '' && this.formData.technician != null && this.formData.customer != null) {\r\n this.utilityService.openModal()\r\n const data = {\r\n sMCo: this.currentSMCo, sMWorkOrderID: -1, sMCustomerID: this.formData.customer, sMServiceSiteID: (this.formData.serviceSite != null ? (this.SMServiceSiteSuperLookup ? this.formData.serviceSite : this.formData.serviceSite.SMServiceSiteID) : null),\r\n workOrderDescription: this.formData.description, requestedBy: this.formData.requestedBy, requestedByPhone: this.formData.requestedByPhone, contactName: this.formData.siteContact,\r\n contactPhone: this.formData.siteContactPhone, leadTechnician: this.formData.technician.Technician, serviceCenter: this.formData.serviceCenter, sMWorkOrderNotes: this.formData.notes,\r\n includeUnscheduled: this.formData.isUnscheduled, workOrder: this.formData.workOrder, sMCallType: this.formData.callType, division: this.formData.division, sMTripID: null\r\n }\r\n this.smService.workOrderInsertUpdate(data).then((response: any) => {\r\n if (response.success)\r\n this.ngbActiveModal.close(response)\r\n else {\r\n this.alert = response.error\r\n this.utilityService.closeModal();\r\n }\r\n })\r\n }\r\n }\r\n\r\n cancelClicked() {\r\n this.utilityService.closeModal();\r\n this.ngbActiveModal.dismiss();\r\n }\r\n}\r\n","
\r\n

New Work Order

\r\n
\r\n
\r\n
\r\n {{alert}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{data.ServiceCenterDescription}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{data.Description}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{data.CodeDescription}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport moment from 'moment';\r\nimport { NewServiceItemModalComponent } from '../new-service-item-modal/new-service-item-modal.component';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { SmService } from '../../../pages/sm/services/sm.service';\r\nimport { SmDataService } from '../../../pages/sm/services/sm-data.service';\r\n\r\n@Component({\r\n selector: 'app-service-list-modal',\r\n templateUrl: './service-list-modal.component.html',\r\n styleUrls: ['./service-list-modal.component.css']\r\n})\r\nexport class ServiceListModalComponent {\r\n @Input() WOorSI: any\r\n @Input() woData: any\r\n @Input() lookupList: any\r\n @Input() format: any\r\n formData: { [key: string]: any };\r\n serviceList: any\r\n woHistoryList: any\r\n filteredServiceList: any\r\n portalSettings: any\r\n employeeInfo: any\r\n datepickerOptions: any\r\n datePickerOptionsMonth: any\r\n dateFormat: string\r\n SMEditServiceSiteNote: any;\r\n SMAllowServiceItemEdit: any;\r\n\r\n constructor(private ngbModalService: NgbModal, private smService: SmService, private ngbActiveModal: NgbActiveModal, private sanitizer: DomSanitizer, private portalSettingsService: PortalSettingsService,\r\n private employeeInfoService: EmployeeInfoService, public smDataService: SmDataService ) {\r\n this.portalSettings = this.portalSettingsService.getPortalSettings();\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnInit () {\r\n this.formData = {\r\n searchText: null,\r\n onEdit: ((this.woData.ServiceSiteNotes == null && this.SMEditServiceSiteNote) ? true : false)\r\n }\r\n this.SMAllowServiceItemEdit = this.employeeInfo.SMAllowServiceItemEdit;\r\n this.SMEditServiceSiteNote = this.portalSettings.SMEditServiceSiteNote.ConfigValue == \"1\"\r\n if (this.WOorSI == 'WO') {\r\n this.getWorkOrderHistory()\r\n }\r\n else {\r\n this.getServiceItemDetails()\r\n }\r\n \r\n }\r\n\r\n getServiceItemDetails () {\r\n this.smService.getServiceItemDetails(this.woData.SMServiceSiteID, null).then((response) => {\r\n this.serviceList = response;\r\n this.serviceList.forEach((service) => {\r\n if (service.SMTypeID != null)\r\n service.SMTypeID = service.SMTypeID.toString();\r\n if (service.Description != null)\r\n service.DescriptionHTML = (service.Description);\r\n })\r\n this.filterServiceItem();\r\n });\r\n }\r\n\r\n getWorkOrderHistory() {\r\n this.smService.serviceItemWOHistory(this.woData.SMServiceSiteID, this.woData.SMTripID, null).then((response) => {\r\n this.woHistoryList = response;\r\n this.woHistoryList.forEach((woHistory) => {\r\n if (woHistory.CompletedDate != null)\r\n woHistory.CompletedDateDisplay = moment(woHistory.CompletedDate).utc().format(this.format.toUpperCase());\r\n if (woHistory.TripNotes != null && woHistory.TripNotes != \"\")\r\n woHistory.TripNotesHTML = (woHistory.TripNotes);\r\n else {\r\n woHistory.TripNotesHTML = null;\r\n }\r\n })\r\n })\r\n }\r\n\r\n\r\n editNotes () {\r\n this.formData.onEdit = !this.formData.onEdit\r\n }\r\n\r\n saveNotes () {\r\n this.woData.ServiceSiteNotes = (this.woData.ServiceSiteNotes != null && this.woData.ServiceSiteNotes != \"\" ? this.woData.ServiceSiteNotes.split(\"\\n\").join(\"\\r\\n\") : \"\");\r\n this.smService.updateSiteNotes(this.woData.SMServiceSiteID, this.woData.ServiceSiteNotes ).then((response) => {\r\n this.editNotes();\r\n })\r\n }\r\n\r\n routeToServiceDetail(data) {\r\n this.ngbActiveModal.close({ data: data, where: 'Service' })\r\n }\r\n\r\n toDrillDown(data) {\r\n this.ngbActiveModal.close({ data: data, where: 'Work' })\r\n }\r\n\r\n closeModal() {\r\n this.ngbActiveModal.close();\r\n }\r\n\r\n filterServiceItem() {\r\n setTimeout(() => {\r\n this.filteredServiceList = [];\r\n this.serviceList.forEach((service) => {\r\n if (this.formData.searchText != null && this.formData.searchText != \"\") {\r\n if ((service.Model != null ? service.Model.toLowerCase().indexOf(this.formData.searchText.toLowerCase()) > -1 : false) ||\r\n (service.SerialNumber != null ? service.SerialNumber.toLowerCase().indexOf(this.formData.searchText.toLowerCase()) > -1 : false) ||\r\n (service.DescriptionHTML != null ? service.DescriptionHTML.toString().toLowerCase().indexOf(this.formData.searchText.toLowerCase()) > -1 : false) ||\r\n (service.ServiceItem != null ? service.ServiceItem.toLowerCase().indexOf(this.formData.searchText.toLowerCase()) > -1 : false)) {\r\n this.filteredServiceList.push(service);\r\n }\r\n } else {\r\n this.filteredServiceList.push(service);\r\n }\r\n })\r\n })\r\n }\r\n\r\n createServiceItem () {\r\n const modalRef = this.ngbModalService.open(NewServiceItemModalComponent, { size: 'lg', backdrop: 'static' });\r\n modalRef.componentInstance.lookupList = this.lookupList;\r\n modalRef.componentInstance.woData = this.woData;\r\n modalRef.result.then((response) => {\r\n this.getServiceItemDetails();\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Work Order History

\r\n

Service Items on Site

\r\n \r\n
\r\n
\r\n
\r\n {{woData.ServiceSiteNotes}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
WO#TechnicianDateNotes
{{data.WorkOrder}}{{data.TripTechnician}}{{data.CompletedDateDisplay}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Service ItemDescription (Model/Serial #) Location
{{data.ServiceItem}}\r\n
\r\n ({{data.Model}}/{{data.SerialNumber}}#) {{data.Location}}\r\n ({{data.SerialNumber}}#) {{data.Location}}\r\n ({{data.Model}}) {{data.Location}}\r\n
\r\n
\r\n
\r\n
\r\n
Add Service Item
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","
\r\n

Cancel Holiday Request

\r\n
\r\n
\r\n
This will cancel your request.
\r\n\r\n
{{data.FromDate}} to {{data.ToDate}}
\r\n
{{data.FromDate}}
\r\n {{data.LeaveDescription}}
\r\n {{data.RequestStatus}}
\r\n
\r\n
\r\n \r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-cancel-holiday-modal',\r\n templateUrl: './cancel-holiday-modal.component.html',\r\n styleUrls: ['./cancel-holiday-modal.component.css']\r\n})\r\nexport class CancelHolidayModalComponent implements OnInit {\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n @Input() data: any;\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n closeClicked() {\r\n this.activeModal.close('close');\r\n }\r\n\r\n confirmClicked() {\r\n this.activeModal.close('confirm');\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport moment from 'moment-business-days';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { DaysAndHoursPipe } from 'src/app/shared/pipe/days-and-hours.pipe';\r\n\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\n\r\n@Component({\r\n selector: 'app-floating-modal',\r\n templateUrl: './floating-modal.component.html',\r\n styleUrls: ['./floating-modal.component.css']\r\n})\r\nexport class FloatingModalComponent implements OnInit {\r\n @Input() leaveCode: any;\r\n @Input() stdWorkdayHours: number\r\n @Input() date: Date;\r\n @Input() Languages: any[];\r\n @Input() settings: { [key: string]: any };\r\n @Input() totalAccruedFromDateLastUsed: number;\r\n @Input() dateDiff: number;\r\n @Input() format: string;\r\n latestRequestDate: any\r\n portalSettings: any;\r\n displayDate: string;\r\n hrTimeOffMessage: any;\r\n year: number;\r\n daysAndHours: DaysAndHoursPipe\r\n accrualRate: any;\r\n disableProjected: boolean;\r\n\r\n constructor(private portalSettingsService: PortalSettingsService, private ngbActiveModal: NgbActiveModal) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.daysAndHours = new DaysAndHoursPipe();\r\n this.accrualRate = this.leaveCode.AccrualRate != null ? this.leaveCode.AccrualRate.toFixed(4) : this.leaveCode.AccrualRate;\r\n this.hrTimeOffMessage = this.portalSettings.HRMesasageForTimeOff.ConfigValue;\r\n this.disableProjected = this.portalSettings.VCDisableProjected.ConfigValue == \"1\";\r\n this.displayDate = moment(this.date).format(this.format);\r\n this.year = new Date().getFullYear();\r\n }\r\n\r\n cancelClicked() {\r\n this.ngbActiveModal.close('cancel');\r\n };\r\n}\r\n","
\r\n
{{leaveCode.LeaveCodeDescription}} Balance History
\r\n
{{leaveCode.LeaveCodeDescription}} {{Languages[\"Balance History\"][\"TranslateLabel\"]}}
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Annual Allotment:
\r\n
{{Languages[\"Annual Allotment\"][\"TranslateLabel\"]}}:
\r\n
{{leaveCode.AnnualAllotment | daysAndHours:settings.timeOffUnits:stdWorkdayHours:false:true}}
\r\n
\r\n
\r\n
\r\n
{{year}} Starting Bal as of {{leaveCode.AvailBalDateDisplay}}:
\r\n
{{year}} {{Languages[\"Starting Bal\"][\"TranslateLabel\"]}}:
\r\n
{{leaveCode.PrevRollOver | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n
\r\n
Accrued as of {{leaveCode.AccrualAsOfDateDisplay}}:
\r\n
{{Languages[\"Accrued\"][\"TranslateLabel\"]}}:
\r\n
+
{{leaveCode.YTDAccrued | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n
\r\n
Since Last Reset Date:
\r\n
{{Languages[\"Since Last Reset Date\"][\"TranslateLabel\"]}}:
\r\n
-
{{leaveCode.YTDUsed | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n
\r\n
\r\n
Current Available:
\r\n
{{Languages[\"Current Available\"][\"TranslateLabel\"]}}:
\r\n
{{leaveCode.ViewpointBalance | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
Projected Date Used:info
\r\n
{{displayDate}}
\r\n
\r\n
\r\n
Working Days from last accrual to projected date:
\r\n
{{dateDiff}}
\r\n
\r\n
\r\n
Rate of Accrual per working Hours:info
\r\n
{{accrualRate}}
\r\n
\r\n
\r\n
Total Projected Accrued:
\r\n
{{totalAccruedFromDateLastUsed | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n
\r\n
Planned vacation Used:
\r\n
{{leaveCode.PlannedHours | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n
\r\n
Total Projected:
\r\n
{{leaveCode.CalculatedBalance | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
","
\r\n

Confirm Cash-Out Request

\r\n

{{Languages[\"Confirm Cash-Out Request\"][\"TranslateLabel\"]}}

\r\n
\r\n
\r\n You are requesting to cash out {{cashHours}} hours for the pay period ending on {{payPeriod}}.\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; \r\n\r\n@Component({\r\n selector: 'app-review-cashout-request-modal',\r\n templateUrl: './review-cashout-request-modal.component.html',\r\n styleUrls: ['./review-cashout-request-modal.component.css']\r\n})\r\nexport class ReviewCashoutRequestModalComponent implements OnInit {\r\n @Input() cashHours: any;\r\n @Input() payPeriod: any;\r\n @Input() stdWorkdayHours: any;\r\n @Input() defaultFridayHours: any;\r\n @Input() Languages: any;\r\n\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.close('cancel');\r\n };\r\n\r\n submitClicked() {\r\n this.activeModal.close('submit');\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-review-timeoff-request-modal',\r\n templateUrl: './review-timeoff-request-modal.component.html',\r\n styleUrls: ['./review-timeoff-request-modal.component.css']\r\n})\r\nexport class ReviewTimeoffRequestModalComponent implements OnInit {\r\n @Input() dates: any;\r\n @Input() stdWorkdayHours: any;\r\n @Input() defaultFridayHours: any;\r\n requests: any[] = [];\r\n @Input() newBalance: any;\r\n @Input() total: any;\r\n @Input() requestType: any;\r\n @Input() leaveCodeID: any;\r\n @Input() hours: any;\r\n @Input() leaveCodeDesc: string;\r\n @Input() customFridayMode: any;\r\n @Input() projectedInitial: any;\r\n @Input() Languages: any;\r\n @Input() settings: any;\r\n @Input() format: string;\r\n @Input() hideInitRemainHourModal: boolean;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.groupDates();\r\n }\r\n\r\n\r\n groupDates() {\r\n var temp = [];\r\n temp.push(this.dates[0].date);\r\n for (let i = 0; i < this.dates.length - 1; i++) {\r\n //check if next date is continuous with previous date\r\n var currentDay = new Date(this.dates[i].date);\r\n var nextDay = new Date(this.dates[i + 1].date);\r\n var tomorrow = new Date(this.dates[i].date);\r\n tomorrow.setDate(tomorrow.getDate() + 1);\r\n var threeDays = new Date(this.dates[i].date);\r\n threeDays.setDate(threeDays.getDate() + 3);\r\n if (tomorrow.getTime() == nextDay.getTime()) {\r\n temp.push(this.dates[i + 1].date);\r\n }\r\n //special case: check for Friday - Monday\r\n else if (currentDay.getDay() == 5 && nextDay.getDay() == 1) {\r\n if (threeDays.getTime() == nextDay.getTime())\r\n temp.push(this.dates[i + 1].date);\r\n else {\r\n this.addToRequests(temp);\r\n temp = [];\r\n temp.push(this.dates[i + 1].date);\r\n }\r\n }\r\n //if next date is not continuous, push current list to request list\r\n else {\r\n this.addToRequests(temp);\r\n temp = [];\r\n temp.push(this.dates[i + 1].date);\r\n }\r\n\r\n }\r\n this.addToRequests(temp);\r\n }\r\n\r\n addToRequests(temp) {\r\n var requestString, dateString;\r\n if (temp.length > 1) {\r\n requestString = this.leaveCodeDesc + \" - Multiday\";\r\n dateString = moment(temp[0]).format(this.format) + \" - \" + moment(temp[temp.length - 1]).format(this.format);\r\n }\r\n else {\r\n requestString = this.leaveCodeDesc + \" - Single Day\";\r\n dateString = moment(temp[0]).format(this.format);\r\n }\r\n var hours = this.calculateHours(temp);\r\n this.requests.push({ DateString: dateString, RequestString: requestString, Hours: hours });\r\n }\r\n\r\n calculateHours(temp) {\r\n var total = 0;\r\n temp.forEach(val => {\r\n //If request is a partial requests, use provided hours\r\n if (this.requestType == 'P') {\r\n total += this.hours;\r\n }\r\n else if (this.customFridayMode && (new Date(val).getDay()) == 5) {\r\n //TODO get value\r\n total += this.defaultFridayHours;\r\n }\r\n else {\r\n total += this.hours;\r\n }\r\n });\r\n return total;\r\n }\r\n\r\n cancelClicked() {\r\n this.activeModal.close('cancel');\r\n }\r\n\r\n submitClicked() {\r\n this.openModal();\r\n this.activeModal.close('submit');\r\n }\r\n\r\n openModal() {\r\n document.getElementById('modal').style.display = 'block';\r\n document.getElementById('fade').style.display = 'block';\r\n }\r\n}\r\n","
\r\n

Confirm Time-Off Request

\r\n

{{Languages[\"Confirm Time-Off Request\"][\"TranslateLabel\"]}}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Request Type{{Languages[\"Request Type\"][\"TranslateLabel\"]}}Partial Day{{Languages[\"Partial Day\"][\"TranslateLabel\"]}}Dates{{Languages[\"Dates\"][\"TranslateLabel\"]}}
{{request.RequestString}}{{request.DateString}}{{request.Hours | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
Initial Hours:{{projectedInitial | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
Total Requested:{{total | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
New Balance:{{newBalance | daysAndHours:settings.timeOffUnits:stdWorkdayHours}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { TimeOffService } from '../../../pages/timeoff/time-off.service';\r\n\r\n@Component({\r\n selector: 'app-view-company-holiday-modal',\r\n templateUrl: './view-company-holiday-modal.component.html',\r\n styleUrls: ['./view-company-holiday-modal.component.css']\r\n})\r\nexport class ViewCompanyHolidayModalComponent implements OnInit {\r\n @Input() userID : number;\r\n @Input() msg: string;\r\n @Input() Languages: any[];\r\n formData: { [key: string]: any };\r\n yearList: any[];\r\n modalMsg: string;\r\n format: string;\r\n portalSettings: any;\r\n holidayList: any;\r\n\r\n constructor(private timeOffService:TimeOffService, private portalSettingsService:PortalSettingsService, private ngbActiveModal:NgbActiveModal) {\r\n this.portalSettings = this.portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formData = {};\r\n this.yearList = [];\r\n this.modalMsg = this.msg;\r\n var current = moment().format(\"YYYY\");\r\n this.yearList.push({ value: parseInt(current) - 1, name: (parseInt(current) - 1).toString() });\r\n this.yearList.push({ value: parseInt(current), name: current});\r\n this.yearList.push({ value: parseInt(current) + 1, name: (parseInt(current) + 1).toString() });\r\n this.formData.selectedYear = parseInt(current);\r\n this.format = this.portalSettings.CountryDateCode.ConfigValue == \"US\" ? \"MM/DD/YYYY\" : \"DD/MM/YYYY\";\r\n this.getHoliday();\r\n\r\n }\r\n getHoliday(){\r\n this.timeOffService.getHolidaysByUserKeyID(this.userID,this.formData.selectedYear).then((response:any)=>{\r\n this.holidayList = response;\r\n this.holidayList.forEach((val: { HolidayDateString: moment.MomentInput; Day: string; })=> {\r\n switch (moment(val.HolidayDateString, this.format.toUpperCase()).day()) {\r\n case 0:\r\n val.Day = \"Sun\"; break;\r\n case 1:\r\n val.Day = \"Mon\"; break;\r\n case 2:\r\n val.Day = \"Tue\"; break;\r\n case 3:\r\n val.Day = \"Wed\"; break;\r\n case 4:\r\n val.Day = \"Thr\"; break;\r\n case 5:\r\n val.Day = \"Fri\"; break;\r\n case 6:\r\n val.Day = \"Sat\"; break;\r\n }\r\n });\r\n });\r\n }\r\n\r\n closeClicked() {\r\n this.ngbActiveModal.close('close');\r\n };\r\n}\r\n","
\r\n
Company Holidays
\r\n
\r\n
\r\n
\r\n \r\n {{data.name}}\r\n \r\n

\r\n
\r\n 0\">\r\n
    \r\n
  • {{data.HolidayName}} - {{data.HolidayDateString}} ({{data.Day}})
  • \r\n
\r\n
\r\n
\r\n There are no company holidays in {{formData.selectedYear}}.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { TimeOffService } from 'src/app/pages/timeoff/time-off.service';\r\nimport { WebixDatatablecomponent } from '../../../shared/component/time-off-grid/webix-datatable.component';\r\nimport { OrderByPipe } from 'src/app/shared/pipe/order-by.pipe';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-view-group-timeoff-modal',\r\n templateUrl: './view-group-timeoff-modal.component.html',\r\n styleUrls: ['./view-group-timeoff-modal.component.css']\r\n\r\n})\r\nexport class ViewGroupTimeoffModalComponent implements OnInit, AfterViewInit {\r\n @Input() userData: any;\r\n @ViewChild('timeoffGrid') grid !: WebixDatatablecomponent;\r\n @ViewChild('modalSize', { static: false }) modalSize: ElementRef;\r\n formData: { [key: string]: any } = {};\r\n //tempsummaryRows = null;\r\n monthFormat: string = \"MM/yyyy\";\r\n isOpen: any[] = [];\r\n webixDataList: any[];\r\n webixGridData: any[];\r\n portalSettings: any;\r\n data: any;\r\n monthOn: boolean;\r\n newDateArray: any[];\r\n monthData: any[];\r\n orderByPipe: any;\r\n monthChangeTrigger: boolean;\r\n DateJs = Date;\r\n datePickerOptions: { dateInputFormat: string; containerClass: string; showTodayButton: boolean; showClearButton: boolean; clearPosition: string; showWeekNumbers: boolean, minMode: string };\r\n format: string;\r\n mobileMode: boolean;\r\n selectedData: any[] = [];\r\n gridWidth: number = 750;\r\n isDataSelected: boolean = false;\r\n\r\n constructor(private activeModal: NgbActiveModal, private timeOffService: TimeOffService, portalSettingsService: PortalSettingsService, private utilityService: UtilityService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.mobileMode = utilityService.isMobileMode();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.format = \"MM/YYYY\";\r\n this.datePickerOptions = { dateInputFormat: this.format.toUpperCase(), containerClass: \"theme-blue\", showTodayButton: true, showClearButton: false, clearPosition: \"left\", showWeekNumbers: false, minMode: \"month\" };\r\n this.orderByPipe = new OrderByPipe();\r\n this.formData.selectedMonth = new Date(moment(new Date(new Date().getFullYear(), new Date().getMonth(), 1)).add(1, 'days').format(\"YYYY-MM-DD\"));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.grid.monthChange();\r\n }\r\n\r\n open($event, item) {\r\n this.isOpen = [];\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.isOpen[item] = true;\r\n }\r\n\r\n updateData(event: any) {\r\n this.data = event;\r\n }\r\n\r\n closeClicked() {\r\n this.activeModal.close();\r\n };\r\n\r\n}","
\r\n
\r\n
\r\n
Group Time Off
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n circle_check_outline\r\n Approved\r\n \r\n \r\n \r\n circle_close\r\n Rejected\r\n \r\n \r\n \r\n help\r\n Pending\r\n \r\n car_front Holiday\r\n
\r\n
\r\n
\r\n \r\n

No Time Off Request for this month.

\r\n\r\n
\r\n {{data[\"LeaveCode\"]}}
\r\n {{data[\"FromDate\"]}}
\r\n {{data[\"ToDate\"]}}
\r\n {{data[\"Hours\"]}}
\r\n
\r\n
\r\n
","import { Component, OnDestroy, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, NavigationStart, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\n\r\n//services\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { AccountService } from '../services/account.service';\r\n\r\n//guards\r\nimport { CanComponentDeactivate } from '../../../shared/guard/unsaved-changes.guard';\r\n\r\n//modals\r\nimport { WarningModalComponent } from '../../../modals/shared/warning-modal/warning-modal.component';\r\n\r\n\n@Component({\n selector: 'app-change-account-password',\n templateUrl: './change-account-password.component.html',\n styleUrls: ['./change-account-password.component.css']\n})\nexport class ChangeAccountPasswordComponent implements OnInit, OnDestroy, CanComponentDeactivate {\n\n @ViewChild('changePasswordForm', { static: false }) changePasswordForm: NgForm;\n portalSettings: any;\n formData: any = {};\n passwordsMatch: boolean = true;\n backToUA: boolean = false;\n isIE: any;\n employeeDetails: any = {};\n employeeParams: any = {};\n securityPinMessage: string;\n logoHQCo: number;\n isResetPassword: boolean = false;\n logoUrl: string;\n alert: any = null;\n queryParams$: Subscription;\n navigation$: Subscription;\n isPasswordChanged: boolean = false;\n isFromPasswordModal: boolean = false;\n\n constructor(portalSettingsService: PortalSettingsService, private accountService: AccountService, private router: Router, private activatedRoute: ActivatedRoute, private titleService: Title, private renderer: Renderer2, private sharedModalService: BsModalService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\n\n ngOnInit() {\n this.securityPinMessage = this.portalSettings.SecurityPinMessage.ConfigValue;\n this.logoHQCo = this.portalSettings.LogoHQCo.ConfigValue;\n this.isResetPassword = this.router.url.includes('resetaccountpassword');\n if (this.isResetPassword) {\n this.titleService.setTitle(\"Reset Account Password\");\r\n this.renderer.setStyle(document.body, 'backgroundImage', null);\r\n }\n this.queryParams$ = this.activatedRoute.queryParams.subscribe((params: any) => {\n this.changePasswordForm?.form?.markAsPristine();\n this.formData = {};\n this.passwordsMatch = true;\n this.backToUA = false;\n this.employeeDetails = {};\n this.employeeParams = {};\n this.alert = null;\n\n this.employeeParams.Token = params.token;\n this.employeeParams.KeyID = params.u;\n this.employeeParams.ManualToken = params.manualToken == \"true\";\n this.employeeParams.Employee = params.employee\n this.employeeParams.Company = params.company;\n this.employeeParams.UserKeyID = params.userKeyID;\n this.init();\n });\r\n\r\n this.navigation$ = this.router.events.subscribe((event: any) => {\n if (event instanceof NavigationStart && event.url.includes('changeaccountpassword') && this.isFromPasswordModal) {\n this.router.navigate([\"/account/changeaccountpassword\"], { queryParams: {}, fragment: \"/UA=F/Reset=T\" });\n }\n });\r\n }\n\n ngOnDestroy() {\n this.queryParams$.unsubscribe();\r\n this.navigation$.unsubscribe();\r\n }\n\n hasUnsavedChanges() {\n if (!this.isResetPassword && !this.isPasswordChanged && this.isFromPasswordModal) {\r\n const initialState = {\n modalData: {\n modalTitle: \"Password Change Required\",\n modalMessage: \"You must change your password before proceeding.\",\n closeButtonText: \"Ok\",\n },\n backdrop: 'static',\n size: 'md'\n };\n this.sharedModalService.show(WarningModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n return false;\r\n }\n return true;\n }\n\n init() {\n if (!this.isResetPassword) {\n this.getRouteData();\r\n this.getEmployeeDetails();\r\n }\r\n else {\r\n this.setLogoUrl(this.logoHQCo, \"L\");\r\n }\r\n this.isIE = this.detectIE();\r\n }\n\n confirmPassword() {\n this.passwordsMatch = this.validatePasswords();\n }\n\n clearErrors() {\n this.alert = null;\n this.passwordsMatch = true;\n }\n\n changePassword() {\n if (!this.isResetPassword) {\n if (this.formData.newPassword == this.formData.confirmPassword) {\n this.accountService.changePassword(this.formData).then((response: any) => {\n this.alert = { type: response.success ? \"success\" : \"danger\", msg: response.message };\n if (response.success) {\n this.isPasswordChanged = true;\n this.changePasswordForm?.form?.markAsPristine();\n this.formData = { employee: this.formData.employee, company: this.formData.company };\n //567043 - Successfully changed password message is not visible after resetting password\n setTimeout(() => {\n if (this.backToUA) {\n this.router.navigate([\"/admin/manageemployees\"]);\n }\n else {\n this.router.navigate(['/'])\n } \r\n },1000)\n }\n }, () => {\n this.alert = { type: \"danger\", msg: \"Error occurred while changing password, contact administrator.\" };\n });\n }\r\n }\n else {\n if (!this.employeeParams.ManualToken) {\r\n this.accountService.resetPassword(this.employeeParams.KeyID, this.formData.securityPIN, this.employeeParams.Token, this.formData.newPassword, this.formData.confirmPassword).then((response: any) => {\r\n if (response != null && response.success) {\r\n window.location.href = \"/Account/Logout\";\r\n }\r\n else if (response != null && !response.success){\r\n this.alert = { type: \"danger\", msg: response.error };\r\n }\r\n });\r\n }\r\n else {\r\n\r\n this.accountService.manualResetPassword(this.formData.newPassword, this.formData.confirmPassword, this.formData.verificationPIN).then((response: any) => {\r\n if (response != null && response.success) {\r\n window.location.href = \"/Account/Logout\";\r\n }\r\n else if (response != null && !response.success) {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n }\r\n });\r\n }\r\n }\n }\n\n navigateToLogin() {\n this.router.navigate([\"/account/login\"], { queryParams: { returnUrl: '/' } });\r\n }\n\n private setLogoUrl(co: number, size: string = 'L') {\n this.logoUrl = '/Company/GetLogo?co=' + co + '&size=' + size;\n }\n\n private getRouteData() {\n var hash = window.location.hash;\n if (hash != null && hash.length > 1) {\n var routeRegex = /^#[/]UA[=](T|F)?(\\/Reset[=](T|F))?$/;\n var routeMatch = routeRegex.exec(hash);\n if (routeMatch != null) {\n this.backToUA = routeMatch[1] == \"T\";\n this.isFromPasswordModal = routeMatch[3] == \"T\"\n }\n }\n }\n\n private detectIE() {\n var ua = window.navigator.userAgent;\n\n var msie = ua.indexOf('MSIE ');\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n }\n\n // other browser\n return false;\n }\n\n private validatePasswords() {\n var arePasswordsFilled = this.formData.confirmPassword?.trim() && this.formData.newPassword?.trim();\n var passwordsMatch = this.formData.confirmPassword == this.formData.newPassword && arePasswordsFilled;\n if (!passwordsMatch && arePasswordsFilled) {\n this.alert = { type: \"danger\", msg: \"Passwords must match!\" };\r\n }\n return passwordsMatch;\n };\n\n private getEmployeeDetails() {\n this.accountService.getEmployeeDetails(this.employeeParams.UserKeyID, this.employeeParams.Employee, this.employeeParams.Company).then((response: any) => {\r\n if (response != null) {\r\n this.employeeDetails = response;\r\n this.formData.employee = response.EmployeeId;\r\n this.formData.company = response.CompanyId;\r\n }\r\n });\r\n }\n}\n\n\n","
\r\n
\r\n

Update Your Employee Portal Password

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

Update Password for {{ employeeDetails.UserName }}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n

Reset Account Password

\r\n
\r\n \r\n
\r\n
{{alert.msg}}
\r\n
\r\n
\r\n Please enter your new password below once you have received your verification PIN.SMS Reset Code\r\n
\r\n
\r\n
\r\n
\r\n info Passwords must be at least 12 characters long, and must contain at least 3 of the following: lowercase letters, uppercase letters, numbers, and special characters.\r\n
\r\n
\r\n
\r\n
Old password cannot be the same as new password.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n 0\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n name=\"currentPassword\"\r\n id=\"current\"\r\n [(ngModel)]=\"formData.oldPassword\"\r\n placeholder=\"Current password\"\r\n required\r\n autocomplete=\"new-password\" />\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n 0\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"formData.verificationPIN\"\r\n required\r\n name=\"code\"\r\n placeholder=\"SMS Reset Code\"\r\n autocomplete=\"new-password\" />\r\n
\r\n
\r\n \r\n \r\n \r\n 0\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"formData.securityPIN\"\r\n required\r\n name=\"pin\"\r\n placeholder=\"{{securityPinMessage}}\"\r\n autocomplete=\"new-password\" />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n 0\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n id=\"new\"\r\n name=\"newPassword\"\r\n [(ngModel)]=\"formData.newPassword\"\r\n (change)=\"clearErrors()\"\r\n (blur)=\"confirmPassword()\"\r\n placeholder=\"New password\"\r\n required\r\n autocomplete=\"new-password\" />\r\n
\r\n
\r\n close\r\n \r\n \r\n \r\n 0\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n id=\"confirm\"\r\n name=\"confirmNewPassword\"\r\n [(ngModel)]=\"formData.confirmPassword\"\r\n (blur)=\"confirmPassword()\"\r\n (change)=\"clearErrors()\"\r\n placeholder=\"Confirm new password\"\r\n required\r\n autocomplete=\"new-password\" />\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountService {\n http: HttpClient;\n constructor(http: HttpClient) {\n this.http = http;\n }\n\n getCompanies() {\n return this.http.get('/Account/GetCompanies').toPromise();\n }\n\n login(loginData: any) {\n return this.http.post(\"/Account/Login\",\n {\n actionModel: loginData\n }).toPromise();\n }\n\n windowsLogin(loginData: any) {\n return this.http.post(\"/Account/WindowsLogin\", loginData).toPromise();\n }\n\n requestPasswordReset(employeeNum: number, prco: number, inputPin: string) {\n return this.http.post(\"/Account/RequestPasswordReset\",\n {\n employee: employeeNum,\n pRCo: prco,\n inputPin: inputPin\n }).toPromise();\n }\n\n createAccount(accountData: any) {\n return this.http.post(\"/Account/Create\",\n {\n actionModel: accountData\n }).toPromise();\n }\n\n checkReturnUrl(returnUrl: string) {\n return this.http.get(\"/Account/CheckReturnUrl?returnUrl=\" + returnUrl).toPromise();\n }\n\n getCompanyNumFromUrl(coString: string) {\n return this.http.get(\"/Account/GetCompanyNumFromUrl?coString=\" + coString).toPromise();\n }\n\n namedLogin(username: string, password: string) {\n return this.http.post(\"/Account/NamedLogin\", { username: username, password: password }).toPromise();\n }\n\n getVistaTidEnabled() {\n return this.http.get(\"/Account/GetVistaTidEnabled\").toPromise();\n }\n\n GetIsLoggedIn() {\n return this.http.get(\"/Account/IsLoggedIn\").toPromise();\n } \n\n changePassword(requestObject: any) {\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/x-www-form-urlencoded'\n });\n var options = { headers: headers };\n let body = new URLSearchParams();\n body.set('employee', requestObject.employee);\n body.set('company', requestObject.company);\n body.set('oldPassword', requestObject.oldPassword);\n body.set('newPassword', requestObject.newPassword);\n return this.http.post(\"/Account/ChangePassword\",\r\n body.toString(),\r\n options\r\n ).toPromise();\r\n }\n\n getEmployeeDetails(userKeyID?: number, employee?: number, company?: number) {\n return this.http.get(\"/Account/GetEmployeeDetails?userKeyID=\" + userKeyID + \"&employee=\" + employee + \"&company=\" + company).toPromise();\r\n }\n\n resetPassword(userKeyId: number, inputPin: string, token: string, newPassword: string, confirmPassword: string) {\n return this.http.post(\"/Account/ResetPassword\",\n {\n userKeyId: userKeyId, \n inputPin: inputPin,\n token: token,\n newPassword: newPassword,\n confirmPassword: confirmPassword\n }).toPromise();\n }\n\n manualResetPassword(newPassword: string, confirmPassword: string, verificationPIN: number) {\n return this.http.post(\"/Account/ManualResetPassword\",\n { \n newPassword: newPassword,\n confirmPassword: confirmPassword,\n verificationPIN: verificationPIN\n }).toPromise();\n }\n\n async getPortalSettings (): Promise {\r\n return this.http.get('/Account/GetPortalSettings').toPromise();\r\n }\r\n\r\n async getAnonPortalSettings (): Promise {\r\n return this.http.get('/Account/GetPortalSettingsAnon').toPromise()\r\n }\r\n\r\n getJobsAccessToken() {\n return this.http.get(\"/Account/GetJobsAccessToken\").toPromise();\r\n }\r\n\r\n getAccountLogoutRedirect() {\r\n var url = \"/Account/Logout?noRedirect=true\";\r\n return this.http.get(url, { responseType: 'text' }).toPromise();\r\n }\r\n}\r\n\r\nexport interface PortalSettings {\r\n [key: string]: { ConfigValue: string | null};\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AdminService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getErrorLogs() {\r\n return this.http.get(\"/Admin/GetErrorLogs\").toPromise();\r\n }\r\n\r\n exportErrorLog() {\r\n let url = \"/Admin/ExportErrorLog\";\r\n window.location.href = url;\r\n return true;\r\n }\r\n\r\n getConfigCat() {\r\n return this.http.get(\"/Admin/GetConfigCat\").toPromise();\r\n }\r\n\r\n getLoginUrl(selectedCompany: any) {\r\n return this.http.get(\"/Admin/GetLoginUrl?co=\" + selectedCompany, { responseType: 'text' }).pipe();\r\n }\r\n\r\n getUserGroup() {\r\n return this.http.get(\"/Admin/GetUserGroup\").toPromise();\r\n }\r\n\r\n getAllEmailTemplates() {\r\n return this.http.get(\"/Admin/GetAllEmailTemplates\").toPromise();\r\n }\r\n\r\n getLookup() {\r\n return this.http.get(\"/Checklist/GetLookup\").toPromise();\r\n }\r\n\r\n getAttachmentTypes() {\r\n return this.http.get(\"/Checklist/GetAttachmentTypes\").toPromise();\r\n }\r\n\r\n getUSStates() {\r\n return this.http.get(\"/Applicant/GetStates?countryCode=US\").toPromise();\r\n }\r\n\r\n getCompanies() {\r\n return this.http.get(\"/Admin/GetCompanies\").toPromise();\r\n }\r\n\r\n getVersionNumber() {\r\n return this.http.get(\"/Admin/GetVersionNumber\").toPromise();\r\n }\r\n\r\n getCustomerId() {\r\n return this.http.get(\"/Admin/GetCustomerId\").toPromise();\r\n }\r\n\r\n getPortalSettings() {\r\n return this.http.get(\"/Admin/GetPortalSettings\").toPromise();\r\n }\r\n\r\n getAllPortalSettings() {\r\n return this.http.get(\"/Admin/GetAllPortalSettings\").toPromise();\r\n }\r\n\r\n getPortalSettingUpdateLogs(portalSetting: string, count: number) {\r\n return this.http.get(\"/Admin/GetPortalSettingUpdateLogs?portalSetting=\" + portalSetting + \"&count=\" + count).toPromise();\r\n }\r\n\r\n savePortalSettings(configName: any, configValue: any) {\r\n return this.http.post(\"/Admin/SavePortalSettings\",\r\n {\r\n settingName: configName,\r\n settingValue: configValue\r\n }).toPromise();\r\n }\r\n\r\n portalSettingsPageData() {\r\n return this.http.get(\"/Admin/PortalSettingsPageData\").toPromise();\r\n }\r\n\r\n getVersionHistory() {\r\n return this.http.get(\"/Admin/GetVersionHistory\").toPromise();\r\n }\r\n\r\n sendUsageDataTask() {\r\n return this.http.post(\"/Admin/SendUsageDataTask\", {}).toPromise();\r\n }\r\n\r\n refreshPortalSettings() {\r\n return this.http.post(\"/Admin/RefreshPortalSettings\", {}).toPromise();\r\n }\r\n\r\n refreshSynonyms() {\r\n return this.http.post(\"/Admin/RefreshSynonyms\", {}).toPromise();\r\n }\r\n\r\n refreshDynamicViews() {\r\n return this.http.post(\"/Admin/RefreshDynamicViews\", {}).toPromise();\r\n }\r\n\r\n purgeVCMSessions() {\r\n return this.http.post(\"/Admin/PurgeVCMSessions\", {}).toPromise();\r\n }\r\n\r\n previewUserGroupMembers(userGroupID: any, isUpdatePersist: any) {\r\n return this.http.get(\"/Admin/PreviewUserGroupMembers?userGroupID=\" + userGroupID + \"&isUpdatePersist=\" + isUpdatePersist).toPromise();\r\n }\r\n\r\n checkExistRDL(filename: any) {\r\n return this.http.post(\"/Admin/CheckExistRDL\",\r\n {\r\n filename: filename\r\n }).toPromise();\r\n }\r\n\r\n uploadCustomRDL(configName: any, configValue: any, fileData: any) {\r\n return this.http.post(\"/Admin/UploadCustomRDL\",\r\n {\r\n settingName: configName,\r\n settingValue: configValue,\r\n fileData: fileData\r\n }).toPromise();\r\n }\r\n\r\n deleteCustomRDL(filename: any, configName: any) {\r\n return this.http.post(\"/Admin/DeleteCustomRDL\",\r\n {\r\n filename: filename,\r\n settingName: configName\r\n }).toPromise();\r\n }\r\n\r\n builderCustomRDLAction(fileName: any, fileData: any, deleteList: any) {\r\n return this.http.post(\"/Admin/BuilderCustomRDLAction\",\r\n {\r\n fileName: fileName,\r\n fileData: fileData,\r\n deleteList: deleteList\r\n }).toPromise();\r\n }\r\n\r\n updateConfigInfo(configName: any, description: any, helperText: any, isAdvanced: any, moduleSubID: any, defaultValue: any, regularExpression: any) {\r\n return this.http.post(\"/Admin/UpdateConfigInfo\",\r\n {\r\n configName: configName,\r\n description: description,\r\n helperText: helperText,\r\n isAdvanced: isAdvanced,\r\n moduleSubID: moduleSubID,\r\n defaultValue: defaultValue,\r\n regularExpression: regularExpression\r\n }).toPromise();\r\n }\r\n\r\n birdDogTalentUserInsert() {\r\n return this.http.post(\"/Hiring/BirdDogTalentUserInsert\", {}).toPromise();\r\n }\r\n\r\n deleteTempFilesAction() {\r\n return this.http.post(\"/Document/DeleteTempFilesAction\", {}).toPromise();\r\n }\r\n\r\n clearCoLogoCache() {\r\n return this.http.post(\"/Company/ClearCoLogoCache\", {}).toPromise();\r\n }\r\n\r\n getBulletinType(bulletinGroupType?: string) {\r\n return this.http.get(\"/Admin/GetBulletinType?bulletinGroupType=\" + bulletinGroupType).toPromise();\r\n }\r\n\r\n getAllBulletinType() {\r\n return this.http.get(\"/Admin/GetBulletinType\").toPromise();\r\n }\r\n\r\n getBulletinsManage() {\r\n return this.http.get(\"/Admin/GetBulletinsManage\").toPromise();\r\n }\r\n\r\n deleteBulletin(bulletinID: number) {\r\n return this.http.post(\"/Admin/DeleteBulletin\",\r\n {\r\n bulletinID: bulletinID\r\n }).toPromise();\r\n }\r\n\r\n bulletinSendPendingReminder(bulletinID: number) {\r\n return this.http.post(\"/Admin/BulletinSendPendingReminder\",\r\n {\r\n bulletinID: bulletinID\r\n }).toPromise();\r\n }\r\n\r\n getDBAttachment(BulletinThumbFileAttachmentID: any) {//TODo Move to DocumentService\r\n return this.http.get(\"/Document/GetDBAttachment?attachmentID=\" + BulletinThumbFileAttachmentID).toPromise();\r\n }\r\n\r\n getDBAttachmentList(moduleID: number, bulletinID?: number, recordGuid?: any, onboardingUser?: boolean) {//TODo Move to DocumentService\r\n return this.http.get(\"/Document/GetDBAttachmentList?moduleID=\" + moduleID + \"&recordID=\" + bulletinID + \"&recordGuid=\" + recordGuid + \"&onboardingUser=\" + onboardingUser).toPromise();\r\n }\r\n\r\n addEditBulletin(requestObj: { [key: string]: any; }) {\r\n return this.http.post(\"/Admin/AddEditBulletin\",\r\n {\r\n bulletinID: requestObj.bulletinID,\r\n bulletinAttachDocumentFlagValue: requestObj.bulletinAttachDocumentFlagValue,\r\n bulletinHeadline: requestObj.bulletinHeadline,\r\n bulletinBody: requestObj.bulletinBody,\r\n bulletinExpiresString: requestObj.bulletinExpiresString,\r\n bulletinThumbnailText: requestObj.bulletinThumbnailText,\r\n bulletinThumbFileAttachmentID: requestObj.bulletinThumbFileAttachmentID,\r\n bulletinMode: requestObj.bulletinMode,\r\n bulletinTypeID: requestObj.bulletinTypeID,\r\n bulletinDirectURL: requestObj.bulletinDirectURL,\r\n bulletinStartDateStr: requestObj.bulletinStartDateStr,\r\n embedAttachmentInPage: requestObj.embedAttachmentInPage,\r\n bulletinIgnoreDateString: requestObj.bulletinIgnoreDateString,\r\n bulletinSignatureText: requestObj.bulletinSignatureText,\r\n bulletinIsPinned: requestObj.bulletinIsPinned,\r\n attachmentType: requestObj.attachmentType,\r\n bulletinIsSecure: requestObj.bulletinIsSecure,\r\n isFillablePDF: requestObj.isFillablePDF,\r\n hasSecondStep: requestObj.hasSecondReviewStep,\r\n isStateForm: requestObj.isStateForm,\r\n state: requestObj.state,\r\n prefillPersonalData: requestObj.prefillPersonalData,\r\n disabledRequiredFields: requestObj.disabledRequiredFields,\r\n }).toPromise();\r\n }\r\n\r\n getBulletinGroup(bulletinTypeID?: number, bulletinID?: number) {\r\n return this.http.get(\"/Admin/GetBulletinGroup?bulletinTypeID=\" + bulletinTypeID + \"&bulletinID=\" + bulletinID).toPromise();\r\n }\r\n\r\n setBulletinGroup(bulletinTypeID?: number, bulletinID?: number, userGroupID?: number) {\r\n return this.http.post(\"/Admin/SetBulletinGroup\", {\r\n bulletinTypeID: bulletinTypeID,\r\n bulletinID: bulletinID,\r\n userGroupID: userGroupID\r\n }).toPromise();\r\n }\r\n\r\n removeBulletinGroup(userGroupBulletinTypeID: number) {\r\n return this.http.post(\"/Admin/RemoveBulletinGroup\", {\r\n userGroupBulletinTypeID: userGroupBulletinTypeID\r\n }).toPromise();\r\n }\r\n\r\n saveDBAttachment(moduleID, recordID, attachmentFileData, attachmentFileName) {\r\n return this.http.post(\"/Document/SaveDBAttachment\", {\r\n moduleID: moduleID,\r\n recordID: recordID,\r\n attachmentFileData: attachmentFileData,\r\n attachmentFileName: attachmentFileName\r\n }).toPromise();\r\n }\r\n\r\n userGroupAddSingleUser(userGroupID: number, userGroupName: any, fliterInactive: boolean, sQLQueryOverride: any, pRCo: any, memberType: string, isIncluded: boolean, groupValue: any) {\r\n return this.http.post(\"/Admin/UserGroupAddSingleUser\", {\r\n userGroupID: userGroupID,\r\n userGroupName: userGroupName,\r\n fliterInactive: fliterInactive,\r\n sQLQueryOverride: sQLQueryOverride,\r\n pRCo: pRCo,\r\n memberType: memberType,\r\n isIncluded: isIncluded,\r\n groupValue: groupValue\r\n }).toPromise();\r\n }\r\n\r\n removeBulletinType(bulletinTypeID: number) {\r\n return this.http.post(\"/Admin/RemoveBulletinType\", {\r\n bulletinTypeID: bulletinTypeID\r\n }).toPromise();\r\n }\r\n\r\n setBulletinType(bulletinTypeID: number, bulletinName: string, bulletinGroupType: string) {\r\n return this.http.post(\"/Admin/SetBulletinType\", {\r\n bulletinTypeID: bulletinTypeID, bulletinName: bulletinName, bulletinGroupType: bulletinGroupType\r\n }).toPromise();\r\n }\r\n\r\n getBulletinTrackResponses(bulletinID?: number, pREHKeyID?: number) {\r\n return this.http.get(\"/Admin/GetBulletinTrackResponses?bulletinID=\" + bulletinID + \"&pREHKeyID=\" + pREHKeyID).toPromise();\r\n }\r\n\r\n bulletinAttachToVista(bulletinID: number, bulletinAttachDocumentFlagValue: string, filename: string, PREHKeyID?: number, HRRMKeyID?: number, bulletinResponseID?: number) {\r\n return this.http.post(\"/Employee/BulletinAttachToVista\", {\r\n bulletinID: bulletinID, bulletinAttachDocumentFlagValue: bulletinAttachDocumentFlagValue, filename: filename, PREHKeyID: PREHKeyID, HRRMKeyID: HRRMKeyID, bulletinResponseID: bulletinResponseID\r\n }).toPromise();\r\n }\r\n\r\n getHRUsers(searchText: string, includeInactive: boolean, userKeyID: number) {\r\n var url = \"/Admin/GetHRUsers?searchText=\" + searchText + \"&includeInactive=\" + includeInactive + \"&userKeyID=\" + userKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBulletinsGetIndex(bulletinID?: number) {\r\n var url = \"/Employee/GetBulletinsGetIndex?bulletinID=\" + bulletinID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getEmployees(includeInactive: boolean, isAdd: boolean, jcjm: number) {\r\n var url = \"/Admin/GetEmployees?includeInactive=\" + includeInactive + \"&isAdd=\" + isAdd + \"&jcjm=\" + jcjm;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCodes(selectedCompany: number) {\r\n var url = \"/Admin/GetCodes?hRCo=\" + selectedCompany;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getScheduledJobs() {\r\n var url = \"/Admin/GetScheduledJobs\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getScheduledJob(jobID: number) {\r\n var url = \"/Admin/GetScheduledJob?JobID=\" + jobID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getScheduledJobHistory(jobID: number) {\r\n var url = \"/Admin/ScheduledJobHistory?jobID=\" + jobID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addOrUpdateScheduledJob(job) {\r\n var url = \"/Admin/AddOrUpdateScheduledJob\";\r\n return this.http.post(url, job).toPromise();\r\n }\r\n\r\n removeUserDefinedJob(jobID: number) {\r\n var url = \"/Admin/RemoveUserDefinedJob\";\r\n return this.http.post(url, { jobID: jobID }).toPromise();\r\n }\r\n\r\n executeJobNow(jobID: number) {\r\n var url = \"/Admin/ExecuteJobNow\";\r\n return this.http.post(url, { jobID: jobID }).toPromise();\r\n }\r\n\r\n sendSMSUserGrouop(userGroupID?: number, sMSSubject?: string, bodyText?: string, messageType?: string, includeOptOut?: boolean, scheduledSendDateStr?: string, scheduleTimeStr?: string) {\r\n return this.http.post(\"/Admin/SendSMSUserGrouop\", {\r\n userGroupID: userGroupID,\r\n sMSSubject: sMSSubject,\r\n bodyText: bodyText,\r\n messageType: messageType,\r\n includeOptOut: includeOptOut,\r\n scheduledSendDateStr: scheduledSendDateStr,\r\n scheduleTimeStr: scheduleTimeStr\r\n }).toPromise();\r\n }\r\n\r\n getMailLog(requestParam: string) {\r\n var url = \"/Admin/GetMailLog?\" + requestParam;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getMailQueueProcessSources() {\r\n var url = \"/Admin/GetMailQueueProcessSources\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHangFireEmailStatus() {\r\n var url = \"/Admin/GetHangFireEmailStatus\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n sendEmailQueueHourly(type: string) {\r\n return this.http.post(\"/Admin/SendEmailQueueHourly\", {\r\n type: type\r\n }).toPromise();\r\n }\r\n\r\n deleteMailQueueItem(mailQueueID: number) {\r\n return this.http.post(\"/Admin/DeleteMailQueueItem\", {\r\n mailQueueID: mailQueueID\r\n }).toPromise();\r\n }\r\n\r\n sendTestEmail(mailTo: string) {\r\n var url = \"/Admin/SendTestEmail\";\r\n return this.http.post(url, { mailTo: mailTo }).toPromise();\r\n }\r\n\r\n forwardEmail(mailQueueID: number, mailTo: string) {\r\n return this.http.post(\"/Admin/ForwardEmail\", {\r\n mailQueueID: mailQueueID,\r\n toEmail: mailTo\r\n }).toPromise();\r\n }\r\n\r\n getTrainingCompany() {\r\n var url = \"/Employee/GetTrainingCompany\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getClassesToManage(hRCo: number, showTemplates: boolean, trainingClassID?: any) {\r\n var url = \"/Admin/GetClassesToManage?hRCo=\" + hRCo + \"&showTemplates=\" + showTemplates + \"&trainingClassID=\" + trainingClassID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getChecklistTemplate(checklistTemplateCatgID?: number) {\r\n var url = \"/Admin/GetChecklistTemplate?checklistTemplateCatgID=\" + checklistTemplateCatgID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRequireCourseSetting() {\r\n var url = \"/Admin/GetRequireCourseSetting\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addGroupToClass(trainingClassId: number, userGroupID: number) {\r\n return this.http.post(\"/Admin/AddGroupToClass\", {\r\n trainingClassId: trainingClassId,\r\n userGroupID: userGroupID\r\n }).toPromise();\r\n }\r\n\r\n removeGroupFromClass(trainingClassId: number, userGroupID: number) {\r\n return this.http.post(\"/Admin/RemoveGroupFromClass\", {\r\n trainingClassId: trainingClassId,\r\n userGroupID: userGroupID\r\n }).toPromise();\r\n }\r\n\r\n hasCompletedChecklist(trainingClassID: number, hasCompletedChecklist: boolean) {\r\n return this.http.post(\"/Admin/HasCompletedChecklist\", {\r\n trainingClassID: trainingClassID,\r\n hasCompletedChecklist: hasCompletedChecklist\r\n }).toPromise();\r\n }\r\n\r\n\r\n addAttendeeToClass(trainingClassId: any, attendeeUserKeyID: any) {\r\n return this.http.post(\"/Admin/AddAttendeeToClass\", {\r\n trainingClassId: trainingClassId,\r\n attendeeUserKeyID: attendeeUserKeyID\r\n }).toPromise();\r\n }\r\n\r\n getGroups() {\r\n var url = \"/Admin/GetUserGroup\"\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n removeAttendee(trainingClassAttendeeID: number, trainingClassId: number) {\r\n return this.http.post(\"/Admin/RemoveAttendee\", {\r\n trainingClassAttendeeID: trainingClassAttendeeID,\r\n trainingClassId: trainingClassId\r\n }).toPromise();\r\n }\r\n\r\n addCodeToClass(trainingClassId: number, hRCMKeyID: number) {\r\n return this.http.post(\"/Admin/AddCodeToClass\", {\r\n trainingClassId: trainingClassId,\r\n hRCMKeyID: hRCMKeyID\r\n }).toPromise();\r\n }\r\n\r\n removeCode(data: { trainingClassId: number; hRCMKeyID: number; }) {\r\n return this.http.post(\"/Admin/RemoveCode\", {\r\n trainingClassId: data.trainingClassId,\r\n hRCMKeyID: data.hRCMKeyID\r\n }).toPromise();\r\n }\r\n\r\n createEditClass(data: { [key: string]: any }) {\r\n return this.http.post(\"/Admin/CreateEditClass\", {\r\n trainingClassId: data.trainingClassId,\r\n classDateTimeStr: data.classDateTimeStr,\r\n classTitle: data.classTitle,\r\n isClassOpenRegister: data.isClassOpenRegister,\r\n classInstructorUserKeyID: data.classInstructorUserKeyID,\r\n hRCo: data.hRCo,\r\n location: data.location,\r\n maxAttendeeCount: data.maxAttendeeCount,\r\n classEndDateTimeStr: data.classEndDateTimeStr,\r\n checklistTemplateID: data.checklistTemplateID,\r\n isClassTemplate: data.isClassTemplate,\r\n templateTrainingClassID: data.templateTrainingClassID,\r\n expirationDateStr: data.expirationDateStr\r\n }).toPromise();\r\n }\r\n\r\n finalizeClass(trainingClassId: number, isFinalized: number, checklistInstanceID?: number) {\r\n return this.http.post(\"/Admin/FinalizeClass\", {\r\n trainingClassId: trainingClassId,\r\n isFinalized: isFinalized,\r\n checklistInstanceID: checklistInstanceID\r\n }).toPromise();\r\n }\r\n\r\n deleteSavedAttachment(file: any) {\r\n return this.http.post(\"/Employee/RemoveFileAttachment\", {\r\n fileAttachmentID: file.FileAttachmentID\r\n }).toPromise();\r\n }\r\n\r\n getGroupByClass(trainingClassId: number) {\r\n var url = \"/Admin/GetGroupByClass?trainingClassId=\" + trainingClassId;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCodesByClass(trainingClassId: number) {\r\n var url = \"/Admin/GetCodesByClass?trainingClassId=\" + trainingClassId;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getAttendeesByClass(trainingClassId: number) {\r\n var url = \"/Admin/GetAttendeesByClass?trainingClassId=\" + trainingClassId;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getAttendees() {\r\n var url = \"/Admin/GetAttendees\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n attendeeSign(trainingClassAttendeeID: number, isPresent: boolean, signatureData?: any, signatureLong?: any, signatureLat?: any) {\r\n return this.http.post(\"/Admin/AttendeeSign\", {\r\n trainingClassAttendeeID: trainingClassAttendeeID,\r\n isPresent: isPresent,\r\n signatureData: signatureData,\r\n signatureLong: signatureLong,\r\n signatureLat: signatureLat\r\n }).toPromise();\r\n }\r\n\r\n attendeeMarkAllPresent(trainingClassID: number) {\r\n return this.http.post(\"/Admin/AttendeeMarkAllPresent\", { trainingClassID: trainingClassID }).toPromise();\r\n }\r\n\r\n deleteClass(trainingClassId: number) {\r\n return this.http.post(\"/Admin/DeleteClass\", {\r\n trainingClassId: trainingClassId\r\n }).toPromise();\r\n }\r\n\r\n getHolidayGroupSet() {\r\n const url = \"/Admin/HolidayGroupsGet\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHolidayCodeAssign(holidayGroupID: number) {\r\n const url = \"/Admin/HolidayCodeAssignGet?holidayGroupID=\" + holidayGroupID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHolidayList(selectedYear: number, selectedCountry: string) {\r\n const url = \"/Admin/GetHolidayList?year=\" + selectedYear + \"&country=\" + selectedCountry;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getUserGroupList() {\r\n const url = \"/Admin/GetUserGroup\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addUserGroup(holidayGroupID: number, userGroupID: number) {\r\n const url = \"/Admin/HolidayCodeAssignAdd\";\r\n const payload = {\r\n holidayGroupID: holidayGroupID,\r\n userGroupID: userGroupID\r\n }\r\n return this.http.post(url, payload).toPromise();\r\n }\r\n\r\n addHolidayGroupName(groupData) {\r\n const url = \"/Admin/HolidayGroupAddUpdate\";\r\n const payload = {\r\n holidayGroupID: groupData.holidayGroupID,\r\n holidayGroupName: groupData.holidayGroupName\r\n }\r\n return this.http.post(url, payload).toPromise();\r\n }\r\n\r\n updateHolidayGroupName(groupData) {\r\n const url = \"/Admin/HolidayGroupAddUpdate\";\r\n const payload = {\r\n holidayGroupID: groupData.holidayGroupID,\r\n holidayGroupName: groupData.holidayGroupName\r\n }\r\n return this.http.post(url, payload).toPromise();\r\n }\r\n\r\n removeUserGroup(userGroup) {\r\n const url = \"/Admin/HolidayCodeAssignDelete\";\r\n const payload = {\r\n holidayCodeAssignID: userGroup.HolidayCodeAssignID\r\n }\r\n return this.http.post(url, payload).toPromise();\r\n }\r\n\r\n deleteGroup(holidayGroup) {\r\n const url = \"/Admin/HolidayGroupDelete\";\r\n const payload = { holidayGroupID: holidayGroup.HolidayGroupID }\r\n return this.http.post(url, payload).toPromise();\r\n }\r\n\r\n addHoliday(holidayData) {\r\n const url = \"/Admin/HolidayAddEdit\";\r\n const payload = {\r\n holidayID: holidayData.holidayID,\r\n holidayGroupID: holidayData.holidayGroupID,\r\n holidayDateStr: holidayData.holidayDateStr,\r\n holidayName: holidayData.holidayName,\r\n holidayDescription: holidayData.holidayDescription,\r\n isPartialDay: holidayData.isPartialDay\r\n }\r\n return this.http.post(url, payload).toPromise();\r\n }\r\n\r\n deleteHoliday(holiday) {\r\n const url = \"/Admin/HolidayDelete\";\r\n const payload = {\r\n holidayID: holiday.HolidayID\r\n }\r\n return this.http.post(url, payload).toPromise();\r\n }\r\n\r\n getHolidayByGroupID(holidayGroupID: number) {\r\n const url = \"/Admin/HolidaysGetByGroupID?holidayGroupID=\" + holidayGroupID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPRGroups(company: any) {\r\n return this.http.get(\"/Admin/GetPRGroups?company=\" + company).toPromise();\r\n }\r\n\r\n getEmployeesByPRCoAndPRGroup(pRCo: any, pRGroup: any) {\r\n return this.http.get(\"/Admin/GetEmployeesByPRCoAndPRGroup?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup).toPromise();\r\n }\r\n\r\n getVistaVersion() {\r\n var url = \"/Admin/GetVistaVersion\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getEmailTemplates(emailTemplateID?: number, reqID?: any) {\r\n var url = \"/Admin/GetEmailTemplates?reqID=\" + reqID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n evaluateEmailTemplateVerbiage(onboardID?: any, reqID?: any, emailTemplateID?: number, templateBody?: string, templateSubject?: string, sendEmail?: boolean, templateTo?: string) {\r\n var url = \"/Admin/EvaluateEmailTemplateVerbiage?onboardID=\" + onboardID + \"&reqID=\" + reqID + \"&emailTemplateID=\" + emailTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getAvailableFields() {\r\n return this.http.get(\"/Admin/GetAvailableFields\").toPromise();\r\n }\r\n\r\n getTrackingTypes() {\r\n return this.http.get(\"/Admin/GetTrackingTypes\").toPromise();\r\n }\r\n\r\n getUpdateModes(fieldId: number) {\r\n var url = \"/Admin/GetUpdateModes?fieldId=\" + fieldId;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getFields() {\r\n return this.http.get(\"/Admin/GetFields\").toPromise();\r\n }\r\n\r\n addField(fieldName: string, viewName: string) {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Admin/AddField\", {\r\n fieldName: fieldName,\r\n viewName: viewName\r\n }, options).toPromise();\r\n }\r\n\r\n updateField(fieldId: number, updateMode: number, trackingType: number, fieldOverride: string, isRequiredForBenefits?: boolean, validationRegex?: string, fieldRequiredAttachmentOnChange?: boolean) {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Admin/UpdateField\", {\r\n fieldId: fieldId,\r\n updateMode: updateMode,\r\n trackingType: trackingType,\r\n fieldOverride: fieldOverride,\r\n isRequiredForBenefits: isRequiredForBenefits,\r\n validationRegex: validationRegex,\r\n fieldRequiredAttachmentOnChange: fieldRequiredAttachmentOnChange\r\n }, options).toPromise();\r\n }\r\n\r\n removeField(fieldId: number) {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Admin/RemoveField\", {\r\n fieldId: fieldId\r\n }, options).toPromise();\r\n }\r\n\r\n moveField(fieldId: number, direction: number) {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Admin/MoveField\", {\r\n fieldId: fieldId,\r\n direction: direction\r\n }, options).toPromise();\r\n }\r\n\r\n getCMList(pRPCKeyID: number) {\r\n var url = \"/Admin/GetCMList?pRPCKeyID=\" + pRPCKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getOptOutDetails(year: number, pRCo: number, docType: string, filterType: string) {\r\n var url = \"/Document/GetOptOutDetails?year=\" + year + \"&pRCo=\" + pRCo + \"&docType=\" + docType + \"&filterType=\" + filterType;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n prepareOptOutDoc(uniqueID: string, year: number, pRCo: number, docType: string, filterType: string, employee?: number, part: number = 1) {\r\n return this.http.post(\"/Document/PrepareOptOutDoc\", {\r\n year: year,\r\n pRCo: pRCo,\r\n docType: docType,\r\n filterType: filterType,\r\n employee: employee,\r\n uniqueID: uniqueID,\r\n part: part\r\n }).toPromise();\r\n }\r\n\r\n getCompanyGroups(pRCo: number) {\r\n var url = \"/Admin/GetCompanyGroups?PRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPayPeriods(companyId: number, groupId: number, showOnlyOptOutPeriods?: boolean) {\r\n var url = \"/Admin/GetPayPeriods?companyId=\" + companyId + \"&groupId=\" + groupId + \"&showOnlyOptOutPeriods=\" + showOnlyOptOutPeriods;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPaystubCount(payPeriodId: number) {\r\n var url = \"/Admin/GetPaystubCount?payPeriodId=\" + payPeriodId;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n scheduleGet() {\r\n return this.http.get(\"/Admin/ScheduleGet\").toPromise();\r\n }\r\n\r\n scheduleRemove(payStubNotifierID?: number) {\r\n return this.http.post(\"/Admin/ScheduleRemove\", {\r\n payStubNotifierID: payStubNotifierID\r\n }).toPromise();\r\n }\r\n\r\n scheduleAdd(pRCo?: number, pRGroup?: number, messageType?: string) {\r\n return this.http.post(\"/Admin/ScheduleAdd\", {\r\n pRCo: pRCo,\r\n pRGroup: pRGroup,\r\n messageType: messageType\r\n }).toPromise();\r\n }\r\n\r\n sendSMS(pRPCKeyID: number, cMRef: string, sendSMS?: boolean, isSentFromAutoNotifier?: boolean) {\r\n return this.http.post(\"/Admin/SendSMS\", {\r\n pRPCKeyID: pRPCKeyID,\r\n cMRef: cMRef,\r\n sendSMS: sendSMS,\r\n isSentFromAutoNotifier: isSentFromAutoNotifier\r\n }).toPromise();\r\n }\r\n\r\n\r\n getProfileCompanies() {\r\n return this.http.get(\"/Admin/GetProfileCompanies\").toPromise();\r\n }\r\n\r\n getHRCompany() {\r\n return this.http.get(\"/Admin/GetHRCompany\").toPromise();\r\n }\r\n\r\n getBenefitGroupMembers(hRBGKeyID: number, showIndividualsOrGroups: string) {\r\n var url = \"/Admin/GetBenefitGroupMembers?hRBGKeyID=\" + hRBGKeyID + \"&showIndividualsOrGroups=\" + showIndividualsOrGroups;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addBenefitGroupMember(requestObj: any) {\r\n return this.http.post(\"/Admin/AddBenefitGroupMember\",\r\n {\r\n hRBGKeyID: requestObj.hRBGKeyID,\r\n pRCo: requestObj.pRCo,\r\n memberType: requestObj.memberType,\r\n isIncluded: requestObj.isIncluded,\r\n groupValue: requestObj.groupValue,\r\n hideResults: requestObj.hideResults\r\n }).toPromise();\r\n }\r\n\r\n getBenefitGroups(hRCo: number) {\r\n var url = \"/Admin/GetBenefitGroups?hRCo=\" + hRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPRCoByHRCo(hRCo: number) {\r\n var url = \"/Admin/GetPRCoByHRCo?hRCo=\" + hRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getEmployeesByHRCo(hRCo: number, searchString: string) {\r\n var url = \"/Admin/GetEmployeesByHRCo?hRCo=\" + hRCo + \"&searchString=\" + searchString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n removeBenefitGroupMember(hRBGKeyID: number, benefitGroupmemberID: number, hideResults: boolean = false) {\r\n return this.http.post(\"/Admin/RemoveBenefitGroupMember\",\r\n {\r\n hRBGKeyID: hRBGKeyID,\r\n benefitGroupmemberID: benefitGroupmemberID,\r\n hideResults: hideResults\r\n }).toPromise();\r\n }\r\n\r\n clearBenefitGroupMembers(hRBGKeyID: number, hideResults: boolean = false) {\r\n return this.http.post(\"/Admin/ClearBenefitGroupMembers\",\r\n {\r\n hRBGKeyID: hRBGKeyID,\r\n hideResults: hideResults\r\n }).toPromise();\r\n }\r\n\r\n previewBenefitGroupMembers(hRBGKeyID: number, isUpdatePersist: boolean, hideResults: boolean = false) {\r\n var url = \"/Admin/PreviewBenefitGroupMembers?hRBGKeyID=\" + hRBGKeyID + \"&isUpdatePersist=\" + isUpdatePersist + \"&hideResults=\" + hideResults;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTimecardCompanies(source?: string) {\r\n var url = \"/Admin/GetTimecardCompanies?source=\" + source;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getAllocationJobs(searchString: string) {\r\n var url = \"/Admin/GetAllocationJobs?searchString=\" + searchString;\r\n return this.http.get(url);\r\n }\r\n\r\n getAllocations(jCJMKeyID: number) {\r\n var url = \"/Admin/GetAllocations?jCJMKeyID=\" + jCJMKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBatchesFrom(pRCo: number) {\r\n var url = \"/Admin/GetBatchesFrom?pRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBatchesTo(pRCo: number, pRGroup: number) {\r\n var url = \"/Admin/GetBatchesTo?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getSafetyNetItems(hQBCKeyID: number) {\r\n var url = \"/Admin/GetSafetyNetItems?hQBCKeyID=\" + hQBCKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n restoreSafetyNetItem(hQBCKeyID: number, items: string) {\r\n return this.http.post(\"/Admin/RestoreSafetyNetItem\",\r\n {\r\n hQBCKeyID: hQBCKeyID,\r\n items: items\r\n }).toPromise();\r\n }\r\n\r\n getFailedUserAttempts(pRCo: number, startDate: string, endDate: string) {\r\n var url = \"/Admin/GetFailedUserAttempts?pRCo=\" + pRCo + \"&timeStart=\" + startDate + \"&timeEnd=\" + endDate;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getIPForEmployee(pRCo: number, employee: number) {\r\n var url = \"/Admin/GetIPForEmployee?pRCo=\" + pRCo + \"&employee=\" + employee;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getActiveSessions(pRCo: number, employee: number) {\r\n var url = \"/Admin/GetActiveSessions?pRCo=\" + pRCo + \"&employee=\" + employee;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getAllActiveSessions(pRCo: number) {\r\n var url = \"/Admin/GetAllActiveSessions?pRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n\r\n insertUpdateAllocation(allocationID: number, jCCo: number, job: any, employee: any, pRCo: number) {\r\n return this.http.post(\"/Admin/InsertUpdateAllocation\", {\r\n allocationID: allocationID,\r\n jCCo: jCCo,\r\n job: job,\r\n employee: employee,\r\n pRCo: pRCo\r\n }).toPromise();\r\n }\r\n\r\n deleteAllocation(allocationID: number) {\r\n return this.http.post(\"/Admin/DeleteAllocation\", {\r\n allocationID: allocationID\r\n }).toPromise();\r\n }\r\n\r\n pendingChanges(status: number, startDate: string, endDate: string) {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Admin/PendingChanges\", {\r\n status: status,\r\n startDate: startDate,\r\n endDate: endDate\r\n }, options).toPromise();\r\n }\r\n\r\n processFieldUpdate(requestObject: any) {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Admin/ProcessFieldUpdate\", {\r\n fieldUpdateId: requestObject.fieldUpdateId,\r\n actionValue: requestObject.actionValue,\r\n newValue: requestObject.newValue,\r\n adminNotes: requestObject.adminNotes\r\n }, options).toPromise();\r\n }\r\n\r\n personalAttachAction(docSubmissionID: number, mode: string, adminNotes: string) {\r\n return this.http.post(\"/Admin/PersonalAttachAction\",\r\n {\r\n docSubmissionID: docSubmissionID,\r\n mode: mode,\r\n adminNotes: adminNotes\r\n }).toPromise();\r\n }\r\n\r\n personalAttachUpdate(attachmentID: number[], descriptions: string[], moduleID: number[], attachmentType: string[]) {\r\n return this.http.post(\"/Admin/PersonalAttachUpdate\",\r\n {\r\n AttachmentID: attachmentID,\r\n descriptions: descriptions,\r\n ModuleID: moduleID,\r\n AttachmentType: attachmentType\r\n }).toPromise();\r\n }\r\n\r\n getW4Detail(exemptUpdateID?: number) {\r\n var url = \"/Admin/GetW4Detail?exemptUpdateID=\" + exemptUpdateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n w4AdminUpdate(requestObject: any) {\r\n return this.http.post(\"/Admin/W4AdminUpdate\",\r\n {\r\n exemptUpdateID: requestObject.exemptUpdateID,\r\n mode: requestObject.mode,\r\n adminNotes: requestObject.adminNotes,\r\n fileName: requestObject.fileName,\r\n fileDescription: requestObject.fileDescription,\r\n HPR: requestObject.HPR,\r\n ct: requestObject.ct\r\n }).toPromise();\r\n }\r\n\r\n getDirectDepositUpdate(id?: number) {\r\n var url = \"/Admin/GetDirectDepositUpdate?id=\" + id;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n processDirectDepositUpdate(requestObject: any) {\r\n return this.http.post(\"/Admin/ProcessDirectDepositUpdate\",\r\n {\r\n directDepositUpdateID: requestObject.directDepositUpdateID,\r\n actionCode: requestObject.actionCode,\r\n note: requestObject.note,\r\n preHkeyID: requestObject.preHkeyID,\r\n attachment1: requestObject.attachment1,\r\n attachment2: requestObject.attachment2,\r\n attachment3: requestObject.attachment3,\r\n attachment4: requestObject.attachment4,\r\n attachmentFileName1: requestObject.attachmentFileName1,\r\n attachmentFileName2: requestObject.attachmentFileName2,\r\n attachmentFileName3: requestObject.attachmentFileName3,\r\n attachmentFileName4: requestObject.attachmentFileName4,\r\n attachmentDescription1: requestObject.attachmentDescription1,\r\n attachmentDescription2: requestObject.attachmentDescription2,\r\n attachmentDescription3: requestObject.attachmentDescription3,\r\n attachmentDescription4: requestObject.attachmentDescription4,\r\n HPR: requestObject.HPR\r\n }).toPromise();\r\n }\r\n\r\n removeEmployeeUserGroup(userGroupID: number) {\r\n return this.http.post(\"/Admin/RemoveUserGroup\", {\r\n userGroupID: userGroupID\r\n }).toPromise();\r\n }\r\n\r\n userGroupMembersAddUpdate(userGroupID: number, userGroupName: string, sQLQueryOverride: string, fliterInactive?: boolean) {\r\n return this.http.post(\"/Admin/UserGroupMembersAddUpdate\", {\r\n userGroupID: userGroupID,\r\n userGroupName: userGroupName,\r\n fliterInactive: fliterInactive,\r\n sQLQueryOverride: sQLQueryOverride\r\n }).toPromise();\r\n }\r\n\r\n getUserGroupMembers(userGroupID: number, showIndividualsOrGroups: string) {\r\n var url = \"/Admin/GetUserGroupMembers?userGroupID=\" + userGroupID + \"&showIndividualsOrGroups=\" + showIndividualsOrGroups;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getUserGroupMembersRefreshAll() {\r\n return this.http.get(\"/Admin/UserGroupMembersRefreshAll\").toPromise();\r\n }\r\n\r\n addUserGroupMember(userGroupID: number, pRCo?: number, memberType?: string, isIncluded?: boolean, groupValue?: string) {\r\n return this.http.post(\"/Admin/AddUserGroupMember\", {\r\n userGroupID: userGroupID,\r\n pRCo: pRCo,\r\n memberType: memberType,\r\n isIncluded: isIncluded,\r\n groupValue: groupValue\r\n }).toPromise();\r\n }\r\n\r\n removeUserGroupMember(userGroupMemberID: number, userGroupID: number) {\r\n return this.http.post(\"/Admin/RemoveUserGroupMember\", {\r\n userGroupMemberID: userGroupMemberID,\r\n userGroupID: userGroupID\r\n }).toPromise();\r\n }\r\n\r\n clearUserGroupMembers(userGroupID: number) {\r\n return this.http.post(\"/Admin/ClearUserGroupMembers\", {\r\n userGroupID: userGroupID\r\n }).toPromise();\r\n }\r\n\r\n getDynamicEmailFields() {\r\n var url = \"/Admin/GetDynamicEmailFields\"\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addEditEmailTemplates(requestObject: any) {\r\n return this.http.post(\"/Admin/AddEditEmailTemplates\", {\r\n emailTemplateID: requestObject.emailTemplateID,\r\n templateBody: requestObject.templateBody,\r\n templateSubject: requestObject.templateSubject,\r\n templateName: requestObject.templateName,\r\n isStandard: requestObject.IsStandard,\r\n templateTo: requestObject.TemplateTo,\r\n templateCC: requestObject.TemplateCC,\r\n templateBCC: requestObject.TemplateBCC,\r\n jCDMKeyID: requestObject.jCDMKeyID,\r\n sendAsSystem: requestObject.sendAsSystem\r\n }).toPromise();\r\n }\r\n\r\n deleteEmailTemplates(emailTemplateID?: number) {\r\n return this.http.post(\"/Admin/DeleteEmailTemplates\", {\r\n emailTemplateID: emailTemplateID\r\n }).toPromise();\r\n }\r\n getLeaveRequestSummary(company: number, dateFromString: string, dateToString: string, status: string, onlyIsPendingForFilter: boolean, searchString: string) {\r\n var url = \"/Admin/GetLeaveRequestSummary?company=\" + company + \"&dateFromString=\" + dateFromString +\r\n \"&dateToString=\" + dateToString + \"&status=\" + status + \"&onlyIsPendingForFilter=\" + onlyIsPendingForFilter + \"&searchString=\" + searchString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRequestsByMonth(pRCo?: number, monthStr?: string, employee?: number) {\r\n var url = \"/Admin/GetRequestsByMonth?pRCo=\" + pRCo + \"&monthStr=\" + monthStr + \"&employee=\" + employee;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n setScheduleChecked(leaveRequestID: number, udScheduleChecked: string) {\r\n return this.http.post(\"/Admin/SetScheduleChecked\", {\r\n leaveRequestID: leaveRequestID,\r\n udScheduleChecked: udScheduleChecked\r\n }).toPromise();\r\n }\r\n\r\n leaveRequestUpdate(leaveRequestId: number, actionToPerform: string, keyID: number) {\r\n return this.http.post(\"/Admin/LeaveRequestUpdate?leaveRequestId\", {\r\n leaveRequestId: leaveRequestId,\r\n actionToPerform: actionToPerform,\r\n KeyID: keyID\r\n }).toPromise();\r\n }\r\n\r\n getEmployeesByAuthToken() {\r\n var url = \"/Admin/GetEmployeesByAuthToken\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApproverListByPREHKeyID(pREHKeyID: number) {\r\n var url = \"/Admin/GetApproverListByPREHKeyID?pREHKeyID=\" + pREHKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHRGroupAdmins() {\r\n var url = \"/Admin/GetHRGroupAdmins\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addHRGroupAdmin(userId: number, company: number, group: number) {\r\n return this.http.post(\"/Admin/AddHRGroupAdmin\", {\r\n userId: userId,\r\n company: company,\r\n group: group\r\n }).toPromise();\r\n }\r\n\r\n removeHRGroupAdmin(id: number) {\r\n return this.http.post(\"/Admin/RemoveHRGroupAdmin\", {\r\n id: id\r\n }).toPromise();\r\n }\r\n\r\n updateHRGroupAdmin(id: number, notifyDaily: boolean, notifyRealTime: boolean, approve: boolean, vacation: boolean, isTimecardDashAdmin: boolean, isTimecardMoveAdmin: boolean, isVacationDashAdmin: boolean, isBulletinAdmin: boolean,\r\n isSecurityAdmin: boolean, isTrainingAdmin: boolean, isBenefitsAdmin: boolean, isVacationCalendar: boolean, isExpenseAdmin: boolean, isTrainingClassAdmin: boolean, isHRDocumentAdmin: boolean, isPRAdmin: boolean) {\r\n return this.http.post(\"/Admin/UpdateHRGroupAdmin\", {\r\n id: id,\r\n notifyDaily: notifyDaily,\r\n notifyRealTime: notifyRealTime,\r\n approve: approve,\r\n vacation: vacation,\r\n isTimecardDashAdmin: isTimecardDashAdmin,\r\n isTimecardMoveAdmin: isTimecardMoveAdmin,\r\n isVacationDashAdmin: isVacationDashAdmin,\r\n isBulletinAdmin: isBulletinAdmin,\r\n isSecurityAdmin: isSecurityAdmin,\r\n isTrainingAdmin: isTrainingAdmin,\r\n isBenefitsAdmin: isBenefitsAdmin,\r\n isVacationCalendar: isVacationCalendar,\r\n isExpenseAdmin: isExpenseAdmin,\r\n isTrainingClassAdmin: isTrainingClassAdmin,\r\n isHRDocumentAdmin: isHRDocumentAdmin,\r\n isPRAdmin: isPRAdmin\r\n }).toPromise();\r\n }\r\n\r\n\r\n permissionItemsGet(dataType: string, permissionItemID?: number) {\r\n var url = \"/Admin/PermissionItemsGet?dataType=\" + dataType + \"&permissionItemID=\" + permissionItemID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n permissionAssignmentAdd(permissionItemID: string, userGroupID?: number, userKeyID?: number) {\r\n return this.http.post(\"/Admin/PermissionAssignmentAdd\", {\r\n permissionItemID: permissionItemID,\r\n userGroupID: userGroupID,\r\n userKeyID: userKeyID\r\n }).toPromise();\r\n }\r\n\r\n permissionAssignmentsClear(permissionItemIDString: string) {\r\n return this.http.post(\"/Admin/PermissionAssignmentsClear\", {\r\n permissionItemIDString: permissionItemIDString,\r\n }).toPromise();\r\n }\r\n\r\n permissionAssignmentDelete(permissionAssignID: number) {\r\n return this.http.post(\"/Admin/PermissionAssignmentDelete\", {\r\n permissionAssignID: permissionAssignID,\r\n }).toPromise();\r\n }\r\n\r\n permissionAssignmentsGet(permissionItemID: number) {\r\n var url = \"/Admin/PermissionAssignmentsGet?permissionItemID=\" + permissionItemID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n permissionAssignmentsEffective(permissionItemID: number) {\r\n var url = \"/Admin/PermissionAssignmentsEffective?permissionItemID=\" + permissionItemID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n deleteDBAttachment(fileAttachmentID: string) {\r\n return this.http.post(\"/Document/DeleteDBAttachment\", {\r\n fileAttachmentID: fileAttachmentID\r\n }).toPromise();\r\n }\r\n\r\n processFaceQueue() {\r\n return this.http.get(\"/Admin/ProcessFaceQueue\").toPromise();\r\n }\r\n\r\n async getProvisionedLicenseCounts(): Promise {\r\n return (await this.http.get('/Admin/GetLicenseCount').toPromise())\r\n }\r\n\r\n async getActiveLicenseCounts(): Promise {\r\n return await this.http.get('/Admin/GetCounts').toPromise()\r\n }\r\n\r\n async getCompaniesForUserAccess(): Promise> {\r\n return await this.http.get>('/Admin/GetCompaniesForUserAccess').toPromise()\r\n }\r\n\r\n async getPRGroupsByCompanyId(companyId: number): Promise> {\r\n const url = \"/Admin/GetPRGroups?company=\" + companyId\r\n return await this.http.get>(url).toPromise()\r\n }\r\n\r\n async getEmployeeGroups(): Promise> {\r\n return await this.http.get>('/Admin/GetEmployeeGroups').toPromise()\r\n }\r\n\r\n async unlockUser (params: HttpParams): Promise {\r\n return await > this.http.post('/Admin/UnlockLogin', params).toPromise()\r\n }\r\n\r\n async linkVPID (company?: number, userKeyID?: number): Promise {\r\n return await > this.http.post('/Admin/LinkVistaSsoToHrUser', { PRCo: company, UserKeyID: userKeyID }).toPromise()\r\n }\r\n\r\n async unlinkVPID (userKeyID: number): Promise {\r\n return await >this.http.post('/Admin/UnlinkVistaSsoToHrUser', { UserKeyID: userKeyID }).toPromise()\r\n }\r\n\r\n async unlinkTID (prco:number, employee: number): Promise {\r\n return await >this.http.post('/Admin/SetTID', { prco: prco, employee: employee, tid: null }).toPromise()\r\n }\r\n\r\n async getUsers(params: HttpParams): Promise {\r\n return await this.http.get>('/Admin/GetUsers', { params }).toPromise()\r\n }\r\n\r\n async getReviewerGroups(): Promise> {\r\n return await this.http.get>('/Admin/GetReviewerGroups').toPromise()\r\n }\r\n\r\n async setBulkHours (params: HttpParams): Promise {\r\n return await > this.http.post('/Admin/BulkCheckBox', params).toPromise()\r\n }\r\n\r\n async getCounts(): Promise {\r\n return await this.http.get('/Admin/GetCounts').toPromise()\r\n }\r\n\r\n async clearUserGridSettings(params: HttpParams) {\r\n return await this.http.post('/Admin/ClearUserGridSettings', params).toPromise()\r\n }\r\n\r\n async sendWelcomeEmail(params: HttpParams) {\r\n return await this.http.post('/Admin/SendWelcomeEmail', params).toPromise()\r\n }\r\n\r\n async sendWelcomeEmailAll(params: HttpParams) {\r\n return await this.http.post('/Admin/SendWelcomeEmailAll', params).toPromise()\r\n }\r\n\r\n async sendMobileInvite(params: HttpParams) {\r\n return await this.http.post('/Admin/SendMobileInvite', params).toPromise()\r\n }\r\n\r\n async getUserGroups(): Promise> {\r\n return await this.http.get>('/Admin/GetUserGroup').toPromise()\r\n }\r\n\r\n async bulkApplyPOLicenseType(params: HttpParams) {\r\n return await this.http.post('/Admin/BulkApplyPOLicenseType', { params }).toPromise()\r\n }\r\n\r\n async bulkCheckBox(params: HttpParams) {\r\n return await this.http.post('/Admin/BulkCheckBox', params).toPromise()\r\n }\r\n\r\n async createNamedLogin(params: HttpParams) {\r\n return await this.http.post('/Admin/CreateNamedLogin', params).toPromise()\r\n }\r\n\r\n async unlockNamedLogin(params: HttpParams) {\r\n return await this.http.post('/Admin/UnlockNamedLogin', params).toPromise()\r\n }\r\n\r\n async removeNamedLogin(params: HttpParams) {\r\n return await this.http.post('/Admin/RemoveNamedLogin', params).toPromise()\r\n }\r\n\r\n async getNamedLoginList(): Promise> {\r\n return await this.http.get>('/Admin/GetNamedLoginList').toPromise()\r\n }\r\n\r\n async changeNamedLoginPassword (params: HttpParams) {\r\n return await this.http.post(\"/Admin/ChangeNamedLoginPassword\",\r\n params\r\n ).toPromise();\r\n }\r\n\r\n getOpenAdminTrans() {\r\n var url = \"/Admin/GetOpenAdminTrans\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n deleteTransactions(transIDString: string) {\r\n return this.http.post(\"/Admin/DeleteTransactions\", {\r\n transIDString: transIDString,\r\n }).toPromise();\r\n }\r\n\r\n deleteTrans(importID: any) {\r\n return this.http.post(\"/Admin/DeleteTrans\", {\r\n importID: importID,\r\n }).toPromise();\r\n }\r\n\r\n uploadTrans(importID: any, expenseTransIDToRemove: string) {\r\n return this.http.post(\"/Admin/UploadTrans\", {\r\n importID: importID,\r\n expenseTransIDToRemove: expenseTransIDToRemove\r\n }).toPromise();\r\n }\r\n\r\n getImportTrans(importID?: any) {\r\n var url = \"/Admin/GetImportTrans?importID=\" + importID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApprovalHistoryByCreditCard(expenseTransID?: number) {\r\n var url = \"/Admin/GetApprovalHistoryByCreditCard?expenseTransID=\" + expenseTransID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getReportManage(bulletinTypeID?: number, repostInstanceID?: number) {\r\n var url = \"/Admin/GetReportManage?bulletinTypeID=\" + bulletinTypeID + \"&repostInstanceID=\" + repostInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getReportCatList() {\r\n var url = \"/Admin/GetReportCatList\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateBulletinReport(reportInstanceID?: number, reportInstanceName?: string, bulletinTypeID?: number, reportServerItemID?: number, sendXML?: any, showParametersOnReport?: boolean) {\r\n return this.http.post(\"/Admin/UpdateBulletinReport\", {\r\n reportInstanceID: reportInstanceID,\r\n reportInstanceName: reportInstanceName,\r\n bulletinTypeID: bulletinTypeID,\r\n reportServerItemID: reportServerItemID,\r\n sendXML: sendXML,\r\n showParametersOnReport: showParametersOnReport\r\n }).toPromise();\r\n }\r\n\r\n deleteBulletinReport(reportInstanceID: number) {\r\n return this.http.post(\"/Admin/DeleteBulletinReport\", {\r\n reportInstanceID: reportInstanceID\r\n }).toPromise();\r\n }\r\n\r\n async getUserAccessPageData (): Promise {\r\n return this.http.get('/Admin/GetUserAccessPageData').toPromise();\r\n }\r\n}\r\n\r\nexport interface NamedLogin {\r\n IsUserLockedOut: boolean\r\n NamedLogin: string\r\n}\r\n\r\nexport interface Vendor {\r\n APVMKeyID: number\r\n Vendor: number\r\n VendorName: string\r\n FullName: string\r\n VendorGroup: number\r\n}\r\n\r\nexport interface PostResponse {\r\n success: boolean\r\n error: string\r\n}\r\n\r\nexport interface PRGroup {\r\n PRGroup: number\r\n PRGroupName: string\r\n}\r\n\r\nexport interface CompanyHQCo {\r\n CompanyName: string\r\n HQCo: number\r\n Label?: string\r\n}\r\n\r\nexport interface ActiveLicenseCounts {\r\n userCount: number //HR\r\n reviewerCount: number //FC\r\n fieldUserCount: number //FM\r\n fieldServiceCount: number //FS\r\n}\r\n\r\nexport interface ProvisionedLicenseCounts {\r\n HRManagementCount: number //HR\r\n FinancialControlsCount: number //FC\r\n FieldMgmtCount: number //FM\r\n FieldServiceCount: number //FS\r\n}\r\n\r\nexport interface EmployeeGroup {\r\n FilterInactives: boolean\r\n NumberOfEmployees: number\r\n SQLOverride: string\r\n UserGroupID: number\r\n UserGroupName: string\r\n}\r\n\r\nexport interface ReviewerGroup {\r\n ReviewerGroup: string\r\n GroupDescription: string\r\n}\r\n\r\nexport interface HRUser {\r\n Employee: number\r\n FullName: string\r\n HRCo: number\r\n KeyID: number\r\n PRCO: number\r\n}\r\n\r\nexport interface UserAccessPageData {\r\n TIDIsActive: boolean\r\n ActiveLicenseCounts: ActiveLicenseCounts\r\n ProvisionedLicenseCounts: ProvisionedLicenseCounts\r\n Companies: CompanyHQCo[]\r\n EmployeeGroups: EmployeeGroup[]\r\n}\r\n\r\nexport interface User {\r\n ActiveYN: string | null\r\n ConsentACA1095: boolean | null\r\n ConsentACA1095LastModified: Date | null\r\n ConsentConfirmedOn: Date | null //Dateoffset\r\n ConsentPaystubs: boolean | null\r\n ConsentPaystubsLastModified: Date | null//Dateoffset\r\n ConsentW2T4: boolean | null\r\n ConsentW2T4LastModified: Date | null//Dateoffset\r\n DefaultFridayHours: number | null\r\n DefaultWorkHours: number | null\r\n Email: string | null\r\n EmailSource: string | null\r\n Employee: number | null\r\n EmployeeName: string | null\r\n EnableWelcomeEmail: boolean | null\r\n ExpenseAPVMKeyID: number | null\r\n ExpenseLast4CreditCard: string | null\r\n ExpenseReviewerGroup: string | null\r\n ExpenseReviewerGroupDescription: string | null\r\n ExpenseVendorName: string | null\r\n HRUserExists: boolean | null\r\n IsAuthARTrack: boolean | null\r\n IsAuthAlloc: boolean | null\r\n IsAuthBilling: boolean | null\r\n IsAuthBillingComp: boolean | null\r\n IsAuthBillingCompNew: boolean | null\r\n IsAuthCheck: boolean | null\r\n IsAuthChecklist: boolean | null\r\n IsAuthCrew: boolean | null\r\n IsAuthDTR: boolean | null\r\n IsAuthDailyReports: boolean | null\r\n IsAuthEarnings: boolean | null\r\n IsAuthEquipInfo: boolean | null\r\n IsAuthEquipTransfer: boolean | null\r\n IsAuthExpense: boolean | null\r\n IsAuthFMGridTime: boolean | null\r\n IsAuthFMMobile: boolean | null\r\n IsAuthFieldService: boolean | null\r\n IsAuthHRActionItems: boolean | null\r\n IsAuthHuddles: boolean | null\r\n IsAuthIssues: boolean | null\r\n IsAuthLeave: boolean | null\r\n IsAuthMO: boolean | null\r\n IsAuthMeters: boolean | null\r\n IsAuthMobileKiosk: boolean | null\r\n IsAuthPO: boolean | null\r\n IsAuthPOPend: boolean | null\r\n IsAuthPOQuick: boolean | null\r\n IsAuthPORcv: boolean | null\r\n IsAuthPOReq: boolean | null\r\n IsAuthProgress: boolean | null\r\n IsAuthTimecard: boolean | null\r\n IsAuthTrainingMgr: boolean | null\r\n IsAuthUpdates: boolean | null\r\n IsAuthVistaData: boolean | null\r\n IsAuthWODashboard: boolean | null\r\n IsAuthWorkOrder: boolean | null\r\n IsJobEquipAlloc: boolean | null\r\n IsSystemAdmin: boolean | null\r\n IsTrainingClassInstructor: boolean | null\r\n IsUserConfirmed: boolean | null\r\n IsUserLockedOut: boolean | null\r\n IsVPIDLinked: boolean | null\r\n IsVistaSSOUser: boolean | null\r\n LastName: string | null\r\n LeaveReviewerGroup: string | null\r\n LeaveReviewerGroupDescription: string | null\r\n LoginCount: number | null\r\n LoginDate: Date | null //datetimeoffset\r\n ManagerFullName: string | null\r\n ManagerPREHKeyID: number | null\r\n OptOutSMS: boolean | null\r\n POLicenseType: string | null\r\n PRCo: number | null\r\n PRGroup: number | null\r\n PRManagerUserGroupID: number | null\r\n PRManagerUserGroupName: string | null\r\n PRManagerUserKeyID: number | null\r\n PRManagerUserName: string | null\r\n Reviewer: string | null\r\n ReviewerGroup: string | null\r\n RowNum: number | null\r\n Rownumber: number | null\r\n Total: number | null\r\n TotalRows: number | null\r\n UserKeyID: number | null\r\n VPUserName: string | null\r\n}\r\n\r\nexport interface UserArray {\r\n users: User[]\r\n totalRows: number\r\n}\r\n\r\nexport interface UserGroup {\r\n FilterInactive: boolean\r\n NumberOfEmployees: number\r\n SQLOverride: string\r\n UserGroupID: number\r\n UserGroupName: string\r\n\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ApiResponse } from '../../../shared/model/api-response.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApprovalService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getSupportRequests (supportDepartmentID?: number, status?: any, userKeyID?: number) {\r\n var url = \"/Approval/GetSupportRequests?supportDepartmentID=\" + supportDepartmentID\r\n + \"&status=\" + status + \"&userKeyID=\" + userKeyID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHRList (searchText?: string, includeInactive?: string, userKeyID?: number) {\r\n var url = \"/Approval/GetHRList?searchText=\" + searchText + \"&includeInactive=\" + includeInactive + \"&userKeyID=\" + userKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateRequest (supportRequestID: number, supportDepartmentID: number, requestStatus: string, assignedToUserKeyID: number, submittedByUserKeyID: number, isUrgent: boolean) {\r\n return this.http.post(\"/Approval/UpdateRequest\", {\r\n supportRequestID: supportRequestID,\r\n supportDepartmentID: supportDepartmentID,\r\n requestStatus: requestStatus,\r\n assignedToUserKeyID: assignedToUserKeyID,\r\n submittedByUserKeyID: submittedByUserKeyID,\r\n isUrgent: isUrgent\r\n }).toPromise();\r\n }\r\n\r\n getRequestByID (supportRequestID: number) {\r\n var url = \"/Approval/GetRequestByID?supportRequestID=\" + supportRequestID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getSupportNotes (supportRequestID: number) {\r\n var url = \"/Approval/GetSupportNotes?supportRequestID=\" + supportRequestID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addSupportNote (supportRequestID: number, supportNote: string, isNotify: boolean) {\r\n return this.http.post(\"/Approval/AddSupportNote\", {\r\n supportRequestID: supportRequestID,\r\n supportNote: supportNote,\r\n isNotify: isNotify\r\n }).toPromise();\r\n }\r\n\r\n getAssestsByEmployee (supportRequestID: number) {\r\n var url = \"/Approval/GetAssestsByEmployee?supportRequestID=\" + supportRequestID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getAttachmentsByRequestID (supportRequestID: number) {\r\n var url = \"/Approval/GetAttachmentsByRequestID?moduleID=\" + 13 + \"&recordID=\" + supportRequestID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n dependentRequestAction (dependentRequestID: number, postData: any, actionCode: string, actionNotes?: any) {\r\n return this.http.post(\"/Approval/DependentRequestAction\",\r\n {\r\n dependentRequestID: dependentRequestID,\r\n formData: postData,\r\n actionCode: actionCode,\r\n actionNotes: actionNotes\r\n }).toPromise();\r\n }\r\n\r\n saveWindowAuditReportData (benefitUserWindowID: number) {\r\n return this.http.post(\"/Approval/SaveWindowAuditReportData\",\r\n {\r\n benefitUserWindowID: benefitUserWindowID\r\n }).toPromise();\r\n }\r\n\r\n getWindowHistory (hRUserKeyID: number) {\r\n var url = \"/Approval/GetWindowHistory?hRUserKeyID=\" + hRUserKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBenefitsDashboardFilterValues (pRCo: number, pRGroup?: number, addlFilterName?: string) {\r\n var url = \"/Approval/GetBenefitsDashboardFilterValues?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup + \"&addlFilterName=\" + addlFilterName;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBenefitsDashboard (pRCo: number, pRGroup?: number, earnCode?: number, craft?: string, pRDept?: string, benefitGroup?: string, windowTypeID?: number, status?: string, active?: string) {\r\n var url = \"/Approval/GetBenefitsDashboard?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup + \"&earnCode=\" + earnCode + \"&craft=\" + craft + \"&pRDept=\" + pRDept + \"&benefitGroup=\" + benefitGroup + \"&windowTypeID=\" + windowTypeID + \"&status=\" + status + \"&Active=\" + active;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n initializeUserWindow (userKeyIDString: string, pRCo: number, windowStartDateString: string, windowEndDateString: string,\r\n windowTypeID: number, requestedEffectiveDateStr: string) {\r\n return this.http.post(\"/Approval/InitializeUserWindow\",\r\n {\r\n userKeyIDString: userKeyIDString,\r\n pRCo: pRCo,\r\n windowStartDateString: windowStartDateString,\r\n windowEndDateString: windowEndDateString,\r\n windowTypeID: windowTypeID,\r\n requestedEffectiveDateStr: requestedEffectiveDateStr\r\n }).toPromise();\r\n }\r\n\r\n sendEnrollmentReminder (benefitUserWindowIDString: string, pRCo: number) {\r\n return this.http.post(\"/Approval/SendEnrollmentReminder\",\r\n {\r\n benefitUserWindowIDString: benefitUserWindowIDString,\r\n pRCo: pRCo\r\n }).toPromise();\r\n }\r\n\r\n benefitCodeAudit (userKeyID: number) {\r\n var url = \"/Approval/BenefitCodeAudit?userKeyID=\" + userKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n checkBenefitSummaryReport (userKeyIDString: string, startDateStr: string, endDateStr: string) {\r\n return this.http.post(\"/Approval/CheckBenefitSummaryReport\",\r\n {\r\n userKeyIDString: userKeyIDString,\r\n startDateStr: startDateStr,\r\n endDateStr: endDateStr\r\n }).toPromise();\r\n }\r\n\r\n getPendingBenefitsRequests (pRCo: number, pRGroup?: number, earnCode?: number, craft?: string, pRDept?: string, benefitGroup?: string, windowTypeID?: number) {\r\n var url = \"/Approval/GetPendingBenefitsRequests?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup + \"&earnCode=\" + earnCode + \"&craft=\" + craft + \"&pRDept=\" + pRDept +\r\n \"&benefitGroup=\" + benefitGroup + \"&windowTypeID=\" + windowTypeID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n benefitRequestAction (isApproved: boolean, benefitRequestID: any, notes: string, effectiveDateString: string) {\r\n return this.http.post(\"/Approval/BenefitRequestAction\",\r\n {\r\n isApproved: isApproved,\r\n benefitRequestID: benefitRequestID,\r\n notes: notes,\r\n effectiveDateString: effectiveDateString\r\n }).toPromise();\r\n }\r\n\r\n\r\n getPendingDependentRequests (status: string) {\r\n var url = \"/Approval/GetPendingDependentRequests?status=\" + status;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDBAttachmentList (moduleID: number, recordID: number) {\r\n var url = \"/Document/GetDBAttachmentList?moduleID=\" + moduleID + \"&recordID=\" + recordID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n approveVacation (leaveRequestId?: number, actionNotes?: string) {\r\n return this.http.post(\"/Approval/ApproveVacation\", {\r\n leaveRequestId: leaveRequestId,\r\n actionNotes: actionNotes\r\n }).toPromise();\r\n }\r\n\r\n rejectVacation (leaveRequestId?: number, actionNotes?: string) {\r\n return this.http.post(\"/Approval/RejectVacation\", {\r\n leaveRequestId: leaveRequestId,\r\n actionNotes: actionNotes\r\n }).toPromise();\r\n }\r\n\r\n getServerBasedDate () {\r\n var url = \"/Approval/GetServerBasedDate\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRejectReasons(module: string) {\r\n let url = \"/APRouter/GetRejectReasons?module=\" + module;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTimecardApprovalJobs(pRPCKeyID, approvalStatus = null) {\r\n let url = \"/Approval/GetTimecardApprovalJobs?pRPCKeyID=\" + pRPCKeyID;\r\n if (approvalStatus != null)\r\n url += \"&approvalStatus=\" + approvalStatus;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPayPeriods(company: any, isManager?: boolean) {\r\n var url = \"/Approval/GetPayPeriods?company=\" + company;\r\n if (isManager != null) {\r\n url += \"&isManager=\" + isManager;\r\n }\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTimecardSummary (hQBCKeyID: number, pRPCKeyID: number, isManager?: boolean, filterResults?: boolean) {\r\n var url = \"/Approval/GetTimecardSummary?pRPCKeyID=\" + pRPCKeyID + \"&hQBCKeyID=\" + hQBCKeyID;\r\n if (isManager != null) {\r\n url += \"&isManager=\" + isManager;\r\n }\r\n if (filterResults != null) {\r\n url += \"&filterResults=\" + filterResults;\r\n }\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getUnapprovedJobTimecardLines () {\r\n var url = \"/Approval/GetUnapprovedJobTimecardLines\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n approveTimecard (requestData: any) {\r\n return this.http.post(\"/Approval/ApproveTimecard\", requestData).toPromise();\r\n }\r\n\r\n rejectTimecard (requestData: any) {\r\n return this.http.post(\"/Approval/RejectTimecard\", requestData).toPromise();\r\n }\r\n\r\n\r\n getPOPendingItemsToReview (): Promise {\r\n const url = \"/approval/GetPOPendingItemsToReview\";\r\n return this.http.get>(url).toPromise();\r\n }\r\n\r\n pOPendingUpdateStatus (status?: number, wFProcessDetailKeyIDs?: number[], reviewerComments?: string): Promise {\r\n return this.http.post(\"/Approval/POPendingUpdateStatus\", {\r\n status: status,\r\n wFProcessDetailKeyIDs: wFProcessDetailKeyIDs,\r\n reviewerComments: reviewerComments\r\n }).toPromise();\r\n }\r\n\r\n getPOPendingGetAttachments(headerUniqueAttchID?: any, itemUniqueAttchID?: any){\r\n var url = \"/Approval/GetPOPendingGetAttachments?headerUniqueAttchID=\" + headerUniqueAttchID + \"&itemUniqueAttchID=\" + itemUniqueAttchID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getVPAttachmentPDF(attachmentID: number){\r\n var url = \"/Approval/GetVPAttachmentPDF?attachmentID=\" + attachmentID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getVCMAttachment(contentTypeName, docID, filename){\r\n var url = \"/Document/GetVCMAttachment?contentTypeName=\" + contentTypeName + \"&docID=\" + docID + \"&filename=\" + filename + \"&isViewer=true\";\r\n return this.http.get(url).toPromise();\r\n }\r\n}\r\n\r\nexport interface PendingPO {\r\n SourceView: string;\r\n Company?: number;\r\n PO: string;\r\n POItem?: number;\r\n ItemDescription: string;\r\n Vendor: number;\r\n VendorName: string;\r\n OrderDate?: string;\r\n OrderDateDisplay?: string;\r\n OrderedBy: string;\r\n OrigCost?: number;\r\n OriginalCostDisplay: number;\r\n Notes: string;\r\n POPPKeyID: number;\r\n ProcessHeaderID: number;\r\n FormName: string;\r\n ProcessDetailKeyID: number;\r\n ItemUniqueAttchID?: string;\r\n HeaderUniqueAttchID?: string;\r\n ChargeTo: string;\r\n ItemType?: number;\r\n ItemTypeDesc: string;\r\n POPIKeyID?: number;\r\n IsLastApprover?: boolean;\r\n CreatedByFullName: string;\r\n POSLType: string;\r\n Selected?: boolean;\r\n}\r\n\r\nexport interface POPendingUpdateStatus {\r\n POPPKeyID: number | null;\r\n PO: string;\r\n IsFullyApproved?: boolean | null;\r\n PMCo: number | null;\r\n Project: string;\r\n SL: string;\r\n}\r\n\r\nexport interface POPendingUpdateStatusResponse extends ApiResponse {\r\n response: POPendingUpdateStatusResponseData\r\n}\r\n\r\nexport interface POPendingUpdateStatusResponseData {\r\n returnData: POPendingUpdateStatus[],\r\n exceptionCount: number,\r\n failedUpdates: { [key: number]: boolean } | null\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChecklistService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getAttachmentTypes() {\r\n var url = \"/Checklist/GetAttachmentTypes\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getItemGroups(checklistTemplateID?: number) {\r\n var url = \"/Checklist/GetItemGroups?checklistTemplateID=\" + checklistTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getChecklistTemplates(checklistTemplateCatgID?: number) {\r\n let url = \"/Checklist/GetChecklistTemplates?checklistTemplateCatgID=\" + checklistTemplateCatgID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n toggleTemplateActive(checklistTemplateID: number, isActive: boolean) {\r\n return this.http.post(\"/Checklist/ToggleTemplateActive\",\r\n {\r\n checklistTemplateID: checklistTemplateID,\r\n isActive: isActive\r\n }).toPromise();\r\n }\r\n\r\n addUpdateTemplate(requestObj: any) {\r\n return this.http.post(\"/Checklist/AddUpdateTemplate\",\r\n {\r\n checklistTemplateID: requestObj.checklistTemplateID,\r\n checklistTemplateCatgID: requestObj.checklistTemplateCatgID,\r\n checklistTemplateName: requestObj.checklistTemplateName,\r\n userGroupID: requestObj.userGroupID,\r\n reportRDLFileName: requestObj.reportRDLFileName,\r\n checklistTextHeader: requestObj.checklistTextHeader,\r\n workflowInclPM: requestObj.workflowInclPM,\r\n workflowInclJobRev: requestObj.workflowInclJobRev,\r\n workflowInclInvRev: requestObj.workflowInclInvRev,\r\n workflowInclUserGroupID: requestObj.workflowInclUserGroupID,\r\n workflowInclTimecardManager: requestObj.workflowInclTimecardManager,\r\n enableWorkflow: requestObj.enableWorkflow,\r\n adminGroupID: requestObj.adminGroupID,\r\n disableSubmission: requestObj.disableSubmission,\r\n attachmentType: requestObj.attachmentType,\r\n rdlData: requestObj.rdlData,\r\n attachDocumentFlagValue: requestObj.attachDocumentFlagValue,\r\n workflowUsersCanFinalize: requestObj.WorkflowUsersCanFinalize,\r\n }).toPromise();\r\n }\r\n\r\n copyChecklistTemplate(origChecklistTemplateID: number, newChecklistTemplateName: string) {\r\n return this.http.post(\"/Checklist/CopyChecklistTemplate\",\r\n {\r\n origChecklistTemplateID: origChecklistTemplateID,\r\n newChecklistTemplateName: newChecklistTemplateName\r\n }).toPromise();\r\n }\r\n\r\n templateItemToggleActive(checklistTemplateItemID: number, isActive: boolean) {\r\n return this.http.post(\"/Checklist/TemplateItemToggleActive\",\r\n {\r\n checklistTemplateItemID: checklistTemplateItemID,\r\n isActive: isActive\r\n }).toPromise();\r\n }\r\n\r\n addUpdateTemplateItem(requestObj: any) {\r\n return this.http.post(\"/Checklist/AddUpdateTemplateItem\",\r\n {\r\n checklistTemplateItemID: requestObj.checklistTemplateItemID,\r\n checklistTemplateItemGrpID: requestObj.checklistTemplateItemGrpID,\r\n responseTypeID: requestObj.responseTypeID,\r\n itemPrompt: requestObj.itemPrompt,\r\n itemNumber: requestObj.itemNumber,\r\n itemLongPrompt: requestObj.itemLongPrompt,\r\n checklistLookupID: requestObj.checklistLookupID,\r\n maxResponseLength: requestObj.maxResponseLength,\r\n validationRegex: requestObj.validationRegex,\r\n personalInfoField: requestObj.personalInfoField,\r\n isAdminField: requestObj.isAdminField,\r\n isRequiredAttachment: requestObj.isRequiredAttachment,\r\n rebindDropdown: requestObj.rebindDropdown,\r\n showComments: requestObj.showComments,\r\n showAttachments: requestObj.showAttachments,\r\n isRequired: requestObj.isRequired\r\n }).toPromise();\r\n }\r\n\r\n getItem(checklistInstanceID) {\r\n var url = \"/Checklist/GetItem?checklistInstanceID=\" + checklistInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getItemsByTemplateID(templateId: number) {\r\n let url = \"/Checklist/GetItemsByTemplateID?checklistTemplateID=\" + templateId;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLookupDataTypes() {\r\n var url = \"/Checklist/GetLookupDataTypes\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTemplateInfo(checklistTemplateID: number) {\r\n var url = \"/Checklist/GetTemplateInfo?checklistTemplateID=\" + checklistTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTemplateInfoFromInstance(checklistInstanceID: number) {\r\n var url = \"/Checklist/GetTemplateInfoFromInstance?checklistInstanceID=\" + checklistInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHeaderFieldsByTemplateID(checklistTemplateID: number) {\r\n var url = \"/Checklist/GetHeaderFieldsByTemplateID?checklistTemplateID=\" + checklistTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n insertUpdateHeaderFields(requestObj: any) {\r\n return this.http.post(\"/Checklist/InsertUpdateHeaderFields\",\r\n {\r\n checklistHeaderFieldID: requestObj.checklistHeaderFieldID,\r\n checklistTemplateID: requestObj.checklistTemplateID,\r\n headerFieldName: requestObj.headerFieldName,\r\n headerFieldLabel: requestObj.headerFieldLabel,\r\n fieldType: requestObj.fieldType,\r\n fieldIsRequired: requestObj.fieldIsRequired,\r\n isRestrictedAccess: requestObj.isRestrictedAccess,\r\n isActive: requestObj.isActive\r\n }).toPromise();\r\n\r\n }\r\n\r\n addItemGroups(checklistTemplateID: number, itemGroupName: string, itemGroupSeq?: number, itemGroupPct?: number) {\r\n return this.http.post(\"/Checklist/AddItemGroups\",\r\n {\r\n checklistTemplateID: checklistTemplateID,\r\n itemGroupName: itemGroupName,\r\n itemGroupSeq: itemGroupSeq,\r\n itemGroupPct: itemGroupPct\r\n }).toPromise();\r\n }\r\n\r\n editItemGroups(checklistTemplateID: number, itemGroupName: string, itemGroupSeq?: number, itemGroupPct?: number) {\r\n return this.http.post(\"/Checklist/EditItemGroups\",\r\n {\r\n checklistTemplateID: checklistTemplateID,\r\n itemGroupName: itemGroupName,\r\n itemGroupSeq: itemGroupSeq,\r\n itemGroupPct: itemGroupPct\r\n }).toPromise();\r\n }\r\n\r\n moveChecklistGroup(direction?: number, checklistTemplateItemGrpID?: number) {\r\n return this.http.post(\"/Checklist/MoveChecklistGroup\",\r\n {\r\n direction: direction,\r\n checklistTemplateItemGrpID: checklistTemplateItemGrpID\r\n }).toPromise();\r\n }\r\n\r\n submitChecklistOrder(direction?: number, checklistInstanceID?: number) {\r\n return this.http.post(\"/Checklist/SubmitChecklistOrder\",\r\n {\r\n direction: direction,\r\n checklistInstanceID: checklistInstanceID\r\n }).toPromise();\r\n }\r\n\r\n deleteItemGroup(checklistTemplateItemGrpID: number) {\r\n return this.http.post(\"/Checklist/DeleteItemGroup\",\r\n {\r\n checklistTemplateItemGrpID: checklistTemplateItemGrpID\r\n }).toPromise();\r\n }\r\n\r\n getTemplateCategories(checklistTemplateCatgID?: number) {\r\n var url = \"/Checklist/GetTemplateCategories?checklistTemplateCatgID=\" + checklistTemplateCatgID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBranches() {\r\n var url = \"/Checklist/GetBranches\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getChecklistHistory(formData: any, checklistTemplateCatgID?: number) {\r\n var url = \"/Checklist/GetChecklistHistory?branchID=\" + formData.selectedBranch + \"&fromDateString=\" + moment(formData.fromDate.getTime()).format(\"YYYY-MM-DD\") + \"&toDateString=\" + moment(formData.toDate.getTime()).format(\"YYYY-MM-DD\") + \"&checklistTemplateCatgID=\" + checklistTemplateCatgID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n saveMultiChecklists(checklistInstanceIDs: number[], filenames: string[], templateID: number[], isonboard?: string) {\r\n return this.http.post(\"/Checklist/SaveMultiChecklists\",\r\n {\r\n checklistInstanceIDs: checklistInstanceIDs,\r\n filenames: filenames,\r\n templateID: templateID,\r\n isonboard: isonboard\r\n }).toPromise();\r\n }\r\n\r\n downloadMultiChecklists(filenameList: string[], zipName: string) {\r\n var url = \"/Checklist/DownloadMultiChecklists?name=\" + (filenameList.length > 1 ? zipName : filenameList[0] + \".pdf\");\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n\r\n getChecklistReviewers(checklistInstanceID: number) {\r\n return this.http.get(\"/Checklist/GetChecklistReviewers?checklistInstanceID=\" + checklistInstanceID).toPromise();\r\n }\r\n\r\n initializeChecklistReviewers(checklistInstanceID: number) {\r\n return this.http.post(\"/Checklist/InitializeChecklistReviewers\",\r\n {\r\n checklistInstanceID: checklistInstanceID\r\n }).toPromise();\r\n }\r\n\r\n deleteChecklistReviewers(checklistRevID: number) {\r\n return this.http.post(\"/Checklist/DeleteChecklistReviewers\",\r\n {\r\n checklistRevID: checklistRevID\r\n }).toPromise();\r\n }\r\n\r\n addChecklistReviewer(userKeyID: number, checklistInstanceID: any, reviewerSource: string) {\r\n return this.http.post(\"/Checklist/AddChecklistReviewer\",\r\n {\r\n userKeyID: userKeyID,\r\n checklistInstanceID: checklistInstanceID,\r\n reviewerSource: reviewerSource\r\n }).toPromise();\r\n }\r\n\r\n sendChecklists(checklistInstanceIDs: number[], filenames: string[], fromEmail: string, toEmail: string[], subject: string, message: string, newFilenames: string[], newFiles: any[], templateID: any[], mailFrom: string, queueType: string, notificationMode: string, sMSTo: string, checklistTemplateCatgID: number) {\r\n return this.http.post(\"/Checklist/SendChecklists\",\r\n {\r\n checklistInstanceIDs: checklistInstanceIDs,\r\n filenames: filenames,\r\n fromEmail: fromEmail,\r\n toEmail: toEmail,\r\n subject: subject,\r\n message: message,\r\n newFilenames: newFilenames,\r\n newFiles: newFiles,\r\n templateID: templateID,\r\n mailFrom: mailFrom,\r\n queueType: queueType,\r\n notificationMode: notificationMode,\r\n sMSTo: sMSTo,\r\n checklistTemplateCatgID: checklistTemplateCatgID\r\n }).toPromise();\r\n }\r\n\r\n sendChecklistSign(signatureDataStr: string, checklistInstanceID: number, typeSign: boolean, latitude: number, longitude: number, pdfFileData: string = null, pdfFileName: string = null) {\r\n return this.http.post(\"/Checklist/sendChecklistSign\",\r\n {\r\n signatureDataStr: signatureDataStr,\r\n checklistInstanceID: checklistInstanceID,\r\n typeSign: typeSign,\r\n latitude: latitude,\r\n longitude: longitude,\r\n pdfFileData: pdfFileData,\r\n pdfFileName: pdfFileName\r\n }).toPromise();\r\n }\r\n\r\n getChecklistInstanceDetails(checklistInstanceID: number) {\r\n var url = \"/Checklist/GetChecklistInstanceDetails?checklistInstanceID=\" + checklistInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getInfoByOnboardID() {\r\n var url = \"/Hiring/GetInfoByOnboardID\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHeaderFields(checklistInstanceID: number) {\r\n var url = \"/Checklist/GetHeaderFields?checklistInstanceID=\" + checklistInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getChoicesByHeaderFieldID(checklistHeaderFieldID: number, checklistInstanceID: number, pRCO?: number) {\r\n var url = \"/Checklist/GetChoicesByHeaderFieldID?checklistHeaderFieldID=\" + checklistHeaderFieldID + \"&checklistInstanceID=\" + checklistInstanceID + \"&pRCO=\" + pRCO;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateHeaderFieldValue(checklistInstanceID: number, checklistHeaderFieldID: number, fieldValue: string, fieldType: string) {\r\n return this.http.post(\"/Checklist/UpdateHeaderFieldValue\",\r\n {\r\n checklistInstanceID: checklistInstanceID,\r\n checklistHeaderFieldID: checklistHeaderFieldID,\r\n fieldValue: fieldValue,\r\n fieldType: fieldType\r\n }).toPromise();\r\n }\r\n\r\n submitChecklist(checklistInstanceID: number, pdfData: string = null, pdfFileName: string = null) {\r\n return this.http.post(\"/Checklist/SubmitChecklist\",\r\n {\r\n checklistInstanceID: checklistInstanceID,\r\n pdfData: pdfData,\r\n pdfFileName: pdfFileName\r\n }).toPromise();\r\n }\r\n\r\n deleteChecklistItem(checklistInstanceID: number, templateCategoryID: number) {\r\n return this.http.post(\"/Checklist/DeleteChecklistItem\",\r\n {\r\n checklistInstanceID: checklistInstanceID,\r\n templateCategoryID: templateCategoryID\r\n }).toPromise();\r\n }\r\n\r\n createNewChecklist(checklistTemplateID: number) {\r\n return this.http.post(\"/Checklist/CreateNewChecklist\",\r\n {\r\n checklistTemplateID: checklistTemplateID\r\n }).toPromise();\r\n }\r\n\r\n getTypeSign(type: string, name: string = null) {\r\n let url = \"/Checklist/GetTypeSign?type=\" + type;\r\n if (name != null)\r\n url += \"&name=\" + name;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n sendChecklistsToVista(checklistInstanceID: number, checklistTemplateID: number, attachDocumentFlagValue: number, createdBy: number, attachmentType: number, fileName?: string) {\r\n return this.http.post(\"/Checklist/SendChecklistsToVista\",\r\n {\r\n checklistInstanceID: checklistInstanceID,\r\n checklistTemplateID: checklistTemplateID,\r\n attachDocumentFlagValue: attachDocumentFlagValue,\r\n createdBy: createdBy,\r\n attachmentType: attachmentType,\r\n fileName: fileName\r\n }).toPromise();\r\n }\r\n\r\n getLookup() {\r\n var url = \"/Checklist/GetLookup\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n GetLookupChoices(checklistLookupID: number) {\r\n var url = \"/Checklist/GetLookupChoices?checklistLookupID=\" + checklistLookupID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateLookupChoices(checklistHeaderChoiceID: number, checklistLookupID: number, choiceShortName: string, choiceLongName: string, choiceIsActive: boolean, isValueNotUnique: boolean) {\r\n return this.http.post(\"/Checklist/UpdateLookupChoices\",\r\n {\r\n checklistHeaderChoiceID: checklistHeaderChoiceID,\r\n checklistLookupID: checklistLookupID,\r\n choiceShortName: choiceShortName,\r\n choiceLongName: choiceLongName,\r\n choiceIsActive: choiceIsActive,\r\n isValueNotUnique: isValueNotUnique\r\n }).toPromise();\r\n };\r\n\r\n deleteLookupChoices(checklistHeaderChoiceID: number, checklistLookupID: number) {\r\n return this.http.post(\"/Checklist/DeleteLookupChoices\",\r\n {\r\n checklistHeaderChoiceID: checklistHeaderChoiceID,\r\n checklistLookupID: checklistLookupID\r\n }).toPromise();\r\n };\r\n\r\n moveSeqLookupChoices(direction: number, checklistHeaderChoiceID: number) {\r\n return this.http.post(\"/Checklist/MoveSeqLookupChoices\",\r\n {\r\n direction: direction,\r\n checklistHeaderChoiceID: checklistHeaderChoiceID\r\n }).toPromise();\r\n };\r\n\r\n updateLookup(checklistLookupID: number, checklistLookupName: string, checklistLookupSQLOverride: string, checklistLookupIsActive: boolean) {\r\n return this.http.post(\"/Checklist/UpdateLookup\",\r\n {\r\n checklistLookupID: checklistLookupID,\r\n checklistLookupName: checklistLookupName,\r\n checklistLookupSQLOverride: checklistLookupSQLOverride,\r\n checklistLookupIsActive: checklistLookupIsActive\r\n }).toPromise();\r\n };\r\n\r\n evaluateLookup(checklistLookupID: number, includeInactive: boolean) {\r\n var url = \"/Checklist/EvaluateLookup?checklistLookupID=\" + checklistLookupID + \"&includeInactive=\" + includeInactive;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateItem(checklistInstanceItemID: any, itemComments: any, itemResponse: any, itemIsCorrected: any, correctedComments: any, signatureDataStr: any, typeSign: any, typeID: any, latitude: any,\r\n longitude: any, itemResponseDisplay: any) {\r\n return this.http.post(\"/Checklist/UpdateItem\",\r\n {\r\n checklistInstanceItemID: checklistInstanceItemID, itemComments: itemComments, itemResponse: itemResponse, itemIsCorrected: itemIsCorrected, correctedComments: correctedComments,\r\n signatureDataStr: signatureDataStr, typeSign: typeSign, typeID: typeID, latitude: latitude, longitude: longitude, itemResponseDisplay: itemResponseDisplay\r\n }).toPromise();\r\n }\r\n\r\n getChoicesByTemplateItemID(checklistTemplateItemID: any, checklistInstanceID: any) {\r\n var url = \"/CheckList/GetChoicesByTemplateItemID?checklistTemplateItemID=\" + checklistTemplateItemID + \"&checklistInstanceID=\" + checklistInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n getChecklistInstancePDF(checklistInstanceID: number) {\r\n var url = \"/Checklist/GetChecklistInstancePDF?checklistInstanceID=\" + checklistInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CrewTimecardService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getAllLayouts() {\r\n let url = \"/CrewTimecard/GetAllLayouts\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBulkEmployeeList(pRCo, pRGroup) {\r\n let url = \"/CrewTimecard/GetBulkEmployeeList?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCellPossibleValues(rowData) {\r\n let url = \"/Timecard/GetCellPossibleValues\";\r\n return this.http.post(url, rowData).toPromise();\r\n }\r\n getCellPossibleValuesByEmployee(columnName: string, pRPCKeyID, employee = null, prehKeyID = null) {\r\n let url = \"/Timecard/GetCellPossibleValues?column=\" + columnName + \"&payPeriod=\" + pRPCKeyID;\r\n if (employee != null)\r\n url += \"&employee=\" + employee;\r\n if (prehKeyID != null)\r\n url += \"&prehKeyID=\" + prehKeyID;\r\n return this.http.post(url, prehKeyID).toPromise();\r\n }\r\n\r\n getCrewClockInStatus(pRPCKeyID, crewTemplateID) {\r\n let url = \"/CrewTimecard/GetCrewClockInStatus?pRPCKeyID=\" + pRPCKeyID + \"&crewTemplateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getEmplLockStatus(hQBCKeyID, crewTemplateID) {\r\n let url = \"/CrewTimecard/GetEmplLockStatus?hQBCKeyID=\" + hQBCKeyID + \"&crewTemplateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getJobsByAuthToken(form, searchString) {\r\n let url = \"/CrewTimecard/GetJobsByAuthToken?form=TC&searchString=\" + searchString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLayout(crewLayoutID) {\r\n let url = \"/Crew/Timecard/Layout?crewLayoutID=\" + crewLayoutID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLookupValues(crewLayoutDetailID, crewTemplateID, pRPCKeyID) {\r\n let url = \"/Crew/Timecard/GetLookupValues?crewLayoutDetailID=\" + crewLayoutDetailID + \"&crewTemplateID=\" + crewTemplateID + \"&pRPCKeyID=\" + pRPCKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPayPeriodDetails(pRPCKeyID, isCrewOrStandard: string) {\r\n let url = \"/Timecard/GetPayPeriodDetails/?prpcKeyID=\" + pRPCKeyID + \"&isCrewOrStandard=\" + isCrewOrStandard;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPayPeriodsByTemplate(template) {\r\n let url = \"/CrewTimecard/GetPayPeriodsByTemplate?crewTemplateID=\" + template;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCrews(pRCo, pRGRoup) {\r\n let url = \"/CrewTimecard/GetCrews?PRCo=\" + pRCo + \"&PRGroup=\" + pRGRoup;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCrewMember(pRCRKeyID : number) {\r\n let url = \"/CrewTimecard/GetCrewMember?PRCRKeyID=\" + pRCRKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCrewTimecardColumns(crewTemplateID, timecardGroupID) {\r\n let url = \"/CrewTimecard/GetColumns?templateID=\" + crewTemplateID + \"&timecardGroupId=\" + timecardGroupID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLineTypesByTemplate(crewTemplateID, timecardGroupID) {\r\n let url = \"/CrewTimecard/GetLineTypesByTemplate?templateID=\" + crewTemplateID + \"&timecardGroupId=\" + timecardGroupID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPhasesByJCJMKeyID(jCJMKeyID, laborOnly) {\r\n let url = \"/Crew/Timecard/GetPhasesByJCJMKeyID?jCJMKeyID=\" + jCJMKeyID + \"&laborOnly=\" + laborOnly;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPREHKeyIDByEmployee(pRCo, employee) {\r\n let url = \"/Employee/GetPREHKeyIDByEmployee?pRCo=\" + pRCo + \"&employee=\" + employee;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getQuestions(payPeriod) {\r\n let url = \"/CrewTimecard/GetQuestions?timecardGroupID=\" + payPeriod.TimecardGroupID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRequiredColumns(timecardGroupID) {\r\n let url = \"/Timecard/GetRequiredColumns?timecardGroupID=\" + timecardGroupID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTemplateDays(crewTemplateID) {\r\n let url = \"/CrewTimecard/GetTemplateDays?crewTemplateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTemplatesByPRPCKeyID(pRPCKeyID, crewTemplateID = null) {\r\n let url = \"/CrewTimecard/GetTemplatesByPRPCKeyID?pRPCKeyID=\" + pRPCKeyID;\r\n if (crewTemplateID != null)\r\n url += \"&templateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTimecardColumns(pRCo, pRGroup, isCrewOrStandard, filterType: string = null) {\r\n let url = \"/Timecard/GetTimecardColumns?&pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup + \"&isCrewOrStandard=\" + isCrewOrStandard;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPayPeriods(isJobApproval: boolean, payPdStatus: number = null) {\r\n let url = \"/CrewTimecard/PayPeriods?isJobApproval=\" + isJobApproval;\r\n if (payPdStatus != null)\r\n url += \"&payPdStatus=\" + payPdStatus;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n cloneCrewTimecard(cloneFromTemplateID, cloneToTemplateID, cloneFromPRPCKeyID, cloneToPRPCKeyID, isCloneHours, cloneType, dateFromString = null, dateToString = null, employeeList = null, restrictSubmitted = null) {\r\n let url = \"/CrewTimecard/CloneCrewTimecard\";\r\n let postData: any = {\r\n cloneFromTemplateID: cloneFromTemplateID,\r\n cloneToTemplateID: cloneToTemplateID,\r\n cloneFromPRPCKeyID: cloneFromPRPCKeyID,\r\n cloneToPRPCKeyID: cloneToPRPCKeyID,\r\n isCloneHours: isCloneHours,\r\n cloneType: cloneType\r\n };\r\n if (dateFromString != null)\r\n postData.dateFromString = dateFromString;\r\n if (dateToString != null)\r\n postData.dateToString = dateToString;\r\n if (employeeList != null)\r\n postData.employeeList = employeeList;\r\n if (restrictSubmitted != null)\r\n postData.restrictSubmitted = restrictSubmitted;\r\n\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n createLineFromClocks(crewTemplateID, employeeString, hQBCKeyID) {\r\n let url = \"/CrewTimecard/CreateLineFromClocks\";\r\n let postData: any = {\r\n createAsSubmitted: 0,\r\n crewTemplateID: crewTemplateID,\r\n employeeString: employeeString,\r\n hQBCKeyID: hQBCKeyID\r\n }\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n deleteTemplateData(crewTemplateDataID) {\r\n let url = \"/CrewTimecard/DeleteTemplateData\";\r\n return this.http.post(url, {\r\n crewTemplateDataID: crewTemplateDataID\r\n }).toPromise();\r\n }\r\n\r\n groupTimeEntry(employeeString, clockTimeString, clockAction, pRCo){\r\n let url = \"/Timecard/GroupTimeEntry\";\r\n return this.http.post(url, {\r\n employeeString: employeeString,\r\n clockTimeString: clockTimeString,\r\n clockAction: clockAction,\r\n pRCo: pRCo\r\n }).toPromise();\r\n }\r\n\r\n insertTemplateData(crewLayoutDetailID, crewTemplateID, fieldValue, fieldIdentifier) {\r\n let url = \"/CrewTimecard/InsertTemplateData\";\r\n return this.http.post(url, {\r\n crewLayoutDetailID: crewLayoutDetailID,\r\n crewTemplateID: crewTemplateID,\r\n fieldValue: fieldValue,\r\n fieldIdentifier: fieldIdentifier\r\n }).toPromise();\r\n }\r\n\r\n submitCrewTimecard(crewTemplateID, pRPCKeyID, submittedOnString, employees) {\r\n let url = \"/CrewTimecard/SubmitCrewTimecard\";\r\n return this.http.post(url, { crewTemplateID: crewTemplateID, pRPCKeyID: pRPCKeyID, submittedOnString: submittedOnString, employees: employees }).toPromise();\r\n }\r\n\r\n submitCrewTimecardEmployee(employee, pRCo, hQBCKeyID, questionRow, pRPCKeyID, crewTemplateID, actionString, submitSignatureStr, submitNoIssues,\r\n submitIssuesNotes, latitude, longitude, submittedOnString) {\r\n let url = \"/CrewTimecard/SubmitCrewTimecardEmployee\";\r\n let postData: any = {\r\n employee: employee, pRCo: pRCo, hQBCKeyID: hQBCKeyID, pRPCKeyID: pRPCKeyID, crewTemplateID: crewTemplateID,\r\n actionString: actionString, submitSignatureStr: submitSignatureStr, submitNoIssues: submitNoIssues, submitIssuesNotes: submitIssuesNotes,\r\n latitude: latitude, longitude: longitude, submittedOnString: submittedOnString\r\n };\r\n if (questionRow != null)\r\n postData.questionRow = questionRow;\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n unsubmitCrewTimecard(unsubmitData: any) {\r\n let url = \"/Crew/Timecard/UnsubmitCrewTimecard\";\r\n return this.http.post(url, unsubmitData).toPromise();\r\n }\r\n\r\n getPRCoPRGroup() {\r\n return this.http.get(\"/Crew/Timecard/GetPRCoPRGroup\").toPromise();\r\n }\r\n\r\n getEmployees(searchString: string, isTimecard?: boolean, pRCo? : number, pRGroup? : number) {\r\n let url = \"/Timecard/GetEmployees?searchString=\" + searchString + \"&isTimecard=\" + isTimecard + \"&PRCo=\" + pRCo + \"&PRGroup=\" + pRGroup;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addCrewMember(pRCRKeyID: number, employee: number) {\r\n let url = \"/Crew/Timecard/CrewMemberAdd\";\r\n return this.http.post(url, {\r\n PRCRKeyID: pRCRKeyID,\r\n employee: employee\r\n }).toPromise();\r\n }\r\n\r\n addEditCrew(pRCRKeyID: number, crew: string, crewDescription: string, pRCo: number, pRGroup: number) {\r\n let url = \"/Crew/Timecard/CrewAddEdit\";\r\n return this.http.post(url, {\r\n PRCRKeyID: pRCRKeyID,\r\n crew: crew,\r\n crewDescription: crewDescription,\r\n PRCo: pRCo,\r\n PRGroup: pRGroup\r\n }).toPromise();\r\n }\r\n\r\n deleteCrewMember(pRCWKeyID : number) {\r\n let url = \"/Crew/Timecard/CrewMemberDelete\";\r\n return this.http.post(url, {\r\n PRCWKeyID: pRCWKeyID\r\n }).toPromise();\r\n }\r\n\r\n updateLayoutDetails(crewLayoutID: number, stickyColumnCount?: number, stickyJobApprovalCount?: number, description?: string) {\r\n let url = \"/Crew/Timecard/UpdateLayoutDetails\";\r\n return this.http.post(url, {\r\n crewLayoutID: crewLayoutID,\r\n stickyColumnCount: stickyColumnCount,\r\n stickyJobApprovalCount: stickyJobApprovalCount,\r\n description: description\r\n }).toPromise();\r\n }\r\n\r\n updatelayout(layoutUpdateModel: any) {\r\n let url = \"/Crew/Timecard/UpdateLayout\";\r\n return this.http.post(url, {\r\n layoutUpdateModel: layoutUpdateModel\r\n }).toPromise();\r\n }\r\n\r\n getLayoutColumns(){\r\n let url = \"/Crew/Timecard/GetLayoutColumns\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n deleteLayout(crewLayoutID: number) {\r\n let url = \"/Crew/Timecard/DeleteLayout\";\r\n return this.http.post(url, {\r\n crewLayoutID: crewLayoutID\r\n }).toPromise();\r\n }\r\n\r\n getTemplates(userID: number, crewLayoutID: number) {\r\n let url = \"/CrewTimecard/GetTemplates?userID=\" + userID + \"&crewLayoutID=\" + crewLayoutID ;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n insertUpdateTemplateHeader(crewTemplateID: number, userKeyID: number,crewLayoutID:number, templateName: string, templateIsActive: boolean, templateCanBeEdited: boolean, templateIsShared: boolean) {\r\n let url = \"/Crew/Timecard/InsertUpdateTemplateHeader\";\r\n return this.http.post(url, {\r\n crewTemplateID : crewTemplateID,\r\n userKeyID: userKeyID,\r\n crewLayoutID: crewLayoutID,\r\n templateName : templateName,\r\n templateIsActive: templateIsActive,\r\n templateCanBeEdited: templateCanBeEdited,\r\n templateIsShared: templateIsShared\r\n }).toPromise();\r\n }\r\n\r\n deleteTemplateHeader(crewTemplateID: number) {\r\n let url = \"/Crew/Timecard/DeleteTemplateHeader\";\r\n return this.http.post(url, {\r\n crewTemplateID: crewTemplateID\r\n }).toPromise();\r\n }\r\n\r\n getTemplateEmployees() {\r\n let url = \"/Timecard/GetEmployees\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCrewMemberMulti(crewIDs: any[]) {\r\n let url = \"/CrewTimecard/GetCrewMemberMulti\";\r\n return this.http.post(url, { PRCRKeyID: crewIDs }).toPromise();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-clock-in-out-error',\r\n templateUrl: './clock-in-out-error.component.html',\r\n styleUrls: ['./clock-in-out-error.component.css']\r\n})\r\nexport class ClockInOutErrorComponent implements OnInit {\r\n kioskLogin: boolean = false;\r\n params: any;\r\n\r\n constructor(private route: ActivatedRoute, private utilityService: UtilityService) { }\r\n\r\n ngOnInit(): void {\r\n this.params = this.route.snapshot.queryParams;\r\n this.kioskLogin = this.params?.kioskLogin;\r\n this.redirectToLogin();\r\n }\r\n\r\n redirectToLogin() {\r\n setTimeout(() => {\r\n var loginURL = \"/Account/Login\";\r\n this.utilityService.isLoggedOut = true;\r\n if (this.kioskLogin) {\r\n window.location.href = \"/Account/Logout?kioskLogout=true\";\r\n loginURL = \"/Account/Kiosklogin\";\r\n }\r\n else {\r\n window.location.href = \"/Account/Logout\";\r\n }\r\n window.history.replaceState(null, null, loginURL);\r\n }, 5000);\r\n }\r\n}\r\n","
\r\n
\r\n You are not authorized to clock in. Redirecting back to login page...\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { concat, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\n\r\n//Services\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { AccountService } from '../../account/services/account.service';\r\nimport { EmployeeService } from '../services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-clock-in-out-unlocked',\r\n templateUrl: './clock-in-out-unlocked.component.html',\r\n styleUrls: ['./clock-in-out-unlocked.component.css']\r\n})\r\nexport class ClockInOutUnlockedComponent implements OnInit, OnDestroy {\r\n @ViewChild('signaturePad', { static: false }) signaturePad;\r\n dateFormat: string;\r\n clockStatus: boolean = null;\r\n formData: any = {};\r\n customMsg: string;\r\n portalSettings: any;\r\n changePhaseNow: boolean = false;\r\n employeeResults: any = {};\r\n requirePasswordClockIO: boolean = false;\r\n tCClockIOIgnoreJobPhase: boolean = false;\r\n geolocationEnabled: boolean = false;\r\n requestingLocation: boolean = false;\r\n position: any = null;\r\n performingClockAction: boolean = false;\r\n clockInUsePhase: boolean = false;\r\n companyLoginChoices: boolean = false;\r\n lastUsedJCJPKeyID: any = null;\r\n lastUsedJCJMKeyID: any = null;\r\n jobs: any[] = [];\r\n phases: any[] = [];\r\n lastFullClockIn: any = null;\r\n lastFullClockOut: any = null;\r\n lastClockIn: any = null;\r\n totalHours: number = null;\r\n alert: any = null;\r\n loadingAccess: boolean = false;\r\n accessToken: any;\r\n loading: boolean = false;\r\n employeeName: string;\r\n requireSign: boolean = false;\r\n redBorder: boolean = false;\r\n lastAction: boolean = false;\r\n pageUnlocked: boolean = false;\r\n companies: any[] = [];\r\n signatureData: any;\r\n signatureNEmpty: boolean = false;\r\n job$: Observable;\r\n jobInput$ = new Subject();\r\n panelWidth: number;\r\n timeFormat: string = \" hh:mm a\";\r\n\r\n constructor(portalSettingsService: PortalSettingsService, private utilityService: UtilityService, private employeeService: EmployeeService, private accountService: AccountService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n window.history.pushState(null, null, \"/employee/clockinoutunlocked\");\r\n this.dateFormat = this.utilityService.getDateFormat();\r\n var width = window.innerWidth - 80;\r\n this.panelWidth = (width > 300 ? 300 : width) + 40;\r\n this.clockInUsePhase = this.portalSettings.ClockInUsePhase.ConfigValue == \"1\";\r\n this.companyLoginChoices = this.portalSettings.CompanyLoginChoices.ConfigValue == \"1\";\r\n this.customMsg = this.portalSettings.CustomVerbiageClockOutSign.ConfigValue;\r\n this.requirePasswordClockIO = this.portalSettings.RequirePasswordClockIO.ConfigValue == \"1\";\r\n this.tCClockIOIgnoreJobPhase = this.portalSettings.TCClockIOIgnoreJobPhase.ConfigValue == \"1\";\r\n this.requireSign = this.portalSettings.RequireSignClockOut.ConfigValue == \"1\";\r\n this.formData.labelFade = false;\r\n this.formData.selectedJob = null;\r\n this.formData.selectedPhase = null;\r\n if (sessionStorage) {\r\n this.getLocation();\r\n }\r\n if (this.companyLoginChoices) {\r\n this.getCompanies();\r\n }\r\n this.registerLookups();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.jobInput$.unsubscribe();\r\n }\r\n\r\n lockPage() {\r\n window.location.href = \"/Account/Logout\";\r\n }\r\n\r\n getClockInStatus() {\r\n this.lastFullClockIn = null;\r\n this.lastFullClockOut = null;\r\n this.lastClockIn = null;\r\n this.totalHours = null;\r\n this.alert = null;\r\n this.phases = [];\r\n var currentTime = moment();\r\n var currentTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n var requestParam = \"pRCo=\" + this.formData.PRCo + \"&employee=\" + this.formData.Employee + \" &fromFieldKiosk=true¤tTimeString=\" + currentTimeString + \"&kioskPass=\" + encodeURIComponent(this.formData.unlockPass) ?? null;\r\n if (!this.requirePasswordClockIO) {\r\n this.employeeService.getClockInStatus(requestParam).then((response: any) => {\r\n if (response != null) {\r\n this.setClockStatusResponse(response);\r\n }\r\n });\r\n }\r\n else {\r\n if (this.formData.Employee == null || this.formData.Password == null) {\r\n this.alert = { type: \"danger\", msg: \"Please enter your Employee # and Password.\" }\r\n }\r\n else {\r\n this.formData.PMMode = false;\r\n this.loadingAccess = true;\r\n this.accountService.login(this.formData).then((response: any) => {\r\n if (response != null) {\r\n if (!response.success) {\r\n // if not successful, bind errors to error variables\r\n this.alert = { type: \"danger\", msg: response.errorMessage };\r\n this.loadingAccess = false;\r\n }\r\n else {\r\n this.accountService.getJobsAccessToken().then((tokenResponse: any) => {\r\n if (tokenResponse != null) {\r\n this.accessToken = tokenResponse[0];\r\n this.accountService.getAccountLogoutRedirect().then((response: any) => {\r\n var requestParam = \"pRCo=\" + this.formData.PRCo + \"&employee=\" + this.formData.Employee + \"&fromFieldKiosk=true¤tTimeString=\" + currentTimeString + \"&jobAccessToken=\" + this.accessToken + \"&kioskPass=\" + encodeURIComponent(this.formData.unlockPass) ?? null;\r\n this.employeeService.getClockInStatus(requestParam).then((statusResponse: any) => {\r\n if (statusResponse != null) {\r\n this.loadingAccess = false;\r\n this.setClockStatusResponse(statusResponse);\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }, () => {\r\n this.alert = { type: \"danger\", msg: \"Error occurred while trying to login, contact your administrator.\" };\r\n });\r\n }\r\n }\r\n }\r\n\r\n cancelClockIO() {\r\n this.alert = null;\r\n this.accountService.getAccountLogoutRedirect().then((response: any) => {\r\n this.resetForm();\r\n });\r\n }\r\n\r\n changePhase() {\r\n this.alert = null;\r\n this.changePhaseNow = true;\r\n }\r\n\r\n cancelChangePhase() {\r\n this.changePhaseNow = false;\r\n }\r\n\r\n confirmChangePhase(ignoreLocation: boolean) {\r\n if (this.requireSign) {\r\n this.checkSigned();\r\n }\r\n if (!this.redBorder) {\r\n this.performingClockAction = true;\r\n var requestObj = { clockInTime: new Date().toISOString(), pRCo: this.formData.PRCo, employee: this.formData.Employee, fromGroupClock: false, gPSLat: null, gPSLong: null, clockTimeString: null, kioskPass: null, jCJMKeyID: null, jCJPKeyID: null };\r\n if (!ignoreLocation) {\r\n requestObj.gPSLat = this.position.coords.latitude;\r\n requestObj.gPSLong = this.position.coords.longitude;\r\n }\r\n var currentTime = moment();\r\n requestObj.clockTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n requestObj.kioskPass = this.formData.unlockPass ?? null;\r\n this.employeeService.postClockActionAnon(requestObj).then((response: any) => {\r\n if (response != null) {\r\n this.requestingLocation = false;\r\n this.formData.action = null;\r\n this.formData.actionMode = null;\r\n if (response.success) {\r\n if (this.clockInUsePhase) {\r\n requestObj.jCJMKeyID = this.formData.selectedJob.JCJMKeyID;\r\n requestObj.jCJPKeyID = this.formData.selectedPhase.JCJPKeyID;\r\n }\r\n this.employeeService.postClockActionAnon(requestObj).then((clockResponse: any) => {\r\n if (clockResponse != null) {\r\n this.showBanner(clockResponse.resultClockAction);\r\n this.cancelChangePhase();\r\n }\r\n });\r\n this.alert = null;\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n this.performingClockAction = false;\r\n this.cancelChangePhase();\r\n this.resetForm();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n resetGetStatus() {\r\n this.clockStatus = null;\r\n }\r\n\r\n postClockAction(ignoreLocation: boolean) {\r\n this.performingClockAction = true;\r\n var requestObj = { clockInTime: new Date().toISOString(), pRCo: this.formData.PRCo, employee: this.formData.Employee, gPSLat: null, gPSLong: null, jCJMKeyID: null, jCJPKeyID: null, clockTimeString: null, kioskPass: null };\r\n if (!ignoreLocation) {\r\n requestObj.gPSLat = this.position.coords.latitude;\r\n requestObj.gPSLong = this.position.coords.longitude;\r\n }\r\n if (this.clockInUsePhase && !this.clockStatus && this.formData.selectedJob != null && this.formData.selectedPhase != null) {\r\n requestObj.jCJMKeyID = this.formData.selectedJob.JCJMKeyID;\r\n requestObj.jCJPKeyID = this.formData.selectedPhase.JCJPKeyID;\r\n }\r\n var currentTime = moment();\r\n requestObj.clockTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n requestObj.kioskPass = this.formData.unlockPass;\r\n this.employeeService.postClockActionAnon(requestObj).then((response: any) => {\r\n if (response != null) {\r\n this.requestingLocation = false;\r\n this.formData.action = null;\r\n this.formData.actionMode = null;\r\n if (response.success) {\r\n this.showBanner(response.resultClockAction);\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: response.error };\r\n this.performingClockAction = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n unlockForm() {\r\n this.employeeService.unlockClockInPage(this.formData.unlockPass).then((response: any) => {\r\n if (response != null) {\r\n if (response.success) {\r\n this.alert = null;\r\n this.pageUnlocked = true;\r\n }\r\n else {\r\n this.alert = { type: \"danger\", msg: \"The unlock password was incorrect.\" };\r\n }\r\n }\r\n });\r\n }\r\n\r\n jobChanged() {\r\n this.formData.selectedPhase = null;\r\n this.phases = [];\r\n if (this.formData.selectedJob != null) {\r\n this.getPhases();\r\n }\r\n }\r\n\r\n loadPhase() {\r\n if ((this.phases == null || this.phases.length <= 0) && this.formData.selectedJob != null && this.formData.selectedJob.JCJMKeyID != null) {\r\n this.getPhases();\r\n }\r\n }\r\n\r\n closeAlert() {\r\n this.alert = null;\r\n }\r\n\r\n clockOutClicked(location: any) {\r\n if (this.requireSign) {\r\n this.checkSigned();\r\n if (this.signatureNEmpty) {\r\n this.signatureData = (this.signaturePad.toDataURL());\r\n this.postClockAction(location);\r\n }\r\n }\r\n }\r\n\r\n clear() {\r\n if (this.signaturePad != null) {\r\n this.signaturePad.clear();\r\n this.signatureNEmpty = false;\r\n }\r\n }\r\n\r\n searchPhases(term: string, item: any) {\r\n term = term.trim().toLowerCase();\r\n return item.JCJPKeyID?.toString().indexOf(term) > -1 || item.PhaseDescription?.toLowerCase().indexOf(term) > -1 || item.PhaseGroup?.toString().indexOf(term) > -1;\r\n }\r\n\r\n private registerLookups() {\r\n this.job$ = concat(\r\n this.jobInput$.pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n switchMap(async (term: any) => {\r\n if (term != null && term.length > 2) {\r\n var result: any = await this.employeeService.getJobsForClockIn(this.formData.PRCo, this.formData.Employee, term, this.accessToken, encodeURIComponent(this.formData.unlockPass) ?? null);\r\n result.forEach((val: any) => {\r\n val.JobDisplayName = val.JobDisplayName + ' (' + \"JCCo - \" + val.JCCo + ')';\r\n if (this.lastUsedJCJMKeyID != null && val.JCJMKeyID == this.lastUsedJCJMKeyID) {\r\n this.formData.selectedJob = val;\r\n }\r\n });\r\n if (this.formData.selectedJob != null) {\r\n this.jobChanged();\r\n } else {\r\n this.phases = [{ JCJPKeyID: null, Phase: \"\", PhaseDescription: \"No Phase\", PhaseGroup: null }];\r\n this.formData.selectedPhase = this.phases[0];\r\n }\r\n return result;\r\n }\r\n })\r\n )\r\n );\r\n }\r\n\r\n private getPREHKeyIDByEmployee() {\r\n this.loading = true;\r\n this.employeeService.getPREHKeyIDByEmployee(this.formData.PRCo, this.formData.Employee, encodeURIComponent(this.formData.unlockPass) ?? null).then((response: any) => {\r\n this.employeeResults = response;\r\n this.employeeName = this.employeeResults != null ? this.employeeResults.FirstName + \" \" + this.employeeResults.LastName : null;\r\n this.employeeService.getClockHistory(this.formData.PRCo, this.formData.Employee, encodeURIComponent(this.formData.unlockPass) ?? null).then((historyResponse: any) => {\r\n this.lastFullClockIn = null;\r\n this.lastFullClockOut = null;\r\n this.lastClockIn = null;\r\n this.totalHours = null;\r\n if (historyResponse != null && historyResponse.length > 0) {\r\n if (!historyResponse[historyResponse.length - 1].ClockAction) { //not clocked in\r\n var reversedResponse = historyResponse.slice(-2).reverse();\r\n this.lastFullClockOut = reversedResponse[0];\r\n this.lastFullClockOut.ClockTimeDisplay = moment(this.lastFullClockOut.ClockTime).utc().format(this.dateFormat.toUpperCase() + this.timeFormat);\r\n this.lastFullClockIn = reversedResponse[1];\r\n this.lastFullClockIn.ClockTimeDisplay = moment(this.lastFullClockIn.ClockTime).utc().format(this.dateFormat.toUpperCase() + this.timeFormat);\r\n this.updateHoursColumnValue();\r\n } else {\r\n var reversedResponse = historyResponse.slice(-3).reverse();\r\n this.lastClockIn = reversedResponse[0];\r\n this.lastClockIn.ClockTimeDisplay = moment(this.lastClockIn.ClockTime).utc().format(this.dateFormat.toUpperCase() + this.timeFormat);\r\n this.lastFullClockOut = reversedResponse[1];\r\n this.lastFullClockOut.ClockTimeDisplay = moment(this.lastFullClockOut.ClockTime).utc().format(this.dateFormat.toUpperCase() + this.timeFormat);\r\n this.lastFullClockIn = reversedResponse[2];\r\n this.lastFullClockIn.ClockTimeDisplay = moment(this.lastFullClockIn.ClockTime).utc().format(this.dateFormat.toUpperCase() + this.timeFormat);\r\n this.updateHoursColumnValue();\r\n }\r\n }\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n\r\n private updateHoursColumnValue() {\r\n var startTime = this.lastFullClockIn.ClockTime.substring(6, this.lastFullClockIn.ClockTime.length - 7);\r\n var stopTime = this.lastFullClockOut.ClockTime.substring(6, this.lastFullClockOut.ClockTime.length - 7);\r\n var elapsedHours = (stopTime - startTime) / (1000 * 60 * 60.0);\r\n this.totalHours = parseFloat(elapsedHours.toFixed(2));\r\n }\r\n\r\n private resetForm() {\r\n this.performingClockAction = false;\r\n this.formData.Employee = null;\r\n this.formData.Password = null;\r\n this.formData.selectedJob = null;\r\n this.formData.selectedPhase = null;\r\n this.clockStatus = null;\r\n this.clear();\r\n\r\n if (this.requirePasswordClockIO) {\r\n this.accountService.getAccountLogoutRedirect();\r\n }\r\n }\r\n\r\n private getLocation() {\r\n this.position = null;\r\n this.requestingLocation = true;\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position: any) => {\r\n setTimeout(() => {\r\n this.requestingLocation = false;\r\n this.geolocationEnabled = true;\r\n this.position = position;\r\n });\r\n });\r\n }\r\n else {\r\n this.requestingLocation = false;\r\n }\r\n }\r\n\r\n private getCompanies() {\r\n this.companies = [];\r\n this.accountService.getCompanies().then((response: any) => {\r\n if (response != null) {\r\n this.companies = response;\r\n if (this.companies.length > 0) {\r\n this.formData.PRCo = this.companies[0].PRCo;\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getPhases() {\r\n this.phases = [];\r\n this.employeeService.getPhasesForClockIn(this.formData.selectedJob.JCJMKeyID, this.accessToken, false, encodeURIComponent(this.formData.unlockPass) ?? null).then((response: any) => {\r\n if (response != null) {\r\n var phases = response;\r\n phases.forEach((val: any) => {\r\n if (this.lastUsedJCJPKeyID != null && this.lastUsedJCJPKeyID == val.JCJPKeyID) {\r\n this.formData.selectedPhase = val;\r\n }\r\n });\r\n this.phases = phases;\r\n }\r\n });\r\n }\r\n\r\n private checkSigned() {\r\n this.signatureNEmpty = !this.signaturePad.isEmpty();\r\n this.redBorder = this.signaturePad.isEmpty();\r\n }\r\n\r\n private setClockStatusResponse(response: any) {\r\n this.clockStatus = response.ClockAction;\r\n this.lastUsedJCJMKeyID = response.LastUsedJCJMKeyID;\r\n this.lastUsedJCJPKeyID = response.LastUsedJCJPKeyID;\r\n if (this.clockInUsePhase) {\r\n this.formData.selectedJob = { JCJMKeyID: response.LastUsedJCJMKeyID, JobDisplayName: response.LastUsedJob };\r\n this.formData.selectedPhase = { JCJPKeyID: response.LastUsedJCJPKeyID, PhaseDescription: response.LastUsedPhase };\r\n }\r\n if (this.formData.selectedJob != null) {\r\n this.getPhases();\r\n }\r\n this.getPREHKeyIDByEmployee();\r\n }\r\n\r\n private showBanner(action: any) {\r\n var currentTime = moment();\r\n this.formData.labelFade = false;\r\n this.lastAction = true;\r\n this.formData.actionMode = action ? \"success\" : \"danger\";\r\n var clockText = action ? \" clocked in at \" : \" clocked out at \";\r\n this.formData.action = \"Employee \" + this.formData.Employee + \"- \"\r\n + this.employeeName\r\n + clockText + currentTime.format(\"hh:mm A\") + \" successfully.\";\r\n setTimeout(() => {\r\n this.formData.labelFade = true;\r\n }, 5000);\r\n this.resetForm();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Obtaining Location\r\n
\r\n
\r\n Location Not Available \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"\"\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \"Loading...\"\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign above
\r\n \r\n
By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \"Loading...\"\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"Loading...\"\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{alert.msg}}\r\n \r\n
\r\n
{{formData.action}}
\r\n
\r\n\r\n\r\n
\r\n
\r\n {{lastFullClockIn.ClockTimeDisplay}} - Clock In
\r\n {{lastFullClockOut.ClockTimeDisplay}} - Clock Out
\r\n {{totalHours}} hours\r\n
\r\n
\r\n
\r\n {{lastClockIn.ClockTimeDisplay}} - Clock In\r\n
\r\n
\r\n","import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport moment from 'moment';\r\n\r\n//Services\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { ChecklistService } from '../../checklist/services/checklist.service';\r\nimport { DailyReportsService } from '../../field/service/daily-reports.service';\r\nimport { EmployeeService } from '../services/employee.service';\r\n\r\n@Component({\r\n selector: 'app-clock-in-out',\r\n templateUrl: './clock-in-out.component.html',\r\n styleUrls: ['./clock-in-out.component.css']\r\n})\r\nexport class ClockInOutComponent implements OnInit, OnDestroy {\r\n @ViewChild('signaturePad', { static: false }) signaturePad: any;\r\n @ViewChild('clockInOutPage', { static: true }) clockInOutPage: ElementRef;\r\n portalSettings: any;\r\n employeeInfo: any;\r\n geolocationEnabled: boolean = false;\r\n requestingLocation: boolean = false;\r\n position: any = null;\r\n clockActionPerformed: boolean = false;\r\n performingClockAction: boolean = false;\r\n clockInUsePhase: boolean = false;\r\n prefillJP: boolean = false;\r\n customMsg: any;\r\n tCClockIOIgnoreJobPhase: boolean = false;\r\n formData: any = {};\r\n loadingClockStatus: boolean = false;\r\n jobs: any = [];\r\n phases: any = [];\r\n clockStatus: any;\r\n requireSign: any;\r\n signatureData: any;\r\n clockIn: any;\r\n clockActionSuccess: any;\r\n message: string;\r\n rawImgData: any;\r\n signatureNEmpty: any;\r\n submitSignImg: any = null;\r\n hideClick: boolean;\r\n showClickMsg: boolean;\r\n signed: boolean = false;\r\n read: boolean = false;\r\n redBorder: boolean;\r\n disableSubmitSign: boolean;\r\n panelWidth: number;\r\n kioskLogin: boolean = false;\r\n params: any;\r\n redirectTimeout: any;\r\n\r\n constructor(portalSettingsService: PortalSettingsService, employeeInfoService: EmployeeInfoService, private employeeService: EmployeeService, private dailyReportsService: DailyReportsService, private checklistService: ChecklistService, private route: ActivatedRoute, private utilityService: UtilityService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.params = this.route.snapshot.queryParams;\r\n this.kioskLogin = this.params?.kioskLogin;\r\n this.clockInUsePhase = this.portalSettings.ClockInUsePhase.ConfigValue == '1';\r\n this.prefillJP = this.portalSettings.PrefillPerviousJobPhase.ConfigValue == '1';\r\n this.customMsg = this.portalSettings.CustomVerbiageClockOutSign.ConfigValue;\r\n this.tCClockIOIgnoreJobPhase = this.portalSettings.TCClockIOIgnoreJobPhase.ConfigValue == '1';\r\n this.requireSign = this.portalSettings.RequireSignClockOut.ConfigValue == '1';\r\n this.formData.selectedJob = null;\r\n this.formData.selectedPhase = null;\r\n this.redBorder = false;\r\n var width = this.clockInOutPage?.nativeElement?.clientWidth;\r\n this.panelWidth = (width > 550 ? 550 : width) + 30;\r\n this.getLocation();\r\n this.getClockInStatus();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n clearTimeout(this.redirectTimeout);\r\n }\r\n\r\n postClockAction(ignoreLocation: boolean) {\r\n if (!this.loadingClockStatus && !this.requestingLocation) {\r\n this.performingClockAction = true;\r\n var requestObj = { clockInTime: new Date().toISOString(), gPSLat: null, gPSLong: null, jCJMKeyID: null, jCJPKeyID: null, signatureData: null, clockTimeString : null};\r\n if (!ignoreLocation && this.position) {\r\n requestObj.gPSLat = this.position.coords.latitude;\r\n requestObj.gPSLong = this.position.coords.longitude;\r\n }\r\n if (this.clockInUsePhase && !this.clockStatus) {\r\n requestObj.jCJMKeyID = this.formData.selectedJob.JCJMKeyID;\r\n requestObj.jCJPKeyID = this.formData.selectedPhase.JCJPKeyID;\r\n }\r\n if (this.signatureData != null)\r\n requestObj.signatureData = this.signatureData;\r\n\r\n var currentTime = moment();\r\n requestObj.clockTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n\r\n this.employeeService.postClockAction(requestObj).then((response: any) => {\r\n if (response != null) {\r\n this.clockActionPerformed = true;\r\n this.clockIn = response.resultClockAction;\r\n this.clockActionSuccess = response.success;\r\n if (response.success) {\r\n if (response.resultClockAction) {\r\n this.message = \"Successfully clocked in at \" + currentTime.format(\"hh:mm A\");\r\n this.redirectToLogin();\r\n }\r\n else if (response.resultClockAction == false) {\r\n this.message = \"Successfully clocked out at \" + currentTime.format(\"hh:mm A\");\r\n this.redirectToLogin();\r\n }\r\n } else {\r\n this.message = response.error;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n jobChanged() {\r\n this.formData.selectedPhase = null;\r\n this.dailyReportsService.setJob(this.formData.selectedJob.JCJMKeyID, this.employeeInfo.UserKeyID);\r\n this.getPhases();\r\n }\r\n\r\n clockOutClicked() {\r\n if (this.requireSign) {\r\n this.checkSigned();\r\n if (this.formData.typeSign) {\r\n this.signatureData = (this.rawImgData);\r\n this.postClockAction(false);\r\n }\r\n else if (this.signatureNEmpty) {\r\n this.signatureData = (this.signaturePad.toDataURL().replace(/^data:image\\/(png|jpg);base64,/, \"\"));\r\n this.postClockAction(false);\r\n }\r\n }\r\n }\r\n\r\n clickSign(type: any) {\r\n if (this.signaturePad.isEmpty()) {\r\n this.formData.typeSign = true;\r\n this.checklistService.getTypeSign(type).then((response: any) => {\r\n if (response != null) {\r\n this.rawImgData = response;\r\n this.submitSignImg = \"data:image/png;base64,\" + response;\r\n }\r\n });\r\n this.hideClick = true;\r\n this.showClickMsg = false;\r\n } else {\r\n this.showClickMsg = true;\r\n }\r\n }\r\n\r\n clear() {\r\n if (this.signaturePad != null)\r\n this.signaturePad.clear();\r\n this.signatureNEmpty = false;\r\n this.rawImgData = null;\r\n this.submitSignImg = null;\r\n this.formData.typeSign = false;\r\n this.showClickMsg = false;\r\n this.hideClick = false;\r\n }\r\n\r\n searchJobs(term: string, item: any) {\r\n term = term.trim().toLowerCase();\r\n return item.JCJMKeyID?.toString().indexOf(term) > -1 || item.DisplayValue?.toLowerCase().indexOf(term) > -1;\r\n }\r\n\r\n searchPhases(term: string, item: any) {\r\n term = term.trim().toLowerCase();\r\n return item.JCJPKeyID?.toString().indexOf(term) > -1 || item.PhaseDescription?.toLowerCase().indexOf(term) > -1 || item.PhaseGroup?.toString().indexOf(term) > -1;\r\n }\r\n\r\n private getClockInStatus() {\r\n this.loadingClockStatus = true;\r\n var currentTime = moment();\r\n var currentTimeString = currentTime.format(\"MM/DD/YYYY h:mm:ss a\");\r\n var requestParam = \"fromFieldKiosk=\" + false + \"¤tTimeString=\" + currentTimeString + \"&where=\" + 2;\r\n this.employeeService.getClockInStatus(requestParam).then((response: any) => {\r\n if (response != null) {\r\n this.clockStatus = response.ClockAction;\r\n this.loadingClockStatus = false;\r\n if (this.clockInUsePhase && !this.clockStatus) {\r\n this.getJobs();\r\n }\r\n else {\r\n if (!this.requestingLocation && this.geolocationEnabled && (!this.requireSign || !this.clockStatus)) {\r\n this.postClockAction(false);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private redirectToLogin() {\r\n this.redirectTimeout = setTimeout(() => {\r\n var loginURL = \"/Account/Login\";\r\n this.utilityService.isLoggedOut = true;\r\n if (this.kioskLogin) {\r\n window.location.href = \"/Account/Logout?kioskLogout=true\";\r\n loginURL = \"/Account/Kiosklogin\";\r\n }\r\n else {\r\n window.location.href = \"/Account/Logout\";\r\n }\r\n window.history.replaceState(null, null, loginURL);\r\n }, 5000);\r\n }\r\n\r\n private getLocation() {\r\n this.requestingLocation = true;\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position: any) => {\r\n setTimeout(() => {\r\n this.requestingLocation = false;\r\n this.geolocationEnabled = true;\r\n this.position = position;\r\n\r\n //Prevent auto clock action if user is using job/phase while clocking in, or if user is using signature while clocking out, or if still loading clock status\r\n if ((!this.clockInUsePhase || this.clockStatus) && !this.loadingClockStatus && (!this.requireSign || !this.clockStatus)) {\r\n this.postClockAction(false);\r\n }\r\n }, 1000);\r\n });\r\n this.requestingLocation = false;\r\n }\r\n else {\r\n this.requestingLocation = false;\r\n }\r\n }\r\n\r\n private getJobs() {\r\n this.employeeService.getJobs('TC', '').then((response: any) => {\r\n if (response != null) {\r\n var jobs = response;\r\n jobs.forEach(val => {\r\n val.DisplayValue = \"JCCo \" + val.JCCo + \" - \" + val.JobDisplayName;\r\n if (this.employeeInfo.LastUsedJCJMKeyID != null && val.JCJMKeyID == this.employeeInfo.LastUsedJCJMKeyID && this.prefillJP) {\r\n this.formData.selectedJob = val;\r\n }\r\n });\r\n if (this.formData.selectedJob != null)\r\n this.getPhases();\r\n else {\r\n this.phases = [{ JCJPKeyID: null, Phase: \"\", PhaseDescription: \"No Phase\", PhaseGroup: null }];\r\n this.formData.selectedPhase = this.phases[0];\r\n }\r\n this.jobs = jobs;\r\n if (this.tCClockIOIgnoreJobPhase) {\r\n this.jobs.unshift({ JCJMKeyID: null, DisplayValue: \"No Job\", JCCo: null, Job: \"\", JobDescription: \"\", JobDisplayName: \"\" });\r\n if (this.formData.selectedJob == null)\r\n this.formData.selectedJob = this.jobs[0];\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getPhases() {\r\n this.phases = [];\r\n if (this.formData.selectedJob.JCJMKeyID != null) {\r\n this.employeeService.getPhasesByJCJMKeyID(this.formData.selectedJob.JCJMKeyID, true).then((response: any) => {\r\n if (response != null) {\r\n this.phases = response;\r\n if (this.prefillJP) {\r\n this.phases.forEach(val => {\r\n if (this.employeeInfo.LastUsedJCJPKeyID != null && this.employeeInfo.LastUsedJCJPKeyID == val.JCJPKeyID) {\r\n this.formData.selectedPhase = val;\r\n }\r\n });\r\n }\r\n if (this.tCClockIOIgnoreJobPhase) {\r\n this.phases.unshift({ JCJPKeyID: null, Phase: \"\", PhaseDescription: \"No Phase\", PhaseGroup: null });\r\n if (this.formData.selectedPhase == null)\r\n this.formData.selectedPhase = this.phases[0];\r\n }\r\n }\r\n });\r\n } else {\r\n if (this.tCClockIOIgnoreJobPhase) {\r\n this.phases.unshift({ JCJPKeyID: null, Phase: \"\", PhaseDescription: \"No Phase\", PhaseGroup: null });\r\n if (this.formData.selectedPhase == null)\r\n this.formData.selectedPhase = this.phases[0];\r\n }\r\n }\r\n }\r\n\r\n private checkSigned() {\r\n if (this.signaturePad.isEmpty() == false) {\r\n this.signatureNEmpty = true;\r\n this.redBorder = false;\r\n this.disableSubmitSign = true;\r\n } else {\r\n this.redBorder = true;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Obtaining Location\r\n
\r\n
\r\n Location Not Available\r\n Location Found. Processing...\r\n
\r\n
\r\n {{message}}
\r\n
\r\n {{message}}
\r\n Redirecting back to login page...\r\n
\r\n
\r\n Back\r\n Stay logged in\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Press \"Clear\" before generating your signature image.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sign above
\r\n \r\n \r\n
By signing above, I agree that the signature and initials will be the electronic representation of my signature and initials for all purposes when I (or my agent) use them on documents, including legally binding contracts - just the same as a pen-and-paper signature or initial.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \"Loading...\"\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { PostResponse, User } from '../../admin/services/admin.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EmployeeService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getEmergencyContactList(selectedEmployee: number, pRCo: number) {\r\n var url = \"/Employee/EmerConGet?employee=\" + selectedEmployee + \"&pRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getECEmployees() {\r\n return this.http.get(\"/Employee/GetProxyEmployeesForUpdateInfo\").toPromise();\r\n }\r\n\r\n getECRelationship() {\r\n return this.http.get(\"/Employee/GetECRelationship\").toPromise();\r\n }\r\n\r\n getStateLookup() {\r\n return this.http.get(\"/Employee/GetDependentLookupByColumnName?columnName=State\").toPromise();\r\n }\r\n\r\n updateEmergencyContact(hRECKeyID: any, contact: string, relationship: string, homePhone: any, workPhone: any, cellPhone: any,\r\n address: string, city: string, state: string, zip: string, notes: string) {\r\n return this.http.post(\"/Employee/EmerConUpdate\",\r\n {\r\n hRECKeyID: hRECKeyID,\r\n contact: contact,\r\n relationship: relationship,\r\n homePhone: homePhone,\r\n workPhone: workPhone,\r\n cellPhone: cellPhone,\r\n address: address,\r\n city: city,\r\n state: state,\r\n zip: zip,\r\n notes: notes\r\n }).toPromise();\r\n }\r\n\r\n deleteEmergencyContact(hRECKeyID: any) {\r\n return this.http.post(\"/Employee/EmerConGeDelete\",\r\n {\r\n hRECKeyID: hRECKeyID\r\n }).toPromise();\r\n }\r\n\r\n getEarningsType() {\r\n return this.http.get(\"/Employee/EarningsType\").toPromise();\r\n }\r\n\r\n getDocuments(selectedDocTypes: any, fromDate: string, toDate: string) {\r\n return this.http.post(\"/Document/Get\",\r\n {\r\n docTypes: selectedDocTypes,\r\n fromDate: fromDate,\r\n toDate: toDate\r\n }).toPromise();\r\n }\r\n\r\n getBulletinsGetIndex(sectiontoLoad?: string, bulletinID?: number) {\r\n var url = \"/Employee/GetBulletinsGetIndex?sectionToLoad=\" + sectiontoLoad + \"&bulletinID=\" + bulletinID;;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLookups(parameters: string) {\r\n var url = \"/Employee/GetLookups?\" + parameters;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getMileageRate(currentPRCo?: number) {\r\n var url = \"/Employee/GetMileageRate\" + (currentPRCo != null ? \"?pRCo=\" + currentPRCo : \"\");\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addEditMileageRate(expenseMileageRateID: any, mileageRate: any, rateDescription: any, pRCo: any) {\r\n return this.http.post(\"/Employee/AddEditMileageRate\",\r\n {\r\n expenseMileageRateID: expenseMileageRateID,\r\n mileageRate: mileageRate,\r\n rateDescription: rateDescription,\r\n pRCo: pRCo\r\n }).toPromise();\r\n }\r\n\r\n deleteMileageRate(expenseMileageRateID: any) {\r\n return this.http.post(\"/Employee/DeleteMileageRate\",\r\n {\r\n expenseMileageRateID: expenseMileageRateID,\r\n }).toPromise();\r\n }\r\n\r\n getTaxCodes(taxType: any) {\r\n var url = \"/Employee/GetTaxCodes?taxType=\" + taxType;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getEarnCodes(currentPRCo: number) {\r\n var url = \"/Employee/GetEarnCodes?pRCo=\" + currentPRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCustomerNames(customerName: any) {\r\n var url = \"/Employee/GetCustomerNames?searchString=\" + customerName;\r\n return this.http.get(url);\r\n }\r\n\r\n getReviewers(selectedReviewer: any) {\r\n var url = \"/Employee/GetReviewers?searchString=\" + selectedReviewer;\r\n return this.http.get(url);\r\n }\r\n\r\n getlookupURL(lookupURL) {\r\n return this.http.get(lookupURL);\r\n }\r\n\r\n catgGet() {\r\n return this.http.get(\"/Employee/CatgGet\").toPromise();\r\n }\r\n\r\n expenseSettingsByPRCo(prCo: number) {\r\n var url = \"/Employee/ExpenseSettingsByPRCo?pRCo=\" + prCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n submitItems(receiptIDString: any, headerDescription?: any, proxyUserKeyID?: any, receiptItemID?: number) {\r\n return this.http.post(\"/Employee/SubmitItems\",\r\n {\r\n receiptIDString: receiptIDString,\r\n headerDescription: headerDescription,\r\n proxyUserKeyID: proxyUserKeyID,\r\n receiptItemID: receiptItemID\r\n }).toPromise();\r\n }\r\n\r\n addReviewer(reviewer: any, receiptItemID?: any, expenseHeaderID?: any) {\r\n return this.http.post(\"/Employee/AddReviewer\",\r\n {\r\n reviewer: reviewer,\r\n receiptItemID: receiptItemID,\r\n expenseHeaderID: expenseHeaderID\r\n }).toPromise();\r\n }\r\n\r\n getFieldsByLineItem(lineChargeType: any, pOLineType: any) {\r\n var url = \"/APRouter/GetFieldsByLineItem?lineType=\" + lineChargeType + \"&pOLineType=\" + pOLineType;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLineAttachments(receiptID: number, receiptItemID?: string, fromApproval?: boolean): Promise {\r\n var url = \"/Employee/GetLineAttachments?receiptID=\" + receiptID + '&receiptItemID=' + receiptItemID + '&fromApproval=' + fromApproval;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addAttachment(receiptID: any, receiptItemID: any, photoFileData: any, photoFileType: any, attachmentCaption?: string) {\r\n return this.http.post(\"/Employee/AddAttachment\",\r\n {\r\n receiptID: receiptID,\r\n receiptItemID: receiptItemID,\r\n photoFileData: photoFileData,\r\n photoFileType: photoFileType,\r\n attachmentCaption: attachmentCaption\r\n }).toPromise();\r\n }\r\n\r\n getCreditCardList(selectedEmployee: any) {\r\n var url = \"/Employee/GetUnReconciledLines?userKeyID=\" + (selectedEmployee === null ? null : selectedEmployee.UserKeyID);\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCategory() {\r\n var url = \"/Employee/CatgGet\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n catgAddEdit(expenseCatgID: any, expenseCatgName: any, isActive: any) {\r\n return this.http.post(\"/Employee/CatgAddEdit\",\r\n {\r\n expenseCatgID: expenseCatgID,\r\n expenseCatgName: expenseCatgName,\r\n isActive: isActive\r\n }).toPromise();\r\n }\r\n\r\n catgDelete(expenseCatgID: any) {\r\n return this.http.post(\"/Employee/CatgDelete\",\r\n {\r\n expenseCatgID: expenseCatgID\r\n }).toPromise();\r\n }\r\n\r\n transAction(expenseTransID: any, userKeyID: any, where: any, matchedExpenseReceiptID: any, transAmount: any, prCo?: any) {\r\n return this.http.post(\"/Employee/TransAction\",\r\n {\r\n expenseTransID: expenseTransID,\r\n userKeyID: userKeyID,\r\n where: where,\r\n matchedExpenseReceiptID: matchedExpenseReceiptID,\r\n transAmount: transAmount,\r\n prCo: prCo\r\n }).toPromise();\r\n }\r\n\r\n getFieldValuesByPOItem(pO: any, pOItem: any, pOItemLine: any, aPCo: any) {\r\n var url = \"/APRouter/GetFieldValuesByPOItem?pO=\" + pO + \"&pOItem=\" + pOItem + \"&pOItemLine=\" + pOItemLine + \"&aPCo=\" + aPCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRawAttachmentData(attachmentID: any, keepOriginal?: any) {\r\n var url = \"/Document/GetRawAttachmentData?attachmentID=\" + attachmentID + \"&keepOriginal=\" + keepOriginal\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n removeAttachment(expenseAttachmentID: any) {\r\n return this.http.post(\"/Employee/RemoveAttachment\",\r\n {\r\n expenseAttachmentID: expenseAttachmentID\r\n }).toPromise();\r\n }\r\n\r\n unlinkItem(userKeyID: any, receiptID: any) {\r\n return this.http.post(\"/Employee/UnlinkItem\",\r\n {\r\n receiptID: receiptID,\r\n userKeyID: userKeyID\r\n }).toPromise();\r\n }\r\n\r\n getUserFields() {\r\n return this.http.get(\"/Employee/GetUserFields\").toPromise();\r\n }\r\n\r\n getFieldOptions(fieldId: any) {\r\n return this.http.get(\"/Employee/GetComboItemsByFieldID?fieldID=\" + fieldId).toPromise();\r\n }\r\n\r\n personalInfoAttachmentSubmit(docCount: number) {\r\n return this.http.post(\"/Employee/PersonalInfoAttachmentSubmit\",\r\n {\r\n docCount: docCount\r\n }).toPromise();\r\n }\r\n\r\n saveFileAttachment(moduleID: number, recordID: number, attachmentFileData: any, attachmentFileName: string, attachmentType: string, onboarding?: boolean, recordGuid?: any, attachmentTypeID?: number) {\r\n return this.http.post(\"/Employee/SaveFileAttachment\",\r\n {\r\n moduleID: moduleID,\r\n recordID: recordID,\r\n attachmentFileData: attachmentFileData,\r\n attachmentFileName: attachmentFileName,\r\n attachmentType: attachmentType,\r\n onboarding: onboarding,\r\n recordGuid: recordGuid,\r\n AttachmentTypeID: attachmentTypeID\r\n }).toPromise();\r\n }\r\n\r\n saveEmployeePhotoConsentReport(moduleID: number, recordID: number, submissionGuid: string) {\r\n return this.http.post(\"/Employee/saveEmployeePhotoConsentReport\",\r\n {\r\n moduleID: moduleID,\r\n recordID: recordID,\r\n submissionGuid: submissionGuid\r\n }).toPromise();\r\n }\r\n\r\n sendEmail() {\r\n return this.http.post(\"/Employee/SendEmail\", {}).toPromise();\r\n }\r\n\r\n updateUserWindow(benefitUserWindowID?: number, windowTypeID?: number, windowStartDateString?: string, windowEndDateString?: string, isWindowRequestApproved?: boolean, isPersonalInfoFinished?: boolean, isDependentUpdateFinished?: boolean, isBenefitReviewCompleted?: boolean, isWindowConfirmed?: boolean,\r\n userKeyID?: number, requesterNotes?: string, approverNotes?: string, cancelWindow?: boolean, requestedEffectiveDateStr?: string, fromURL?: string) {\r\n return this.http.post(\"/Employee/UpdateUserWindow\",\r\n {\r\n benefitUserWindowID: benefitUserWindowID,\r\n windowTypeID: windowTypeID,\r\n windowStartDateString: windowStartDateString,\r\n windowEndDateString: windowEndDateString,\r\n isWindowRequestApproved: isWindowRequestApproved,\r\n isPersonalInfoFinished: isPersonalInfoFinished,\r\n isDependentUpdateFinished: isDependentUpdateFinished,\r\n isBenefitReviewCompleted: isBenefitReviewCompleted,\r\n isWindowConfirmed: isWindowConfirmed,\r\n userKeyID: userKeyID,\r\n requesterNotes: requesterNotes,\r\n approverNotes: approverNotes,\r\n cancelWindow: cancelWindow,\r\n requestedEffectiveDateStr: requestedEffectiveDateStr,\r\n fromURL: fromURL\r\n }).toPromise();\r\n }\r\n\r\n getDependents(proxyUserKeyID?: number) {\r\n return this.http.get(\"/Employee/GetDependents?proxyUserKeyID=\" + proxyUserKeyID).toPromise();\r\n }\r\n\r\n submitDependents(hRDPKeyID: number, formData: any, isRemove: boolean, userID: number | null) {\r\n return this.http.post(\"/Employee/SubmitDependentRequest\",\r\n {\r\n hRDPKeyID: hRDPKeyID, formData: formData, isRemove: isRemove, userID: userID\r\n }).toPromise();\r\n }\r\n\r\n personalInfoUpdate(formData: string, isAddressInvalid: boolean, attachmentsJson: string, fileNamesJson: string, recordKeyID: any, submissionGuid: any) {\r\n return this.http.post(\"/Employee/PersonalInfoUpdate\",\r\n {\r\n formData: formData,\r\n isAddressInvalid: isAddressInvalid,\r\n attachmentsJson: attachmentsJson,\r\n fileNamesJson: fileNamesJson,\r\n recordKeyID: recordKeyID,\r\n submissionGuid: submissionGuid\r\n }).toPromise();\r\n }\r\n\r\n\r\n getW4() {\r\n return this.http.get(\"/Employee/GetW4\").toPromise();\r\n }\r\n\r\n getDependentLookupByColumnName(columnName: string, countryCode?: string) {\r\n return this.http.get(\"/Employee/GetDependentLookupByColumnName?columnName=\" + columnName + (countryCode != null ? \"&countryCode=\" + countryCode : \"\")).toPromise();\r\n }\r\n\r\n getFilingStatus(useConfigSetting?: boolean) {\r\n var url = \"/Employee/GetFilingStatus?useConfigSetting=\" + useConfigSetting;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n w4Update(dLCode: number, fileStatus: any, regExempts: any, miscAmt: number, signatureData: any, miscFactor: any,\r\n manualFileAttachment: any, manualFileName: string\r\n , latitude: any, longitude: any, IsExempt2020: boolean,\r\n multiJobs2020: boolean, otherIncome2020: number, dependentAmt2020: number, deductions2020: number,\r\n qualChildAmount: number, otherDependentAmount: number) {\r\n return this.http.post(\"/Employee/W4Update\",\r\n {\r\n dLCode: dLCode, fileStatus: fileStatus, regExempts: regExempts, miscAmt: miscAmt, signatureData: signatureData, miscFactor: miscFactor,\r\n manualFileAttachment: manualFileAttachment, manualFileName: manualFileName\r\n , latitude: latitude, longitude: longitude, IsExempt2020: IsExempt2020,\r\n multiJobs2020: multiJobs2020, otherIncome2020: otherIncome2020, dependentAmt2020: dependentAmt2020, deductions2020: deductions2020,\r\n qualChildAmount: qualChildAmount, otherDependentAmount: otherDependentAmount\r\n });\r\n }\r\n\r\n getTypeSign(type: string, name: string = null) {\r\n let url = \"/Checklist/GetTypeSign?type=\" + type;\r\n if (name != null)\r\n url += \"&name=\" + name;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDirectDepositInfo() {\r\n return this.http.get(\"/Employee/GetDirectDepositInfo\").toPromise();\r\n }\r\n\r\n submitDirectDepositUpdate(data: any) {\r\n return this.http.post(\"/Employee/SubmitDirectDepositUpdate\", {\r\n routing1: data.routing1,\r\n routing2: data.routing2,\r\n routing3: data.routing3,\r\n routing4: data.routing4,\r\n account1: data.account1,\r\n account2: data.account2,\r\n account3: data.account3,\r\n account4: data.account4,\r\n accountType1: data.accountType1,\r\n accountType2: data.accountType2,\r\n accountType3: data.accountType3,\r\n accountType4: data.accountType4,\r\n acccount1Unit: data.account1Unit,\r\n account2Unit: data.account2Unit,\r\n account3Unit: data.account3Unit,\r\n account4Unit: data.account4Unit,\r\n account1Amt: data.account1Amt,\r\n account2Amt: data.account2Amt,\r\n account3Amt: data.account3Amt,\r\n account4Amt: data.account4Amt,\r\n checkImage1: data.checkImage1,\r\n checkImage2: data.checkImage2,\r\n checkImage3: data.checkImage3,\r\n checkImage4: data.checkImage4,\r\n checkImageName1: data.checkImageName1,\r\n checkImageName2: data.checkImageName2,\r\n checkImageName3: data.checkImageName3,\r\n checkImageName4: data.checkImageName4,\r\n account1Updated: data.account1Updated,\r\n account2Updated: data.account2Updated,\r\n account3Updated: data.account3Updated,\r\n account4Updated: data.account4Updated,\r\n account2KeyID: data.account2KeyID,\r\n account3KeyID: data.account3KeyID,\r\n account4KeyID: data.account4KeyID\r\n }).toPromise();\r\n }\r\n\r\n getDepartments() {\r\n var url = \"/Employee/GetDepartments\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n submitSupportRequest(supportDepartmentID: number, requestDescription: string, facilityLocation: string, isUrgent: boolean, isApproved: boolean, requestEmailHTML: string, emailAddress: string) {\r\n return this.http.post(\"/Employee/SubmitSupportRequest\",\r\n {\r\n supportDepartmentID: supportDepartmentID,\r\n requestDescription: requestDescription,\r\n facilityLocation: facilityLocation,\r\n isUrgent: isUrgent,\r\n isApproved: isApproved,\r\n requestEmailHTML: requestEmailHTML,\r\n emailAddress: emailAddress\r\n }).toPromise();\r\n }\r\n\r\n submitAttachment(moduleID: number, recordID: number, attachmentData: any, attachmentFileName: string) {\r\n return this.http.post(\"/Employee/SubmitSupportRequest\",\r\n {\r\n moduleID: moduleID,\r\n recordID: recordID,\r\n attachmentData: attachmentData,\r\n attachmentFileName: attachmentFileName\r\n }).toPromise();\r\n }\r\n\r\n getRequestsByID(supportRequestID: number) {\r\n var url = \"/Employee/GetRequestsByID?supportDepartmentID=\" + supportRequestID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getAssign(supportDepartmentID: number) {\r\n var url = \"/Employee/GetAssign?supportDepartmentID=\" + supportDepartmentID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n cancelDependentRequest(dependentRequestID: number) {\r\n return this.http.post(\"/Employee/CancelDependentRequest\",\r\n {\r\n dependentRequestID: dependentRequestID\r\n }).toPromise();\r\n }\r\n\r\n getDependentFields(keyID: number) {\r\n var url = \"/Employee/GetDependentFields?keyID=\" + keyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRelationship() {\r\n var url = \"/Employee/GetRelationship\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getFileAttachmentList(requestParam: string) {\r\n var url = \"/Employee/GetFileAttachmentList?\" + requestParam;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTrainingCompany() {\r\n var url = \"/Employee/GetTrainingCompany\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPositionCodes(selectedHRCo: number) {\r\n var url = \"/Employee/GetPositionCodes?hRCo=\" + selectedHRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCareerPaths(selectedHRCo: number) {\r\n var url = \"/Employee/GetCareerPaths?hRCo=\" + selectedHRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCareerPathMapping(selectedCareerID: number) {\r\n var url = \"/Employee/GetCareerPathMapping?careerPathID=\" + selectedCareerID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n careerPathUpdate(careerPathID: number, careerPathName: string, hRCo: number) {\r\n return this.http.post(\"/Employee/CareerPathUpdate\",\r\n {\r\n careerPathID: careerPathID,\r\n careerPathName: careerPathName,\r\n hRCo: hRCo\r\n }).toPromise();\r\n }\r\n\r\n getEmpCareerPath(careerPathID: number, employeeCurrentPosition: any = null) {\r\n var url = \"/Employee/GetEmpCareerPath?careerPathID=\" + careerPathID + \"&positionSeq=\" + employeeCurrentPosition;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n empCareerPathUpdate(careerPathMapID: number, hRPCKeyID: number, seq: number, actionStr: string, careerPathID: number) {\r\n return this.http.post(\"/Employee/EmpCareerPathUpdate\",\r\n {\r\n careerPathID: careerPathID,\r\n careerPathMapID: careerPathMapID,\r\n hRPCKeyID: hRPCKeyID,\r\n seq: seq,\r\n actionStr: actionStr\r\n }).toPromise();\r\n }\r\n\r\n getEmployeeTrainingPath() {\r\n var url = \"/Employee/GetEmployeeTrainingPath\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n careerPathDelete(selectedCareerID: number) {\r\n return this.http.post(\"/Employee/CareerPathDelete\",\r\n {\r\n careerPathID: selectedCareerID\r\n }).toPromise();\r\n }\r\n\r\n sendFileAttachmentRawDataToVP(moduleID: number, recordKeyID: number, fileAttachmentType: string, submissionGuid?: any, descriptionList?: string, fileDescription?: string, attachmentType?: string) {\r\n return this.http.post(\"/Document/SendFileAttachmentRawDataToVP\",\r\n {\r\n moduleID: moduleID,\r\n recordKeyID: recordKeyID,\r\n fileAttachmentType: fileAttachmentType,\r\n submissionGuid: submissionGuid,\r\n descriptionList: descriptionList,\r\n fileDescription: fileDescription,\r\n attachmentType: attachmentType\r\n }).toPromise();\r\n }\r\n\r\n getProxyEmployees() {\r\n var url = \"/Employee/GetProxyEmployees\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPendingLines() {\r\n return this.http.get(\"/Employee/GetPendingLines\").toPromise();\r\n }\r\n\r\n getSubmittedHeaders(startDateStr: any, endDateStr: any, selectedEmployee: any) {\r\n var url = \"/Employee/GetSubmittedHeaders?startDateStr=\" + startDateStr +\r\n \"&endDateStr=\" + endDateStr + \"&userKeyID=\" + (selectedEmployee == null ? null : selectedEmployee.UserKeyID);\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n deleteReceiptItem(expenseReceiptID: any, receiptItemID?: number, fromApproval: boolean = false) {\r\n return this.http.post(\"/Employee/DeleteReceiptItem\",\r\n {\r\n expenseReceiptID: expenseReceiptID,\r\n receiptItemID: receiptItemID,\r\n fromApproval: fromApproval\r\n }).toPromise();\r\n }\r\n\r\n deleteExpenseReceiptBulk(receiptIDs: any) {\r\n return this.http.post(\"/Employee/DeleteExpenseReceiptBulk\",\r\n {\r\n receiptIDs: receiptIDs,\r\n }).toPromise();\r\n }\r\n\r\n exportExpenseReport(expenseHeaderID: number, headerDescription: any) {\r\n var url = \"/Employee/ExportExpenseReport?ExpenseHeaderID=\" + expenseHeaderID + \"&filenames=\" + headerDescription;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n copyExpenseLine(copyFromReceiptID: number) {\r\n return this.http.post(\"/Employee/CopyExpenseLine\",\r\n {\r\n copyFromReceiptID: copyFromReceiptID,\r\n }).toPromise();\r\n }\r\n\r\n bulkEditItems(expenseReceiptIDString: string, receiptItemIDString: string, expenseCatgID: number, jCCo: number, job: string, phase: string, gLCo: number, gLAcct: string, sMCo: number,\r\n sMWorkOrder: number, eMCo: number, workOrder: string, jCCType: number, sL: string, sLItem: any, wO: string, wOItem: any, equip: string,\r\n costCode: string, eMCType: any, compType: string, component: string, iNCo: any, loc: string, material: string,\r\n scope: number, pOItemLine: number, sMCostType: any, itemType: number, proxyUserKeyID: number, earnCode: number) {\r\n return this.http.post(\"/Employee/BulkEditItems\",\r\n {\r\n expenseReceiptIDString: expenseReceiptIDString\r\n , receiptItemIDString: receiptItemIDString\r\n , expenseCatgID: expenseCatgID\r\n , jCCo: jCCo\r\n , job: job\r\n , phase: phase\r\n , gLCo: gLCo\r\n , gLAcct: gLAcct\r\n , sMCo: sMCo\r\n , sMWorkOrder: sMWorkOrder\r\n , eMCo: eMCo\r\n , workOrder: workOrder\r\n , jCCType: jCCType\r\n , sL: sL\r\n , sLItem: sLItem\r\n , wO: wO\r\n , wOItem: wOItem\r\n , equip: equip\r\n , costCode: costCode\r\n , eMCType: eMCType\r\n , compType: compType\r\n , component: component\r\n , iNCo: iNCo\r\n , loc: loc\r\n , material: material\r\n , scope: scope\r\n , pOItemLine: pOItemLine\r\n , sMCostType: sMCostType\r\n , itemType: itemType\r\n , proxyUserKeyID: proxyUserKeyID\r\n , earnCode: earnCode\r\n }).toPromise();\r\n }\r\n\r\n getCurrentWindow(proxyUserKeyID?: number) {\r\n var url = \"/Employee/GetCurrentWindow?proxyUserKeyID=\" + proxyUserKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getWindowTypes(includeOpenWindow: boolean) {\r\n var url = \"/Employee/GetWindowTypes?includeOpenWindow=\" + includeOpenWindow;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBenefitGroupAttachments(proxyUserKeyID: number) {\r\n var url = \"/Employee/GetBenefitGroupAttachments?proxyUserKeyID=\" + proxyUserKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBenefitsGrid(proxyUserKeyID: number) {\r\n var url = \"/Employee/GetBenefitsGrid?proxyUserKeyID=\" + proxyUserKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPlanAttachments(benefitType?: string, attachmentID?: string) {\r\n var url = \"/Employee/GetPlanAttachments?benefitType=\" + benefitType + \"&attachmentID=\" + attachmentID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDependentsByBenefitCode(hRBCKeyID: number, proxyUserKeyID?: number) {\r\n var url = \"/Employee/GetDependentsByBenefitCode?hRBCKeyID=\" + hRBCKeyID + \"&proxyUserKeyID=\" + proxyUserKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBenefitDependentsByRequestID(benefitRequestID: number) {\r\n var url = \"/Employee/GetBenefitDependentsByRequestID?benefitRequestID=\" + benefitRequestID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n submitBenefitRequest(hRBCKeyID: number, benefitOption: number, declineNotes?: string, proxyUserKeyID?: number, fixedAmt?: number, fixedPct?: number) {\r\n return this.http.post(\"/Employee/SubmitBenefitRequest\",\r\n {\r\n hRBCKeyID: hRBCKeyID,\r\n benefitOption: benefitOption,\r\n declineNotes: declineNotes,\r\n proxyUserKeyID: proxyUserKeyID,\r\n fixedAmt: fixedAmt,\r\n fixedPct: fixedPct\r\n }).toPromise();\r\n }\r\n\r\n cancelBenefitRequest(benefitRequestID: number, proxyUserKeyID?: number) {\r\n return this.http.post(\"/Employee/CancelBenefitRequest\", {\r\n benefitRequestID: benefitRequestID,\r\n proxyUserKeyID: proxyUserKeyID\r\n }).toPromise();\r\n }\r\n\r\n benefitDependentRequest(benefitRequestID: number, hRDPKeyID: number, dependentRequestID?: number, dependentType?: string, dependentNameFreeText?: string, dependentRelFreeText?: string) {\r\n return this.http.post(\"/Employee/BenefitDependentRequest\", {\r\n benefitRequestID: benefitRequestID,\r\n hRDPKeyID: hRDPKeyID,\r\n dependentRequestID: dependentRequestID,\r\n dependentType: dependentType,\r\n dependentNameFreeText: dependentNameFreeText,\r\n dependentRelFreeText: dependentRelFreeText\r\n }).toPromise();\r\n }\r\n\r\n getBenefitRequestsByUserWindowID(userWindowID: number, benefitRequestID?: number, showApproved?: boolean, proxyUserKeyID?: number) {\r\n var url = \"/Employee/GetBenefitRequestsByUserWindowID?userWindowID=\" + userWindowID + \"&benefitRequestID=\" + benefitRequestID + \"&showApproved=\" + showApproved + \"&proxyUserKeyID=\" + proxyUserKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n sendBenSign(benefitUserWindowID?: number, benefitSignatureStr?: string, latitude?: number, longitude?: number, proxyUserKeyID?: number) {\r\n return this.http.post(\"/Employee/sendBenSign\", {\r\n benefitUserWindowID: benefitUserWindowID,\r\n benefitSignatureStr: benefitSignatureStr,\r\n latitude: latitude,\r\n longitude: longitude,\r\n proxyUserKeyID: proxyUserKeyID\r\n }).toPromise();\r\n }\r\n\r\n getVistaOptions(optionType: string) {\r\n var url = \"/Hiring/GetVistaOptions?optionType=\" + optionType;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n removeFileAttachment(fileAttachmentID: any) {\r\n return this.http.post(\"/Employee/RemoveFileAttachment\",\r\n {\r\n fileAttachmentID: fileAttachmentID\r\n }).toPromise();\r\n }\r\n\r\n getTrainingHistoryPost(hRCo: number, userKeyID: string, skillOrTraining: string, itemKeyID: number, categoryString: string, startDateStr: string, endDateStr: string, includeInactive: boolean, showOnlyMostRecent: boolean) {\r\n return this.http.post(\"/Employee/GetTrainingHistoryPost\",\r\n {\r\n hRCo: hRCo\r\n , userKeyID: userKeyID\r\n , skillOrTraining: skillOrTraining\r\n , itemKeyID: itemKeyID\r\n , categoryString: categoryString\r\n , startDateStr: startDateStr\r\n , endDateStr: endDateStr\r\n , includeInactive: includeInactive\r\n , showOnlyMostRecent: showOnlyMostRecent\r\n }).toPromise();\r\n }\r\n\r\n saveTrainingGrid(hRCo: number, userKeyID: string, skillOrTraining: string, itemKeyID: number, categoryString: string, startDateStr: string, endDateStr: string, mode: string, includeInactive: boolean, showOnlyMostRecent: boolean, includeExpired: boolean, includeAttachment: boolean, type: string, triggerMail: boolean) {\r\n return this.http.post(\"/Employee/SaveTrainingGrid\",\r\n {\r\n hRCo: hRCo\r\n , userKeyID: userKeyID\r\n , skillOrTraining: skillOrTraining\r\n , itemKeyID: itemKeyID\r\n , categoryString: categoryString\r\n , startDateStr: startDateStr\r\n , endDateStr: endDateStr\r\n , mode: mode\r\n , includeInactive: includeInactive\r\n , showOnlyMostRecent: showOnlyMostRecent\r\n , includeExpired: includeExpired\r\n , includeAttachment: includeAttachment\r\n , type: type\r\n , triggerMail: triggerMail\r\n }).toPromise();\r\n }\r\n\r\n downloadTrainingGrid(name: string, type: string) {\r\n var url = \"/Employee/DownloadTrainingGrid?name=\" + name + (type == \"Excel\" ? \".xlsx\" : \".pdf\");\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n trainingAttachmentsGetList(hRTrainingKeyID: number, skillOrTraining: string) {\r\n var url = \"/Employee/TrainingAttachmentsGetList?hRTrainingKeyID=\" + hRTrainingKeyID + \"&skillOrTraining=\" + skillOrTraining\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n showClassDescription() {\r\n var url = \"/Employee/ShowClassDescription\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n trainingUpdate(itemKeyID: number, userKeyID: number[], skillOrTraining: string, code: string[], notes: string, dateTakenStr: string, dateExpiresStr: string, status: string, instructorName: string, grade: string, oSHA: string, mSHA: string, firstAid: string, cPR: string, workRelated: string, mode: string, attachmentData: any, attachmentName: string[]) {\r\n return this.http.post(\"/Employee/TrainingUpdate\",\r\n {\r\n itemKeyID: itemKeyID,\r\n userKeyID: userKeyID,\r\n skillOrTraining: skillOrTraining,\r\n code: code,\r\n notes: notes,\r\n dateTakenStr: dateTakenStr,\r\n dateExpiresStr: dateExpiresStr,\r\n status: status,\r\n instructorName: instructorName,\r\n grade: grade,\r\n oSHA: oSHA,\r\n mSHA: mSHA,\r\n firstAid: firstAid,\r\n cPR: cPR,\r\n workRelated: workRelated,\r\n mode: mode,\r\n attachmentData: attachmentData,\r\n attachmentName: attachmentName\r\n }).toPromise();\r\n }\r\n\r\n trainingAttachmentDelete(attachmentID: number) {\r\n return this.http.post(\"/Employee/TrainingAttachmentDelete\",\r\n {\r\n attachmentID: attachmentID,\r\n }).toPromise();\r\n }\r\n\r\n trainingDeleteItem(itemKeyID: number, skillOrTraining: any) {\r\n return this.http.post(\"/Employee/TrainingDeleteItem\",\r\n {\r\n itemKeyID: itemKeyID,\r\n skillOrTraining: skillOrTraining\r\n }).toPromise();\r\n }\r\n\r\n getUserGridSettings(gridLocation: string) {\r\n var url = \"/Employee/GetUserGridSettings?gridLocation=\" + gridLocation;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n setUserGridSettings(gridLocation: string, gridData: string) {\r\n return this.http.post(\"/Employee/SetUserGridSettings\",\r\n {\r\n gridLocation: gridLocation,\r\n gridData: gridData\r\n }).toPromise();\r\n }\r\n\r\n setUserVendor(userID: any, expenseAPVMKeyID: any) {\r\n return this.http.post(\"/Employee/SetUserVendor\",\r\n {\r\n userID: userID,\r\n expenseAPVMKeyID: expenseAPVMKeyID\r\n }).toPromise();\r\n }\r\n\r\n getFileAttachmentBinary(fileAttachmentID: number) {\r\n var url = \"/Employee/GetFileAttachmentBinary?fileAttachmentID=\" + fileAttachmentID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateOnboardTaskComplete(recordID: number) {\r\n return this.http.post(\"/Employee/UpdateOnboardTaskComplete\",\r\n {\r\n recordID: recordID\r\n }).toPromise();\r\n }\r\n\r\n clearBatchStatus(expenseReceiptIDString: string) {\r\n return this.http.post(\"/Employee/ClearBatchStatus\",\r\n {\r\n expenseReceiptIDString: expenseReceiptIDString\r\n }).toPromise();\r\n }\r\n\r\n getVendors(searchString: string) {\r\n var url = \"/Employee/GetVendors?searchString=\" + searchString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApprovalHistoryByItem(receiptItemID: string) {\r\n var url = \"/Employee/GetApprovalHistoryByItem?receiptItemID=\" + receiptItemID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n approveItems(receiptItemIDString: string, status: string, statusNotes: string) {\r\n return this.http.post(\"/Employee/ApproveItems\",\r\n {\r\n receiptItemIDString: receiptItemIDString,\r\n status: status,\r\n statusNotes: statusNotes\r\n }).toPromise();\r\n }\r\n\r\n getPayPeriods(prco: any, pRGroup: any) {\r\n var url = \"/Employee/GetPayPeriods?pRCo=\" + prco + \"&pRGroup=\" + pRGroup;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPaySeq(pRPCKeyID: any) {\r\n var url = \"/Employee/GetPaySeq?pRPCKeyID=\" + pRPCKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n processExpense(method: any, pRPCKeyID: any, paySeq: any, earnCode: any, receiptIDList: any, pRCo: any, mthStr: any, aPRef: any, hQBCKeyID?: any, aPVMKeyID?: number) {\r\n return this.http.post(\"/Employee/ProcessExpense\",\r\n {\r\n method: method,\r\n pRPCKeyID: pRPCKeyID,\r\n paySeq: paySeq,\r\n earnCode: earnCode,\r\n receiptIDList: receiptIDList,\r\n pRCo: pRCo,\r\n mthStr: mthStr,\r\n aPRef: aPRef,\r\n hQBCKeyID: hQBCKeyID,\r\n aPVMKeyID: aPVMKeyID\r\n }).toPromise();\r\n }\r\n\r\n getReprocessBatches(pRCo: any) {\r\n var url = \"/Employee/GetReprocessBatches?pRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getUnSubmittedExpenseReminder(sendEmail: any, pRCo: any) {\r\n return this.http.post(\"/Employee/GetUnSubmittedExpenseReminder\",\r\n {\r\n sendEmail: sendEmail,\r\n pRCo: pRCo,\r\n }).toPromise();\r\n }\r\n\r\n getCreditCardvendors(pRCo: number) {\r\n var url = \"/employee/GetCreditCardVendors?pRCo=\" + pRCo\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n insertUpdateReceipt(receiptID: any, userKeyID: any, PRCo: number, description?: string, expenseDateStr?: string, expenseCatgID?: any, vendor?: string, note?: string, expenseTransID?: number, reimburseOrMileage?: string, attendeeName?: string, customerName?: string, customerCount?: any, ourFirmCount?: any, units?: any, uM?: string, unitCost?: any, taxType?: any, taxCode?: string, taxAmount?: any, amount?: number, fromApproval?: boolean) {\r\n return this.http.post(\"/Employee/InsertUpdateReceipt\",\r\n {\r\n receiptID: receiptID,\r\n userKeyID: userKeyID,\r\n PRCo: PRCo,\r\n description: description,\r\n expenseDateStr: expenseDateStr,\r\n expenseCatgID: expenseCatgID,\r\n vendor: vendor,\r\n note: note,\r\n expenseTransID: expenseTransID,\r\n reimburseOrMileage: reimburseOrMileage,\r\n attendeeName: attendeeName,\r\n customerName: customerName,\r\n customerCount: customerCount,\r\n ourFirmCount: ourFirmCount,\r\n units: units,\r\n uM: uM,\r\n unitCost: unitCost,\r\n taxType: taxType == 0 || taxType == -1 ? null : taxType,\r\n taxCode: taxCode,\r\n taxAmount: taxAmount,\r\n amount: amount,\r\n fromApproval: fromApproval ?? false\r\n }).toPromise();\r\n }\r\n\r\n getExpenseReceipts(requestParam: string) {\r\n var url = \"/Employee/GetExpenseReceipts?\" + requestParam;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getExpenseDashboard(pRCo?: any, startDateStr?: any, endDateStr?: any, pRGroup?: any, transType?: any, statusLabel?: any, employeeID?: any, minAmount?: any, maxAmount?: any, receiptID?: any) {\r\n return this.http.get(`/Employee/GetExpenseDashboard?pRCo=${pRCo}&startDateStr=${startDateStr}&endDateStr=${endDateStr}&pRGroup=${pRGroup}&transType=${transType}&statusLabel=${statusLabel}&employeeID=${employeeID}&minAmount=${minAmount}&maxAmount=${maxAmount}&receiptID=${receiptID}`).toPromise();\r\n }\r\n\r\n insertUpdateReceiptItem(receiptItemID?: any, receiptID?: any, amount: number = 0,\r\n taxAmount?: any, jCCo?: any, job?: string,\r\n phase?: string, gLCo?: any, gLAcct?: string, sMCo?: any, sMWorkOrder?: any,\r\n eMCo?: any, jCCType?: any,\r\n pO?: string, pOItem?: any, sL?: string, sLItem?: any, wO?: string, wOItem?: any, equip?: string,\r\n costCode?: string, eMCType?: any, compType?: string, component?: string, iNCo?: any, loc?: string, material?: string,\r\n scope?: any, pOItemLine?: any, sMCostType?: any, itemType?: any, earnCode?: any, reviewerSeq?: number, copiedReceiptItemID?: number, fromApproval?: boolean) {\r\n return this.http.post(\"/Employee/InsertUpdateReceiptItem\",\r\n {\r\n receiptItemID: receiptItemID,\r\n receiptID: receiptID,\r\n amount: amount,\r\n taxAmount: taxAmount,\r\n jCCo: jCCo,\r\n job: job,\r\n phase: phase,\r\n gLCo: gLCo,\r\n gLAcct: gLAcct,\r\n sMCo: sMCo,\r\n sMWorkOrder: sMWorkOrder,\r\n eMCo: eMCo,\r\n jCCType: jCCType,\r\n pO: pO,\r\n pOItem: pOItem,\r\n sL: sL,\r\n sLItem: sLItem,\r\n wO: wO,\r\n wOItem: wOItem,\r\n equip: equip,\r\n costCode: costCode,\r\n eMCType: eMCType,\r\n compType: compType,\r\n component: component,\r\n iNCo: iNCo,\r\n loc: loc,\r\n material: material,\r\n scope: scope,\r\n pOItemLine: pOItemLine,\r\n sMCostType: sMCostType,\r\n itemType: itemType,\r\n earnCode: earnCode,\r\n reviewerSeq: reviewerSeq,\r\n copiedReceiptItemID: copiedReceiptItemID,\r\n fromApproval: fromApproval\r\n }).toPromise();\r\n }\r\n\r\n getExpenseReceiptLines(receiptIDString: string, fromApproval: boolean = false) {\r\n return this.http.post(\"/Employee/GetExpenseReceiptLines\", {\r\n receiptIDString: receiptIDString,\r\n fromApproval: fromApproval\r\n }).toPromise();\r\n }\r\n\r\n getExpenseReceiptItemByID(receiptItemID: number) {\r\n var url = \"/Employee/GetExpenseReceiptItemByID?receiptItemID=\" + receiptItemID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addReceiptLineNotes(receiptItemID: number, notes: string) {\r\n return this.http.post(\"/Employee/AddReceiptLineNotes\",\r\n {\r\n receiptItemID: receiptItemID,\r\n notes: notes\r\n }).toPromise();\r\n }\r\n\r\n getPOLookup(userKeyID?: number, receiptID?: number) {\r\n var url = \"/Employee/GetPOLookup?userKeyID=\" + userKeyID + \"&receiptID=\" + receiptID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n upDepartments(departmentID?: number, departmentName?: string, assigneeSecurityGroup?: number, isActive?: boolean) {\r\n return this.http.post(\"/Employee/UpDepartments\",\r\n {\r\n departmentID: departmentID,\r\n departmentName: departmentName,\r\n assigneeSecurityGroup: assigneeSecurityGroup,\r\n isActive: isActive\r\n }).toPromise();\r\n }\r\n\r\n updateWindowTypes(windowTypeID: number, windowShortName: string, windowDisplayName: string, windowDefaultDurationDays?: number, windowTypeIsActive?: boolean, windowAttachmentReq?: boolean, windowNotesReq?: boolean) {\r\n return this.http.post(\"/Employee/UpdateWindowTypes\",\r\n {\r\n windowTypeID: windowTypeID,\r\n windowShortName: windowShortName,\r\n windowDisplayName: windowDisplayName,\r\n windowDefaultDurationDays: windowDefaultDurationDays,\r\n windowTypeIsActive: windowTypeIsActive,\r\n windowAttachmentReq: windowAttachmentReq,\r\n windowNotesReq: windowNotesReq\r\n }).toPromise();\r\n }\r\n\r\n getAttachmentsBySubmissionID(submissionGuid: any) {\r\n var url = \"/Employee/GetAttachmentsBySubmissionID?submissionGuid=\" + submissionGuid;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n secondStepSubmit(bulletinResponseID: any, bulletinFileData: any) {\r\n return this.http.post(\"/Employee/SecondStepSubmit\",\r\n {\r\n bulletinResponseID: bulletinResponseID,\r\n bulletinFileData: bulletinFileData,\r\n }).toPromise();\r\n }\r\n\r\n getJobs(form: string, searchString: string) {\r\n var url = \"/Employee/GetJobs?form=\" + form + \"&searchString=\" + searchString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPhasesByJCJMKeyID(jCJMKeyID: number, laborOnly?: boolean) {\r\n var url = \"/Employee/GetPhasesByJCJMKeyID?jCJMKeyID=\" + jCJMKeyID + \"&laborOnly=\" + laborOnly;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n\r\n clearAndResubmitStateForm(bulletinID: any) {\r\n return this.http.post(\"/Employee/ClearAndResubmitStateForm\",\r\n {\r\n bulletinID: bulletinID\r\n }).toPromise();\r\n }\r\n\r\n getPhasesForClockIn(jCJMKeyID?: number, jobsAccessToken?: any, fromClockDashboard?: boolean, kioskPass?: string) {\r\n var url = \"/Employee/GetPhasesForClockIn?jCJMKeyID=\" + jCJMKeyID + \"&jobsAccessToken=\" + jobsAccessToken + \"&fromClockDashboard=\" + fromClockDashboard + \"&kioskPass=\" + kioskPass;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n async updateHRUser(user: User): Promise {\r\n return await >this.http.post('/Employee/UpdateHRUser', user).toPromise()\r\n }\r\n\r\n async setDocConsent(params: HttpParams) {\r\n return this.http.post(\"/Employee/SetDocConsent\", params).toPromise();\r\n }\r\n\r\n saveParameter(parameter: string, parameterNew: string) {\r\n return this.http.post(\"/Employee/SaveParameter\",\r\n {\r\n parameter: parameter,\r\n parameterNew: parameterNew\r\n }).toPromise();\r\n }\r\n\r\n deleteBulletinResponse(bulletinID: any) {\r\n return this.http.post(\"/Employee/DeleteBulletinResponse\",\r\n {\r\n bulletinID: bulletinID\r\n }).toPromise();\r\n }\r\n\r\n getClockInStatus(requestParam: any) {\r\n var url = \"/Employee/GetClockInStatus?\" + requestParam;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n postClockAction(requestObj: any) {\r\n return this.http.post(\"/Employee/PostClockAction\", requestObj).toPromise();\r\n }\r\n\r\n getClockHistory(pRCo?: number, employee?: number, kioskPass?: string) {\r\n var url = \"/Employee/GetClockHistory?pRCo=\" + pRCo + \"&employee=\" + employee + \"&kioskPass=\" + kioskPass;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPREHKeyIDByEmployee(pRCo: number, employee: number, kioskPass?: string) {\r\n var url = \"/Employee/GetPREHKeyIDByEmployee?pRCo=\" + pRCo + \"&employee=\" + employee + \"&kioskPass=\" + kioskPass;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n postClockActionAnon(requestObj: any) {\r\n return this.http.post(\"/Employee/PostClockActionAnon\", requestObj).toPromise();\r\n }\r\n\r\n unlockClockInPage(unlockPassword: any) {\r\n return this.http.post(\"/Employee/UnlockClockInPage\", {\r\n unlockPassword: unlockPassword\r\n }).toPromise();\r\n }\r\n\r\n getJobsForClockIn(pRCo?: number, employee?: number, searchText?: string, jobsAccessToken?: any, kioskPass?: string) {\r\n var url = \"/Employee/GetJobsForClockIn?pRCo=\" + pRCo + \"&employee=\" + employee + \"&searchText=\" + searchText + \"&jobsAccessToken=\" + jobsAccessToken + \"&kioskPass=\" + kioskPass;\r\n return this.http.get(url).toPromise();\r\n }\r\n}\r\n\r\nexport interface LineAttachment {\r\n ExpenseAttachmentID: number;\r\n FileAttachmentID: string;\r\n AttachmentFileName: string;\r\n FileDisplayName: string;\r\n AttachmentCaption: string | null;\r\n AttacmentFileData: string | null;\r\n ReceiptID: number | null;\r\n ReceiptItemID: number | null;\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class EmployeeTrainingService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getRegisteredClasses() {\r\n return this.http.get(\"/Employee/GetRegisteredClasses\").toPromise();\r\n }\r\n\r\n getPastRegisteredClasses() {\r\n return this.http.get(\"/Employee/GetPastRegisteredClasses\").toPromise();\r\n }\r\n\r\n getAttachment(moduleID: number,data: number) {\r\n return this.http.get(\"/Document/GetDBAttachmentList?moduleID=\" + moduleID + \"&recordID=\" + data).toPromise();\r\n }\r\n\r\n showClassDescription() {\r\n return this.http.get(\"/Employee/ShowClassDescription\").toPromise();\r\n }\r\n\r\n getICSFile(classDateTime: any, classTitle: string, classLocation: string, instructorFullName: string, endDateTime: string) {\r\n return this.http.post(\"/Employee/DownloadICSFile\",\r\n {\r\n classDateTime: classDateTime,\r\n classTitle: classTitle,\r\n classLocation: classLocation,\r\n instructorFullName: instructorFullName,\r\n endDateTime: endDateTime\r\n }).toPromise();\r\n }\r\n\r\n getAvailableClasses() {\r\n return this.http.get(\"/Employee/GetAvailableClasses\").toPromise();\r\n }\r\n\r\n removeClass(trainingClassId: number) {\r\n return this.http.post(\"/Employee/RemoveClass\",\r\n {\r\n trainingClassId: trainingClassId\r\n }).toPromise();\r\n }\r\n\r\n registerClass(trainingClassId: number) {\r\n return this.http.post(\"/Employee/RegisterForClass\",\r\n {\r\n trainingClassId: trainingClassId\r\n }).toPromise();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DailyReportsService {\n http: HttpClient;\n\n constructor(http: HttpClient) {\n this.http = http;\n }\n\n getJobList(form: string, searchString: string, status: string) {\n var url = \"/DailyReports/GetJobList?form=\" + form + \"&searchString=\" + searchString + \"&status=\" + status;\n return this.http.get(url).toPromise();\n }\n\n getFileURL(pMDLID: number, jCFTKeyID: number, filenames: string, where: string, managePage?: boolean) {\n var url = \"/DailyReports/GetFileURL?PMDLID=\" + pMDLID + \"&JCFTKeyID=\" + jCFTKeyID + \"&filenames=\" + filenames + \"&where=\" + where + \"&managePage=\" + managePage;\n return this.http.get(url).toPromise();\n }\n\n saveFileZip(pmdlKeyIDList: number[], jCFTKeyIDList: number[], pageMode: string, outputFileName: string) {\n return this.http.post(\"/DailyReports/SaveFileZip\",\n {\n pmdlKeyIDList: pmdlKeyIDList,\n jcftKeyIDList: jCFTKeyIDList,\n pageMode: pageMode,\n outputFileName: outputFileName\n }).toPromise();\n }\n\n saveFilePdf(pmdlKeyIDList: number[], jCFTKeyIDList: number[], pageMode: string, outputFileName: string) {\n return this.http.post(\"/DailyReports/SaveFilePdf\",\n {\r\n pmdlKeyIDList: pmdlKeyIDList,\n jcftKeyIDList: jCFTKeyIDList,\n pageMode: pageMode,\n outputFileName: outputFileName\n }).toPromise();\n } \n\n downloadCompileZIPFile(zipFileName: string, generatedFileName: string) {\n var url = \"/DailyReports/DownloadCompileZipFile?zipFileName=\" + zipFileName + \"&generatedFileName=\" + generatedFileName;\n return this.http.get(url).toPromise();\n }\n\n downloadCompilePDFFile(pdfFilename: string, generatedFileName: string) {\n var url = \"/DailyReports/DownloadCompilePdfFile?pdfFilename=\" + pdfFilename + \"&generatedFileName=\" + generatedFileName;\n return this.http.get(url).toPromise();\n } \n\n setJob(lastUsedJCJMKeyID?: number, userKeyID?: number) {\n return this.http.post(\"/DailyReports/SetJob\",\n {\n lastUsedJCJMKeyID: lastUsedJCJMKeyID,\n userKeyID: userKeyID\n }).toPromise();\n }\n\n getProjectResultList(jCJMKeyID: string, startDatestr: string, endDatestr: string, showOnlyTickets?: boolean) {\n var url = \"/DailyReports/GetProjectResultList?jCJMKeyID=\" + jCJMKeyID + \"&startDatestr=\" + startDatestr + \"&endDatestr=\" + endDatestr + \"&showOnlyTickets=\" + showOnlyTickets;\n return this.http.get(url).toPromise();\n }\n\n getProjectHeader(pMDLKeyID: number, jCJMKeyID: number, datestr: string, phase: string) {\n var url = \"/DailyReports/GetProjectHeader?pMDLKeyID=\" + pMDLKeyID + \"&jCJMKeyID=\" + jCJMKeyID + \"&datestr=\" + datestr + \"&phase=\" + phase;\n return this.http.get(url).toPromise();\n }\n\n unsubmit(pMDLKeyID: number) {\n return this.http.post(\"/DailyReports/Unsubmit\",\n {\n pMDLKeyID: pMDLKeyID\n }).toPromise();\n }\n\n dailyReportDelete(pMDLKeyID: number) {\n return this.http.post(\"/DailyReports/DailyReportDelete\",\n {\n pMDLKeyID: pMDLKeyID\n }).toPromise();\n }\n\n getPO(pMDLKeyID: number) {\n var url = \"/DailyReports/GetPO?pMDLKeyID=\" + pMDLKeyID;\n return this.http.get(url).toPromise();\n }\n\n getUM(pMDLKeyID: number) {\n var url = \"/DailyReports/GetUM?pMDLKeyID=\" + pMDLKeyID;\n return this.http.get(url).toPromise();\n }\n\n getFieldsInformation(displayMode: string, pMDLKeyID: number) {\n var url = \"/DailyReports/GetFieldsInformation?displayMode=\" + displayMode + \"&pMDLKeyID=\" + pMDLKeyID\n return this.http.get(url).toPromise();\n }\n\n getUserLookup(pMDLKeyID: number, pMDDKeyID: number, columnName: string) {\n var url = \"/DailyReports/GetUserLookup?pMDLKeyID=\" + pMDLKeyID + \"&columnName=\" + columnName;\n if (pMDDKeyID != null)\n url += \"&pMDDKeyID=\" + pMDDKeyID;\n return this.http.get(url).toPromise();\n }\n\n getWeather(year: number, month: number, day: number, zip: string = null, city: string = null, state: string = null, country: string, isforecast: boolean) {\n var url = \"/DailyReports/GetWeather\" + \"?year=\" + year + \"&month=\" + month + \"&day=\" + day + \"&zip=\" + zip + \"&city=\" + city + \"&state=\" + state + \"&country=\" + country + \"&isforecast=\" + isforecast;\n return this.http.get(url).toPromise();\n }\n\n getAttachment(pMDLKeyID?: number, jCFTKeyID?: number, includeData: boolean = false) {\n var url = \"/DailyReports/GetAttachment?pMDLKeyID=\" + pMDLKeyID + \"&jCFTKeyID=\" + jCFTKeyID + \"&includeData=\" + includeData;\n return this.http.get(url).toPromise();\n }\n\n deleteAttachment(attachmentID: number, uniqueAttchID: string, database: boolean) {\n return this.http.post(\"/DailyReports/DeleteAttachment\",\n {\n attachmentID: attachmentID,\n uniqueAttchID: uniqueAttchID,\n database: database\n }).toPromise();\n }\n\n addVPAttachment(requestObj: any) {\n return this.http.post(\"/Document/AddVPAttachment\",\n {\n fileName: requestObj.fileName,\n fileDescription: requestObj.fileDescription,\n fileData: requestObj.fileData,\n moduleID: requestObj.moduleID,\n recordKeyID: requestObj.recordKeyID,\n fileAttachmentID: requestObj.fileAttachmentID,\n fileAttachmentType: requestObj.fileAttachmentType,\n recordGuid: requestObj.recordGuid,\n attachmentType: requestObj.attachmentType,\n attachmentDescription: requestObj.attachmentDescription\n }).toPromise();\n }\n\n setProjectDetails(requestObj:any) {\n return this.http.post(\"/DailyReports/SetProjectDetails\",\n {\n pMDDKeyID: requestObj.pMDDKeyID,\n pMDLKeyID: requestObj.pMDLKeyID,\n logType: requestObj.logType,\n pMFirmeKeyID: requestObj.pMFirmeKeyID,\n pMContactKeyID: requestObj.pMContactKeyID,\n eMEMKeyID: requestObj.eMEMKeyID,\n pMPFKeyID: requestObj.pMPFKeyID,\n hQMTKeyID: requestObj.hQMTKeyID,\n worked: requestObj.worked,\n workDescription: requestObj.workDescription,\n arriveTimestr: requestObj.arriveTimestr,\n departTimestr: requestObj.departTimestr,\n numberOfEmployees: requestObj.numberOfEmployees,\n location: requestObj.location,\n visitor: requestObj.visitor,\n quantity: requestObj.quantity,\n delTicket: requestObj.delTicket,\n uM: requestObj.uM,\n supervisor: requestObj.supervisor,\n pO: requestObj.pO,\n userFieldName: requestObj.userFieldName,\n userFieldValue: requestObj.userFieldValue,\n apprentices: requestObj.apprentices,\n journeyman: requestObj.journeyman,\n phase: requestObj.phase,\n eMFreeText: requestObj.eMFreeText,\n mTFreeText: requestObj.mTFreeText,\n udDefaultName: requestObj.udDefaultName,\n udDefaultValue: requestObj.udDefaultValue\n }).toPromise();\n }\n\n getFieldTicketDetails(jCFTKeyID: number) {\n var url = \"/DailyReports/GetFieldTicketDetails?jCFTKeyID=\" + jCFTKeyID;\n return this.http.get(url).toPromise();\n }\n\n getFieldTicketSetting(jCFTKeyID: number) {\n let url = \"/DailyReports/GetFieldTicketSetting?jCFTKeyID=\" + jCFTKeyID;\n return this.http.get(url).toPromise();\n }\n\n getContactNameEmployee(jCJMKeyID: number, logType: number, pMFirmKeyID?: number) {\n var url = \"/DailyReports/GetContactNameEmployee?jCJMKeyID=\" + jCJMKeyID + \"&logType=\" + logType + \"&pMFirmKeyID=\" + pMFirmKeyID;\n return this.http.get(url).toPromise();\n }\n\n getCTTemplateByJCFTKeyID(jCFTId) {\n let url = \"/DailyReports/GetCTTemplateByJCFTKeyID?jCFTKeyID=\" + jCFTId;\n return this.http.get(url).toPromise();\n }\n\n getCustomerPO(jCJMKeyID) {\n let url = \"/DailyReports/GetCustomerPO?jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n getJCFieldTicket(jCFTId) {\n let url = \"/DailyReports/GetJCFieldTicket?jCFTKeyID=\" + jCFTId;\n return this.http.get(url).toPromise();\n }\n\n getPhasesByJCJMKeyID(jCJMKeyID: number, laborOnly: boolean) {\n var url = \"/DailyReports/GetPhasesByJCJMKeyID?jCJMKeyID=\" + jCJMKeyID + \"&laborOnly=\" + laborOnly;\n return this.http.get(url).toPromise();\n }\n\n deleteProjectDetail(pMDDKeyID: number) {\n return this.http.post(\"/DailyReports/DeleteProjectDetail\",\n {\n pMDDKeyID: pMDDKeyID\n }).toPromise();\n }\n\n editLocation(jCJMKeyID: number, location: string, locationDescription: string) {\n return this.http.post(\"/DailyReports/EditLocation\",\n {\n jCJMKeyID: jCJMKeyID,\n location: location,\n locationDescription: locationDescription\n }).toPromise();\n }\n\n getLocation(jCJMKeyID: number) {\n var url = \"/DailyReports/GetLocation?jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n setLocation(jCJMKeyID: number, location: string, locationDescription: string) {\n return this.http.post(\"/DailyReports/SetLocation\",\n {\n jCJMKeyID: jCJMKeyID,\n location: location,\n locationDescription: locationDescription\n }).toPromise();\n }\n\n getFirmName(jCJMKeyID: number, searchText: string) {\n var url = \"/DailyReports/GetFirmName?jCJMKeyID=\" + jCJMKeyID + \"&searchText=\" + searchText;\n return this.http.get(url).toPromise();\n }\n\n getEmployeeList(jCJMKeyID: number, searchText: string) {\n var url = \"/DailyReports/GetEmployeeList?jCJMKeyID=\" + jCJMKeyID + \"&searchText=\" + searchText;\n return this.http.get(url).toPromise();\n }\n\n updateGlobeEmployeeList(pREHKeyID: number, jCJMKeyID: number) {\n return this.http.post(\"/DailyReports/UpdateGlobeEmployeeList\",\n {\n pREHKeyID: pREHKeyID,\n jCJMKeyID: jCJMKeyID\n }).toPromise();\n }\n\n cloneProject(cloneToPMDLKeyID: number, cloneFromPMDLKeyID: number) {\n return this.http.post(\"/DailyReports/CloneProject\",\n {\n cloneToPMDLKeyID: cloneToPMDLKeyID,\n cloneFromPMDLKeyID: cloneFromPMDLKeyID\n }).toPromise();\n }\n\n getHGCloneFromTickets(jCJMKeyIDString: string, cloneFromDateString: string) {\n var url = \"/DailyReports/GetHGCloneFromTickets?jCJMKeyIDString=\" + jCJMKeyIDString + \"&cloneFromDateString=\" + cloneFromDateString;\n return this.http.get(url).toPromise();\n }\n\n getDailyReportsCustomText() {\n var url = \"/DailyReports/GetDailyReportsCustomText\";\n return this.http.get(url).toPromise();\n }\n\n getRequireDigitalSignature() {\n var url = \"/DailyReports/GetRequireDigitalSignature\";\n return this.http.get(url).toPromise();\n }\n\n getDistribution(jCJMKeyID: number, pMIMKeyID?: number) {\n var url = \"/DailyReports/GetDistribution?jCJMKeyID=\" + jCJMKeyID + \"&pMIMKeyID=\" + pMIMKeyID;\n return this.http.get(url).toPromise();\n }\n\n getCompanies() {\n var url = \"/Account/GetCompanies\";\n return this.http.get(url).toPromise();\n }\n\n\n submitProject(pMDLKeyID: number, signatureData: any, signatureLat?: number, signatureLong?: number) {\n return this.http.post(\"/DailyReports/SubmitProject\", {\n pMDLKeyID: pMDLKeyID,\n signatureData: signatureData,\n signatureLat: signatureLat,\n signatureLong: signatureLong\n }).toPromise();\n }\n\n //SendDailyReports\n sendDailyReports(pMDLID: any, jCFTKeyID: number, filenames: string, toEmail: string[], subject: string, message: string, newFilenames: string[], newFiles: any, where: string, queueType: string, notificationMode: string, sMSTo: string) {\n return this.http.post(\"/DailyReports/SendDailyReports\", {\n PMDLID: pMDLID,\n JCFTKeyID: jCFTKeyID,\n filenames: filenames,\n toEmail: toEmail,\n subject: subject,\n message: message,\n newFilenames: newFilenames,\n newFiles: newFiles,\n where: where,\n queueType: queueType,\n notificationMode: notificationMode,\n sMSTo: sMSTo\n }).toPromise();\n }\n\n getProjectDetails(pMDLKeyID: number) {\n var url = \"/DailyReports/GetProjectDetails?pMDLKeyID=\" + pMDLKeyID;\n return this.http.get(url).toPromise();\n }\n \n getVPAttachmentData(attachmentID: number, maxWidth?: number, turnOnMaxWidth?: boolean) {\n var url = \"/DailyReports/GetVPAttachmentData?attachmentID=\" + attachmentID + \"&maxWidth=\" + maxWidth + \"&turnOnMaxWidth=\" + turnOnMaxWidth;\n return this.http.get(url).toPromise();\n }\n\n getVCMttachmentData(contentTypeName: string, docID: number) {\n var url = \"/DailyReports/GetVCMttachmentData?contentTypeName=\" + contentTypeName + \"&docID=\" + docID;\n return this.http.get(url).toPromise();\n }\n\n setProjectHeader(requestObj:any) {\n return this.http.post(\"/DailyReports/SetProjectHeader\", {\n workDescription: requestObj.workDescription,\n weather: requestObj.weather,\n wind: requestObj.wind,\n tempHigh: requestObj.tempHigh,\n tempLow: requestObj.tempLow,\n udRainfall: requestObj.udRainfall,\n pMDLKeyID: requestObj.pMDLKeyID,\n workDescriptionShort: requestObj.workDescriptionShort,\n userFieldName: requestObj.userFieldName,\n userFieldValue: requestObj.userFieldValue\n }).toPromise();\n }\n\n getContactName(jCJMKeyID: number, pMFirmKeyID: number) {\n var url = \"/DailyReports/GetContactName?jCJMKeyID=\" + jCJMKeyID + \"&pMFirmKeyID=\" + pMFirmKeyID;\n return this.http.get(url).toPromise();\n }\n\n getMaterial(pMDLKeyID: number, searchString:string, locationKeyID?: number) {\n let url = \"/DailyReports/GetMaterial?pMDLKeyID=\" + pMDLKeyID + \"&searchString=\" + searchString;\n if (locationKeyID != null)\n url += \"&locationKeyID=\" + locationKeyID;\n return this.http.get(url).toPromise();\n }\n\n getEquipment(pMDLKeyID: number, searchString: string) {\n var url = \"/DailyReports/GetEquipment?pMDLKeyID=\" + pMDLKeyID + \"&searchString=\" + searchString;\n return this.http.get(url).toPromise();\n }\n\n getTabs(pMDLKeyID) {\n let url = \"/DailyReports/GetTabs?pMDLKeyID=\" + pMDLKeyID;\n return this.http.get(url).toPromise();\n }\n\n getSignaturesByJCFTKeyID(jCFTKeyID) {\n let url = \"/DailyReports/GetSignaturesByJCFTKeyID?jCFTKeyID=\" + jCFTKeyID;\n return this.http.get(url).toPromise();\n }\n\n getEmployeesByPRCoPRGroup(pRCo, pRGroup) {\n let url = \"/DailyReports/GetEmployeesByPRCoPRGroup?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup;\n return this.http.get(url).toPromise();\n }\n\n getBulkAddFieldsByJCFTKeyID(jCFTId, crewTemplateID) {\n let url = \"/DailyReports/GetBulkAddFieldsByJCFTKeyID?jCFTKeyID=\" + jCFTId + \"&crewTemplateID=\" + crewTemplateID;\n return this.http.get(url).toPromise();\n }\n\n submitSavedTimecard(requestObj) {\n let url = \"/DailyReports/SubmitSavedTimeCard\";\n return this.http.post(url, requestObj).toPromise();\n }\n\n getMaterialItemByTicket(jCFTKeyID) {\n let url = \"/DailyReports/GetMaterialItemByTicket?jCFTKeyID=\" + jCFTKeyID;\n return this.http.get(url).toPromise();\n }\n\n getMaterialCost(locationKeyID, jCCo, job, material, uM) {\n let url = \"/DailyReports/GetMaterialCost?iNLMKeyID=\" + locationKeyID + \"&jCCo=\" + jCCo + \"&job=\" + job + \"&material=\" + material + \"&uM=\" + uM;\n return this.http.get(url).toPromise();\n }\n\n getMaterialPhasesByJob(jCJMKeyID, section) {\n let url = \"/DailyReports/GetProgressPhasesByJob?jCJMKeyID=\" + jCJMKeyID + \"§ion=\" + section;\n return this.http.get(url).toPromise();\n }\n\n addEditMaterialItem(jCFTKeyID, materialItemID, material, phase, costType, materialDescription, uM, units, unitPrice, jCType, iNCo, iNLocation, isMaterialInList) {\n return this.http.post(\"/DailyReports/AddEditMaterialItem\",\n {\n jCFTKeyID: jCFTKeyID, materialItemID: materialItemID, material: material, phase: phase, costType: costType,\n materialDescription: materialDescription, uM: uM, units: units, unitPrice: unitPrice, jCType: jCType, iNCo: iNCo,\n iNLocation: iNLocation, isMaterialInList: isMaterialInList\n }\n ).toPromise();\n }\n\n removeMaterialItem(jCFTKeyID, materialItemID) {\n return this.http.post(\"/DailyReports/RemoveMaterialItem\",\n { jCFTKeyID: jCFTKeyID, materialItemID: materialItemID }\n ).toPromise();\n }\n\n getINLocations(section: string) {\n var requestString = \"/Equipment/GetINLocations\";\n\n if (section != null)\n requestString += \"?section=\" + section;\n\n return this.http.get(requestString).toPromise();\n }\n\n getProgressPhasesByJob(jCJMKeyID) {\n let url = \"/DailyReports/GetProgressPhasesByJob?jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n getProgressItemsByJCFTKeyID(jCFTKeyID) {\n let url = \"/DailyReports/GetProgressItemsByJCFTKeyID?jCFTKeyID=\" + jCFTKeyID;\n return this.http.get(url).toPromise();\n }\n\n addProgressItem(jCFTKeyID, jCJPKeyID, costType) {\n let url = \"/DailyReports/AddProgressItem\";\n return this.http.post(url, {\n jCFTKeyID: jCFTKeyID,\n jCJPKeyID: jCJPKeyID,\n costType: costType\n }).toPromise();\n }\n\n updateProgressItem(progressItemID, actualUnits, notes) {\n let url = \"/DailyReports/UpdateProgressItem\";\n return this.http.post(url, {\n progressItemID: progressItemID,\n actualUnits: actualUnits,\n notes: notes\n }).toPromise();\n }\n\n removeProgressItem(jCFTKeyID, progressItemID) {\n let url = \"/DailyReports/RemoveProgressItem\";\n return this.http.post(url, { jCFTKeyID: jCFTKeyID, progressItemID: progressItemID }).toPromise();\n }\n\n deleteTicket(jCFTKeyID: number) {\n let url = \"/DailyReports/DeleteTicket\";\n return this.http.post(url, {\n jCFTKeyID: jCFTKeyID \n }).toPromise();\r\n }\n\n processMaterialByJCFTKeyID(jCFTKeyID?: number) {\n let url = \"/DailyReports/ProcessMaterialByJCFTKeyID\";\n return this.http.post(url, {\n jCFTKeyID: jCFTKeyID\n }).toPromise();\r\n }\n\n processProgressByJCFTKeyID(jCFTKeyID?: number) {\n let url = \"/DailyReports/ProcessProgressByJCFTKeyID\";\n return this.http.post(url, {\n jCFTKeyID: jCFTKeyID\n }).toPromise();\r\n }\n\n unsubmitTicket(jCFTKeyID: number) {\n let url = \"/DailyReports/UnsubmitTicket\";\r\n return this.http.post(url, {\n jCFTKeyID: jCFTKeyID\n }).toPromise();\r\n }\n\n submitTicket(jCFTKeyID, signatureImage, signaturePrintName, signatureLatitude, signatureLongitude, signature2Image, signature2PrintName) {\n let requestObj: any = {\r\n jCFTKeyID: jCFTKeyID, signatureImage: signatureImage,\r\n signaturePrintName: signaturePrintName, signatureLatitude: signatureLatitude, signatureLongitude: signatureLongitude\r\n }\r\n if (signature2Image != null) {\r\n requestObj.signature2Image = signature2Image;\r\n requestObj.signature2PrintName = signature2PrintName;\r\n }\r\n let url = \"/DailyReports/SubmitTicket\";\r\n return this.http.post(url, requestObj).toPromise();\r\n }\n\n approveTicket(jCFTKeyID: number, filename: string) {\n let url = \"/DailyReports/ApproveTicket\";\n return this.http.post(url, {\n jCFTKeyID: jCFTKeyID,\n filename: filename\n }).toPromise();\r\n }\n\n setJCFieldTicket(jCFTKeyID, ticketDescription, orderedBy, ownerJobNo, customerPO, address, city, state, zip, country, contact, phone, notes, userFieldName, userFieldValue, pMDLKeyID) {\n let url = \"/DailyReports/SetJCFieldTicket\";\r\n return this.http.post(url, {\r\n jCFTKeyID: jCFTKeyID, ticketDescription: ticketDescription, orderedBy: orderedBy, ownerJobNo: ownerJobNo, customerPO: customerPO,\r\n address: address, city: city, state: state, zip: zip, country: country, contact: contact, phone: phone, notes: notes,\r\n userFieldName: userFieldName, userFieldValue: userFieldValue, pMDLKeyID: pMDLKeyID\r\n }).toPromise();\r\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport moment from 'moment';\nimport { ApiResponse } from '../../../shared/model/api-response.model';\r\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FieldService {\n http: HttpClient;\n\n constructor(http: HttpClient) {\n this.http = http;\n }\n\n getCompanies() {\n return this.http.get(\"/Field/GetJBCompanies\").toPromise();\n }\n\n getContracts(hQCo: number, form: string) {\n return this.http.get(\"/Field/GetContracts?hQCo=\" + hQCo + \"&form=\" + form).toPromise();\n }\n\n getContractByjCJMKeyID(LastUsedJCJMKeyID: number) {\n return this.http.get(\"/Field/GetContract?jCJMKeyID=\" + LastUsedJCJMKeyID).toPromise();\n }\n\n getBills(hQCo: number, contract: string) {\n return this.http.get(\"/Field/JBGetBills?hQCo=\" + hQCo + \"&contract=\" + contract).toPromise();\n }\n\n getHuddleTypes() {\n var url = \"/Field/GetHuddleTypes\";\n return this.http.get(url).toPromise();\n }\n\n addEditHuddleType(huddleTypeID?: number, huddleTypeName?: string) {\n return this.http.post(\"/Field/AddEditHuddleType\",\n {\n huddleTypeID: huddleTypeID,\n huddleTypeName: huddleTypeName\n }).toPromise();\n }\n\n getHuddlesToSchedule() {\n var url = \"/Field/GetHuddlesToSchedule\";\n return this.http.get(url).toPromise();\n }\n\n removeHuddleType(huddleTypeID?: number) {\n return this.http.post(\"/Field/RemoveHuddleType\",\n {\n huddleTypeID: huddleTypeID\n }).toPromise();\n }\n\n addEditHuddle(requestObj: any) {\n return this.http.post(\"/Field/AddEditHuddle\", {\n huddleTypeID: requestObj.huddleTypeID,\n huddleDateStr: requestObj.huddleDateStr,\n huddleLocation: requestObj.huddleLocation,\n ledByUserKeyID: requestObj.ledByUserKeyID,\n jCJMKeyID: requestObj.jCJMKeyID,\n huddleID: requestObj.huddleID,\n releventFromStr: requestObj.releventFromStr,\n releventToStr: requestObj.releventToStr,\n isTemplateMeeting: requestObj.isTemplateMeeting,\n huddleName: requestObj.huddleName,\n isPublished: requestObj.isPublished,\n startTimeStr: requestObj.startTimeStr,\n notes: requestObj.notes\n }).toPromise();\n }\n\n initializeTemplateMeeting(templateHuddleID?: number, huddleDateStr?: string) {\n return this.http.post(\"/Field/InitializeTemplateMeeting\",\n {\n templateHuddleID: templateHuddleID,\n huddleDateStr: huddleDateStr\n }).toPromise();\n }\n\n getHuddles(requestObj: any) {\n var url = \"/Field/GetHuddles?huddleID=\" + requestObj.huddleID + \"&dateFromStr=\" + requestObj.dateFromStr + \"&dateToStr=\" + requestObj.dateToStr + \"&templateMode=\" + requestObj.templateMode + \"&branchID=\" + requestObj.branchID + \"&jCJMKeyID=\" + requestObj.jCJMKeyID + \"&workTypeID=\" + requestObj.workTypeID + \"&phaseTypeID=\" + requestObj.phaseTypeID\n return this.http.get(url).toPromise();\n }\n\n getWorkTypes() {\n var url = \"/Field/GetWorkTypes\";\n return this.http.get(url).toPromise();\n }\n\n getPhaseTypes(workTypeID?: number) {\n var url = \"/Field/GetPhaseTypes?workTypeID=\" + workTypeID;\n return this.http.get(url).toPromise();\n }\n\n getTalkingPoints(phaseTypeID?: number, workTypeID?: number) {\n var url = \"/Field/GetTalkingPoints?phaseTypeID=\" + phaseTypeID + \"&workTypeID=\" + workTypeID;\n return this.http.get(url).toPromise();\n }\n\n deleteHuddle(huddleID?: number) {\n return this.http.post(\"/Field/DeleteHuddle\",\n {\n huddleID: huddleID\n }).toPromise();\n }\n\n getJobs(form: string, searchString: string, JCCo: string) {\n var url = \"/Field/GetJobs?form=\" + form + \"&searchString=\" + searchString + \"&JCCo=\" + JCCo;\n return this.http.get(url).toPromise();\n }\n\n getPointsByHuddle(huddleID: number) {\n var url = \"/Field/GetPointsByHuddle?huddleID=\" + huddleID;\n return this.http.get(url).toPromise();\n }\n\n getDBAttachmentList(moduleID: number, recordID: number, recordGuid: any, onboardingUser: boolean) {\n var url = \"/Document/GetDBAttachmentList?moduleID=\" + moduleID + \"&recordID=\" + recordID + \"&recordGuid=\" + recordGuid + \"&onboardingUser=\" + onboardingUser;\n return this.http.get(url).toPromise();\n }\n\n addEditAttendee(requestObj: any) {\n return this.http.post(\"/Field/AddEditAttendee\", {\n attendeeUserKeyID: requestObj.attendeeUserKeyID,\n attendeeSignature: requestObj.attendeeSignature,\n coachUserKeyID: requestObj.coachUserKeyID,\n signatureLatitude: requestObj.signatureLatitude,\n signatureLongitude: requestObj.signatureLongitude,\n huddleID: requestObj.huddleID,\n huddleAttendeeID: requestObj.huddleAttendeeID,\n attendeeSignatureDateStr: requestObj.attendeeSignatureDateStr\n }).toPromise();\n }\n\n getAttendees(huddleID: number, includeSigData: boolean) {\n var url = \"/Field/GetAttendees?huddleID=\" + huddleID + \"&includeSigData=\" + includeSigData;\n return this.http.get(url).toPromise();\n }\n\n deleteDBAttachment(fileAttachmentID: any) {\n return this.http.post(\"/Document/DeleteDBAttachment\", {\n fileAttachmentID: fileAttachmentID\n }).toPromise();\n }\n copyAttendees(fromHuddleID?: number, toHuddleID?: number) {\n return this.http.post(\"/Field/CopyAttendees\",\n {\n fromHuddleID: fromHuddleID,\n toHuddleID: toHuddleID\n }).toPromise();\n }\n\n removePointFromHuddle(huddleItemID?: number) {\n return this.http.post(\"/Field/RemovePointFromHuddle\",\n {\n huddleItemID: huddleItemID\n }).toPromise();\n }\n\n addPointToHuddle(huddleID: number, talkingPointID?: number[]) {\n return this.http.post(\"/Field/AddPointToHuddle\",\n {\n huddleID: huddleID,\n talkingPointID: talkingPointID\n }).toPromise();\n }\n\n removeAttendee(huddleAttendeeID?: number) {\n return this.http.post(\"/Field/RemoveAttendee\",\n {\n huddleAttendeeID: huddleAttendeeID\n }).toPromise();\n }\n\n deleteTalkingPoint(talkingPointID: number) {\n return this.http.post(\"/Field/DeleteTalkingPoint\",\n {\n talkingPointID: talkingPointID\n }).toPromise();\n }\n\n addEditTalkingPoint(requestObj: any) {\n return this.http.post(\"/Field/AddEditTalkingPoint\",\n {\n talkingPointID: requestObj.talkingPointID,\n phaseTypeID: requestObj.phaseTypeID,\n talkingPointTitle: requestObj.talkingPointTitle,\n talkingPointBody: requestObj.talkingPointBody,\n isStandard: requestObj.isStandard,\n relatedTask: requestObj.relatedTask\n }).toPromise();\n }\n\n addEditWorkType(workTypeID: number, workTypeName: string, sortSeq?: number) {\n return this.http.post(\"/Field/AddEditWorkType\",\n {\n workTypeID: workTypeID,\n workTypeName: workTypeName,\n sortSeq: sortSeq\n }).toPromise();\n }\n\n deleteWorkType(workTypeID?: number) {\n return this.http.post(\"/Field/DeleteWorkType\",\n {\n workTypeID: workTypeID\n }).toPromise();\n }\n\n addEditPhaseType(phaseTypeID: number, workTypeID: number, phaseTypeName: number, sortSeq?: number) {\n return this.http.post(\"/Field/AddEditPhaseType\",\n {\n phaseTypeID: phaseTypeID,\n workTypeID: workTypeID,\n phaseTypeName: phaseTypeName,\n sortSeq: sortSeq\n }).toPromise();\n }\n\n deletePhaseType(phaseTypeID?: any) {\n return this.http.post(\"/Field/DeletePhaseType\",\n {\n phaseTypeID: phaseTypeID\n }).toPromise();\n }\n\n getCostTypes(co: number, contract: string) {\n var url = \"/Field/GetCostTypes?co=\" + co + \"&contract=\" + contract\n return this.http.get(url).toPromise();\n }\n\n getPhaseByContract(co: number, contract: string) {\n var url = \"/Field/GetPhaseByContract?co=\" + co + \"&contract=\" + contract\n return this.http.get(url).toPromise();\n }\n\n getAttachmentsDetail(jBINKeyID: number, co: number, contract: string) {\n var url = \"/Field/GetAttachmentsDetail?jBINKeyID=\" + jBINKeyID + \"&co=\" + co + \"&contract=\" + contract\n return this.http.get(url).toPromise();\n }\n\n updateAttachmentOrder(fromBillAttachmentID: number, toBillAttachmentID: number, newSequence: number, billType: string) {\n return this.http.post(\"/Field/UpdateAttachmentOrder\",\n {\n fromBillAttachmentID: fromBillAttachmentID,\n toBillAttachmentID: toBillAttachmentID,\n newSequence: newSequence,\n billType: billType\n }).toPromise();\n }\n\n copyAttachment(attachmentID: number, jBINKeyID: number, moduleID: number) {\n return this.http.post(\"/Field/CopyAttachment\",\n {\n attachmentID: attachmentID,\n jBINKeyID: jBINKeyID,\n moduleID: moduleID\n }).toPromise();\n }\n\n addBulkAttendees(huddleID: number, pRCo: number, pRCRKeyID: number) {\n return this.http.post(\"/Field/AddBulkAttendees\",\n {\n huddleID: huddleID,\n PRCo: pRCo,\n PRCRKeyID: pRCRKeyID\n }).toPromise();\n }\n addBillAttachment(jBINKeyID: number, attachmentID: number) {\n return this.http.post(\"/Field/AddBillAttachment\",\n {\n jBINKeyID: jBINKeyID,\n attachmentID: attachmentID\n }).toPromise();\n }\n\n renameAttachment(renamedfile: string, description: string, attachmentID: number, jBINKeyID: number) {\n return this.http.post(\"/Field/RenameAttachment\", {\n renamedfile: renamedfile,\n description: description,\n attachmentID: attachmentID,\n jBINKeyID: jBINKeyID\n }).toPromise();\n }\n\n excludeIncludeAttachment(billAttachmentID: number, isExclude: boolean) {\n return this.http.post(\"/Field/ExcludeIncludeAttachment\", {\n billAttachmentID: billAttachmentID,\n isExclude: isExclude\n }).toPromise();\n }\n\n initializeAttachments(jCCo: number, contract: string, jBINKeyID: number, phase: string, begMthString: string, endMthString: string, begDateString: string, endDateString: string, costType: number, sortOrder: string) {\n return this.http.post(\"/Field/InitializeAttachments\", {\n jCCo: jCCo,\n contract: contract,\n jBINKeyID: jBINKeyID,\n phase: phase,\n begMthString: begMthString,\n endMthString: endMthString,\n begDateString: begDateString,\n endDateString: endDateString,\n costType: costType,\n sortOrder: sortOrder\n }).toPromise();\n }\n\n compileAndSavePDFData(uniqueID: string, company: number, jBINKeyID: number, billNumber: number, billMonthString: string, begDateString: string, endDateString: string, inclJCDetail: boolean\n , showArchitect: boolean, showOwner: boolean, phases: string, contract: string, breakDetail: boolean, restrictByBillNumber: boolean, begMthString: string, endMthString: string, sortOrder: string) {\n return this.http.post(\"/Field/CompileAndSavePDFData\", {\n company: company,\n jBINKeyID: jBINKeyID,\n billNumber: billNumber,\n billMonthString: billMonthString,\n begDateString: begDateString,\n endDateString: endDateString,\n inclJCDetail: inclJCDetail,\n showArchitect: showArchitect,\n showOwner: showOwner,\n phases: phases,\n contract: contract,\n breakDetail: breakDetail,\n restrictByBillNumber: restrictByBillNumber,\n begMthString: begMthString,\n endMthString: endMthString,\n sortOrder: sortOrder,\n uniqueID: uniqueID\n }).toPromise();\n }\n\n downloadCompilePDFFile(billMonthString: string, begDateString: string, endDateString: string, contract: string, billNumber: number) {\n var url = \"/Field/DownloadCompilePDFFile?contract=\" + contract + \"&billMonthString=\" + billMonthString +\n \"&begDateString=\" + begDateString +\n \"&endDateString=\" + endDateString +\n \"&billNumber=\" + billNumber\n return this.http.get(url).toPromise();\n }\n\n compileAndSaveZIPData(uniqueID: string, company: number, jBINKeyID: number, billNumber: number, billMonthString: string, begDateString: string, endDateString: string, inclJCDetail: boolean\n , showArchitect: boolean, showOwner: boolean, phases: string, contract: string, breakDetail: boolean, restrictByBillNumber: boolean, begMthString: string, endMthString: string, sortOrder: string) {\n return this.http.post(\"/Field/CompileAndSaveZIPData\", {\n company: company,\n jBINKeyID: jBINKeyID,\n billNumber: billNumber,\n billMonthString: billMonthString,\n begDateString: begDateString,\n endDateString: endDateString,\n inclJCDetail: inclJCDetail,\n showArchitect: showArchitect,\n showOwner: showOwner,\n phases: phases,\n contract: contract,\n breakDetail: breakDetail,\n restrictByBillNumber: restrictByBillNumber,\n begMthString: begMthString,\n endMthString: endMthString,\n sortOrder: sortOrder,\n uniqueID: uniqueID\n }).toPromise();\n }\n\n downloadCompileZIPFile(billMonthString: string, begDateString: string, endDateString: string, contract: string, billNumber: number) {\n var url = \"/Field/DownloadCompileZIPFile?contract=\" + contract + \"&billMonthString=\" + billMonthString +\n \"&begDateString=\" + begDateString +\n \"&endDateString=\" + endDateString +\n \"&billNumber=\" + billNumber\n return this.http.get(url).toPromise();\n\n }\n\n getPOVendors(pOCo?: number, searchString?: string) {\n var url = \"/Field/GetPOVendors?pOCo=\" + pOCo + \"&searchString=\" + searchString;\n return this.http.get(url).toPromise();\n }\n\n getPOItemByAPULKeyID(apULKeyID: number) {\n var url = \"/Field/GetPOItemByAPULKeyID?aPULKeyID=\" + apULKeyID;\n return this.http.get(url).toPromise();\n }\n\n getJCPhaseDesc(jcco: number, job: any, phase: any, apco: any) {\n var url = \"/Field/GetJCPhaseDesc?jcco=\" + jcco + \"&job=\" + job + \"&phase=\" + phase + \"&apco=\" + apco;\n return this.http.get(url).toPromise();\n }\n\n getMaterialInfo(rQCo?: number, material?: string) {\n var url = \"/Field/GetMaterialInfo?rQCo=\" + rQCo + \"&material=\" + encodeURIComponent(material);\n return this.http.get(url).toPromise();\n }\n\n getInvoiceOptions(category: string, aRCo?: number) {\n var url = \"/Field/GetInvoiceOptions?category=\" + category + \"&aRCo=\" + aRCo;\n return this.http.get(url).toPromise();\n }\n\n getInvoiceGrid(groupByField: string, filterString: string) {\n var url = \"/Field/GetInvoiceGrid?groupByField=\" + groupByField + \"&filterString=\" + filterString;\n return this.http.get(url).toPromise();\n }\n\n getInvoiceNotes(invoiceKeyID: number) {\n var url = \"/Field/GetInvoiceNotes?invoiceKeyID=\" + invoiceKeyID;\n return this.http.get(url).toPromise();\n }\n\n getInvoiceDetails(invoiceKeyID: number) {\n var url = \"/Field/GetInvoiceDetails?invoiceKeyID=\" + invoiceKeyID;\n return this.http.get(url).toPromise();\n }\n\n addInvoiceNote(invoiceKeyID: number, contact: string, dateContactedString: string, notes: string, summary: string) {\n return this.http.post(\"/Field/AddInvoiceNote\", {\n invoiceKeyID: invoiceKeyID,\n contact: contact,\n dateContactedString: dateContactedString,\n notes: notes,\n summary: summary\n }).toPromise();\n }\n\n editInvoiceNote(noteKeyID: number, notes: string, summary: string) {\n return this.http.post(\"/Field/EditInvoiceNote\", {\n noteKeyID: noteKeyID,\n notes: notes,\n summary: summary\n }).toPromise();\n }\n\n getPOCompanies() {\n var url = \"/Field/GetPOCompanies\";\n return this.http.get(url).toPromise();\n }\n\n getPORequisitionGrid(rQCo?: number) {\n var url = \"/Field/GetPORequisitionGrid?rQCo=\" + rQCo;\n return this.http.get(url).toPromise();\n }\n\n poRejectRQLines(rQRLKeyIDString: string) {\n return this.http.post(\"/Field/PORejectRQLines\", {\n rQRLKeyIDString: rQRLKeyIDString\n }).toPromise();\n }\n\n getDependentLookupByColumnName(columnName: string, countryCode: string) {\n var url = \"/Field/GetDependentLookupByColumnName?columnName=\" + columnName + \"&countryCode=\" + countryCode;\n return this.http.get(url).toPromise();\n }\n\n getPOShippingInfo(jCJMKeyID: number) {\n var url = \"/Field/GetPOShippingInfo?jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n poReqItemUpdate(rQRLKeyID?: number, units?: number, uC?: number, eCM?: string, totalCost?: number, aPVMKeyID?: number) {\n return this.http.post(\"/Field/POReqItemUpdate\", {\n rQRLKeyID: rQRLKeyID,\n units: units,\n uC: uC,\n eCM: eCM,\n totalCost: totalCost,\n aPVMKeyID: aPVMKeyID\n }).toPromise();\n }\n\n poProcessPOFromRQLines(requestObject: any) {\n return this.http.post(\"/Field/POProcessPOFromRQLines\", {\n rQRLKeyIDString: requestObject.rQRLKeyIDString,\n rQRHKeyID: requestObject.rQRHKeyID,\n receiving: requestObject.receiving,\n userPONumber: requestObject.userPONumber,\n jCJMKeyID: requestObject.jCJMKeyID,\n shipAddress: requestObject.shipAddress,\n shipAddress2: requestObject.shipAddress2,\n shipCity: requestObject.shipCity,\n shipState: requestObject.shipState,\n shipZip: requestObject.shipZip,\n attentionTo: requestObject.attentionTo,\n country: requestObject.country,\n pOCo: requestObject.pOCo,\n begPO: requestObject.begPO,\n ct: requestObject.ct\n }).toPromise();\n }\n\n getPOHistory(queryString: string) {\n var url = \"/Field/GetPOHistory?\" + queryString;\n return this.http.get(url).toPromise();\n }\n\n getPOMOHistory(jCJMKeyID: number) {\n var url = \"/Field/GetPOMOHistory?jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n getPOReqHistory(jCJMKeyID: number, status: number) {\n var url = \"/Field/GetPOReqHistory?jCJMKeyID=\" + jCJMKeyID + \"&status=\" + status;\n return this.http.get(url).toPromise();\n }\n\n getAllPendingPOHeader(jCJMKeyID?: number) {\n var url = \"/Field/GetAllPendingPOHeader?jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n getPendingPOWorkflow (pOPPKeyID: number, sourceView: string): Promise {\n var url = \"/Field/GetPendingPOWorkflow?pOPPKeyID=\" + pOPPKeyID + \"&sourceView=\" + sourceView;\n return this.http.get(url).toPromise();\n }\n\n getPOLookups(queryString: string) {\n var url = \"/Field/GetPOLookups?\" + queryString;\n return this.http.get(url).toPromise();\n }\n\n getPOLookupsForTypeahead(queryString: string) {\n var url = \"/Field/GetPOLookups?\" + queryString;\n return this.http.get(url);\n }\n\n processPOPending (pOPPKeyIDs: number[]): Promise {\n return this.http.post(\"/Field/ProcessPOPending\", {\n pOPPKeyIDs: pOPPKeyIDs\n }).toPromise();\n }\n\n closePO(pOHDKeyID: any) {\n return this.http.post(\"/Field/ClosePO\", {\n pOHDKeyID: pOHDKeyID\n }).toPromise();\n }\n\n getVPAttachmentList(uniqueAttchID: string) {\n return this.http.get(\"/Document/GetVPAttachmentList?uniqueAttchID=\" + uniqueAttchID).toPromise();\n }\n\n deleteVPAttachment(attachmentID: number, uniqueAttchID?: any, database?: boolean) {\n return this.http.post(\"/Document/DeleteVPAttachment\",\n {\n attachmentID: attachmentID,\n uniqueAttchID: uniqueAttchID,\n database: database\n }).toPromise();\n }\n\n updateNotes(note: string, poItem: number, po: string, poCo: number, isHeaderNotes: boolean) {\n return this.http.post(\"/Field/UpdateNotes\",\n {\n note: note,\n poItem: poItem,\n po: po,\n poCo: poCo,\n isHeaderNotes: isHeaderNotes\n }).toPromise();\n }\n\n getPOVendorsQuicklist(pOCo: number) {\n var url = \"/Field/GetPOVendorsQuicklist?pOCo=\" + pOCo;\n return this.http.get(url).toPromise();\n }\n\n getPOUDFieldOptions() {\n var url = \"/Field/GetPOUDFieldOptions\";\n return this.http.get(url).toPromise();\n }\n\n getPendingPOItems(pOPPKeyID: number, pOPIKeyID?: number) {\n var url = \"/Field/GetPendingPOItems?pOPPKeyID=\" + pOPPKeyID + \"&pOPIKeyID=\" + pOPIKeyID;\n return this.http.get(url).toPromise();\n }\n\n getPORemainingBudget(jCCo: number, job: string, phase: string, costType?: string) {\n var url = \"/Field/GetPORemainingBudget?jCCo=\" + jCCo + \"&job=\" + job + \"&phase=\" + phase + \"&costType=\" + costType;\n return this.http.get(url).toPromise();\n }\n\n getTaxCodeInfo(pOCo: number, taxCode: string) {\n var url = \"/Field/GetTaxCodeInfo?pOCo=\" + pOCo + \"&taxCode=\" + taxCode;\n return this.http.get(url).toPromise();\n }\n\n resetPOWorkflow(pOPPKeyID: number, sourceView: string) {\n return this.http.post(\"/Field/ResetPOWorkflow\", {\n pOPPKeyID: pOPPKeyID,\n sourceView: sourceView\n }).toPromise();\n }\n\n getPendingPOFields(itemType: number, pOCo: number) {\n var url = \"/Field/GetPendingPOFields?itemType=\" + itemType + \"&pOCo=\" + pOCo;\n return this.http.get(url).toPromise();\n }\n\n insertUpdatePendingPOHeader(requestObject: { [key: string]: any }) {\n return this.http.post(\"/Field/InsertUpdatePendingPOHeader\", requestObject).toPromise();\n }\n\n submitPOPending(requestObj: { [key: string]: any }) {\n return this.http.post(\"/Field/SubmitPOPending\", requestObj).toPromise();\n }\n\n deletePendingPOItem(pOPIKeyID: number) {\n return this.http.post(\"/Field/DeletePendingPOItem\", {\n pOPIKeyID: pOPIKeyID\n }\n ).toPromise();\n }\n\n getGLDefault(group: any, row: { [key: string]: any }) {\n var url = \"/Field/GetGLDefault?lineType=\" + group + \"&jcco=\" + row[\"JCCo\"] + \"&job=\" + row[\"Job\"] + \"&jCCType=\" + row[\"JCCType\"] + \"&iNCo=\" + row[\"INCo\"] + \"&loc=\" + row[\"Loc\"] + \"&material=\" + row[\"Material\"] + \"&eMCo=\" + row[\"EMCo\"] + \"&equip=\" + row[\"Equip\"] + \"&wO=\" + row[\"WO\"] + \"&costCode=\" + row[\"CostCode\"] + \"&eMCType=\" + row[\"EMCType\"];\n return this.http.get(url).toPromise();\n }\n\n getVendorAddlAddresses(apvmKeyID: number) {\n var url = '/Field/GetVendorAddlAddresses?apvmKeyID=' + apvmKeyID;\n return this.http.get(url).toPromise();\n }\n\n insertUpdatePendingPOItem(requestObject: { [key: string]: any }) {\n return this.http.post(\"/Field/InsertUpdatePendingPOItem\", requestObject).toPromise();\n }\n\n deletePendingPOHeader(pOPPKeyID: number) {\n return this.http.post(\"/Field/DeletePendingPOHeader\", { pOPPKeyID: pOPPKeyID }).toPromise();\n }\n\n getShippingLocations(poco: number) {\n var url = \"/Field/GetShippingLocations?pOCo=\" + poco;\n return this.http.get(url).toPromise();\n }\n\n getCompanyAddress(pOCo?: number) {\n var url = \"/Field/GetCompanyAddress?pOCo=\" + pOCo;\n return this.http.get(url).toPromise();\n }\n\n getPOVendorsQuickList(pOCo?: number, jCJMKeyID?: number) {\n var url = \"/Field/GetPOVendorsQuicklist?pOCo=\" + pOCo + \"&jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n getPONumber(requestObject: any) {\n return this.http.post(\"/Field/GetPONumber\", {\n pOCo: requestObject.pOCo,\n aPVMKeyID: requestObject.aPVMKeyID,\n rQRHKeyID: requestObject.rQRHKeyID,\n pODescription: requestObject.pODescription,\n pONotes: requestObject.pONotes,\n pODateString: requestObject.pODateString,\n pOAmount: requestObject.pOAmount,\n jCJMKeyID: requestObject.jCJMKeyID,\n userPONumber: requestObject.userPONumber,\n uDFieldData: requestObject.uDFieldData,\n recordType: requestObject.recordType,\n sMWorkOrderScopeID: requestObject.sMWorkOrderScopeID,\n sMTripID: requestObject.sMTripID\n }).toPromise();\n }\n\n getPendingPOHeader(pOPPKeyID: number, jCJMKeyID?: number) {\n var url = \"/Field/GetPendingPOHeader?pOPPKeyID=\" + pOPPKeyID + \"&jCJMKeyID=\" + jCJMKeyID;\n return this.http.get(url).toPromise();\n }\n\n proccessQuickPOBatch(pOHBKeyID: number, aPVMKeyID: number, rQRHKeyID?: number) {\n return this.http.post(\"/Field/ProccessQuickPOBatch\", {\n pOHBKeyID: pOHBKeyID,\n aPVMKeyID: aPVMKeyID,\n rQRHKeyID: rQRHKeyID\n }).toPromise();\n }\n\n copyPO(pOHDKeyID: number) {\n return this.http.post(\"/Field/CopyPO\", {\n pOHDKeyID: pOHDKeyID\n }).toPromise();\n }\n\n runHuddleReportBG(selectedMonth: string, branch: string, selectedType: string) {\n var url = \"/Field/DownloadHuddleDHCompliance?MonthToShow=\" + moment(selectedMonth).utc().format(\"MM/DD/YYYY\") + \"&Branch=\" + branch + \"&HuddleTypeID=\" + selectedType;\n return this.http.get(url).toPromise();\n }\n\n getPOList(jCJMKeyID?: number, aPVMKeyID?: number, pOCo?: number, searchString: string = null) {\n var url = \"/Field/GetPOList?jCJMKeyID=\" + jCJMKeyID + \"&aPVMKeyID=\" + aPVMKeyID + \"&pOCo=\" + pOCo + \"&searchString=\" + searchString;\n return this.http.get(url).toPromise();\n }\n\n getItemsByPO(pOHDKeyID: number) {\n var url = \"/Field/GetItemsByPO?pOHDKeyID=\" + pOHDKeyID;\n return this.http.get(url).toPromise();\n }\n\n getPOItemLines(pOHDKeyID?: number, pOITKeyID?: number) {\n var url = \"/Field/GetPOItemLines?pOHDKeyID=\" + pOHDKeyID + \"&pOITKeyID=\" + pOITKeyID;\n return this.http.get(url).toPromise();\n }\n\n submitPOReceipt(receipt: any, POHDKeyID: number, receiptDateString: string, notes: string, receiverNumber: string, batchMonthStr: string) {\n return this.http.post(\"/Field/SubmitPOReceipt\", {\n receipt: receipt,\n POHDKeyID: POHDKeyID,\n receiptDateString: receiptDateString,\n notes: notes,\n receiverNumber: receiverNumber,\n batchMonthStr: batchMonthStr\n }).toPromise();\n }\n\n finalizePOReceipt(pOHDKeyID: number, batchID: number, mthString: string) {\n return this.http.post(\"/Field/FinalizePOReceipt\", {\n pOHDKeyID: pOHDKeyID,\n batchID: batchID,\n mthString: mthString,\n }).toPromise();\n }\n\n getPOItemLineDetail(pOItemLineKeyID: number) {\n var url = \"/Field/GetPOItemLineDetail?pOItemLineKeyID=\" + pOItemLineKeyID;\n return this.http.get(url).toPromise();\n }\n\n pOReceivingDistribution(pOItemLineKeyID: number, phase: string, newUnits: number) {\n return this.http.post(\"/Field/POReceivingDistribution\", {\n pOItemLineKeyID: pOItemLineKeyID,\n phase: phase,\n newUnits: newUnits,\n }).toPromise();\n }\n\n getProgressApprovalGrid() {\n var url = \"/Field/GetProgressApprovalGrid\";\n return this.http.get(url).toPromise();\n }\n\n setProgressUpdateItem(jCPPKeyID?: number, completedThisBatch?: number, completedTotalPct?: number, notes?: string, location?: string, subLocation?: string, task?: string, crew?: string, pRCo?: number) {\n return this.http.post(\"/Field/SetProgressUpdateItem\", {\n jCPPKeyID: jCPPKeyID,\n completedThisBatch: completedThisBatch,\n completedTotalPct: completedTotalPct,\n notes: notes,\n location: location,\n subLocation: subLocation,\n task: task,\n crew: crew,\n pRCo: pRCo\n }).toPromise();\n }\n \n getProgressHistory() {\n var url = \"/Field/GetProgressHistory\";\n return this.http.get(url).toPromise();\r\n }\n\n getProgressLoad(jCJMKeyID?: number, actualDateStr?: string, batchID?: number, mthStr?: string, hideResults?: boolean, testForDuplicates?: boolean) {\n return this.http.post(\"/Field/GetProgressLoad\", {\n jCJMKeyID: jCJMKeyID,\n actualDateStr: actualDateStr,\n batchID: batchID,\n mthStr: mthStr,\n hideResults: hideResults,\n testForDuplicates: testForDuplicates\n }).toPromise();\n }\n\n getCrews(pRCo?:number) {\n var url = \"/Field/GetCrews?pRCo=\" + pRCo;\n return this.http.get(url).toPromise();\r\n }\n\n setProgressUpdateItemMulti(requestObj: any) {\n return this.http.post(\"/Field/SetProgressUpdateItemMulti\", requestObj).toPromise();\r\n }\n\n getProgressCancel(jCJMKeyID?: number, actualDateStr?: string, batchID?: number, mthStr?: string) {\n return this.http.post(\"/Field/GetProgressCancel\", {\n jCJMKeyID: jCJMKeyID,\n actualDateStr: actualDateStr,\n batchID: batchID,\n mthStr: mthStr\n }).toPromise();\n }\n\n getProgressFinalize(jCJMKeyID?: number, actualDateStr?: string, batchID?: number, mthStr?: string, signatureDataStr?: string, longitude?: number, latitude? : number) {\n return this.http.post(\"/Field/GetProgressFinalize\", {\n jCJMKeyID: jCJMKeyID,\n actualDateStr: actualDateStr,\n batchID: batchID,\n mthStr: mthStr,\n signatureDataStr: signatureDataStr,\n longitude: longitude,\n latitude: latitude\n }).toPromise();\n }\n\n getPORestrictionSetting() {\n var url = \"/Field/GetPORestrictionSetting\";\n return this.http.get(url).toPromise();\n }\n\n getPOReqHeader(rQRHKeyID: number) {\n var url = \"/Field/GetPOReqHeader?rQRHKeyID=\" + rQRHKeyID;\n return this.http.get(url).toPromise();\n }\n\n getPOReqItems(rQRHKeyID: number) {\n var url = \"/Field/GetPOReqItems?rQRHKeyID=\" + rQRHKeyID;\n return this.http.get(url).toPromise();\n }\n\n getPOReqFields(pOReqLineType: number, pOCo: number) {\n var url = \"/Field/GetPOReqFields?pOReqLineType=\" + pOReqLineType + \"&pOCo=\" + pOCo;\n return this.http.get(url).toPromise();\n }\n\n\n insertUpdatePOReqHeader(requestObject: any) {\n return this.http.post(\"/Field/InsertUpdatePOReqHeader\", {\n rQRHKeyID: requestObject.rQRHKeyID,\n rQCo: requestObject.rQCo,\n requestDateString: requestObject.requestDateString,\n headerDescription: requestObject.headerDescription,\n headerNotes: requestObject.headerNotes,\n requestor: requestObject.requestor,\n aPVMKeyID: requestObject.aPVMKeyID,\n receiving: requestObject.receiving,\n recordType: requestObject.recordType,\n jCJMKeyID: requestObject.jCJMKeyID,\n uDFieldData: requestObject.uDFieldData,\n maskReturn: requestObject.maskReturn\n }).toPromise();\n }\n\n pOProcessMOFromRQLines(rQRHKeyID: number) {\n return this.http.post(\"/Field/POProcessMOFromRQLines\", {\n rQRHKeyID: rQRHKeyID\n }).toPromise();\n }\n\n deletePOReq(rQRHKeyID?: number, rQRLKeyID?: number) {\n return this.http.post(\"/Field/DeletePOReq\", {\n rQRHKeyID: rQRHKeyID,\n rQRLKeyID: rQRLKeyID\n }).toPromise();\n }\n\n insertUpdatePOReqItem(requestObject: any) {\n return this.http.post(\"/Field/InsertUpdatePOReqItem\", requestObject).toPromise();\n }\n\n getJobsForPO(path: string) {\n return this.http.get(path);\n }\n\n processPMPO (pMCo: any, project: string, pO: string): Promise\r\n{\n return this.http.post(\"/Field/ProcessPMPO\",{\n pMCo: pMCo,\n project: project,\n pO: pO\n }).toPromise();\n }\n}\n\nexport interface ProcessPendingPOResponse extends ApiResponse {\n response: {\r\n exceptionCount: number,\r\n exceptionList: string[]\r\n }\r\n}\n\nexport interface POPendingWFGridActionResult {\n POItem?: number | null;\n Step?: number | null;\n UserRole: string;\n UserName: string;\n ApprovalLimit?: number | null;\n RequiresApproval?: boolean | null;\n Status?: number | null;\n POItemDescription: string;\n Comments: string;\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ApplicantService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getPersonalInfo() {\r\n var url = \"/Applicant/GetPersonalInfo\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getStagesByProfileID(onboardProfileID?: number) {\r\n var url = \"/Applicant/GetStagesByProfileID?onboardProfileID=\" + onboardProfileID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getReqColumns(reqForm: string) {\r\n var url = \"/Applicant/GetReqColumns?reqForm=\" + reqForm;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRecruiterList() {\r\n var url = \"/Applicant/GetRecruiterList\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApplicantsByJobReq(requestParam: string) {\r\n var url = \"/Applicant/GetApplicantsByJobReq?\" + requestParam;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n exportJobReqFull(reqStageID: string, status: string, startDate: string, endDate: string, searchString: string, district: string, filename: string) {\r\n var url = \"/Applicant/ExportJobReqFull?reqStageID=\" + reqStageID + \"&status=\" + status +\r\n \"&startDate=\" + startDate + \"&endDate=\" + endDate + \"&searchString=\" + searchString + \"&district=\" + district + \"&filename=\" + filename;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApplicantSearchReportFull(requestObj: any) {\r\n var url = \"/Applicant/getApplicantSearchReportFull?file=\" + requestObj.file + \"&filename=\" + requestObj.filename + \"&district=\" + requestObj.district + \"&appStage=\" +\r\n requestObj.appStage + \"&reqID=\" + requestObj.reqID;\r\n if (requestObj.beginDate != null) {\r\n url += \"&beginDate=\" + requestObj.beginDate;\r\n }\r\n if (requestObj.endDate != null) {\r\n url += \"&endDate=\" + requestObj.endDate;\r\n }\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getStages(reqID?: any, onboardID?: any) {\r\n var url = \"/Applicant/GetStages?reqID=\" + reqID + \"&onboardID=\" + onboardID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getReqDetails(reqID?: any, reqApplyToken?: any) {\r\n var url = \"/Applicant/GetReqDetails?reqID=\" + reqID + \"&reqApplyToken=\" + reqApplyToken;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n reqSpecQuesAnswerGet(reqID?: any, onboardID?: any) {\r\n var url = \"/Applicant/ReqSpecQuesAnswerGet?reqID=\" + reqID + \"&onboardID=\" + onboardID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPersonalInfoForDate(onboardID: string) {\r\n var url = \"/Applicant/GetPersonalInfoForDate?onboardID=\" + onboardID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateDispReason(onboardID: string, dispReason: string) {\r\n return this.http.post(\"/Applicant/UpdateDispReason\", {\r\n onboardID: onboardID,\r\n dispReason: dispReason\r\n }).toPromise();\r\n }\r\n\r\n personalInfoEdit(data: any) {\r\n return this.http.post(\"/Applicant/PersonalInfoEdit\", {\r\n onboardID: data.onboardID,\r\n firstName: data.firstName,\r\n lastName: data.lastName,\r\n email: data.email,\r\n phone: data.phone,\r\n address1: data.address1,\r\n address2: data.address2,\r\n city: data.city,\r\n state: data.state,\r\n cell: data.cell,\r\n zip: data.zip,\r\n contact: data.contact,\r\n contactSource: data.contactSource,\r\n contactSourceNotes: data.contactSourceNotes,\r\n hireDateStr: data.hireDateStr,\r\n country: data.country,\r\n midName: data.midName,\r\n suffix: data.suffix,\r\n hRRMKeyID: data.hRRMKeyID,\r\n birthdayStr: data.birthdayStr,\r\n maritalStatus: data.maritalStatus,\r\n countryOther: data.countryOther,\r\n isManagerEdit: data.isManagerEdit,\r\n reservedHRRef: data.reservedHRRef\r\n }).toPromise();\r\n }\r\n\r\n applicantHistoryGet(reqApplicantID?: any, reqID?: any) {\r\n var url = \"/Applicant/ApplicantHistoryGet?reqApplicantID=\" + reqApplicantID + \"&reqID=\" + reqID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApplicantPrevReqs(onboardID?: any) {\r\n var url = \"/Applicant/GetApplicantPrevReqs?onboardID=\" + onboardID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n applicantChangeStage(reqApplicantIDString: string, reqStageID?: number) {\r\n return this.http.post(\"/Applicant/ApplicantChangeStage\", {\r\n reqApplicantIDString: reqApplicantIDString,\r\n reqStageID: reqStageID\r\n }).toPromise();\r\n }\r\n\r\n setDateHired(onboardID: string, hireDateStr: string) {\r\n return this.http.post(\"/Applicant/SetDateHired\", {\r\n onboardID: onboardID,\r\n hireDateStr: hireDateStr\r\n }).toPromise();\r\n }\r\n\r\n getAssignedRecruiters(reqID?: any) {\r\n var url = \"/Applicant/GetAssignedRecruiters?reqID=\" + reqID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getReqGrid(status: string, startDateStr?: string, endDateStr?: string, recruiterUserKeyIDString?: string) {\r\n var url = \"/Applicant/GetReqGrid?status=\" + status;\r\n if (startDateStr != null) {\r\n url += \"&startDateStr=\" + startDateStr;\r\n }\r\n if (endDateStr != null) {\r\n url += \"&endDateStr=\" + endDateStr;\r\n }\r\n if (recruiterUserKeyIDString != null) {\r\n url += \"&recruiterUserKeyIDString=\" + recruiterUserKeyIDString;\r\n }\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n reqCopyMove(onboardID?: any, isCopy?: boolean, moveToReqID?: any, onboardIDArray?: any[]) {\r\n return this.http.post(\"/Applicant/ReqCopyMove\", {\r\n onboardID: onboardID,\r\n isCopy: isCopy,\r\n moveToReqID: moveToReqID,\r\n onboardIDArray: onboardIDArray\r\n }).toPromise();\r\n }\r\n\r\n applicantRatingGet(reqApplicantID?: any) {\r\n var url = \"/Applicant/ApplicantRatingGet?reqApplicantID=\" + reqApplicantID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n applicantRatingAddEdit(reqApplicantID?: any, ratingValue?: string, reqID?: any, reqApplicantRatingID?: any, ratingStage?: string) {\r\n return this.http.post(\"/Applicant/ApplicantRatingAddEdit\", {\r\n reqApplicantID: reqApplicantID,\r\n ratingValue: ratingValue,\r\n reqID: reqID,\r\n reqApplicantRatingID: reqApplicantRatingID,\r\n ratingStage: ratingStage\r\n }).toPromise();\r\n }\r\n\r\n applicantRatingRemove(reqApplicantID?: any, reqApplicantRatingID?: number) {\r\n return this.http.post(\"/Applicant/ApplicantRatingRemove\", {\r\n reqApplicantID: reqApplicantID,\r\n reqApplicantRatingID: reqApplicantRatingID\r\n }).toPromise();\r\n }\r\n\r\n setVeteranReview(onboardID?: any, isRecommended?: boolean) {\r\n return this.http.post(\"/Applicant/SetVeteranReview\", {\r\n onboardID: onboardID,\r\n isRecommended: isRecommended\r\n }).toPromise();\r\n }\r\n\r\n applicantToOnboard(onboardID?: any, onboardProfileID?: number, reqID?: any) {\r\n return this.http.post(\"/Applicant/ApplicantToOnboard\", {\r\n onboardID: onboardID,\r\n onboardProfileID: onboardProfileID,\r\n reqID: reqID\r\n }).toPromise();\r\n }\r\n\r\n deleteApplicant(onboardID?: any) {\r\n return this.http.post(\"/Applicant/DeleteApplicant\", {\r\n onboardID: onboardID\r\n }).toPromise();\r\n }\r\n\r\n sendBulkEmail(requestObj?: any) {\r\n return this.http.post(\"/Applicant/SendBulkEmail\", {\r\n toEmail: requestObj.toEmail,\r\n ccEmail: requestObj.ccEmail,\r\n bccEmail: requestObj.bccEmail,\r\n subject: requestObj.subject,\r\n body: requestObj.body,\r\n newFilenames: requestObj.newFilenames,\r\n newFiles: requestObj.newFiles,\r\n onboardID: requestObj.onboardID,\r\n reqID: requestObj.reqID,\r\n emailTemplateID: requestObj.emailTemplateID,\r\n includeICS: requestObj.includeICS,\r\n icsStartDate: requestObj.icsStartDate,\r\n icsEndDate: requestObj.icsEndDate,\r\n location: requestObj.location,\r\n sendEmail: requestObj.sendEmail,\r\n templateTo: requestObj.templateTo,\r\n mailFrom: requestObj.mailFrom,\r\n queueType: requestObj.queueType,\r\n notificationMode: requestObj.notificationMode,\r\n sMSTo: requestObj.sMSTo\r\n }).toPromise();\r\n }\r\n\r\n sendEmail(requestObj?: any) {\r\n return this.http.post(\"/Applicant/SendEmail\", {\r\n toEmail: requestObj.toEmail,\r\n ccEmail: requestObj.ccEmail,\r\n bccEmail: requestObj.bccEmail,\r\n subject: requestObj.subject,\r\n body: requestObj.body,\r\n newFilenames: requestObj.newFilenames,\r\n newFiles: requestObj.newFiles,\r\n includeICS: requestObj.includeICS,\r\n icsStartDate: requestObj.icsStartDate,\r\n icsEndDate: requestObj.icsEndDate,\r\n location: requestObj.location,\r\n onboardID: requestObj.onboardID,\r\n reqID: requestObj.reqID,\r\n mailFrom: requestObj.mailFrom,\r\n queueType: requestObj.queueType,\r\n notificationMode: requestObj.notificationMode,\r\n sMSTo: requestObj.sMSTo\r\n }).toPromise();\r\n }\r\n\r\n getReqTemplate(reqTemplateID?: number, onboardProfileID?: number) {\r\n var url = \"/Applicant/GetReqTemplate?reqTemplateID=\" + reqTemplateID + \"&onboardProfileID=\" + onboardProfileID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n reqTemplateDelete(reqTemplateID?: number) {\r\n return this.http.post(\"/Applicant/ReqTemplateDelete\", {\r\n reqTemplateID: reqTemplateID\r\n }).toPromise();\r\n }\r\n\r\n reqTemplateAddEdit(requestObj: any) {\r\n return this.http.post(\"/Applicant/ReqTemplateAddEdit\", requestObj).toPromise();\r\n }\r\n\r\n getNextReqNum() {\r\n var url = \"/Applicant/GetNextReqNum\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getStates(countryCode?: string) {\r\n var url = \"/Applicant/GetStates?countryCode=\" + countryCode;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n removeRecruiter(reqID?: any, reqRecruiterID?: number) {\r\n return this.http.post(\"/Applicant/RemoveRecruiter\", {\r\n reqID: reqID,\r\n reqRecruiterID: reqRecruiterID\r\n }).toPromise();\r\n }\r\n\r\n addEditRequisition(reqID?: any, onboardProfileID?: number, reqTemplateID?: number, positionTitle?: string, positionDesc?: string, positionRequirements?: string, positionInstructions?: string, positionNotes?: string, city?: string, state?: string, district?: string, openingCount?: number, reqStatus?: number, veteranRevUserKeyID?: number, veteranRev2UserKeyID?: number, salaryInterval?: string, country?: string, eEOCategory?: string, jCJMKeyID?: number, anticipCloseDateStr?: string, reqNum?: number, unpostDateStr?: string, onboardLocationID?: number, payRangeLow?: number, payRangeHigh?: number) {\r\n return this.http.post(\"/Applicant/AddEditRequisition\", {\r\n reqID: reqID,\r\n onboardProfileID: onboardProfileID,\r\n reqTemplateID: reqTemplateID,\r\n positionTitle: positionTitle,\r\n positionDesc: positionDesc,\r\n positionRequirements: positionRequirements,\r\n positionInstructions: positionInstructions,\r\n positionNotes: positionNotes,\r\n city: city,\r\n state: state,\r\n district: district,\r\n openingCount: openingCount,\r\n reqStatus: reqStatus,\r\n veteranRevUserKeyID: veteranRevUserKeyID,\r\n veteranRev2UserKeyID: veteranRev2UserKeyID,\r\n salaryInterval: salaryInterval,\r\n country: country,\r\n eEOCategory: eEOCategory,\r\n jCJMKeyID: jCJMKeyID,\r\n anticipCloseDateStr: anticipCloseDateStr,\r\n reqNum: reqNum,\r\n unpostDateStr: unpostDateStr,\r\n onboardLocationID: onboardLocationID,\r\n payRangeLow: payRangeLow,\r\n payRangeHigh: payRangeHigh\r\n }).toPromise();\r\n }\r\n\r\n addRecruiter(reqID?: any, recruiterUserKeyID?: number) {\r\n return this.http.post(\"/Applicant/AddRecruiter\", {\r\n reqID: reqID,\r\n recruiterUserKeyID: recruiterUserKeyID\r\n }).toPromise();\r\n }\r\n\r\n reqSpecQuesDelete(reqID?: any, reqSpecQuesID?: number) {\r\n return this.http.post(\"/Applicant/ReqSpecQuesDelete\", {\r\n reqID: reqID,\r\n reqSpecQuesID: reqSpecQuesID\r\n }).toPromise();\r\n }\r\n\r\n reqSpecQuesAddEdit(reqID?: any, reqSpecQuesID?: number[], questionText?: string[]) {\r\n return this.http.post(\"/Applicant/ReqSpecQuesAddEdit\", {\r\n reqID: reqID,\r\n reqSpecQuesID: reqSpecQuesID,\r\n questionText: questionText\r\n }).toPromise();\r\n }\r\n\r\n getRecruiters(searchText: string) {\r\n var url = \"/Applicant/GetRecruiters?searchText=\" + searchText;\r\n return this.http.get(url).toPromise();\r\n }\r\n reqAction(reqID: string, reqAction: string) {\r\n return this.http.post(\"/Applicant/ReqAction\", {\r\n reqID: reqID, reqAction: reqAction\r\n }).toPromise();\r\n }\r\n\r\n reqApplyTokenGet(reqID: string) {\r\n var url = \"/Applicant/ReqApplyTokenGet?reqID=\" + reqID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HiringService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n profilesGetForInvite() {\r\n var url = \"/Hiring/ProfilesGetForInvite\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDashboard(onboardID: any, status?: string) {\r\n var url = \"/Hiring/GetDashboard?onboardID=\" + onboardID + (status != null ? \"&status=\" + status : '');\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getProcessData() {\r\n var url = \"/Hiring/getProcessData\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHiredData() {\r\n var url = \"/Hiring/getHiredData\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getBirdDogOnboardToExclude() {\r\n var url = \"/Hiring/GetBirdDogOnboardToExclude\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n\r\n i9GenList(fromDateStr: string, toDateStr: string) {\r\n var url = \"/Hiring/I9GenList?fromDateStr=\" + fromDateStr + \"&toDateStr=\" + toDateStr;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n i9Gen(employeeList: any[], fromDateStr: string, toDateStr: string) {\r\n return this.http.post(\"/Hiring/I9Gen\",\r\n {\r\n employeeList: employeeList,\r\n fromDateStr: fromDateStr,\r\n toDateStr: toDateStr\r\n }).toPromise();\r\n }\r\n\r\n sendI9Update(onboardID: any) {\r\n return this.http.post(\"/Hiring/I9Step2AttachmentUpdate\",\r\n {\r\n onboardID: onboardID\r\n }).toPromise();\r\n }\r\n\r\n getRaceCodes() {\r\n var url = \"/Hiring/GetRaceCodes\";\r\n return this.http.get(url).toPromise();\r\n }\r\n getOnboardEmergencyContacts(onboardID?: any) {\r\n var url = \"/Hiring/GetOnboardEmergencyContacts?onboardID=\" + onboardID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n maxNumberOfAttachments() {\r\n var url = \"/Hiring/MaxNumberOfAttachments\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getMaritalStatus() {\r\n var url = \"/Hiring/GetMaritalStatus\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getOnboardingEmployees(employeeLabel: string) {\r\n var url = \"/Hiring/GetOnboardingEmployees?searchText=\" + employeeLabel;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n defaultsGetAllList(data: any) {\r\n var url = \"/Hiring/DefaultsGetAllList?onboardProfileID=\" + data;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTasksByOnboardID(data?: any) {\r\n var url = \"/Hiring/GetTasksByOnboardID?inputGuid=\" + data;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApplicantsByJobReq(onboardID: any) {\r\n var url = \"/Applicant/GetApplicantsByJobReq?onboardID=\" + onboardID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n personalInfoEdit(onboardID: any, firstName: string, lastName: string, email: string, phone: string, address1: string, address2: string, city: string, state: string, cell: string,\r\n zip: string, contact: string, contactSource: string, contactSourceNotes: string, hireDateStr: string, country: string, midName: string, suffix: string, hRRMKeyID: number, birthdayStr: string,\r\n maritalStatus: string, countryOther: string, isManagerEdit: boolean, reservedHRRef: number, reservedHRCo: number) {\r\n return this.http.post(\"/Applicant/PersonalInfoEdit\", {\r\n onboardID: onboardID,\r\n firstName: firstName,\r\n lastName: lastName,\r\n email: email,\r\n phone: phone,\r\n address1: address1,\r\n address2: address2,\r\n city: city,\r\n state: state,\r\n cell: cell,\r\n zip: zip,\r\n contact: contact,\r\n contactSource: contactSource,\r\n contactSourceNotes: contactSourceNotes,\r\n hireDateStr: hireDateStr,\r\n country: country,\r\n midName: midName,\r\n suffix: suffix,\r\n hRRMKeyID: hRRMKeyID,\r\n birthdayStr: birthdayStr,\r\n maritalStatus: maritalStatus,\r\n countryOther: countryOther,\r\n isManagerEdit: isManagerEdit,\r\n reservedHRRef: reservedHRRef,\r\n reservedHRCo: reservedHRCo\r\n }).toPromise();\r\n }\r\n\r\n insertOnboardTasks(onboardID: any, onboardTaskDefID: number) {\r\n return this.http.post(\"/Hiring/InsertOnboardTasks\", {\r\n onboardID: onboardID,\r\n onboardTaskDefID: onboardTaskDefID\r\n }).toPromise();\r\n }\r\n\r\n updateArchiveByOnboardID(data) {\r\n return this.http.post(\"/Hiring/UpdateArchiveByOnboardID\", {\r\n onboardID: data\r\n }).toPromise();\r\n }\r\n applicantNotesGet(reqApplicantID: any) {\r\n var url = \"/Applicant/ApplicantNotesGet?reqApplicantID=\" + reqApplicantID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n applicantNotesAddEdit(reqApplicantID: any, noteText: string, reqID: any, reqApplicantNoteID?: number) {\r\n return this.http.post(\"/Applicant/ApplicantNotesAddEdit\",\r\n {\r\n reqApplicantID: reqApplicantID,\r\n noteText: noteText,\r\n reqID: reqID,\r\n reqApplicantNoteID: reqApplicantNoteID\r\n }).toPromise();\r\n }\r\n\r\n applicantNotesRemove(reqApplicantID: any, reqApplicantNoteID?: number) {\r\n return this.http.post(\"/Applicant/ApplicantNotesRemove\", {\r\n reqApplicantID: reqApplicantID,\r\n reqApplicantNoteID: reqApplicantNoteID\r\n }).toPromise();\r\n }\r\n\r\n getDependentLookupByColumnName(columnName: string, countryCode?: string) {\r\n var url = \"/Hiring/GetDependentLookupByColumnName?columnName=\" + columnName + (countryCode != null ? \"&countryCode=\" + countryCode : \"\");\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getI9ByOnboardID(id: any, step: number) {\r\n var url = \"/Hiring/GetI9ByOnboardID?onboardID=\" + id + \"&step=\" + step;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n oNGetI9ByOnboardIDStep2(id: any) {\r\n var url = \"/Hiring/ONGetI9ByOnboardIDStep2?onboardID=\" + id;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateI9ByOnboardIDPart2(formData2: any) {\r\n var payload = new URLSearchParams();\r\n payload.set('onboardID', formData2.OnboardID)\r\n payload.set('s2EmpLastName', formData2.S2EmpLastName ?? \"\")\r\n payload.set('s2EmpFirstName', formData2.S2EmpFirstName ?? \"\")\r\n payload.set('s2EmpMiddleName', formData2.S2EmpMiddleName ?? \"\")\r\n payload.set('s2EmpCitizenStatus', formData2.S2EmpCitizenStatus)\r\n payload.set('listADocumentTitle', formData2.ListADocumentTitle ?? \"\")\r\n payload.set('listAIssuingAuthority', formData2.ListAIssuingAuthority ?? \"\")\r\n payload.set('listADocumentNumber', formData2.ListADocumentNumber ?? \"\")\r\n payload.set('listAExpirationDateStr', formData2.ListAExpirationDateStr ?? \"\")\r\n payload.set('listADocumentTitle2', formData2.ListADocumentTitle2 ?? \"\")\r\n payload.set('listAIssuingAuthority2', formData2.ListAIssuingAuthority2 ?? \"\")\r\n payload.set('listADocumentNumber2', formData2.ListADocumentNumber2 ?? \"\")\r\n payload.set('listAExpirationDateStr2', formData2.ListAExpirationDateStr2 ?? \"\")\r\n payload.set('listADocumentTitle3', formData2.ListADocumentTitle3 ?? \"\")\r\n payload.set('listAIssuingAuthority3', formData2.ListAIssuingAuthority3 ?? \"\")\r\n payload.set('listADocumentNumber3', formData2.ListADocumentNumber3 ?? \"\")\r\n payload.set('listAExpirationDateStr3', formData2.ListAExpirationDateStr3 ?? \"\")\r\n payload.set('listBDocumentTitle', formData2.ListBDocumentTitle ?? \"\")\r\n payload.set('listBIssuingAuthority', formData2.ListBIssuingAuthority ?? \"\")\r\n payload.set('listBDocumentNumber', formData2.ListBDocumentNumber ?? \"\")\r\n payload.set('listBExpirationDateStr', formData2.ListBExpirationDateStr ?? \"\")\r\n payload.set('listCDocumentTitle', formData2.ListCDocumentTitle ?? \"\")\r\n payload.set('listCIssuingAuthority', formData2.ListCIssuingAuthority ?? \"\")\r\n payload.set('listCDocumentNumber', formData2.ListCDocumentNumber ?? \"\")\r\n payload.set('listCExpirationDateStr', formData2.ListCExpirationDateStr ?? \"\")\r\n payload.set('s2SignatureBinary', formData2.S2SignatureBinary ?? null)\r\n payload.set('s2SignatureDateStr', formData2.S2SignatureDateStr ?? \"\")\r\n payload.set('s2SignatureTitle', formData2.S2SignatureTitle ?? \"\")\r\n payload.set('s2SignatureFirstName', formData2.S2SignatureFirstName ?? \"\")\r\n payload.set('s2SignatureLastName', formData2.S2SignatureLastName ?? \"\")\r\n payload.set('s2BusinessName', formData2.S2BusinessName ?? \"\")\r\n payload.set('s2BusinessAddress', formData2.S2BusinessAddress ?? \"\")\r\n payload.set('s2BusinessCity', formData2.S2BusinessCity ?? \"\")\r\n payload.set('s2BusinessState', formData2.S2BusinessState ?? \"\")\r\n payload.set('s2Zip', formData2.S2Zip ?? \"\")\r\n payload.set('s2AdditionalInfo', formData2.S2AdditionalInfo ?? \"\")\r\n payload.set('s2EmployeeFirstDayStr', formData2.S2EmployeeFirstDayStr ?? \"\")\r\n payload.set('s3LastName', formData2.S3LastName ?? \"\")\r\n payload.set('s3FirstName', formData2.S3FirstName ?? \"\")\r\n payload.set('s3MiddleInitial', formData2.S3MiddleInitial ?? \"\")\r\n payload.set('s3RehireDateStr', formData2.S3RehireDateStr ?? \"\")\r\n payload.set('s3DocumentTitle', formData2.S3DocumentTitle ?? \"\")\r\n payload.set('s3DocumentNumber', formData2.S3DocumentNumber ?? \"\")\r\n payload.set('s3ExpirationDateStr', formData2.S3ExpirationDateStr ?? \"\")\r\n if (formData2.S3SignatureBinary != null) {\r\n payload.set('s3SignatureBinary', formData2.S3SignatureBinary ?? null)\r\n }\r\n payload.set('s3SignatureDateStr', formData2.S3SignatureDateStr ?? \"\")\r\n payload.set('s3SignatureName', formData2.S3SignatureName ?? \"\")\r\n payload.set('longitude', formData2.longitude ?? null)\r\n payload.set('latitude', formData2.latitude ?? null)\r\n payload.set('s2SignatureTypeSign', formData2.S2SignatureTypeSign ?? false)\r\n payload.set('s3SignatureTypeSign', formData2.S3SignatureTypeSign ?? false)\r\n payload.set('s2AltDocExamProcedure', formData2.S2AltDocExamProcedure ?? false)\r\n payload.set('s3AltDocExamProcedure', formData2.S3AltDocExamProcedure ?? false)\r\n payload.set('s3AdditionalInfo', formData2.S3AdditionalInfo ?? \"\")\r\n\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Hiring/UpdateI9ByOnboardIDPart2\",\r\n payload,\r\n options\r\n ).toPromise();\r\n }\r\n\r\n removeFileAttachment(fileAttachmentID: number) {\r\n return this.http.post(\"/Employee/RemoveFileAttachment\", {\r\n fileAttachmentID: fileAttachmentID\r\n }).toPromise();\r\n }\r\n\r\n getItem(checklistInstanceID: number) {\r\n var url = \"/Checklist/GetItem?checklistInstanceID=\" + checklistInstanceID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getChoicesByTemplateItemID(checklistTemplateItemID: number, checklistInstance: number) {\r\n var url = \"/Checklist/GetChoicesByTemplateItemID?checklistTemplateItemID=\" + checklistTemplateItemID + \"&checklistInstanceID=\" + checklistInstance;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getInsCodes() {\r\n var url = \"/Hiring/GetInsCodes\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTimeRevGroup() {\r\n var url = \"/Hiring/GetTimeRevGroup\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getHRCO() {\r\n var url = \"/Employee/GetHRCO\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getACACode() {\r\n var url = \"/Hiring/GetACACode\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPRCo() {\r\n var url = \"/Hiring/GetPRCo\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCraft(data: number) {\r\n var url = \"/Hiring/GetCraft?pRCo=\" + data;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getClass(pRCo: number, craft: any) {\r\n var url = \"/Hiring/GetClass?pRCo=\" + pRCo + \"&craft=\" + craft;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRehireDetailsByHRRef(hRRef: number, hRCo: number) {\r\n var url = \"/Hiring/GetRehireDetailsByHRRef?HRRef=\" + hRRef + \"&HRCo=\" + hRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getPRDept(pRCo: number) {\r\n var url = \"/Hiring/GetPRDept?pRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCompanyGroups(data: number) {\r\n var url = \"/Admin/GetCompanyGroups?pRCo=\" + data;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getEarnCode(pRCo: number) {\r\n var url = \"/Hiring/GetEarnCode?pRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n initializeEmployee(onboardID: any, hRCoForInitialization: number, effectiveHireDateString: string, hRRef: number, pRCo: number, pRGroup: number, craft: string, classID: string, pRDept: string,\r\n earnCode: number, gender: string, wage: any, raceEthnic: string, insuranceCode: string, timesheetRevGroup: string, insState: string, codeSeries1: string, codeSeries2: string, employmentStatus: string,\r\n localCode: string, overtimeSchedule: string, pREmployee: number, occupCat: any, positionCode: any) {\r\n return this.http.post(\"/Hiring/InitializeEmployee\", {\r\n onboardID: onboardID,\r\n hRCoForInitialization: hRCoForInitialization,\r\n effectiveHireDateString: effectiveHireDateString,\r\n hRRef: hRRef,\r\n pRCo: pRCo,\r\n pRGroup: pRGroup,\r\n craft: craft,\r\n classID: classID,\r\n pRDept: pRDept,\r\n earnCode: earnCode,\r\n gender: gender,\r\n wage: wage,\r\n raceEthnic: raceEthnic,\r\n insuranceCode: insuranceCode,\r\n timesheetRevGroup: timesheetRevGroup,\r\n insState: insState,\r\n codeSeries1: codeSeries1,\r\n codeSeries2: codeSeries2,\r\n employmentStatus: employmentStatus,\r\n localCode: localCode,\r\n overtimeSchedule: overtimeSchedule,\r\n pREmployee: pREmployee,\r\n occupCat: occupCat,\r\n positionCode: positionCode\r\n }).toPromise();\r\n }\r\n\r\n getEmploymentStatus(hRCo: number) {\r\n var url = \"/Hiring/GetEmploymentStatus?hRCo=\" + hRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLocalCode(pRCo: number) {\r\n var url = \"/Hiring/GetLocalCode?pRCo=\" + pRCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getOnboardDirectDeposits(id?: number) {\r\n var url = \"/Hiring/GetOnboardDirectDeposits?onboardID=\" + id;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getW4Info(id: number, step: number) {\r\n var url = \"/Hiring/GetW4Info?onboardID=\" + id + \"&step=\" + step;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateW4ByOnboardIDPart2(onboardID: any, employerNameAddress: string, officeCode: string, eIN: string, dateFirstEmploymentStr: string) {\r\n return this.http.post(\"/Hiring/UpdateW4ByOnboardIDPart2\",\r\n {\r\n onboardID: onboardID,\r\n employerNameAddress: employerNameAddress,\r\n officeCode: officeCode,\r\n eIN: eIN,\r\n dateFirstEmploymentStr: dateFirstEmploymentStr\r\n }).toPromise();\r\n }\r\n\r\n processOnboardingForms(recordID: number, onboardID: string, instanceIDs: number[], templateIDs: number[], filenames: string[], filetypes: string[], includeW4?: boolean, includeI9?: boolean, includeIden?: boolean, language?: string, applicantOnboardID?: string, includeDD?: boolean, includeEC?: boolean) {\r\n return this.http.post(\"/Hiring/ProcessOnboardingForms\", {\r\n recordID: recordID,\r\n onboardID: onboardID,\r\n instanceIDs: instanceIDs,\r\n templateIDs: templateIDs,\r\n filenames: filenames,\r\n filetypes: filetypes,\r\n includeW4: includeW4,\r\n includeI9: includeI9,\r\n includeIden: includeIden,\r\n language: language,\r\n applicantOnboardID: applicantOnboardID,\r\n includeDD: includeDD,\r\n includeEC: includeEC\r\n }).toPromise();\r\n }\r\n\r\n updateItem(requestObj: any) {\r\n return this.http.post(\"/Checklist/UpdateItem\", {\r\n checklistInstanceItemID: requestObj.checklistInstanceItemID,\r\n itemComments: requestObj.itemComments,\r\n itemResponse: requestObj.itemResponse,\r\n itemIsCorrected: requestObj.itemIsCorrected,\r\n correctedComments: requestObj.correctedComments,\r\n signatureDataStr: requestObj.signatureDataStr,\r\n typeSign: requestObj.typeSign,\r\n typeID: requestObj.typeID,\r\n time: requestObj.time,\r\n longitude: requestObj.longitude,\r\n latitude: requestObj.latitude,\r\n itemResponseDisplay: requestObj.itemResponseDisplay\r\n }).toPromise();\r\n }\r\n\r\n fileAttachmentUpdateCaption(fileAttachmentID: any, attachmentCaption: string) {\r\n return this.http.post(\"/Checklist/FileAttachmentUpdateCaption\", {\r\n fileAttachmentID: fileAttachmentID,\r\n attachmentCaption: attachmentCaption\r\n }).toPromise();\r\n }\r\n\r\n deleteTask(onboardTaskID: number) {\r\n return this.http.post(\"/Hiring/DeleteTask\", {\r\n onboardTaskID: onboardTaskID\r\n }).toPromise();\r\n }\r\n\r\n\r\n unsubmitOnboardTasks(onboardID?: any) {\r\n return this.http.post(\"/Hiring/UnsubmitOnboardTasks\", {\r\n onboardID: onboardID\r\n }).toPromise();\r\n }\r\n\r\n deleteOnboarding(onboardID: any) {\r\n return this.http.post(\"/Hiring/DeleteOnboarding\", {\r\n onboardID: onboardID\r\n }).toPromise();\r\n }\r\n\r\n sendReminder(onboardID?: any) {\r\n return this.http.post(\"/Hiring/SendReminder\", {\r\n onboardID: onboardID\r\n }).toPromise();\r\n }\r\n\r\n beginOnboardingProcess(requestObj: any) {\r\n return this.http.post(\"/Hiring/BeginOnboardingProcess\", {\r\n firstName: requestObj.firstName,\r\n lastName: requestObj.lastName,\r\n midName: requestObj.midName,\r\n suffix: requestObj.suffix,\r\n onboardingPIN: requestObj.onboardingPIN,\r\n email: requestObj.email,\r\n onboardTaskDefIDString: requestObj.onboardTaskDefIDString,\r\n hRRMKeyID: requestObj.hRRMKeyID,\r\n onboardProfileID: requestObj.onboardProfileID,\r\n reqID: requestObj.reqID,\r\n phone: requestObj.phone,\r\n address1: requestObj.address1,\r\n address2: requestObj.address2,\r\n city: requestObj.city,\r\n state: requestObj.state,\r\n zip: requestObj.zip,\r\n contact: requestObj.contact,\r\n contactSource: requestObj.contactSource,\r\n contactSourceNotes: requestObj.contactSourceNotes,\r\n cell: requestObj.cell,\r\n noHireCheck: requestObj.noHireCheck,\r\n country: requestObj.country,\r\n countryOther: requestObj.countryOther,\r\n ignoreLogout: requestObj.ignoreLogout\r\n }).toPromise();\r\n }\r\n\r\n updateExpectedHireDate(onboardID: any, hireDate?: any) {\r\n return this.http.post(\"/Applicant/UpdateApplicantExpectedHireDate\", {\r\n onboardId: onboardID,\r\n hireDateStr: hireDate\r\n }).toPromise();\r\n }\r\n\r\n updateExpectedHRRef(onboardID: any, hRCo?: number, hRRef?: number, hRRMKeyID?: number) {\r\n return this.http.post(\"/Applicant/updateExpectedHRRef\", {\r\n onboardId: onboardID,\r\n hRCo: hRCo,\r\n hRRef: hRRef,\r\n hRRMKeyID: hRRMKeyID\r\n }).toPromise();\r\n }\r\n\r\n getVistaOptions(requestParam: string) {\r\n var url = \"/Hiring/GetVistaOptions?\" + requestParam;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n clearOnboardingID() {\r\n return this.http.post(\"/Hiring/ClearOnboardingID\", {\r\n }, { responseType: 'text' }).toPromise();\r\n }\r\n\r\n locationGet() {\r\n var url = \"/Hiring/LocationGet\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n logout() {\r\n var url = \"/Hiring/Logout\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getInfoByOnboardID() {\r\n var url = \"/Hiring/GetInfoByOnboardID\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateSelfInfoByOnboardID(onboardID: any, raceEthnic: string, gender: string, veteran: string, disability: string, genderIdentity: string, genderIdentity_OtherDesc: string, veteran_Disabled: boolean, veteran_AFServiceMedal: boolean, veteran_ActiveDutyWartime: boolean, veteran_DischargeDate: any) {\r\n return this.http.post(\"/Hiring/UpdateSelfInfoByOnboardID\", {\r\n onboardID: onboardID,\r\n raceEthnic: raceEthnic,\r\n gender: gender,\r\n veteran: veteran,\r\n disability: disability,\r\n genderIdentity: genderIdentity,\r\n genderIdentity_OtherDesc: genderIdentity_OtherDesc,\r\n veteran_Disabled: veteran_Disabled,\r\n veteran_AFServiceMedal: veteran_AFServiceMedal,\r\n veteran_ActiveDutyWartime: veteran_ActiveDutyWartime,\r\n veteran_DischargeDate: veteran_DischargeDate\r\n }).toPromise();\r\n }\r\n\r\n saveOnboardEmergencyContact(emContactID: number, contactName: string, relationship: string, homePhone: string, workPhone: string, address: string, city: string, state: string, zip: string, cellPhone: string, note: string) {\r\n return this.http.post(\"/Hiring/SaveOnboardEmergencyContact\", {\r\n emContactID: emContactID,\r\n contactName: contactName,\r\n relationship: relationship,\r\n homePhone: homePhone,\r\n workPhone: workPhone,\r\n address: address,\r\n city: city,\r\n state: state,\r\n zip: zip,\r\n cellPhone: cellPhone,\r\n note: note\r\n }).toPromise();\r\n }\r\n\r\n saveOnboardDirectDeposit(onboardDirectDepositID: number, seq: any, routingID: string, bankAcct: string, method: string, amount: number, pct: any, acctType: string) {\r\n return this.http.post(\"/Hiring/SaveOnboardDirectDeposit\",\r\n {\r\n onboardDirectDepositID: onboardDirectDepositID,\r\n seq: seq,\r\n routingID: routingID,\r\n bankAcct: bankAcct,\r\n method: method,\r\n amount: amount,\r\n pct: pct,\r\n acctType: acctType\r\n }).toPromise();\r\n }\r\n\r\n deleteOnboardDirectDeposit(onboardDirectDepositID: number) {\r\n return this.http.post(\"/Hiring/DeleteOnboardDirectDeposit\",\r\n {\r\n onboardDirectDepositID: onboardDirectDepositID\r\n }).toPromise();\r\n }\r\n\r\n deleteOnboardEmergencyContact(emContactID: number) {\r\n return this.http.post(\"/Hiring/DeleteOnboardEmergencyContact\", {\r\n emContactID: emContactID\r\n }).toPromise();\r\n }\r\n\r\n getProfiles(profileType?: string, pRCo?: number, onboardLocationID?: number) {\r\n var url = \"/Hiring/GetProfiles?profileType=\" + profileType + \"&company=\" + pRCo + \"&onboardLocationID=\" + onboardLocationID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n insertUpdatei9(formData: any) {\r\n return this.http.post(\"/Hiring/InsertUpdatei9\", {\r\n s1LastName: formData.S1LastName,\r\n s1FirstName: formData.S1FirstName,\r\n s1MiddleInitial: formData.S1MiddleInitial,\r\n s1OtherLastName: formData.S1OtherLastName,\r\n s1Address: formData.S1Address,\r\n s1Apt: formData.S1Apt,\r\n s1City: formData.S1City,\r\n s1State: formData.S1State,\r\n s1Zip: formData.S1Zip,\r\n s1BirthDateStr: formData.S1BirthDateStr,\r\n s1SSN: formData.S1SSN,\r\n s1EmployeeEmail: formData.S1EmployeeEmail,\r\n s1EmployeePhone: formData.S1EmployeePhone,\r\n s1CitizenStatus: formData.S1CitizenStatus,\r\n s1AlienUSCISNumberQ3: formData.S1AlienUSCISNumberQ3,\r\n s1AlienExpirationStr: formData.S1AlienExpirationStr,\r\n s1AlienUSCISNumberQ4: formData.S1AlienUSCISNumberQ4,\r\n s1FormI94Admission: formData.S1FormI94Admission,\r\n s1ForeignPassportNumber: formData.S1ForeignPassportNumber,\r\n s1IssuanceCountry: formData.S1IssuanceCountry,\r\n s1SignatureBinary: formData.S1SignatureBinary,\r\n s1SignatureDateStr: formData.S1SignatureDateStr,\r\n isPreparerUsed: formData.IsPreparerUsed,\r\n preparerSignatureBinary: formData.PreparerSignatureBinary,\r\n preparerSignatureDateStr: formData.PreparerSignatureDateStr,\r\n preparerLastName: formData.PreparerLastName,\r\n preparerFirstName: formData.PreparerFirstName,\r\n preparerAddress: formData.PreparerAddress,\r\n preparerCity: formData.PreparerCity,\r\n preparerState: formData.PreparerState,\r\n preparerZip: formData.PreparerZip,\r\n longitude: formData.longitude,\r\n latitude: formData.latitude,\r\n IsPreparerUsedYN: formData.IsPreparerUsedYN\r\n }).toPromise();\r\n }\r\n\r\n getTypeSign(type: any, name: any) {\r\n var url = \"/Hiring/GetTypeSign?type=\" + type + \"&name=\" + name;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n insertUpdatew4(formData: any) {\r\n var payload = new URLSearchParams();\r\n payload.set('lastName', formData.LastName)\r\n payload.set('firstNameMiddleInitial', formData.FirstNameMiddleInitial)\r\n payload.set('address', formData.Address)\r\n payload.set('city', formData.City)\r\n payload.set('state', formData.State)\r\n payload.set('zip', formData.Zip)\r\n payload.set('sSN', formData.SSN)\r\n payload.set('maritalStatus', formData.MaritalStatus)\r\n payload.set('isDiffLastName', formData.IsDiffLastName)\r\n payload.set('isExempt', formData.IsExempt)\r\n payload.set('signDateStr', formData.SignDateStr)\r\n payload.set('signatureBinary', formData.SignatureBinary)\r\n payload.set('latitude', formData.Latitude)\r\n payload.set('longitude', formData.Longitude)\r\n payload.set('formLanguage', formData.FormLanguage)\r\n payload.set('typeSign', formData.TypeSign)\r\n payload.set('multiJobs2020', formData.MultiJobs2020)\r\n payload.set('otherIncome2020', formData.OtherIncome2020)\r\n payload.set('dependentAmt2020', formData.DependentAmt2020)\r\n payload.set('deductions2020', formData.Deductions2020)\r\n payload.set('totalAllowance', formData.TotalAllowance)\r\n payload.set('additionalAmount', formData.AdditionalAmount)\r\n payload.set('qualChildAmount', formData.QualChildAmount)\r\n payload.set('otherDependentAmount', formData.OtherDependentAmount)\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n var options = { headers: headers };\r\n return this.http.post(\"/Hiring/InsertUpdatew4\",\r\n payload,\r\n options\r\n ).toPromise();\r\n }\r\n\r\n getLoginStatus() {\r\n var url = \"/Hiring/GetLoginStatus\";\r\n return this.http.get(url, { responseType: 'text' }).pipe();\r\n }\r\n\r\n getReqDetails(reqID: any) {\r\n var url = \"/Careers/GetReqDetails?reqID=\" + reqID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n reqSpecQuesAnswerGet(reqID: any, onboardID?: any) {\r\n var url = \"/Applicant/ReqSpecQuesAnswerGet?reqID=\" + reqID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n reqSpecQuesAnswerAddEdit(reqSpecAnswerID: number, reqSpecQuesID: number, questionText: string, answerText: string) {\r\n return this.http.post(\"/Applicant/ReqSpecQuesAnswerAddEdit\", {\r\n reqSpecAnswerID: reqSpecAnswerID,\r\n reqSpecQuesID: reqSpecQuesID,\r\n questionText: questionText,\r\n answerText: answerText\r\n }).toPromise();\r\n }\r\n\r\n deleteOnboardByID(onboardID?: any) {\r\n return this.http.post(\"/Hiring/DeleteOnboardByID\", {\r\n onboardID: onboardID\r\n }).toPromise();\r\n }\r\n\r\n submitOnboardTasks(onboardID?: any) {\r\n return this.http.post(\"/Hiring/SubmitOnboardTasks\", {\r\n onboardID: onboardID\r\n }).toPromise();\r\n }\r\n\r\n changeOnboardProfile(onboardID: any, newOnboardProfileID: number) {\r\n return this.http.post(\"/Hiring/ChangeOnboardProfile\", {\r\n onboardID: onboardID,\r\n newOnboardProfileID: newOnboardProfileID\r\n }).toPromise();\r\n }\r\n\r\n validateAddress(address: string, city: string, state: string, zip: string) {\r\n var url = \"/Hiring/ValidateAddress?streetAddress=\" + address + \"&city=\" + city + \"&state=\" + state + \"&postalCode=\" + zip;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n downloadTaskRDL(onboardingID: any, fullName: any, view: any, rawData: any) {\r\n var url = \"/Hiring/DownloadTaskRDL\";\r\n var temp = \"\";\r\n if (onboardingID != null) {\r\n temp += \"?onboardingID=\" + onboardingID;\r\n }\r\n if (fullName != null) {\r\n (temp.length == 0 ? temp += \"?\" : temp += \"&\");\r\n temp += \"fullName=\" + fullName;\r\n }\r\n if (view != null) {\r\n (temp.length == 0 ? temp += \"?\" : temp += \"&\");\r\n temp += \"view=\" + view;\r\n }\r\n if (rawData != null) {\r\n (temp.length == 0 ? temp += \"?\" : temp += \"&\");\r\n temp += \"rawData=\" + rawData;\r\n }\r\n url += temp;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n onInitializeBirdDogRecord(requestObj: any) {\r\n return this.http.post(\"/Hiring/ONInitializeBirdDogRecord\", {\r\n hRCoForInitialization: requestObj.hRCoForInitialization,\r\n effectiveHireDateStr: requestObj.effectiveHireDateStr,\r\n pRCo: requestObj.pRCo,\r\n pRGroup: requestObj.pRGroup,\r\n craft: requestObj.craft,\r\n classID: requestObj.classID,\r\n pRDept: requestObj.pRDept,\r\n earnCode: requestObj.earnCode,\r\n email: requestObj.email,\r\n account1: requestObj.account1,\r\n account2: requestObj.account2,\r\n account3: requestObj.account3,\r\n accountType1: requestObj.accountType1,\r\n accountType2: requestObj.accountType2,\r\n accountType3: requestObj.accountType3,\r\n addressLine1: requestObj.addressLine1,\r\n addressLine2: requestObj.addressLine2,\r\n allowancesandDeductionConfirmation: requestObj.allowancesandDeductionConfirmation,\r\n amount1: requestObj.amount1,\r\n amount2: requestObj.amount2,\r\n amount3: requestObj.amount3,\r\n amountType1: requestObj.amountType1,\r\n amountType2: requestObj.amountType2,\r\n amountType3: requestObj.amountType3,\r\n businessUnit: requestObj.businessUnit,\r\n confirmationofStateResidency: requestObj.confirmationofStateResidency,\r\n countryofResidence: requestObj.countryofResidence,\r\n countyWithholding: requestObj.countyWithholding,\r\n dateExported: requestObj.dateExported,\r\n dateofBirth: requestObj.dateofBirth,\r\n directDeposit: requestObj.directDeposit,\r\n emergencyContact: requestObj.emergencyContact,\r\n emergencyContactHomePhoneNumber: requestObj.emergencyContactHomePhoneNumber,\r\n emergencyContactMobilePhoneNumber: requestObj.emergencyContactMobilePhoneNumber,\r\n emergencyContactRelationship: requestObj.emergencyContactRelationship,\r\n emergencyContactWorkPhoneNumber: requestObj.emergencyContactWorkPhoneNumber,\r\n employeeCity: requestObj.employeeCity,\r\n employeeEmailAddress: requestObj.employeeEmailAddress,\r\n employeeNumber: requestObj.employeeNumber,\r\n federalAddlAllowances: requestObj.federalAddlAllowances,\r\n hRRef: requestObj.hRRef,\r\n federalAllowances: requestObj.federalAllowances,\r\n federalExemption: requestObj.federalExemption,\r\n federalFilingStatus: requestObj.federalFilingStatus,\r\n federalPerjuryConfirmation: requestObj.federalPerjuryConfirmation,\r\n firstName: requestObj.firstName,\r\n gender: requestObj.gender,\r\n homePhoneNumber: requestObj.homePhoneNumber,\r\n i9Assistance: requestObj.i9Assistance,\r\n institution1: requestObj.institution1,\r\n institution2: requestObj.institution2,\r\n institution3: requestObj.institution3,\r\n lastName: requestObj.lastName,\r\n locationName: requestObj.locationName,\r\n locationNumber: requestObj.locationNumber,\r\n maidenName: requestObj.maidenName,\r\n maritalStatus: requestObj.maritalStatus,\r\n middleName: requestObj.middleName,\r\n mobilePhoneNumber: requestObj.mobilePhoneNumber,\r\n nameSuffix: requestObj.nameSuffix,\r\n preferredName: requestObj.preferredName,\r\n primaryState: requestObj.primaryState,\r\n raceEthnicity: requestObj.raceEthnicity,\r\n reasonableAccommodations: requestObj.reasonableAccommodations,\r\n route1: requestObj.route1,\r\n route2: requestObj.route2,\r\n route3: requestObj.route3,\r\n socialSecurityNumber: requestObj.socialSecurityNumber,\r\n state: requestObj.state,\r\n stateExemptionTotal: requestObj.stateExemptionTotal,\r\n stateWithholding: requestObj.stateWithholding,\r\n stateWithholdingPercentage: requestObj.stateWithholdingPercentage,\r\n veteran: requestObj.veteran,\r\n zipCode: requestObj.zipCode,\r\n wage: requestObj.wage,\r\n insuranceCode: requestObj.insuranceCode,\r\n timesheetRevGroup: requestObj.timesheetRevGroup,\r\n systemID: requestObj.systemID,\r\n TasksCompleted: requestObj.TasksCompleted\r\n }).toPromise();\r\n }\r\n\r\n onboardI9GetSupA(onboardID: any) {\r\n var url = \"/Hiring/OnboardI9GetSupA?onboardID=\" + onboardID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n onboardI9SupAInsertUpdate(objData: any) {\r\n return this.http.post(\"/Hiring/OnboardI9SupAInsertUpdate\", {\r\n objData: objData\r\n }).toPromise();\r\n }\r\n\r\n onboardI9SupADelete(onboardID: any, seq: any) {\r\n return this.http.post(\"/Hiring/OnboardI9SupADelete\", {\r\n onboardID: onboardID, seq: seq\r\n }).toPromise();\r\n }\r\n\r\n\r\n getTagsByOnboard(onboardID: any) {\r\n var url = \"/Hiring/GetTagsByOnboard?onboardID=\" + onboardID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n tagsManage(isManage: boolean, reqID?: any) {\r\n var url = \"/Hiring/TagsManage?isManage=\" + isManage + \"&reqID=\" + reqID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n addTagsByOnboard(onboardID: any, tagID: number) {\r\n return this.http.post(\"/Hiring/AddTagsByOnboard\", {\r\n onboardID: onboardID,\r\n tagID: tagID\r\n }).toPromise();\r\n }\r\n\r\n deleteTagsByOnboard(onboardID: any, tagID: number) {\r\n return this.http.post(\"/Hiring/DeleteTagsByOnboard\", {\r\n onboardID: onboardID,\r\n tagID: tagID\r\n }).toPromise();\r\n }\r\n\r\n addUpdateProfile(onboardProfileID?: number, onboardProfileName?: string, onboardProfileIsDefault?: boolean, profileType?: string, isApplyOnline?: boolean, onboardChecklistTemplateID?: number, company?: number,\r\n onboardLocationID?: number, includeW4: boolean = false, includeI9: boolean = false, includeIdentification: boolean = false, includeDirectDeposit: number = 0, includeEmergencyContacts: boolean = false) {\r\n return this.http.post(\"/Hiring/AddUpdateProfile\", {\r\n onboardProfileID: onboardProfileID,\r\n onboardProfileName: onboardProfileName,\r\n onboardProfileIsDefault: onboardProfileIsDefault,\r\n profileType: profileType,\r\n isApplyOnline: isApplyOnline,\r\n onboardChecklistTemplateID: onboardChecklistTemplateID,\r\n company: company,\r\n onboardLocationID: onboardLocationID,\r\n includeW4: includeW4,\r\n includeI9: includeI9,\r\n includeIdentification: includeIdentification,\r\n includeDirectDeposit: includeDirectDeposit,\r\n includeEmergencyContacts: includeEmergencyContacts\r\n }).toPromise();\r\n }\r\n\r\n defaultsInsertUpdate(onboardTaskIsRequired?: boolean, checklistTemplateID?: number, bulletinID?: number, onboardTaskDefID?: number, onboardProfileID?: number, onboardTaskIsDefault?: boolean) {\r\n return this.http.post(\"/Hiring/DefaultsInsertUpdate\", {\r\n onboardTaskIsRequired: onboardTaskIsRequired,\r\n checklistTemplateID: checklistTemplateID,\r\n bulletinID: bulletinID,\r\n onboardTaskDefID: onboardTaskDefID,\r\n onboardProfileID: onboardProfileID,\r\n onboardTaskIsDefault: onboardTaskIsDefault\r\n }).toPromise();\r\n }\r\n\r\n reqStageDelete(reqStageID?: number) {\r\n return this.http.post(\"/Hiring/ReqStageDelete\", {\r\n reqStageID: reqStageID\r\n }).toPromise();\r\n }\r\n\r\n reqStageAddEdit(reqStageID?: number, reqStageDescription?: string, reqStageSeq?: number, checklistTemplateID?: number, isStageActive?: boolean) {\r\n return this.http.post(\"/Hiring/ReqStageAddEdit\", {\r\n reqStageID: reqStageID,\r\n reqStageDescription: reqStageDescription,\r\n reqStageSeq: reqStageSeq,\r\n checklistTemplateID: checklistTemplateID,\r\n isStageActive: isStageActive\r\n }).toPromise();\r\n }\r\n\r\n locationAddEdit(onboardLocationID?: number, onboardLocationName?: string) {\r\n return this.http.post(\"/Hiring/LocationAddEdit\", {\r\n onboardLocationID: onboardLocationID,\r\n onboardLocationName: onboardLocationName\r\n }).toPromise();\r\n }\r\n\r\n locationUserGroupAdd(onboardLocationID?: number, userGroupID?: number) {\r\n return this.http.post(\"/Hiring/LocationUserGroupAdd\", {\r\n onboardLocationID: onboardLocationID,\r\n userGroupID: userGroupID\r\n }).toPromise();\r\n }\r\n\r\n locationGetUserGroups(onboardLocationID?: number) {\r\n var url = \"/Hiring/LocationGetUserGroups?onboardLocationID=\" + onboardLocationID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n locationUserGroupUpdate(onboardLocationID?: number, userGroupID?: number, accessType?: number, onboardLocationUserGroupID?: number) {\r\n return this.http.post(\"/Hiring/LocationUserGroupUpdate\", {\r\n onboardLocationID: onboardLocationID,\r\n userGroupID: userGroupID,\r\n accessType: accessType,\r\n onboardLocationUserGroupID: onboardLocationUserGroupID\r\n }).toPromise();\r\n }\r\n\r\n locationUserGroupDelete(onboardLocationUserGroupID?: number) {\r\n return this.http.post(\"/Hiring/LocationUserGroupDelete\", {\r\n onboardLocationUserGroupID: onboardLocationUserGroupID\r\n }).toPromise();\r\n }\r\n\r\n locationDelete(onboardLocationID?: number) {\r\n return this.http.post(\"/Hiring/LocationDelete\", {\r\n onboardLocationID: onboardLocationID\r\n }).toPromise();\r\n }\r\n\r\n deleteProfile(onboardProfileID: number) {\r\n return this.http.post(\"/Hiring/DeleteProfile\", {\r\n onboardProfileID: onboardProfileID\r\n }).toPromise();\r\n }\r\n\r\n updateAssignedStages(onboardProfileID?: number, assignedReqStageIDString?: string) {\r\n return this.http.post(\"/Hiring/UpdateAssignedStages\", {\r\n onboardProfileID: onboardProfileID,\r\n assignedReqStageIDString: assignedReqStageIDString\r\n }).toPromise();\r\n }\r\n\r\n tagsAddEdit(newDescription: string, newDistrict: string, tagID: number) {\r\n return this.http.post(\"/Hiring/TagsAddEdit\", {\r\n description: newDescription,\r\n district: newDistrict,\r\n tagID: tagID\r\n }).toPromise();\r\n }\r\n\r\n tagsDelete(tagID: number) {\r\n return this.http.post(\"/Hiring/TagsDelete\", {\r\n tagID: tagID\r\n }).toPromise();\r\n }\r\n\r\n getPositionCodes(co: any) {\r\n var url = \"/Hiring/GetPositionCodes?co=\" + co;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getOccupationCategories(co: any) {\r\n var url = \"/Hiring/GetOccupationCategories?co=\" + co;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n jobTargetGetCompany() {\r\n var url = \"/Hiring/JobTargetGetCompany\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n jobTargetJobEdit(jobString: string) {\r\n return this.http.post(\"/Hiring/JobTargetJobEdit\", {\r\n jobString: jobString\r\n }).toPromise();\r\n }\r\n\r\n getJobTargetSSOLink() {\r\n return this.http.post(\"/Hiring/GetJobTargetSSOLink\", {}).toPromise();\r\n }\r\n\r\n jobCreate(jobString: any) {\r\n return this.http.post(\"/Hiring/JobTargetJobCreate\", {\r\n jobString: jobString\r\n }).toPromise();\r\n }\r\n\r\n setJobTargetID(reqID: any, jobTargetID: any) {\r\n return this.http.post(\"/Hiring/SetJobTargetID\", {\r\n reqID: reqID,\r\n jobTargetID: jobTargetID\r\n }).toPromise();\r\n }\r\n\r\n stopJobTargetPost(jobTargetID: any) {\r\n return this.http.post(\"/Hiring/StopJobTargetPost\", {\r\n jobTargetID: jobTargetID\r\n }).toPromise();\r\n }\r\n\r\n getJobTargetJobDetails(jobTargetID: any, reqID?: any) {\r\n return this.http.post(\"/Hiring/GetJobTargetJobDetails\", {\r\n jobTargetID: jobTargetID,\r\n reqID: reqID\r\n }).toPromise();\r\n }\r\n\r\n startEverifySession(onboardID: any) {\r\n return this.http.get(\"/Hiring/StartEverifySession?onboardID=\" + onboardID).toPromise();\r\n }\r\n getJobReqSearchExternal(requestParams: string) {\r\n var url = \"/Careers/GetJobReqSearchExternal\" + requestParams;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getLocationFilter() {\r\n var url = \"/Careers/GetLocationFilter\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getReqFilterChoices(filterType: string) {\r\n var url = \"/Careers/GetReqFilterChoices?filterType=\" + filterType;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getReqDetailsByIdAndAuthToken(reqID: any, reqApplyToken: any) {\r\n var url = \"/Careers/GetReqDetails?reqID=\" + reqID + \"&reqApplyToken=\" + reqApplyToken;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n setJobTargetAttributes(onboardID: any, source: string, jtochash: string, jtocprof: string) {\r\n return this.http.post(\"/Hiring/SetJobTargetAttributes\", {\r\n onboardId: onboardID,\r\n source: source,\r\n jtochash: jtochash,\r\n jtocprof: jtocprof\r\n }).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { of, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HomeService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getBulletins(sectionToLoad :string) {\r\n return this.http.get(\"/Employee/GetBulletinsGetIndex?sectionToLoad=\"+ sectionToLoad).toPromise();\r\n }\r\n\r\n getLastLogonDate() {\r\n return this.http.get(\"/Home/GetLastLogonDate\", { responseType: 'text' }).toPromise();\r\n }\r\n\r\n getModules() {\r\n return this.http.get(\"/Home/GetModules\").toPromise();\r\n }\r\n\r\n getClockInStatus(fromFieldKiosk:boolean, currentTimeString: any) {\r\n return this.http.get(\"/Employee/GetClockInStatus?fromFieldKiosk=\" + fromFieldKiosk +\"¤tTimeString=\" + currentTimeString + \"&where=1\").toPromise();\r\n }\r\n\r\n postClockAction(requestObj: any) {\r\n return this.http.post(\"/Employee/PostClockAction\",\r\n {\r\n gPSLat: requestObj.gPSLat, gPSLong: requestObj.gPSLong, clockAction: requestObj.clockAction, employee: requestObj.employee, pRCo: requestObj.pRCo, jCJMKeyID: requestObj.jCJMKeyID,\r\n jCJPKeyID: requestObj.jCJPKeyID, signatureData: requestObj.signatureData, clockTimeString: requestObj.clockTimeString, sMWorkOrderScopeID: requestObj.sMWorkOrderScopeID,\r\n sMPayType: requestObj.sMPayType, sMTripID: requestObj.sMTripID, fromGroupClock: requestObj.fromGroupClock, kioskPass: requestObj.kioskPass\r\n }).toPromise();\r\n }\r\n\r\n changeLanguage(type: any) {\r\n return this.http.post(\"/Account/SetLanguage\", { language: type }).toPromise();\r\n }\r\n\r\n getCurrentStatus() {\r\n return this.http.get(\"/Performance/GetCurrentStatus\").toPromise();\r\n }\r\n\r\n getJobs(form:string) {\r\n return this.http.get(\"/Employee/GetJobs?form=\" + form).toPromise();\r\n }\r\n\r\n setJob(jCJMKeyID: any, userKeyID: any) {\r\n return this.http.post(\"/DailyReports/SetJob\", { lastUsedJCJMKeyID: jCJMKeyID, userKeyID: userKeyID }).toPromise();\r\n }\r\n\r\n getPhasesByJCJMKeyID(jCJMKeyID: any) {\r\n return this.http.get(\"/Employee/GetPhasesByJCJMKeyID?jCJMKeyID=\" + jCJMKeyID + \"&laborOnly=true\").toPromise();\r\n }\r\n\r\n getTypeSign(type: string) {\r\n return this.http.get(\"/Checklist/GetTypeSign?type=\" + type).toPromise();\r\n }\r\n\r\n setHotlistItem(module) {\r\n return this.http.post(\"/Home/SetHotlistItem\", { moduleID: module.ModuleID, isItemAdded: module.IsHotlistItem }).toPromise();\r\n }\r\n\r\n sendAcknowledge(bulletinID: any, bulletinAttachDocumentFlagValue: any, filename: any, bulletinSignatureText: any, bulletinFileData: any, bulletinFileName: any, isFillablePDF: any) {\r\n return this.http.post(\"/Employee/sendAcknowledge\", {\r\n bulletinID: bulletinID, bulletinAttachDocumentFlagValue: bulletinAttachDocumentFlagValue,\r\n filename: filename, bulletinSignatureText: bulletinSignatureText,\r\n bulletinFileData: bulletinFileData, bulletinFileName: bulletinFileName, isFillablePDF: isFillablePDF\r\n }).toPromise();\r\n }\r\n\r\n getBulletinsGetIndex(bulletinID: any, onboardID?: any) {\r\n var url = \"/Employee/GetBulletinsGetIndex?bulletinID=\" + bulletinID + \"&onboardID=\" + onboardID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDBAttachmentList(moduleID: number, bulletinID?: any, recordGuid?: any, onboardingUser?: boolean) {\r\n var url = \"/Document/GetDBAttachmentList?moduleID=\" + moduleID + \"&recordID=\" + bulletinID + \"&recordGuid=\" + recordGuid + \"&onboardingUser=\" + onboardingUser;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n sentBulletinSign(bulletinID: any, bulletinAttachDocumentFlagValue: any, signatureStr: any, bulletinSignatureText: any, latitude: any, longitude: any, filename: any, bulletinFileData: any,\r\n bulletinFileName: any, isFillablePDF: any) {\r\n return this.http.post(\"/Employee/SentBulletinSign\", {\r\n bulletinID: bulletinID, bulletinAttachDocumentFlagValue: bulletinAttachDocumentFlagValue, signatureStr: signatureStr, bulletinSignatureText: bulletinSignatureText\r\n , latitude: latitude, longitude: longitude, filename: filename, bulletinFileData: bulletinFileData, bulletinFileName: bulletinFileName, isFillablePDF: isFillablePDF\r\n }).toPromise();\r\n }\r\n\r\n getCompanyLogo(co: number, size: string) {\r\n return this.http.get(\"/Company/GetLogo?co=\" + co + \"&size=\" + size.toUpperCase(), { responseType: 'text' }).toPromise();\r\n }\r\n\r\n getPortalName(co: number) {\r\n return this.http.get(\"/Company/GetPortalName?co=\" + co, { responseType: 'text' }).toPromise();\r\n }\r\n\r\n getAPCount() {\r\n return this.http.get(\"/Employee/GetAPCount\").toPromise();\r\n }\r\n\r\n getPOReviewCount() {\r\n return this.http.get(\"/Employee/GetPOReviewCount\").toPromise();\r\n }\r\n\r\n getExpenseApprovalCount() {\r\n return this.http.get(\"/Employee/GetExpenseApprovalCount\").toPromise();\r\n }\r\n\r\n getEmployeeInfo() {\r\n return this.http.get(\"/Employee/GetInfo\").toPromise();\r\n }\r\n\r\n updateAPCount(currentCount: number) {\r\n return this.http.post(\"/APRouter/UpdateAPCount\", { currentCount: currentCount }).toPromise();\r\n }\r\n\r\n updateEXCount(currentCount: number) {\r\n return this.http.post(\"/Employee/UpdateEXCount\", { currentCount: currentCount }).toPromise();\r\n }\r\n\r\n getCount() {\r\n return this.http.get(\"/Employee/GetCount\").toPromise();\r\n }\r\n\r\n getUserFields() {\r\n return this.http.get(\"/Employee/GetUserFields\").toPromise();\r\n }\r\n\r\n getComboItemsByFieldID(fieldID: any) {\r\n return this.http.get(\"/Employee/GetComboItemsByFieldID?fieldID=\" + fieldID).toPromise();\r\n }\r\n\r\n personalInfoUpdate(postData :any) {\r\n return this.http.post(\"/Employee/PersonalInfoUpdate\",\r\n {\r\n formData: postData,\r\n attachmentsJson: \"\",\r\n fileNamesJson: \"\",\r\n recordKeyID: null\r\n }).toPromise();\r\n }\r\n\r\n setDocConsent(cellPhone: any, email: string, consentPaystubs: boolean, consentW2T4: boolean, consentACA1095: boolean, optOutSMS: any) {\r\n return this.http.post(\"/Employee/SetDocConsent\",\r\n {\r\n cellPhone: cellPhone,\r\n email: email,\r\n consentPaystubs: consentPaystubs,\r\n consentW2T4: consentW2T4,\r\n consentACA1095: consentACA1095,\r\n optOutSMS: optOutSMS\r\n }).toPromise();\r\n }\r\n\r\n unbindViewpointID() {\r\n return this.http.post(\"/Account/UnbindViewpointID\", {}).toPromise();\r\n }\r\n\r\n getUserContext() {\r\n return this.http.get(\"/Account/GetUserContext\").toPromise();\r\n }\r\n\r\n getManagerGrid() {\r\n return this.http.get(\"/Performance/GetManagerGrid\").toPromise();\r\n }\r\n\r\n getPdfData(ID: string, flattenPDF: boolean = false, disabledRequiredFields: boolean = false) {\r\n return this.http.get(\"/Document/GetRawAttachmentData?attachmentID=\" + ID + \"&keepOriginal=false&flattenPDF=\" + flattenPDF + \"&disabledRequiredFields=\" + disabledRequiredFields).toPromise();\r\n }\r\n\r\n getPdfFile (attachmentID: string): Observable {\r\n return this.http.get(`/Document/GetPdfFile?attachmentID=${attachmentID}`, { responseType: 'blob' }).pipe(\r\n catchError(_error => {\r\n return of(null);\r\n })\r\n );\r\n }\r\n\r\n getApprovalCounts() {\r\n return this.http.get(\"/Home/GetApprovalCounts\").toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subscription, Subject, from } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OfficeDataService {\r\n private _handler: Subject = new Subject();\r\n\r\n boradcast(text: string) {\r\n this._handler.next(text);\r\n }\r\n\r\n subscribe(callback: (text: any) => void): Subscription {\r\n return this._handler.subscribe(callback);\r\n }\r\n /* SGF - SingleGridForm\r\n * RGW - ReportGateway*/\r\n public OfficeNavBarOn = false;\r\n public ModalMsg = \"Please Wait ...\"\r\n public SGFSubOn = false;\r\n public SGFIsNewRow = null;\r\n public SGFRowDataEdit = {};\r\n public SGFCombobox = {};\r\n public SGFCompany = null;\r\n public SGFForm = null;\r\n public SGFCompanyList = [];\r\n public SGFFormList = [];\r\n public SGFFormMetadata: [{ [key: string]: any}];\r\n public SGFFormData = [];\r\n public SGFMode = null;\r\n public SGFTitle = null;\r\n public SGFStaticLookupsResponse: [{ [key: string]: any }];\r\n public SGFRoute = null;\r\n public SGFSortList = [];\r\n public SGFFilteringList = {};\r\n public SGFCurrentFormReadOnly = false;\r\n\r\n public RGWSubOn = false;\r\n public RGWCat = \"All\";\r\n constructor() { }\r\n}\r\n","import { 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 OfficeService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getCompanies() {\r\n return this.http.get(\"/Office/GetCompanies\").toPromise();\r\n }\r\n\r\n getForms(company: any, module: any) {\r\n return this.http.get(\"/Office/GetForms?co=\" + company + \"&module=\" + module).toPromise();\r\n }\r\n\r\n getFormMetadata(tableName: any, company: any) {\r\n return this.http.get(\"/Office/GetFormMetadata?form=\" + tableName + \"&co=\" + company).toPromise();\r\n }\r\n\r\n getFormData(tableName: any, company: any, orderby: any, keyid: any, rowsPerPage: any, pageNumber: any, where: any) {\r\n return this.http.get(\"/Office/GetData?form=\" + tableName + \"&co=\" + company + \"&rowsPerPage=\" + rowsPerPage + \"&pageNumber=\" + pageNumber + orderby + \"&keyid=\" + keyid + where).toPromise();\r\n }\r\n\r\n insertUpdateData(co: any, form: any, formData: any, keyID: any) {\r\n return this.http.post(\"/Office/InsertUpdateData\",\r\n {\r\n co: co,\r\n form: form,\r\n formData: formData,\r\n keyID: keyID,\r\n }).toPromise();\r\n }\r\n\r\n deleteRow(co: any, form: any, keyID: any) {\r\n return this.http.post(\"/Office/DeleteData\",\r\n {\r\n co: co,\r\n form: form,\r\n keyID: keyID,\r\n }).toPromise();\r\n }\r\n\r\n getAttachmentList(co: any, form: any, keyID: any, UniqueAttchID: any) {\r\n return this.http.get(\"/Office/GetAttachmentList?co=\" + co + \"&form=\" + form + \"&keyID=\" + keyID + \"&UniqueAttchID=\" + UniqueAttchID).toPromise();\r\n }\r\n\r\n insertAttachment(co: any, form: any, keyID: any, description: any, origFileName: any, attachmentTypeID: any, attachData: any) {\r\n return this.http.post(\"/Office/InsertAttachment\",\r\n {\r\n co: co,\r\n form: form,\r\n keyID: keyID,\r\n description: description,\r\n origFileName: origFileName,\r\n attachmentTypeID: attachmentTypeID,\r\n attachData: attachData\r\n }).toPromise();\r\n }\r\n\r\n updateAttachmentMetadata(co: any, form: any, keyID: any, description: any, attachmentID: any, attachmentTypeID: any) {\r\n return this.http.post(\"/Office/UpdateAttachmentMetadata\",\r\n {\r\n co: co,\r\n form: form,\r\n keyID: keyID,\r\n attachmentID: attachmentID,\r\n description: description,\r\n attachmentTypeID: attachmentTypeID,\r\n }).toPromise();\r\n }\r\n\r\n getAttachmentData(co: any, form: any, keyID: any, attachmentID: any) {\r\n return this.http.get(\"/Office/GetAttachmentData?co=\" + co + \"&form=\" + form + \"&keyID=\" + keyID + \"&attachmentID=\" + attachmentID).toPromise();\r\n }\r\n\r\n deleteAttachment(co: any, form: any, keyID: any, attachmentID: any) {\r\n return this.http.post(\"/Office/DeleteAttachment\",\r\n {\r\n co: co,\r\n form: form,\r\n keyID: keyID,\r\n attachmentID: attachmentID,\r\n }).toPromise();\r\n }\r\n\r\n getAttachmentTypes(co: any) {\r\n return this.http.get(\"/Office/AttachmentTypes?co=\" + co).toPromise();\r\n }\r\n\r\n getFormItemGroups(form: any) {\r\n return this.http.get(\"/Office/GetFormItemGroups?form=\" + form).toPromise();\r\n }\r\n\r\n getFormItemFields(form: any) {\r\n return this.http.get(\"/Office/GetFormItemFields?form=\" + form).toPromise();\r\n }\r\n\r\n getFormReports(co: any, form: any) {\r\n return this.http.get(\"/Office/getFormReports?co=\" + co + \"&form=\" + form).toPromise();\r\n }\r\n\r\n getLookup(co: any, form: any, seq: any, lookup: any, formData: any, searchString: any) {\r\n return this.http.post(\"/Office/getLookup\", {\r\n co: co,\r\n form: form,\r\n seq: seq,\r\n lookup: lookup,\r\n formData: formData,\r\n searchString: searchString\r\n }).toPromise();\r\n }\r\n\r\n getStaticLookups(co: any, form: any) {\r\n return this.http.get(\"/Office/getStaticLookups?co=\" + co + \"&form=\" + form).toPromise();\r\n }\r\n\r\n getVaInquiries(co) {\r\n return this.http.get(\"/Office/GetVaInquiries?co=\" + co).toPromise();\r\n }\r\n\r\n getVaInquiryData(co, queryName, paramValues) {\r\n let url = \"/Office/GetVaInquiryData?co=\" + co + \"&queryName=\" + queryName;\r\n let params = \"\";\r\n for (let i = 0; i < paramValues.length; i++) {\r\n params += \"¶mValues[\" + i + \"]=\" + encodeURIComponent(paramValues[i]);\r\n }\r\n return this.http.get(url + params).toPromise();\r\n }\r\n\r\n getVaInquiryLookup(co, lookup, dependentData = null) {\r\n let url = \"/Office/GetVaInquiryLookup?co=\" + co + \"&lookup=\" + lookup;\r\n if (dependentData != null)\r\n url += \"&dependentData=\" + encodeURIComponent(dependentData);\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getVaInquiryParameters(co, queryName) {\r\n return this.http.get(\"/Office/GetVaInquiryParameters?co=\" + co + \"&queryName=\" + queryName).toPromise();\r\n }\r\n\r\n updateFormState(form, groups, fields) {\r\n let url = \"/Office/UpdateFormState\";\r\n let postData = {\r\n form: form,\r\n groups: groups,\r\n fields: fields\r\n }\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n getExcelFile(tableName: any, company: any, orderby: any, keyid: any, where: any, columnInfo: any, fileName: any) {\r\n return this.http.post(\"/office/SaveExcelFile\", {\r\n form: tableName,\r\n co: company,\r\n orderby: orderby,\r\n keyid: keyid,\r\n where: where,\r\n columns: columnInfo\r\n }).toPromise().then((response) => {\r\n if (response[\"success\"] == false) {\r\n return false;\r\n }\r\n else {\r\n let url = \"/Office/GetExcelFile?formName=\" + tableName + \"&fileName=\" + fileName ?? tableName;\r\n window.location.href = url;\r\n return true;\r\n }\r\n }, (rejectResponse) => {\r\n return false;\r\n });\r\n }\r\n\r\n pendoTrack(formName) {\r\n if (formName == \"1\" || formName == null)\r\n return;\r\n\r\n let url = \"/Office/PendoTrack\";\r\n let postData = {\r\n formName: formName\r\n }\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PerformanceService {\n http: HttpClient;\n\n constructor(http: HttpClient) {\n this.http = http;\n }\n\n getMyHistory() {\n return this.http.get(\"/Performance/GetMyHistory\").toPromise();\n }\n\n getCurrentStatus() {\n return this.http.get(\"/Performance/GetCurrentStatus\").toPromise();\n }\n\n getPRCo() {\n return this.http.get(\"/Performance/GetPRCo\").toPromise();\n }\n\n getManagerGrid(pRCoForFilter?: number, hidePreviousReview?: boolean) {\n return this.http.get(\"/Performance/GetManagerGrid?pRCoForFilter=\" + pRCoForFilter + \"&hidePreviousReview=\" + hidePreviousReview).toPromise();\n }\n\n createPerformanceReview(performanceInstanceID: string) {\n return this.http.post(\"/Performance/CreatePerformanceReview\",\n {\n performanceInstanceID: performanceInstanceID\n }).toPromise();\n }\n\n confirmInstance(performanceInstanceID?: number) {\n return this.http.post(\"/Performance/ConfirmInstance\",\n {\n performanceInstanceID: performanceInstanceID\n }).toPromise();\n }\n\n getChecklistReviewers(checklistInstanceID: number) {\n return this.http.get(\"/Checklist/GetChecklistReviewers?checklistInstanceID=\" + checklistInstanceID).toPromise();\n }\n\n initializeChecklistReviewers(checklistInstanceID: number) {\n return this.http.post(\"/Checklist/InitializeChecklistReviewers\",\n {\n checklistInstanceID: checklistInstanceID\n }).toPromise();\n }\n\n deleteChecklistReviewers(checklistRevID: number) {\n return this.http.post(\"/Checklist/DeleteChecklistReviewers\",\n {\n checklistRevID: checklistRevID\n }).toPromise();\n }\n\n sendChecklists(checklistInstanceIDs: number, filenames: string[], fromEmail: string, toEmail: string[], subject: string, message: string, newFilenames: string[], newFiles: any[], templateID: any[], mailFrom: string, queueType: string, notificationMode: string, sMSTo: string) {\n return this.http.post(\"/Checklist/SendChecklists\",\n {\n checklistInstanceIDs: checklistInstanceIDs,\n filenames: filenames,\n fromEmail: fromEmail,\n toEmail: toEmail,\n subject: subject,\n message: message,\n newFilenames: newFilenames,\n newFiles: newFiles,\n templateID: templateID,\n mailFrom: mailFrom,\n queueType: queueType,\n notificationMode: notificationMode,\n sMSTo: sMSTo\n }).toPromise();\n }\n\n sendChecklistSign(signatureDataStr: string, checklistInstanceID: number, typeSign: boolean, latitude: number, longitude: number) {\n return this.http.post(\"/Checklist/SendChecklistSign\",\n {\n signatureDataStr: signatureDataStr,\n checklistInstanceID: checklistInstanceID,\n typeSign: typeSign,\n latitude: latitude,\n longitude: longitude\n }).toPromise();\n }\n\n getPerformanceInfo(checklistInstanceID: number) {\n var url = \"/Performance/GetPerformanceInfo?checklistInstanceID=\" + checklistInstanceID;\n return this.http.get(url).toPromise();\n }\n\n getTemplateInfo(checklistTemplateID: number) {\n var url = \"/Checklist/GetTemplateInfo?checklistTemplateID=\" + checklistTemplateID;\n return this.http.get(url).toPromise();\n }\n\n getChecklistInstanceDetails(checklistInstanceID: number) {\n var url = \"/Checklist/GetChecklistInstanceDetails?checklistInstanceID=\" + checklistInstanceID;\n return this.http.get(url).toPromise();\n }\n\n getLookupMaxChoice() {\n var url = \"/Checklist/GetLookupMaxChoice\";\n return this.http.get(url).toPromise();\n }\n\n completeReview(checklistInstanceID: number, templateID: number, fileName: string) {\n return this.http.post(\"/Performance/CompleteReview\",\n {\n checklistInstanceID: checklistInstanceID,\n templateID: templateID,\n fileName: fileName\n }).toPromise();\n }\n\n getAnalytics(pRCoForFilter?: number, templateFilter?: string, fromDateStr?: string, toDateStr?: string) {\n var url = \"/Performance/GetAnalytics?pRCoForFilter=\" + pRCoForFilter + \"&templateFilter=\" + templateFilter + \"&fromDateStr=\" + fromDateStr + \"&toDateStr=\" + toDateStr;\n return this.http.get(url).toPromise();\n }\n\n getAdminGrid(pRCoForFilter?: number, createdDateStartStr?: string, createdDateEndStr?: string, statusFilter?: string, templateFilter?: string) {\n var url = \"/Performance/GetAdminGrid?pRCoForFilter=\" + pRCoForFilter + \"&createdDateStartStr=\" + createdDateStartStr + \"&createdDateEndStr=\" + createdDateEndStr + \"&statusFilter=\" + statusFilter + \"&templateFilter=\" + templateFilter;\n return this.http.get(url).toPromise();\n }\n\n editPerformanceInstance(performanceInstanceID: string, dateDueStr: string) {\n return this.http.post(\"/Performance/EditPerformanceInstance\",\n {\n performanceInstanceID: performanceInstanceID,\n dateDueStr: dateDueStr\n }).toPromise();\n }\n\n purgePerformanceInstance(performanceInstanceID?: number) {\n return this.http.post(\"/Performance/PurgePerformanceInstance\", {\n performanceInstanceID: performanceInstanceID\n }).toPromise();\n }\n\n unsubmitReview(performanceInstanceID?: number, performanceReviewerID?: number) {\n return this.http.post(\"/Performance/UnsubmitReview\",\n {\n performanceInstanceID: performanceInstanceID,\n performanceReviewerID: performanceReviewerID\n }).toPromise();\n }\n\n getChecklistTemplates(checklistTemplateCatgID?: number) {//move to checkListService\n var url = \"/Checklist/GetChecklistTemplates?checklistTemplateCatgID=\" + checklistTemplateCatgID\n return this.http.get(url).toPromise();\n }\n\n getAttendees() {\n return this.http.get(\"/Admin/GetAttendees\").toPromise();\n }\n\n getReviewersByInstance(performanceInstanceID: any) {\n var url = \"/Performance/GetReviewersByInstance?performanceInstanceID=\" + performanceInstanceID;\n return this.http.get(url).toPromise();\n }\n\n reviewerAdd(performanceInstanceID: any, reviewerUserKeyID: number) {\n return this.http.post(\"/Performance/ReviewerAdd\",\n {\n performanceInstanceID: performanceInstanceID,\n reviewerUserKeyID: reviewerUserKeyID\n }).toPromise();\n }\n\n reviewerDelete(performanceInstanceID: any, performanceReviewerID: number) {\n return this.http.post(\"/Performance/ReviewerDelete\",\n {\n performanceInstanceID: performanceInstanceID,\n performanceReviewerID: performanceReviewerID\n }).toPromise();\n }\n\n sendReminderEmail(performanceInstanceIDString: string, isScheduled: boolean, sendEmail: boolean){\n return this.http.post(\"/Performance/SendReminderEmail\",\n {\n performanceInstanceIDString: performanceInstanceIDString,\n isScheduled: isScheduled,\n sendEmail: sendEmail\n }).toPromise();\n }\n\n getTemplateCategories(checklistTemplateCatgID: number) {\n var url = \"/Checklist/GetTemplateCategories?checklistTemplateCatgID=\" + checklistTemplateCatgID;\n return this.http.get(url).toPromise();\n }\n\n getEmplByChecklistTemplateID(checklistTemplateID:number) {\n var url = \"/Performance/GetEmplByChecklistTemplateID?checklistTemplateID=\" + checklistTemplateID;\n return this.http.get(url).toPromise();\r\n }\n\n initializePerformanceInstance(requestObj:any) {\n return this.http.post(\"/Performance/InitializePerformanceInstance\",\n {\n userKeyIDString: requestObj.userKeyIDString,\n dateDueStr: requestObj.dateDueStr,\n employeeChecklistTemplateID: requestObj.employeeChecklistTemplateID,\n managerChecklistTemplateID: requestObj.managerChecklistTemplateID,\n disableSelfReview: requestObj.disableSelfReview\n }).toPromise();\r\n }\n\n async updateMgrReviewer (params: HttpParams) {\r\n return await this.http.post('/Performance/UpdateMgrReviewer', params).toPromise()\r\n }\n}\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportGatewayService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getLookupData(reportID, paramName, paramData) {\r\n let url = \"/ReportGateway/GetLookupData\";\r\n return this.http.post(url, {\r\n reportID: reportID, paramName: paramName, paramData: paramData\r\n }).toPromise();\r\n }\r\n\r\n getReports(reportID, moduleShortName, company = null) {\r\n let url = \"/ReportGateway/GetReports\" + (reportID != null ? (\"?reportID=\" + reportID) : \"\") + (moduleShortName != null ? (\"?moduleShortName=\" + moduleShortName) : \"\") + (company != null ? (\"&company=\" + company) : \"\");\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n loadReport(Params, ReportID, PorOrLan, fileType, ReportName) {\r\n let url = \"/ReportGateway/LoadReport\";\r\n return this.http.post(url, {\r\n Params: Params, ReportID: ReportID, PorOrLan: PorOrLan, fileType: fileType, ReportName: ReportName\r\n }).toPromise();\r\n }\r\n\r\n setParamCache(params) {\r\n return this.http.post(\"/ReportGateway/SetParamCache\", { rptParams: params }).toPromise();\r\n }\r\n\r\n reportTrack(reportID, reportName, params) {\r\n return this.http.post(\"/ReportGateway/ReportTrack\", { reportID: reportID, reportName: reportName, reportParams: params}).toPromise();\r\n }\r\n\r\n getVistaAttachment(attachmentId, rid, rsid) {\r\n let url = \"/ReportGateway/GetVistaAttachment?attachmentId=\" + attachmentId + \"&rid=\" + rid + \"&rsid=\" + rsid;\r\n return this.http.get(url).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subscription, Subject, from } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SmDataService {\r\n private _handler: Subject = new Subject();\r\n\r\n boradcast(text: string) {\r\n this._handler.next(text);\r\n }\r\n\r\n subscribe(callback: (text: any) => void): Subscription {\r\n return this._handler.subscribe(callback);\r\n }\r\n\r\n public indexedDBVersion = 26;\r\n public allDBTable = [\"SM_GetWorkOrderTripsIsHistory\", \"SM_GetWorkOrderTripsNotHistory\", \"SM_GetServiceItemWOHistory\", \"SM_GetWorkOrderScopesIsHistory\", \"SM_GetWorkOrderScopesNotHistory\", \"SM_GetWorkCompleted\",\r\n \"SM_GetTechnicians\", \"SM_GetServiceItemDetails\", \"SM_GetCommonLookups\", \"SM_GetEquipRevCode\", \"SM_GetSettingsBySMCo\", \"SM_GetScopeTasks\", \"SM_GetScopePurchaseOrders\", \"SM_GetFormsPerScope\", \"SM_GetFormTemplateOptions\",\r\n \"SM_GetSignerContacts\", \"SM_GetCustomers\", \"SM_GetServiceCenters\", \"SM_GetSitesByCustomer\", \"SM_GetServiceItemParts\", \"SM_GetMaterial\", \"SM_GetStandardItems\", \"SM_GetEquipment\", \"SM_GetMaterialWLoc\", \"SM_GetSettingsTable\", \"SM_OfflineSyncTrip\"];\r\n\r\n public enablePWA: boolean;\r\n public lastScroll: any;\r\n public isDrillDown = false;\r\n public clockInStatus: any;\r\n public where: any;\r\n public attachmentWhere: any;\r\n public maxDollarAmount: any;\r\n public scopePageScroll: any;\r\n public isCloseOut: any;\r\n public isClockOut: any;\r\n public previousSM: any;\r\n public position: any;\r\n public toRebind: any;\r\n public clockInOutEnable: any;\r\n public bypassAttach: any;\r\n public loadAttachData: any;\r\n public closeOutTotalList: any;\r\n public signCount: any;\r\n public signList: any;\r\n public tempClose: any;\r\n public numberOfCalls: any;\r\n public signatures: any;\r\n public tempOldTripNotes: any;\r\n public tempOldScopeNotes: any;\r\n public showCompleted: any;\r\n public modalMsg: any;\r\n public initLoading = false;\r\n public navbarHeight: number = 0;\r\n\r\n\r\n public SMDisableGenSign: any;\r\n public SMLaborCodeDefault: any;\r\n public SMTripDefaultFromBuffer: any;\r\n public SMTripDefaultToBuffer: any;\r\n public SMAllowManualPO: any;\r\n public Timecard24Hours: any;\r\n public SMHideSummary: any;\r\n public SMShowSiteNotesOnDash: any;\r\n public FSShowEquipmentEntryLabor: any;\r\n public FSShowBreakHours: any;\r\n public SMHideServiceItem: any;\r\n public SMPaymentURL: any;\r\n public AllowNegAmount: any;\r\n public requireAttachments: any;\r\n public AllowZeroHourTimeLine: any;\r\n public SMIncludeUnscheduled: any;\r\n public SMShowBudgetHour: any;\r\n public SMInvLocDisable: any;\r\n public SMPORouteToField: any;\r\n public SMCallTypeRequire: any;\r\n\r\n //Manage\r\n public allShow = false;\r\n public saveResult: any;\r\n //Details\r\n public taskShowComplete: any;\r\n public scopeNoData: any;\r\n public completedList: any;\r\n //Editing\r\n public editingMode: any;\r\n public addOrEdit: any;\r\n public editingData: any;\r\n public isNewItem: any;\r\n //Service Details\r\n public serviceDetailsFromDetails: any;\r\n public serviceDetailsFromGrid: any;\r\n public serviceDetailsFromQRCode: any;\r\n public serviceDetailsData: any;\r\n public currentTripList: any;\r\n //POQuickCreate\r\n public pOCreate: any;\r\n public POSaved: any;\r\n //FormInstance\r\n public templateData: any;\r\n //CloseOut\r\n public totalTripCharge: any;\r\n public totalTaxCharge: any;\r\n public isCollectSignature: any;\r\n public collectPayment: any;\r\n public closeDetailsList: any;\r\n public tempCloseExcludeForInvoice: any;\r\n public revisitReason: any;\r\n public revisitNotes: any;\r\n public revisitRequired: any;\r\n //ServiceItem\r\n public currentServiceItem: any;\r\n public qrCodeNoData = false;\r\n //Nav\r\n public haveOfflinePostFail: any;\r\n //--------------------------\r\n public haveOfflinePost: boolean;\r\n public offlinePostCallList: any;\r\n public offlinePostFailList: any;\r\n\r\n public isFromSMWODashNow: boolean;\r\n public isFromSMWODashNowWithTrip: boolean;\r\n public SMWODashToManID: any;\r\n public SMWODashToManIDWithTrip: any;\r\n public fromDatePicker: any;\r\n public toDatePicker: any;\r\n public clockStatus: any;\r\n public clockEmpty: boolean;\r\n\r\n public currentWorkOrder: any;\r\n public currentOnline: any;\r\n public currentScope: any;\r\n public currentWorkOrderScopeData: any;\r\n public currentScopeSettings: any;\r\n public currentEditSuperList: any;\r\n public currentTemplate: any;\r\n\r\n public technicianListRawLabor: any;\r\n public technicianListRaw: any;\r\n public tripList = [];\r\n public tripListFiltered = [];\r\n public signDisList = {};\r\n public signOffList = [];\r\n public signOffListRaw = [];\r\n public emailCCList = [];\r\n public lookupList = {};\r\n public addItemList = [];\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\nimport { SmDataService } from './sm-data.service';\r\nimport { SmService } from './sm.service';\r\nimport { CompleteTripModalComponent } from 'src/app/modals/sm/complete-trip-modal/complete-trip-modal.component';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TimeoutService } from 'src/app/core/services/timeout.service';\r\nimport { Router } from '@angular/router';\r\nimport { EventService } from '../../../core/services/event.service';\r\nimport moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SmSharedService {\r\n public format: any;\r\n\r\n constructor(private smService: SmService, public smDataService: SmDataService, private utilityService: UtilityService, private ngbModalService: NgbModal,\r\n private timeoutService: TimeoutService, private router: Router, private eventService: EventService) {\r\n this.format = this.utilityService.getDateFormat();\r\n }\r\n\r\n\r\n public getClockInStatus() {\r\n this.smService.getClockInStatus().then((response: any) => {\r\n if (response != null) {\r\n this.smDataService.clockInStatus = response;\r\n if (this.smDataService.clockInStatus.ClockTime != null) {\r\n this.smDataService.clockInStatus.ClockTimeDisplay = moment(this.smDataService.clockInStatus.ClockTime).utc().format('LT');\r\n this.smDataService.clockInStatus.ClockDateDisplay = moment(this.smDataService.clockInStatus.ClockTime).utc().format(\"YYYY-MM-DD\");\r\n }\r\n } else {\r\n this.smDataService.clockInStatus = null;\r\n }\r\n this.utilityService.closeModal();\r\n this.eventService.broadcast('navClockStatus', this.smDataService.clockInStatus);\r\n\r\n this.smDataService.clockEmpty = false;\r\n\r\n if (this.smDataService.clockInStatus == null)\r\n this.smDataService.clockEmpty = true;\r\n });\r\n }\r\n\r\n public getSignature() {\r\n this.smDataService.signatures = [];\r\n var scopesString = \"\";\r\n $.each(this.smDataService.tempClose, function (key, val) {\r\n scopesString += val.SMWorkOrderScopeID + \",\";\r\n })\r\n\r\n this.smService.getSignatures(this.smDataService.currentWorkOrder.SMTripID, scopesString).then((response: any) => {\r\n this.smDataService.signatures = response;\r\n this.smDataService.signatures.forEach((val, key) => {\r\n val.SignatureImage = \"data:image/png;base64,\" + val.SignatureImage;\r\n val.dateSignedString = moment(val.SignDate).format(\"MM/DD/YYYY\");\r\n })\r\n\r\n this.router.navigate(['/sm/closeout']);\r\n });\r\n }\r\n\r\n public modifyNewRow(data) {\r\n if (data != null) {\r\n if (data.ScheduledDate != null) {\r\n data.date = moment(data.ScheduledDate).utc().format(\"YYYY/MM/DD\");\r\n data.ScheduledDateDisplay = moment(data.ScheduledDate).utc().format(\"DD/MMM\");\r\n }\r\n if (data.ScheduledEndDate != null) {\r\n data.ScheduledEndDateDisplay = moment(data.ScheduledEndDate).utc().format(\"DD/MMM\");\r\n }\r\n if (data.TripDetails != null && data.TripDetails != \"\") {\r\n data.TripDetailsHtml = data.TripDetails;\r\n }\r\n if (data.TripNotes != null && data.TripNotes != \"\") {\r\n data.TripNotesHTML = data.TripNotes;\r\n } else {\r\n data.TripNotesHTML = null;\r\n }\r\n if (data.UDFieldData != null) {\r\n var temp = new DOMParser();\r\n var temp2 = temp.parseFromString(data.UDFieldData, \"text/xml\");\r\n var temp3 = this.utilityService.xmlToJson(temp2);\r\n var temp4 = [];\r\n $.each(temp3.UDFieldData.SMWorkOrderUDPivot, function (key2, val2) {\r\n if (val2.attributes != null)\r\n temp4.push({ ColumnName: val2.attributes.Label, FieldValue: val2.attributes.FieldValue, SMWorkOrderID: val2.attributes.SMWorkOrderID, DataType: val2.attributes.DataType, IsLinkControl: val2.attributes.IsLinkControl });\r\n else\r\n temp4.push({ ColumnName: val2.Label, FieldValue: val2.FieldValue, SMWorkOrderID: val2.SMWorkOrderID, DataType: val2.DataType, IsLinkControl: val2.IsLinkControl });\r\n });\r\n data.udDisplay = temp4;\r\n }\r\n if (data.ScopeData != null) {\r\n var temp = new DOMParser();\r\n var temp2 = temp.parseFromString(data.ScopeData, \"text/xml\");\r\n var temp3 = this.utilityService.xmlToJson(temp2);\r\n var temp4 = [];\r\n var BillableHours = 0.000, HasBilledMatlCount = 0, HasPOCount = 0, LaborHours = 0.000, TotalItems = 0, Units = 0.000, BudgetLaborHours = 0;\r\n\r\n Object.entries(temp3.WorkOrderScopes.Scope).forEach(([key2, val2]: any) => {\r\n if (val2.attributes != null && val2.attributes.SMWorkOrderScopeID != null) {\r\n temp4.push({\r\n SMWorkOrderScopeID: val2.attributes.SMWorkOrderScopeID, Scope: val2.attributes.Scope, ScopeDescription: val2.attributes.ScopeDescription, UniqueAttchID: val2.attributes.UniqueAttchID,\r\n SMCo: data.SMCo, SummaryLaborHours: val2.attributes.SummaryLaborHours, SummaryBillableHours: val2.attributes.SummaryBillableHours, SummaryUnits: val2.attributes.SummaryUnits,\r\n POLineCount: val2.attributes.POLineCount, SummaryTotalItems: val2.attributes.SummaryTotalItems, MaterialItemCount: val2.attributes.MaterialItemCount,\r\n IsLumpSum: (val2.attributes.IsLumpSum == \"0\" ? false : true), BudgetLaborHours: val2.attributes.BudgetLaborHours\r\n });\r\n if (val2.attributes.IsLumpSum == \"0\") {\r\n BillableHours += parseFloat(val2.attributes.SummaryBillableHours);\r\n }\r\n LaborHours += parseFloat(val2.attributes.SummaryLaborHours);\r\n Units += parseFloat(val2.attributes.SummaryUnits);\r\n TotalItems += parseInt(val2.attributes.SummaryTotalItems);\r\n HasBilledMatlCount = (parseInt(val2.attributes.MaterialItemCount) > 0 ? (HasBilledMatlCount += parseInt(val2.attributes.MaterialItemCount)) : HasBilledMatlCount);\r\n HasPOCount = (parseInt(val2.attributes.POLineCount) > 0 ? (HasPOCount += parseInt(val2.attributes.POLineCount)) : HasPOCount);\r\n BudgetLaborHours += (val2.attributes.BudgetLaborHours != null ? parseFloat(val2.attributes.BudgetLaborHours) : 0);\r\n } else {\r\n var singleVal = temp3.WorkOrderScopes.Scope;\r\n\r\n if (singleVal.attributes.SMWorkOrderScopeID != null && key2 == \"attributes\") {\r\n temp4.push({\r\n SMWorkOrderScopeID: singleVal.attributes.SMWorkOrderScopeID, Scope: singleVal.attributes.Scope, ScopeDescription: singleVal.attributes.ScopeDescription, UniqueAttchID: singleVal.attributes.UniqueAttchID, SMCo: data.SMCo,\r\n SummaryLaborHours: singleVal.attributes.SummaryLaborHours, SummaryBillableHours: singleVal.attributes.SummaryBillableHours, SummaryUnits: singleVal.attributes.SummaryUnits, POLineCount: singleVal.attributes.POLineCount,\r\n SummaryTotalItems: singleVal.attributes.SummaryTotalItems, MaterialItemCount: singleVal.attributes.MaterialItemCount, IsLumpSum: (singleVal.attributes.IsLumpSum == \"0\" ? false : true),\r\n BudgetLaborHours: singleVal.attributes.BudgetLaborHours\r\n });\r\n if (singleVal.attributes.IsLumpSum == \"0\") {\r\n BillableHours += parseFloat(singleVal.attributes.SummaryBillableHours);\r\n }\r\n LaborHours += parseFloat(singleVal.attributes.SummaryLaborHours);\r\n Units += parseFloat(singleVal.attributes.SummaryUnits);\r\n TotalItems += parseInt(singleVal.attributes.SummaryTotalItems);\r\n HasBilledMatlCount = (parseInt(singleVal.attributes.MaterialItemCount) > 0 ? (HasBilledMatlCount += parseInt(singleVal.attributes.MaterialItemCount)) : HasBilledMatlCount);\r\n HasPOCount = (parseInt(singleVal.attributes.POLineCount) > 0 ? (HasPOCount += parseInt(singleVal.attributes.POLineCount)) : HasPOCount);\r\n BudgetLaborHours += (singleVal.attributes.BudgetLaborHours != null ? parseFloat(singleVal.attributes.BudgetLaborHours) : 0);\r\n }\r\n }\r\n });\r\n \r\n data.ScopeDataDisplay = temp4;\r\n data.SummaryBillableHours = BillableHours;\r\n data.SummaryHasBilledMatl = (HasBilledMatlCount > 0 ? true : false);\r\n data.SummaryHasPO = (HasPOCount > 0 ? true : false);\r\n data.SummaryLaborHours = LaborHours;\r\n data.SummaryTotalItems = TotalItems;\r\n data.SummaryUnits = Units;\r\n data.BudgetLaborHours = BudgetLaborHours;\r\n }\r\n if (data.PriorityColor != null) {\r\n var tempColor = this.utilityService.hexToRgb(data.PriorityColor);\r\n if ((tempColor.r * 0.299 + tempColor.g * 0.587 + tempColor.b * 0.114) > 186)\r\n data.fontColor = \"#363545\"\r\n else\r\n data.fontColor = \"#ffffff\";\r\n } else {\r\n data.PriorityColor = \"#C81922\"\r\n data.fontColor = \"#363545\"\r\n }\r\n data.TripName = ((data.ScheduledDate != null) ? data.ScheduledDateDisplay + \" -\" : \"\")\r\n + (data.ScheduledEndDate != null ? data.ScheduledEndDateDisplay + \" -\" : \"\")\r\n + (data.ScheduledTime != null ? data.ScheduledTime + (data.SMTripID != -2 ? \" -\" : \"\") : \"\")\r\n + (data.SMTripID != -2 ? (\"WO #\" + data.WorkOrder) : \"\");\r\n data.FullAddress = [data.Address1, data.Address2, data.City, data.State, data.Zip].filter(Boolean).join(\" \");\r\n }\r\n }\r\n\r\n public getScopePurchaseOrders(data, closeOut, index) {\r\n var url = \"?sMWorkOrderScopeID=\" + (data == null ? this.smDataService.currentWorkOrderScopeData.SMWorkOrderScopeID : data.SMWorkOrderScopeID);\r\n this.smService.getScopePurchaseOrders(url).then((response: any) => {\r\n if (this.smDataService.completedList == null) {\r\n if (closeOut) {\r\n this.smDataService.completedList = ({ Equipment: [], Labor: [], Misc: [], Inventory: [], PO: [] });\r\n } else {\r\n this.smDataService.completedList = {};\r\n }\r\n }\r\n var totalAmount = 0;\r\n var taxCharge = 0;\r\n this.smDataService.completedList[\"PO\"] = [];\r\n response.forEach((val, key) => {\r\n if (val.PODate != null) {\r\n val.PODateDisplay = moment(val.PODate).utc().format(this.format.substr(0, 8).toUpperCase());\r\n }\r\n totalAmount += val.PriceTotal;\r\n taxCharge += val.TaxAmount;\r\n this.smDataService.completedList[\"PO\"].push(val);\r\n });\r\n\r\n if (closeOut) {\r\n if (this.smDataService.closeDetailsList[index].IsLumpSum) {\r\n totalAmount = this.smDataService.closeDetailsList[index].LumpSumAmt;\r\n taxCharge = this.smDataService.closeDetailsList[index].TotalWOTaxAmount;\r\n this.smDataService.totalTripCharge = totalAmount;\r\n this.smDataService.totalTaxCharge = taxCharge;\r\n } else {\r\n this.smDataService.totalTripCharge += totalAmount;\r\n this.smDataService.totalTaxCharge += taxCharge;\r\n }\r\n this.smDataService.closeDetailsList[index][\"completedList\"] = JSON.parse(JSON.stringify(this.smDataService.completedList));\r\n if (isNaN(this.smDataService.closeDetailsList[index][\"totalAmount\"])) {\r\n this.smDataService.closeDetailsList[index][\"totalAmount\"] = 0;\r\n }\r\n this.smDataService.closeDetailsList[index][\"totalAmount\"] = totalAmount;\r\n }\r\n });\r\n }\r\n\r\n public getSignerContacts() {\r\n this.smService.getSignerContacts(this.smDataService.currentWorkOrder.SMWorkOrderID, this.smDataService.currentWorkOrder.SMWorkOrderID).then((response: any) => {\r\n this.smDataService.signDisList = {};\r\n this.smDataService.signOffList = [];\r\n this.smDataService.signOffListRaw = [];\r\n this.smDataService.emailCCList = [];\r\n response.forEach((val, key) => {\r\n val.Display = val.FirstName + \" \" + val.LastName + (val.Organization != null ? \" - \" + val.Organization : \"\");\r\n if (val.AlwaysEmail) {\r\n this.smDataService.emailCCList.push(val);\r\n }\r\n this.smDataService.signOffList.push(val);\r\n this.smDataService.signOffListRaw.push(val);\r\n })\r\n if (this.smDataService.currentScopeSettings != null && this.smDataService.currentScopeSettings.WorkCompletedCCEmailList != null) {\r\n this.smDataService.currentScopeSettings.WorkCompletedCCEmailList.split(\",\").forEach((val, key) => {\r\n this.smDataService.emailCCList.push({ \"Email\": val.trim() });\r\n })\r\n }\r\n this.smDataService.signOffList.push({ Email: \"\", FirstName: \"\", LastName: \"\", Organization: \"\", Title: \"\", Display: \"Add a new contact...\", HQContactID: -1 });\r\n this.smDataService.signOffList.unshift({ Email: \"\", FirstName: \"\", LastName: \"\", Organization: \"\", Title: \"\", Display: \"No Signer\", HQContactID: -2 });\r\n });\r\n }\r\n\r\n public resetPage(loadTrip, clockOut, routeToManage) {\r\n if (routeToManage)\r\n this.router.navigate(['/sm/manage']);\r\n this.smDataService.allShow = true;\r\n this.smDataService.lookupList = {};\r\n this.smDataService.currentWorkOrder = null;\r\n this.smDataService.currentWorkOrderScopeData = null;\r\n this.smDataService.currentScopeSettings = null;\r\n this.smDataService.scopeNoData = false;\r\n this.smDataService.isCloseOut = false;\r\n this.smDataService.completedList = {};\r\n this.smDataService.serviceDetailsFromGrid = false;\r\n this.smDataService.serviceDetailsFromDetails = false;\r\n this.smDataService.isCollectSignature = false;\r\n this.smDataService.collectPayment = false;\r\n this.smDataService.isDrillDown = false;\r\n this.smDataService.isClockOut = false;\r\n if (loadTrip) {\r\n this.smDataService.tripList = null;\r\n this.smDataService.tripListFiltered = null;\r\n this.eventService.broadcast('smGetTrip');\r\n }\r\n if (clockOut) {\r\n this.eventService.broadcast(\"smClockOutAction\");\r\n }\r\n }\r\n\r\n public removeSession() {\r\n sessionStorage.removeItem(\"currentWorkOrder\");\r\n sessionStorage.removeItem(\"currentScope\");\r\n sessionStorage.removeItem(\"lastScroll\");\r\n sessionStorage.removeItem(\"fromDatePicker\");\r\n sessionStorage.removeItem(\"toDatePicker\");\r\n sessionStorage.removeItem(\"isDrillDown\");\r\n sessionStorage.removeItem(\"unscheduled\");\r\n sessionStorage.removeItem(\"sortValue\");\r\n sessionStorage.removeItem(\"searchText\");\r\n\r\n sessionStorage.removeItem(\"stayServiceDetails\"); \r\n sessionStorage.removeItem(\"SMWODashToManID\");\r\n sessionStorage.removeItem(\"SMWODashToManIDWithTrip\");\r\n }\r\n\r\n public async completeTrip(isCollectSignature) {\r\n let modalRef = this.ngbModalService.open(CompleteTripModalComponent, { size: 'md', backdrop: 'static' });\r\n modalRef.componentInstance.currentTrip = this.smDataService.currentWorkOrder;\r\n modalRef.componentInstance.lookup = this.smDataService.lookupList;\r\n modalRef.componentInstance.clockStatus = this.smDataService.clockInStatus;\r\n modalRef.componentInstance.isCollectSignature = isCollectSignature;\r\n modalRef.result.then((result) => {\r\n /*\r\n $scope.closeDetailsList = []; scopeData, tasksList, idList, selectedTasksList, selectedTaskItem, completedList, savedFiles, templateList\r\n */\r\n\r\n if (!result.justComplete) {\r\n this.timeoutService.refreshTimeout();\r\n this.utilityService.openModal();\r\n this.smDataService.isCloseOut = true;\r\n this.smDataService.tempClose = [];\r\n this.smDataService.closeDetailsList = [];\r\n this.smDataService.signList = [];\r\n this.smDataService.signCount = 0;\r\n this.smDataService.closeOutTotalList = [];\r\n this.smDataService.isCollectSignature = isCollectSignature\r\n this.smDataService.revisitRequired = result.revisitRequired;\r\n this.smDataService.revisitReason = result.revisitReason;\r\n this.smDataService.revisitNotes = result.revisitNotes;\r\n this.smDataService.loadAttachData = result.loadAttachData;\r\n this.smDataService.collectPayment = result.collectPayment;\r\n this.smDataService.bypassAttach = result.bypassAttach;\r\n this.smDataService.tempCloseExcludeForInvoice = result.tempCloseExcludeForInvoice;\r\n\r\n result.closeList.forEach((val, key) => {\r\n if (val.IsClose) {\r\n this.smDataService.tempClose.push(val);\r\n this.smDataService.closeDetailsList.push({});\r\n }\r\n })\r\n this.smDataService.totalTripCharge = 0;\r\n this.smDataService.totalTaxCharge = 0;\r\n this.smDataService.taskShowComplete = true;\r\n this.smDataService.numberOfCalls = (5 * this.smDataService.tempClose.length) + 1;\r\n if (this.smDataService.currentWorkOrder.TripNotes != null && this.smDataService.currentWorkOrder.TripNotes != \"\")\r\n this.smDataService.currentWorkOrder.TripNotesHTML = this.smDataService.currentWorkOrder.TripNotes;\r\n else {\r\n this.smDataService.currentWorkOrder.TripNotesHTML = null;\r\n }\r\n\r\n this.smService.getSettingsBySMCo(this.smDataService.tempClose[0].SMCo).then((response: any) => {\r\n this.smDataService.currentScopeSettings = response[0];\r\n this.getSignature();\r\n });\r\n } else {\r\n this.resetPage(true, false, true);\r\n return (result.success);\r\n }\r\n });\r\n }\r\n\r\n public async manageTripNoteUpdate(timeStampFromModal, data, newNote) {\r\n var tripNote = null;\r\n if (timeStampFromModal) {\r\n tripNote = newNote\r\n } else {\r\n if (this.smDataService.currentScopeSettings?.TripNotesVisibilty == \"Date\") {\r\n tripNote = null;\r\n } else {\r\n tripNote = data.TripNotes;\r\n }\r\n }\r\n if (this.smDataService.enablePWA) {\r\n if (!this.smDataService.currentOnline && navigator.serviceWorker.controller != null)\r\n navigator.serviceWorker.controller.postMessage({ shouldOfflineSync: false, sMTripID: data.SMTripID, tripNotes: tripNote, workOrderDescription: data.WorkOrderDescription, tripDescription: data.TripDescription, installDatabase: false, storeOfflineSyncTrip: false })\r\n }\r\n await this.smService.updateTripNotes(data.SMTripID, tripNote, data.WorkOrderDescription, data.TripDescription).then((response: any) => {\r\n if (response.success) {\r\n this.smDataService.tempOldTripNotes = null;\r\n data.TripNotes = response.data;\r\n data.TripNotesHTML = data.TripNotes;\r\n }\r\n if (!response.success && this.smDataService.tempOldTripNotes != null)\r\n data.TripNotes = this.smDataService.tempOldTripNotes\r\n this.smDataService.saveResult = response;\r\n return response;\r\n }, (error) => {\r\n if (!this.smDataService.currentOnline) {\r\n this.smDataService.tempOldTripNotes = null\r\n let indexdb = window.indexedDB.open(\"KDS_SM_DB\", this.smDataService.indexedDBVersion);\r\n indexdb.onsuccess = () => {\r\n let db = indexdb.result;\r\n let transaction = db.transaction(\"SM_GetWorkOrderTripsNotHistory\", \"readwrite\");\r\n let storage = transaction.objectStore(\"SM_GetWorkOrderTripsNotHistory\");\r\n var keyRangeValue = IDBKeyRange.only(data.SMTripID);\r\n\r\n let cursor = storage.openCursor(keyRangeValue);\r\n cursor.onsuccess = (event: any) => {\r\n var curData = event.target.result;\r\n var tempData = curData.value;\r\n tempData.TripNotes = data.TripNotes;\r\n tempData.WorkOrderDescription = data.WorkOrderDescription;\r\n tempData.TripDescription = data.TripDescription;\r\n curData.update(tempData);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SmService {\r\n http: HttpClient;\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n defaultAssignmentsGet(checklistTemplateID: number) {\r\n var url = \"/SM/DefaultAssignmentsGet?checklistTemplateID=\" + checklistTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n defaultAssignmentGetChoices(assignType: string) {\r\n var url = \"/SM/DefaultAssignmentGetChoices?assignType=\" + assignType;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n defaultAssignmentAddEdit(checklistDefaultAssignID: number, checklistTemplateID: number, assignType: string, assignValue: string, completeRequired?: boolean) {\r\n return this.http.post(\"/SM/DefaultAssignmentAddEdit\",\r\n {\r\n checklistDefaultAssignID: checklistDefaultAssignID,\r\n checklistTemplateID: checklistTemplateID,\r\n assignType: assignType,\r\n assignValue: assignValue,\r\n completeRequired: completeRequired\r\n }).toPromise();\r\n }\r\n\r\n defaultAssignmentRemove(checklistDefaultAssignID: number, checklistTemplateID: number) {\r\n return this.http.post(\"/SM/DefaultAssignmentRemove\",\r\n {\r\n checklistTemplateID: checklistTemplateID,\r\n checklistDefaultAssignID: checklistDefaultAssignID\r\n }).toPromise();\r\n }\r\n\r\n getTechnicians(sMCo?: number) {\r\n var url = \"/SM/GetTechnicians\" + (sMCo != null ? \"?sMCo=\" + sMCo : \"\");\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getWorkOrderTrips(extendURL: string) {\r\n var url = \"/SM/GetWorkOrderTrips\" + extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getClockInStatus() {\r\n var url = \"/SM/GetClockInStatus\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getSignerContacts(sMWorkOrderID: any, sMTripID: any) {\r\n var url = \"/SM/GetSignerContacts?sMWorkOrderID=\" + sMWorkOrderID + \"&sMTripID=\" + sMTripID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCommonLookups(extendURL: string) {\r\n var url = \"/SM/GetCommonLookups\" + extendURL\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getSettingsBySMCo(sMCo: number) {\r\n var url = \"/SM/GetSettingsBySMCo?sMCo=\" + sMCo;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n syncAll(fromDate: any, toDate: any, isUnscheduled: any) {\r\n var url = \"/SM/SyncAll?fromTripDateStr=\" + fromDate + \"&toTripDateStr=\" + toDate + \"&includeUnscheduled=\" + isUnscheduled;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getVPAttachmentList(uniqueAttchID: any, includeData: any) {\r\n var url = \"/Document/GetVPAttachmentList?uniqueAttchID=\" + uniqueAttchID + \"&includeData=\" + includeData;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getWorkCompleted(extendURL: string) {\r\n var url = \"/SM/GetWorkCompleted\" + extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getFormTemplateOptions(SMWorkOrderScopeID: any) {\r\n var url = \"/SM/GetFormTemplateOptions?sMWorkOrderScopeID=\" + SMWorkOrderScopeID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getFormsPerScope(extendURL: string) {\r\n var url = \"/SM/GetFormsPerScope\" + extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getWorkOrderScopes(extendURL: string) {\r\n var url = \"/SM/GetWorkOrderScopes\" + extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getScopePurchaseOrders(extendURL: string) {\r\n var url = \"/SM/GetScopePurchaseOrders\" + extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getScopeTasks(extendURL: string) {\r\n var url = \"/SM/GetScopeTasks\" + extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n workOrderScopeInsertUpdate(data: any) {\r\n return this.http.post(\"/SM/WorkOrderScopeInsertUpdate\",\r\n {\r\n sMWorkOrderID: data.sMWorkOrderID, sMWorkOrderScopeID: data.sMWorkOrderScopeID, sMWorkScope: data.sMWorkScope,\r\n priority: data.priority, scopeDetails: data.scopeDetails, sMCallType: data.sMCallType,\r\n serviceItem: data.serviceItem, sMScopeNotes: data.sMScopeNotes, phase: data.phase\r\n }).toPromise();\r\n }\r\n\r\n getEQSIMA(extendURL: any) {\r\n var url = extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRevCode(extendURL: string) {\r\n var url = \"/SM/GetEquipRevCode\" + extendURL;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n insertUpdateSMWorkCompleted(data: any) {\r\n return this.http.post(\"/SM/InsertUpdateSMWorkCompleted\",\r\n {\r\n sMWorkOrderScopeID: data.sMWorkOrderScopeID, sMWorkCompletedID: data.sMWorkCompletedID,\r\n dateStr: data.dateStr, lineType: data.lineType, nonBillable: data.nonBillable,\r\n serviceItem: data.serviceItem, sMCostType: data.sMCostType, technician: data.technician, pRHoursWorked: data.pRHoursWorked,\r\n pRBillableHours: data.pRBillableHours, pRPayType: data.pRPayType, pRLaborCode: data.pRLaborCode, eMEMKeyID: data.eMEMKeyID,\r\n revCode: data.revCode, eQUnits: data.eQUnits, standardItem: data.standardItem, notes: data.notes,\r\n startTime: data.startTime, stopTime: data.stopTime, isClockOut: data.isClockOut, breakHours: data.breakHours,\r\n costQty: data.costQty, iNCo: data.iNCo, iNLMKeyID: data.iNLMKeyID,\r\n materical: data.materical, gPSLat: data.gPSLat, gPSLong: data.gPSLong, isNewItem: data.isNewItem, tempType: data.tempType,\r\n NewMiscStandardItem: data.NewMiscStandardItem, NewINMaterial: data.NewINMaterial, NewEMEMKeyID: data.NewEMEMKeyID, SMTripID: data.SMTripID\r\n }).toPromise();\r\n }\r\n\r\n deleteSMWorkCompleted(sMWorkCompletedID: any) {\r\n return this.http.post(\"/SM/DeleteSMWorkCompleted\",\r\n {\r\n sMWorkCompletedID: sMWorkCompletedID\r\n }).toPromise();\r\n }\r\n\r\n updateTripNotes(sMTripID: any, tripNotes: any, workOrderDescription: any, tripDescription: any) {\r\n return this.http.post(\"/SM/UpdateTripNotes\",\r\n {\r\n sMTripID: sMTripID, tripNotes: tripNotes, workOrderDescription: workOrderDescription, tripDescription: tripDescription\r\n }).toPromise();\r\n }\r\n\r\n updateTripStatus(sMTripID: any, tripStatus: any) {\r\n return this.http.post(\"/SM/UpdateTripStatus\",\r\n {\r\n sMTripID: sMTripID, tripStatus: tripStatus\r\n }).toPromise();\r\n }\r\n\r\n createNewForm(checklistTemplateID: any, sMWorkOrderScopeID: any, sMTripID: any) {\r\n return this.http.post(\"/SM/CreateNewForm\", {\r\n checklistTemplateID: checklistTemplateID, sMWorkOrderScopeID: sMWorkOrderScopeID, sMTripID: sMTripID\r\n }).toPromise();\r\n }\r\n\r\n deleteForm(scopeChecklistInstanceID: any) {\r\n return this.http.post(\"/SM/DeleteForm\", {\r\n scopeChecklistInstanceID: scopeChecklistInstanceID\r\n }).toPromise();\r\n }\r\n\r\n updateScopeTask(sMWorkOrderScopeID: any, sMScopeTaskID: any, completed: any) {\r\n return this.http.post(\"/SM/UpdateScopeTask\", {\r\n sMWorkOrderScopeID: sMWorkOrderScopeID, sMScopeTaskID: sMScopeTaskID, completed: completed\r\n }).toPromise();\r\n }\r\n\r\n updateSettings(enableOfflineFS: any) {\r\n return this.http.post(\"/SM/UpdateSettings\", {\r\n enableOfflineFS: enableOfflineFS\r\n }).toPromise();\r\n }\r\n\r\n pPOInsert(sMWorkOrderScopeID: any, pODescription: any, userPONumber: any, pORoughAmount: any, aPVMKeyID: any, requestDateStr: any, sMCostType: any, sMTripID: any) {\r\n return this.http.post(\"/SM/POInsert\", {\r\n sMWorkOrderScopeID: sMWorkOrderScopeID, pODescription: pODescription, userPONumber: userPONumber, pORoughAmount: pORoughAmount, aPVMKeyID: aPVMKeyID,\r\n requestDateStr: requestDateStr, sMCostType: sMCostType, sMTripID: sMTripID\r\n }).toPromise();\r\n }\r\n\r\n getFormsPerScopeMulti(sMWorkOrderScopeID: any, sMTripID: any): any {\r\n return this.http.post(\"/SM/GetFormsPerScopeMulti\", { sMWorkOrderScopeID: sMWorkOrderScopeID, sMTripID: sMTripID }).toPromise();\r\n }\r\n\r\n completeTrip(data: any) {\r\n return this.http.post(\"/SM/CompleteTrip\", {\r\n sMTripID: data.sMTripID, sMWorkOrderID: data.sMWorkOrderID, revisitRequired: data.revisitRequired, revisitReason: data.revisitReason, revisitNotes: data.revisitNotes,\r\n signatureImage: data.signatureImage, signatureLat: data.signatureLat, signatureLong: data.signatureLong, hQContactID: data.hQContactID, firstName: data.firstName, lastName: data.lastName,\r\n title: data.title, email: data.email, scopes: data.scopes, unique: data.unique, fileName: data.fileName, emailList: data.emailList, subject: data.subject, justComplete: data.justComplete,\r\n sMCO: data.sMCO, phone: data.phone, ccEmailList: data.ccEmailList, justSendEmail: data.justSendEmail, trip: data.trip, techName: data.techName, companyName: data.companyName\r\n }).toPromise();\r\n }\r\n\r\n getServiceItemDetails(sMServiceSiteID: any, sMServiceItemID: any) {\r\n return this.http.get(\"/SM/GetServiceItemDetails?\" + (sMServiceSiteID != null ? \"sMServiceSiteID=\" + sMServiceSiteID : \"sMServiceItemID=\" + sMServiceItemID)).toPromise();\r\n }\r\n\r\n serviceItemWOHistory(sMServiceSiteID: any, sMTripID: any, sMServiceItemID: any) {\r\n return this.http.get(\"/SM/ServiceItemWOHistory?sMTripID=\" + sMTripID + (sMServiceSiteID != null ? \"&sMServiceSiteID=\" + sMServiceSiteID : \"\") + (sMServiceItemID != null ? \"&sMServiceItemID=\" + sMServiceItemID : \"\")).toPromise();\r\n }\r\n\r\n updateSiteNotes(sMServiceSiteID: any, siteNotes: any) {\r\n return this.http.post(\"/SM/UpdateSiteNotes\", { sMServiceSiteID: sMServiceSiteID, siteNotes: siteNotes }).toPromise();\r\n }\r\n\r\n getCustomers(SMCo: any) {\r\n return this.http.get(\"/SM/GetCustomers?sMCo=\" + SMCo + \"&includeInactive=false\").toPromise();\r\n }\r\n\r\n getSitesByCustomer(queryStrArr: any) {\r\n return this.http.get(\"/SM/GetSitesByCustomer?\" + queryStrArr).toPromise();\r\n }\r\n\r\n getServiceCenters(SMCo: any) {\r\n return this.http.get(\"/SM/GetServiceCenters?sMCo=\" + SMCo + \"&includeInactive=false\").toPromise();\r\n }\r\n\r\n workOrderInsertUpdate(data) {\r\n return this.http.post(\"/SM/WorkOrderInsertUpdate\", {\r\n sMCo: data.sMCo, sMWorkOrderID: data.sMWorkOrderID, sMCustomerID: data.sMCustomerID, sMServiceSiteID: data.sMServiceSiteID, workOrderDescription: data.workOrderDescription, requestedBy: data.requestedBy,\r\n requestedByPhone: data.requestedByPhone, contactName: data.contactName, contactPhone: data.contactPhone, leadTechnician: data.leadTechnician,\r\n serviceCenter: data.serviceCenter, sMWorkOrderNotes: data.sMWorkOrderNotes, includeUnscheduled: data.includeUnscheduled, sMTripID: data.sMTripID, workOrder: data.workOrder, sMCallType: data.sMCallType, division: data.division\r\n }).toPromise();\r\n }\r\n\r\n serviceItemInsertUpdate(sMServiceItemID: any, sMCo: any, serviceSite: any, serviceItem: any, itemDescription: any, manufacturer: any, model: any, yearManufactured: any, location: any,\r\n sMTypeID: any, serialNumber: any, active: any, serviceItemSummary: any, QRCodeID: any) {\r\n return this.http.post(\"/SM/ServiceItemInsertUpdate\", {\r\n sMServiceItemID: sMServiceItemID, sMCo: sMCo, serviceSite: serviceSite, serviceItem: serviceItem, itemDescription: itemDescription, manufacturer: manufacturer, model: model,\r\n yearManufactured: yearManufactured, location: location, sMTypeID: sMTypeID, serialNumber: serialNumber, active: active, serviceItemSummary: serviceItemSummary, QRCodeID: QRCodeID\r\n }).toPromise();\r\n }\r\n\r\n getServiceItemParts(sMServiceItemID: any, sMServiceSiteID: any) {\r\n var url = \"/SM/GetServiceItemParts?sMServiceItemID=\" + sMServiceItemID + \"&sMServiceSiteID=\" + sMServiceSiteID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n saveTripSignatureList(sMTripID: any, sMWorkOrderID: any, sMScopesString: any, signatureImage: any, signatureLat: any, signatureLong: any, hQContactID: any, firstName: any, lastName: any, title: any,\r\n email: any, phone: any) {\r\n return this.http.post(\"/SM/SaveTripSignatureList\", {\r\n sMTripID: sMTripID, sMWorkOrderID: sMWorkOrderID, sMScopesString: sMScopesString, signatureImage: signatureImage, signatureLat: signatureLat,\r\n signatureLong: signatureLong, hQContactID: hQContactID, firstName: firstName, lastName: lastName, title: title, email: email, phone: phone\r\n }).toPromise();\r\n }\r\n\r\n invoiceProcess(sMWorkOrderID: any, sMScopeExcludeList: any, paymentRef: any) {\r\n return this.http.post(\"/SM/InvoiceProcess\", {\r\n sMWorkOrderID: sMWorkOrderID, sMScopeExcludeList: sMScopeExcludeList, paymentRef: paymentRef\r\n }).toPromise();\r\n }\r\n\r\n tripInsertUpdate(sMWorkOrderID: any, sMTripID: any, tripDescription: any, technician: any, scheduledDateStr: any, scheduleTimeStr: any, isWODashboard: any, tripNotes: any) {\r\n return this.http.post(\"/SM/TripInsertUpdate\", {\r\n sMWorkOrderID: sMWorkOrderID, sMTripID: sMTripID, tripDescription: tripDescription, technician: technician, scheduledDateStr: scheduledDateStr, scheduleTimeStr: scheduleTimeStr, isWODashboard: isWODashboard, tripNotes: tripNotes\r\n }).toPromise();\r\n }\r\n\r\n getSignatures(sMTripID: any, sMScopeString: any) {\r\n var url = \"/SM/GetSignatures?sMTripID=\" + sMTripID + \"&sMScopeString=\" + sMScopeString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getVPAttachmentData(attachmentID: any) {\r\n var url = \"/DailyReports/GetVPAttachmentData?attachmentID=\" + attachmentID + \"&turnOnMaxWidth=false\"\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getVCMttachmentData(contentTypeName: any, docID: any) {\r\n var url = \"/DailyReports/GetVCMttachmentData?contentTypeName=\" + contentTypeName + \"&docID=\" + docID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n updateVPAttachment(attachmentID: any, fileDescription: any, attachmentTypeID: any, sMWorkOrderScopeID: any) {\r\n return this.http.post(\"/SM/UpdateVPAttachment\", {\r\n attachmentID: attachmentID, fileDescription: fileDescription, attachmentTypeID: attachmentTypeID, sMWorkOrderScopeID: sMWorkOrderScopeID\r\n }).toPromise();\r\n }\r\n\r\n getServiceItemIDByQRCode(qrCodeID: any) {\r\n var url = \"/SM/GetServiceItemIDByQRCode?qrCodeID=\" + qrCodeID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n offlinePost(url: any, data: any) {\r\n return this.http.post(url, data).toPromise();\r\n }\r\n\r\n getCompanies() {\r\n var url = \"/SM/GetCompanies\";\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getServiceWorkOrders(queryStrArr: any) {\r\n var url = \"/SM/GetServiceWorkOrders?\" + queryStrArr.join(\"&\");\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTripsByWorkOrder(sMWorkOrderID?: number) {\r\n var url = \"/SM/GetTripsByWorkOrder?sMWorkOrderID=\" + sMWorkOrderID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTripSignatures(sMTripID?: number) {\r\n var url = \"/SM/GetTripSignatures?sMTripID=\" + sMTripID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n}","import { 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 TimeOffService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getExistingDates(userKeyID:number, showApprovedOnly:boolean, startDateString: string, endDateString: string ){\r\n return this.http.get(\"/Time-Off/GetExistingDates?userKeyId=\" + userKeyID + \"&showApprovedOnly=\" + showApprovedOnly).toPromise();\r\n }\r\n\r\n getDefaultWorkHours(id: number){\r\n return this.http.get(\"/Time-Off/GetDefaultWorkHours?id=\" + id).toPromise();\r\n }\r\n\r\n getEmployees(){\r\n return this.http.get(\"/TimeOff/GetEmployees\").toPromise();\r\n }\r\n\r\n getRequestHistory(userKeyID: number) {\r\n return this.http.get(\"/Time-Off/GetRequestHistory?id=\" + userKeyID).toPromise();\r\n }\r\n\r\n getPayPeriods(pREHKeyID: number) {\r\n return this.http.get(\"/Time-Off/GetPayPeriods?id=\" + pREHKeyID).toPromise();\r\n }\r\n\r\n cancelLeaveRequest(leaveRequestID: number, keyID: number) {\r\n return this.http.post(\"/Time-Off/CancelLeaveRequest\",\r\n {\r\n leaveRequestID: leaveRequestID,\r\n KeyID: keyID\r\n }).toPromise();\r\n }\r\n\r\n getLeaveCodes(id:number){\r\n return this.http.get(\"/Time-Off/GetLeaveCodes?id=\"+ id).toPromise();\r\n }\r\n\r\n insertCashOutRequest(pREHKeyID: number, pREndDate: string, cashHours: number) {\r\n return this.http.post(\"/Time-Off/InsertCashOutRequest\",\r\n {\r\n id: pREHKeyID,\r\n date: pREndDate,\r\n hours: cashHours\r\n }).toPromise();\r\n }\r\n\r\n getLeaveReason() {\r\n return this.http.get(\"/Time-Off/GetLeaveReason\").toPromise();\r\n }\r\n\r\n getApproverByPREHKeyID(pREHKeyID: number) {\r\n return this.http.get(\"/Time-Off/GetApproverByPREHKeyID?id=\" + pREHKeyID).toPromise();\r\n }\r\n\r\n timeoffAutoVP(fileName: string, fileData: any, moduleID: number, recordKeyIDList: any[], fileAttachmentID: any, fileAttachmentType: string) {\r\n return this.http.post(\"/Document/timeoffAutoVP\",\r\n {\r\n fileName: fileName,\r\n fileData: fileData,\r\n moduleID: moduleID,\r\n recordKeyIDList: recordKeyIDList,\r\n fileAttachmentID: fileAttachmentID,\r\n fileAttachmentType: fileAttachmentType\r\n }).toPromise();\r\n }\r\n\r\n insertLeaveRequest(id : number, dateStrings: any[], submittedNotes: string, leaveCodeId: string, hours: any, totalHours: number, reqType: string, format: string, reasonCode: string) {\r\n return this.http.post(\"/Time-Off/InsertLeaveRequest\",\r\n {\r\n id: id,\r\n dateStrings: dateStrings,\r\n submittedNotes: submittedNotes,\r\n leaveCodeId: leaveCodeId,\r\n hours: hours,\r\n totalHours: totalHours,\r\n reqType: reqType,\r\n format: format,\r\n reasonCode: reasonCode\r\n }).toPromise();\r\n }\r\n\r\n getRequestsByMonth(pRCo?:number, monthStr?:string, employee?:number){\r\n return this.http.get(\"/Admin/GetRequestsByMonth?pRCo=\" + pRCo + \"&monthStr=\" + monthStr + \"&employee=\" + employee).toPromise();\r\n }\r\n\r\n getHolidaysByUserKeyID(id: number, year: any){\r\n return this.http.get(\"/Time-Off/GetHolidaysByUserKeyID?id=\" + id + \"&year=\" + year).toPromise();\r\n }\r\n\r\n downloadICSMulti(icsList: any){\r\n return this.http.post(\"/Time-Off/DownloadICSMulti\",{\r\n icsList: icsList\r\n }).toPromise();\r\n }\r\n}","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-auto-complete-email-t-c-b',\r\n templateUrl: './auto-complete-email-t-c-b.component.html',\r\n styleUrls: ['./auto-complete-email-t-c-b.component.css']\r\n})\r\nexport class AutoCompleteEmailTCBComponent {\r\n\r\n suggestions: any[] = [];\r\n selectedIndex: number = -1;\r\n @Input(\"model\") selectedTags: any[];\r\n @Input() dropDownList: any[];\r\n @Input(\"disable\") disabled: any;\r\n @Input() searchText: any;\r\n @Input() displayName: any;\r\n @Input() emailName: any;\r\n @Input() selectedEmail: any;\r\n @Output() modelChange = new EventEmitter();\r\n @Output() selectedEmailChange = new EventEmitter();\r\n\r\n constructor(private utilityService: UtilityService) { }\r\n\r\n search() {\r\n this.searchText = this.searchText.trim();\r\n //Put search logic here\r\n if (this.searchText.length > 0) {\r\n var suggestions = [];\r\n this.dropDownList.forEach((email: any) => {\r\n if (email[this.emailName].toLowerCase().indexOf(this.searchText.toLowerCase()) > -1 || email[this.displayName].toLowerCase().indexOf(this.searchText.toLowerCase()) > -1)\r\n suggestions.push({ DisplayName: email[this.displayName], EmailAddress: email[this.emailName] });\r\n });\r\n this.suggestions = suggestions;\r\n if (this.suggestions.length == 0)\r\n this.selectedIndex = -1;\r\n else {\r\n if (this.selectedIndex == -1 || this.selectedIndex > this.suggestions.length) {\r\n this.selectedIndex = 0;\r\n }\r\n }\r\n } else\r\n this.suggestions = [];\r\n }\r\n\r\n checkKeyDown(event: any) {\r\n if (event.keyCode === 40) {//down key, increment selectedIndex\r\n event.preventDefault();\r\n if (this.selectedIndex + 1 !== this.suggestions.length) {\r\n this.selectedIndex++;\r\n }\r\n }\r\n else if (event.keyCode === 38) { //up key, decrement selectedIndex\r\n event.preventDefault();\r\n if (this.selectedIndex - 1 !== -1) {\r\n this.selectedIndex--;\r\n }\r\n }\r\n else if (event.keyCode === 13) { //enter pressed\r\n this.addToInput(this.selectedIndex);\r\n }\r\n else if (event.keyCode === 9) { //tab pressed\r\n this.addToInput(this.selectedIndex);\r\n }\r\n }\r\n\r\n addToInput(index: number) {\r\n if (this.suggestions.length > 0) {\r\n this.searchText = this.suggestions[index].EmailAddress;\r\n this.selectedTags.push(this.suggestions[index])\r\n this.suggestions = [];\r\n }\r\n }\r\n\r\n addToSelectedTags(index: number, where: string) {\r\n if (this.selectedTags.indexOf(this.suggestions[index]) === -1) {\r\n if (index != -1) {\r\n this.selectedTags.push(this.suggestions[index]);\r\n this.searchText = '';\r\n this.suggestions = [];\r\n this.selectedEmail = where;\r\n this.selectedEmailChange.emit(this.selectedEmail);\r\n this.modelChange.emit(this.selectedTags);\r\n }\r\n else {\r\n if (this.utilityService.validateEmail(this.searchText)) {\r\n var newItem = { EmailAddress: this.searchText, DisplayName: this.searchText }\r\n this.selectedTags.push(newItem);\r\n this.searchText = '';\r\n this.suggestions = [];\r\n this.selectedEmail = where;\r\n this.selectedEmailChange.emit(this.selectedEmail);\r\n this.modelChange.emit(this.selectedTags);\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeTag(index: number) {\r\n this.selectedTags.splice(index, 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
\r\n
    \r\n
  • {{suggestion.DisplayName}} ({{suggestion.EmailAddress}})
  • \r\n
\r\n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\n@Component({\r\n selector: 'app-auto-complete-email',\r\n templateUrl: './auto-complete-email.component.html',\r\n styleUrls: ['./auto-complete-email.component.css']\r\n})\r\nexport class AutoCompleteEmailComponent {\r\n suggestions: any[] = [];\r\n selectedIndex: number = -1;\r\n emailList: any[] = [];\r\n @Input(\"model\") selectedTags: any[];\r\n @Input() dropDownList: any[];\r\n @Input(\"disable\") disabled: any;\r\n @Input() searchText: any;\r\n @Output() modelChange = new EventEmitter();\r\n\r\n constructor(private utilityService: UtilityService) { }\r\n\r\n search() {\r\n //Put search logic here\r\n if (this.searchText.length > 0) {\r\n var suggestions = [];\r\n this.emailList.forEach((email: any) => {\r\n if (email.EmailAddress.toLowerCase().indexOf(this.searchText.toLowerCase()) > -1 || email.DisplayName.toLowerCase().indexOf(this.searchText.toLowerCase()) > -1)\r\n suggestions.push(email);\r\n });\r\n this.suggestions = suggestions;\r\n if (this.suggestions.length == 0)\r\n this.selectedIndex = -1;\r\n else {\r\n if (this.selectedIndex == -1 || this.selectedIndex > this.suggestions.length) {\r\n this.selectedIndex = 0;\r\n }\r\n }\r\n } else\r\n this.suggestions = [];\r\n }\r\n\r\n checkKeyDown(event) {\r\n if (event.keyCode === 40) {//down key, increment selectedIndex\r\n event.preventDefault();\r\n if (this.selectedIndex + 1 !== this.suggestions.length) {\r\n this.selectedIndex++;\r\n }\r\n }\r\n else if (event.keyCode === 38) { //up key, decrement selectedIndex\r\n event.preventDefault();\r\n if (this.selectedIndex - 1 !== -1) {\r\n this.selectedIndex--;\r\n }\r\n }\r\n else if (event.keyCode === 13) { //enter pressed\r\n this.addToSelectedTags(this.selectedIndex);\r\n }\r\n else if (event.keyCode === 9) { //tab pressed\r\n this.addToSelectedTags(this.selectedIndex);\r\n }\r\n }\r\n\r\n addToSelectedTags(index) {\r\n if (this.selectedTags.indexOf(this.suggestions[index]) === -1) {\r\n if (index != -1) {\r\n this.selectedTags.push(this.suggestions[index]);\r\n this.searchText = '';\r\n this.suggestions = [];\r\n }\r\n else {\r\n if (this.utilityService.validateEmail(this.searchText)) {\r\n var newItem = { EmailAddress: this.searchText, DisplayName: this.searchText }\r\n this.selectedTags.push(newItem);\r\n this.modelChange.emit(this.selectedTags);\r\n this.searchText = '';\r\n this.suggestions = [];\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeTag(index) {\r\n this.selectedTags.splice(index, 1);\r\n }\r\n\r\n}","
\r\n
\r\n
No Emails Selected
\r\n
\r\n {{selectedTag.DisplayName}}\r\n  close\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • {{suggestion.DisplayName}} ({{suggestion.EmailAddress}})
  • \r\n
\r\n
","import { Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport _ from 'lodash';\r\nimport moment from 'moment';\r\nimport { forkJoin } from 'rxjs';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { EventService } from '../../../core/services/event.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { TimeParserService } from '../../../core/services/time-parser.service';\r\nimport { UtilityService } from '../../../core/services/utility.service';\r\n\r\nimport { CrewTimecardGridService } from '../crew-timecard-grid/services/crew-timecard-grid.service';\r\nimport { CrewTimecardDataService } from '../crew-timecard-grid/services/crew-timecard-data.service'\r\nimport { CrewTimecardManagerService } from '../crew-timecard-grid/services/crew-timecard-manager.service'\r\nimport { EditCellValueModalComponent } from 'src/app/modals/crew-timecard/edit-cell-value-modal/edit-cell-value-modal.component';\r\nimport { CopyCrewLineModalComponent } from '../../../modals/crew-timecard/copy-crew-line-modal/copy-crew-line-modal.component';\r\nimport { WarningModalComponent } from '../../../modals/shared/warning-modal/warning-modal.component';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { RejectLineModalComponent } from '../../../modals/approval/JobApproval/reject-line-modal/reject-line-modal.component';\r\n\r\n@Component({\r\n selector: 'app-crew-timecard-grid',\r\n templateUrl: './crew-timecard-grid.component.html',\r\n styleUrls: ['./crew-timecard-grid.component.css'],\r\n providers: [CrewTimecardDataService, CrewTimecardManagerService]\r\n})\r\n\r\nexport class CrewTimecardGridComponent implements OnInit {\r\n\t@Input() fieldTicketJCCo?: any;\r\n\tportalSettings: any;\r\n\temployeeInfo: any;\r\n crewTimecardID: string;\r\n dataTable: webix.ui.datatable;\r\n\tcrewTimecardDataService: CrewTimecardDataService;\r\n\ttimeParserService: TimeParserService;\r\n\r\n\tamountEarnCodes: any[];\r\n\tamountPayTypes: any[];\r\n\tcallback: any;\r\n\tdependentQueue: any[];\r\n\tcolumnInfoByEmployee: any;\r\n\tcolumnOptions: any[];\r\n\tcolumnRules: any;\r\n\tcurrentCell: any;\r\n\tcurrentEmployeeColumns: {};\r\n\tdefaultUsageToLaborHours: any;\r\n\tgridData: any;\r\n\theight: number;\r\n\tlastRequestedEmployeeDefault: any;\r\n\tlastUsedList: any[];\r\n\tleftSplit: number;\r\n\trawRows: any[];\r\n\trowKeysToIgnore: any[] = [\"PostDate\", \"DailyTime\", \"IsRowAggregate\"];\r\n\tunfilteredRows: any[];\r\n\r\n\tnextEditor: any;\r\n\tsavedValues: any;\r\n\r\n\tmobileMode: boolean = false;\r\n rawData: any;\r\n root: ElementRef;\r\n\tsharedColumnInfo: any[];\r\n\r\n\t//caching variables\r\n\temployeeList: any[];\r\n\tunfilteredEmployeeList: any[];\r\n\tbulkEmployeeList: any[];\r\n\temployeeListBound: boolean;\r\n\temployeesToExclude: any[];\r\n\tlookupValuesCache: any;\r\n\tcacheByColumnValue: any;\r\n\temployeeLockStatus: any;\r\n\r\n\t//grid status variables\r\n\taddingRow: boolean;\r\n\tequipmentAutoSelectRebind: boolean;\r\n\tfirstRowCopy: any;\r\n\tisReadOnlyGridTime: boolean;\r\n\tlastEditedCell: any;\r\n\tlastRequestedRow: any;\r\n\tlargestSortID: any;\r\n\tprocessingRow: boolean;\r\n\trebindingEmployee: boolean;\r\n\ttableSort: string;\r\n\ttableReverse: boolean;\r\n\ttabPressed: string;\r\n\tdateFormat: string;\r\n\r\n\t//Approval daily leave variables\r\n\tsubViewGrid: any;\r\n\tdailyTimeByEmployee: any;\r\n\tearnCodes: any[];\r\n \r\n constructor(\r\n private crewTimecardGridService: CrewTimecardGridService,\r\n\t\tprivate employeeInfoService: EmployeeInfoService,\r\n\t\tprivate bsModalService: BsModalService,\r\n portalSettingsService: PortalSettingsService,\r\n timeParserService: TimeParserService,\r\n crewTimecardDataService: CrewTimecardDataService,\r\n\t\tprivate crewTimecardManagerService: CrewTimecardManagerService,\r\n\t\tprivate ngbmodalService: NgbModal,\r\n\t\tprivate eventService: EventService,\r\n\t\tprivate utilityService: UtilityService,\r\n root: ElementRef\r\n\t) {\r\n\t\tthis.portalSettings = portalSettingsService.getPortalSettings();\r\n\t\tthis.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n\t\tthis.crewTimecardDataService = crewTimecardDataService;\r\n\t\tthis.timeParserService = timeParserService;\r\n\t\tthis.root = root;\r\n\t\tthis.tableSort = sessionStorage.getItem(\"CrewTableSort\");\r\n\t\tthis.tableReverse = sessionStorage.getItem(\"CrewTableReverse\") == \"true\";\r\n\t\tthis.isReadOnlyGridTime = this.employeeInfo.IsReadOnlyGridTime\r\n\t\tthis.defaultUsageToLaborHours = this.portalSettings[\"CTDefaultUsageToLaborHours\"].ConfigValue == \"1\";\r\n\t\tthis.dateFormat = utilityService.getDateFormat().toUpperCase();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.mobileMode = this.utilityService.isMobileMode();\r\n\t\tthis.customizeWebix();\r\n\t\tthis.windowResize();\r\n\t}\r\n\r\n\tgetDataService() {\r\n\t\treturn this.crewTimecardDataService;\r\n\t}\r\n\r\n\tgetRowProperties() {\r\n\t\treturn this.gridData.rowPropertyNames;\r\n }\r\n\r\n\temployeeChanged() {\r\n\t\tif (this.crewTimecardDataService.timecardLoaded && !this.crewTimecardDataService.unsavedChanges && !this.crewTimecardDataService.rowDeleted) {\r\n\t\t\tthis.crewTimecardDataService.initRowCounts();\r\n\t\t\tif (this.crewTimecardDataService.payPeriod.EnableCrews)\r\n\t\t\t\tthis.filterByEmployeeMultiple();\r\n\t\t\telse\r\n\t\t\t\tthis.filterByEmployee();\r\n\t\t}\r\n\t}\r\n\r\n\tupdateFilters() {\r\n\t\tthis.crewTimecardDataService.unsavedChanges = false;\r\n\t\tthis.filterGridRows();\r\n\t}\r\n\r\n\tasync loadTimecard(crewTimecardID, callback: any = null) {\r\n this.crewTimecardID = crewTimecardID;\r\n\t\tthis.initValues();\r\n\t\tthis.callback = callback;\r\n\t\tif (this.crewTimecardDataService.usageMode != \"approval\")\r\n\t\t\tawait this.getEmployeeLockStatus();\r\n\t\tthis.getSharedColumnInfo(callback);\r\n }\r\n\r\n private initValues() {\r\n if (this.dataTable != null)\r\n\t\t\tthis.dataTable.destructor();\r\n\t\tthis.dataTable = null;\r\n\t\tthis.amountEarnCodes = [];\r\n\t\tthis.amountPayTypes = [];\r\n\t\tthis.bulkEmployeeList = [];\r\n\t\tthis.cacheByColumnValue = {};\r\n\t\tthis.callback = null;\r\n\t\tthis.crewTimecardDataService.initValues();\r\n\t\tthis.columnInfoByEmployee = {};\r\n\t\tthis.columnOptions = [];\r\n\t\tthis.dependentQueue = [];\r\n\t\tthis.employeeList = [];\r\n\t\tthis.employeeListBound = false;\r\n\t\tthis.employeeLockStatus = {};\r\n\t\tthis.employeesToExclude = [];\r\n\t\tthis.lastRequestedEmployeeDefault = null;\r\n\t\tthis.crewTimecardDataService.loadingValues = false;\r\n\t\tthis.lookupValuesCache = {};\r\n\t\tthis.nextEditor = null;\r\n\t\tthis.sharedColumnInfo = [];\r\n\t\tthis.unfilteredEmployeeList = [];\r\n\t\tthis.largestSortID = 0;\r\n\r\n\t\t//get expense earncodes and pay types\r\n\t\tlet amountBasedEarnCodesSetting = this.portalSettings[\"AmountBasedEarnCodes\"].ConfigValue;\r\n\t\tif (amountBasedEarnCodesSetting != null) {\r\n\t\t\tthis.amountEarnCodes = amountBasedEarnCodesSetting.split(\",\");\r\n\t\t}\r\n\r\n\t\tvar amountBasedPayTypesSetting = this.portalSettings[\"AmountBasedPayTypes\"].ConfigValue;\r\n\t\tif (amountBasedPayTypesSetting != null) {\r\n\t\t\tthis.amountPayTypes = amountBasedPayTypesSetting.split(\",\");\r\n\t\t}\r\n }\r\n\r\n //methods for getting and processing timecard grid data\r\n\tprivate getTimecardData() {\r\n\t\tthis.crewTimecardGridService.getCrewTimecardData(\r\n\t\t\tthis.crewTimecardDataService.payPeriod.PRPCKeyID,\r\n\t\t\tthis.crewTimecardDataService.template.CrewTemplateID).then((response) => {\r\n\t\t\t\tthis.crewTimecardDataService.timecardLoaded = true;\r\n\t\t\t\tif (response == null || response == \"\") {\r\n\t\t\t\t\tthis.crewTimecardDataService.alertType = \"default\";\r\n\t\t\t\t\tthis.crewTimecardDataService.alertMsg = \"Please add column groups to your template.\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.rawData = response;\r\n\t\t\t\t\tthis.checkRawData();\r\n\t\t\t\t}\r\n\t\t\t}, (err) => {\r\n\t\t\t\tthis.crewTimecardDataService.alertType = \"danger\";\r\n\t\t\t\tthis.crewTimecardDataService.alertMsg = \"An error occurred while loading the timecard.\";\r\n\t\t\t});\r\n\t}\r\n\r\n\t//Note - callback shouldn't be null for any reason\r\n\tprivate getTimecardApprovalGrid(callback: any) {\r\n\t\tlet jobApprovalFilteredMode = this.portalSettings.JobApprovalFilteredMode.ConfigValue === \"1\";\r\n\t\tlet jCJMKeyID = jobApprovalFilteredMode && this.crewTimecardDataService.jobFilter != null ? this.crewTimecardDataService.jobFilter.JCJMKeyID : null;\r\n\t\tlet approvalStatus = this.crewTimecardDataService.approvalStatus == \"all\" ? null : this.crewTimecardDataService.approvalStatus;\r\n\t\tthis.crewTimecardGridService.getTimecardApprovalGrid(this.crewTimecardDataService.payPeriod.PRPCKeyID, this.crewTimecardDataService.payPeriod.HQBCKeyID, jCJMKeyID, approvalStatus).then((response: any) => {\r\n\t\t\ttry {\r\n\t\t\t\tif (response == null || response == \"\") {\r\n\t\t\t\t\tthis.crewTimecardDataService.alertType = \"default\";\r\n\t\t\t\t\tthis.crewTimecardDataService.alertMsg = \"There are no items to approve on this Pay Period.\";\r\n\t\t\t\t\tthis.callback.callbackFunction(false);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.rawData = response;\r\n\t\t\t\t\tthis.checkRawData();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcatch (err) {\r\n\t\t\t\tthis.crewTimecardDataService.alertType = \"danger\";\r\n\t\t\t\tthis.crewTimecardDataService.alertMsg = \"An error occurred while loading the approval grid.\";\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n private checkRawData() {\r\n\t\tif (this.crewTimecardDataService.usageMode == \"approval\")\r\n\t\t\tthis.getDailyTotals()\r\n\t\telse\r\n\t\t\tthis.getEmployeesList();\r\n }\r\n\r\n //extracts employees from the timecard data to populate the employee filter\r\n private getEmployeesList() {\r\n\t\tlet employeeDropdownList = [];\r\n\t\tif (this.rawData.TimecardData.Employee != null) {\r\n\t\t\tif (this.rawData.TimecardData.Employee[0] != null) {\r\n\t\t\t\t$.each(this.rawData.TimecardData.Employee, (key, val) => {\r\n\r\n\t\t\t\t\tif (val[\"@Value\"] != \"\" && employeeDropdownList.indexOf(val[\"@Value\"]) == -1) {\r\n\t\t\t\t\t\temployeeDropdownList.push({ Value: val[\"@Value\"], Label: val[\"@Label\"] });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse if (this.rawData.TimecardData.Employee[\"@Value\"] != null && this.rawData.TimecardData.Employee[\"@Value\"] != \"\") {\r\n\t\t\t\temployeeDropdownList.push({ Value: this.rawData.TimecardData.Employee[\"@Value\"], Label: this.rawData.TimecardData.Employee[\"@Label\"] });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\temployeeDropdownList.sort((a, b) => this.employeeDropdownSort(a,b));\r\n\t\tlet multiselectEmployeesList = [];\r\n\t\tif (this.crewTimecardDataService.payPeriod.EnableCrews)\r\n\t\t\tmultiselectEmployeesList = _.cloneDeep(employeeDropdownList);\r\n\t\temployeeDropdownList.unshift({ Value: \"all\", Label: \"All Employees\" });\r\n\t\tthis.crewTimecardDataService.employees = employeeDropdownList;\r\n\t\tthis.crewTimecardDataService.multiSelectEmployees = multiselectEmployeesList\r\n\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled)\r\n\t\t\tthis.crewTimecardDataService.timeWorked?.setEmployeeList(this.crewTimecardDataService.employees);\r\n\t\t//check that selected employee is in the list\r\n\t\tif (this.crewTimecardDataService.selectedEmployee != null && this.crewTimecardDataService.selectedEmployee != \"all\") {\r\n\t\t\tlet employeeFound = false;\r\n\t\t\t$.each(this.crewTimecardDataService.employees, (key, val) => {\r\n\t\t\t\tif (val.Value == this.crewTimecardDataService.selectedEmployee) {\r\n\t\t\t\t\temployeeFound = true;\r\n\t\t\t\t\tif (this.crewTimecardDataService.payPeriod.EnableCrews) {\r\n\t\t\t\t\t\tthis.crewTimecardDataService.selectedEmployees = [val];\r\n\t\t\t\t\t}\t\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (!employeeFound) {\r\n\t\t\t\tthis.crewTimecardDataService.selectedEmployee = \"all\";\r\n\t\t\t\tif (this.crewTimecardDataService.employees.length == 2)\r\n\t\t\t\t\tthis.crewTimecardDataService.timeWorked?.setEmployee(this.crewTimecardDataService.employees[1].Value);\r\n\t\t\t\telse\r\n\t\t\t\t\tthis.crewTimecardDataService.timeWorked?.setEmployee(null);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.crewTimecardDataService.selectedEmployee = \"all\";\r\n\t\t\tif (this.crewTimecardDataService.employees.length == 2) \r\n\t\t\t\tthis.crewTimecardDataService.timeWorked?.setEmployee(this.crewTimecardDataService.employees[1].Value);\r\n\t\t\telse\r\n\t\t\t\tthis.crewTimecardDataService.timeWorked?.setEmployee(null);\r\n\t\t}\r\n\r\n\t\tif (this.crewTimecardDataService.payPeriod.EnableCrews)\r\n\t\t\tthis.filterByEmployeeMultiple();\r\n\t\telse\r\n\t\t\tthis.filterByEmployee();\r\n\t}\r\n\r\n\tprivate refreshEmployeeList() {\r\n\t\twebix.delay(() => {\r\n\t\t\tlet employeeDropdownList = [];\r\n\t\t\tlet multiselectEmployeesList = [];\r\n\t\t\tlet usedEmployees = [];\r\n\r\n\t\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\t\tlet rowValues = this.dataTable.getItem(rowID);\r\n\t\t\t\tlet employee = null;\r\n\t\t\t\tlet currentEmployee = rowValues.Employee;\r\n\t\t\t\tcurrentEmployee = currentEmployee.substr(0, currentEmployee.indexOf(\"@\"));\r\n\t\t\t\tif (usedEmployees.indexOf(currentEmployee) == -1) {\r\n\t\t\t\t\t//get employee from employeeList\r\n\t\t\t\t\tlet employee = null;\r\n\t\t\t\t\tthis.unfilteredEmployeeList.every((unfilteredEmployee) => {\r\n\t\t\t\t\t\tif (unfilteredEmployee.Value == currentEmployee) {\r\n\t\t\t\t\t\t\temployee = unfilteredEmployee;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (employee == null) {\r\n\t\t\t\t\t\temployee = { Label: rowValues[\"Employee___@Value\"], Value: currentEmployee };\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\temployeeDropdownList.push(employee);\r\n\t\t\t\t\tusedEmployees.push(currentEmployee);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\temployeeDropdownList.sort((a, b) => this.employeeDropdownSort(a, b));\r\n\t\t\tif (this.crewTimecardDataService.payPeriod.EnableCrews)\r\n\t\t\t\tmultiselectEmployeesList = _.cloneDeep(employeeDropdownList);\r\n\t\t\temployeeDropdownList.unshift({ Value: \"all\", Label: \"All Employees\" });\r\n\t\t\tthis.crewTimecardDataService.employees = employeeDropdownList;\r\n\t\t\tthis.crewTimecardDataService.multiSelectEmployees = multiselectEmployeesList;\r\n\r\n\t\t}, this.dataTable);\r\n }\r\n\r\n private filterByEmployee() {\r\n\t\tif (this.crewTimecardDataService.selectedEmployee == null || this.crewTimecardDataService.selectedEmployee == \"all\") {\r\n\t\t\tthis.loadDataTable(this.rawData, false);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet tempData = [];\r\n\t\t\tif (this.rawData.TimecardData.Employee[\"@Value\"] == null) {\r\n\t\t\t\t$.each(this.rawData.TimecardData.Employee, (key, val) => {\r\n\t\t\t\t\tif (val[\"@Value\"] == this.crewTimecardDataService.selectedEmployee) {\r\n\t\t\t\t\t\ttempData.push(val);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.rawData.TimecardData.Employee[\"@Value\"] == this.crewTimecardDataService.selectedEmployee) {\r\n\t\t\t\t\ttempData.push(this.rawData.TimecardData.Employee);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tlet filteredData = _.cloneDeep(this.rawData);\r\n\t\t\tfilteredData.TimecardData.Employee = tempData;\r\n\t\t\tthis.loadDataTable(filteredData, true);\r\n\t\t}\r\n }\r\n\r\n\tprivate filterByEmployeeMultiple() {\r\n\t\t//get selected employees from list\r\n\t\tif (this.crewTimecardDataService.selectedEmployees.length == 0 || this.crewTimecardDataService.selectedEmployees.length == this.crewTimecardDataService.multiSelectEmployees.length) {\r\n\t\t\tthis.loadDataTable(this.rawData, false);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet tempData = [];\r\n\t\t\tif (Array.isArray(this.rawData.TimecardData.Employee)) {\r\n\t\t\t\t$.each(this.rawData.TimecardData.Employee, (key, val) => {\r\n\t\t\t\t\tif (this.crewTimecardDataService.selectedEmployees.map((x) => { return x.Value; }).indexOf(val[\"@Value\"]) > -1) {\r\n\t\t\t\t\t\ttempData.push(val);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tlet filteredData = _.cloneDeep(this.rawData);\r\n\t\t\t\tfilteredData.TimecardData.Employee = tempData;\r\n\t\t\t\tthis.loadDataTable(filteredData, true);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.loadDataTable(this.rawData, false);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate filterByType() {\r\n\t\t//filter rows\r\n\t\tvar filteredRows = [], filteredColumns = [], filteredRowProperties = [];;\r\n\t\tthis.gridData.rows.forEach((row) => {\r\n\t\t\tif (row.Type != null && row.Type != \"\") {\r\n\t\t\t\tvar index = row.Type.indexOf(\"@\");\r\n\t\t\t\tvar typeValue = index > -1 ? row.Type.substr(0, index) : row.Type;\r\n\t\t\t\tif (typeValue == this.crewTimecardDataService.type)\r\n\t\t\t\t\tfilteredRows.push(row);\r\n\t\t\t}\r\n })\r\n\r\n\t\t//filter columns\r\n\t\tthis.gridData.columns.forEach((column) => {\r\n\t\t\tif (this.gridData.rowPropertyNames.indexOf(column.id) == -1) {\r\n\t\t\t\tfilteredColumns.push(column);\r\n\t\t\t}\r\n\t\t\telse if (this.sharedColumnInfo[column.id] != null && column.id != \"Type\") {\r\n\t\t\t\tvar colLineType = this.sharedColumnInfo[column.id].LineType;\r\n\t\t\t\tif (this.crewTimecardDataService.type == \"J\") {\r\n\t\t\t\t\tif (colLineType == \"J\" || colLineType == \"A\" || colLineType == \"F\" || colLineType == \"T\") {\r\n\t\t\t\t\t\tfilteredColumns.push(column);\r\n\t\t\t\t\t\tfilteredRowProperties.push(column.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.crewTimecardDataService.type == \"S\") {\r\n\t\t\t\t\tif (colLineType == \"S\" || colLineType == \"A\" || colLineType == \"T\") {\r\n\t\t\t\t\t\tfilteredColumns.push(column);\r\n\t\t\t\t\t\tfilteredRowProperties.push(column.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.crewTimecardDataService.type == \"M\") {\r\n\t\t\t\t\tif (colLineType == \"M\" || colLineType == \"A\" || colLineType == \"F\") {\r\n\t\t\t\t\t\tfilteredColumns.push(column);\r\n\t\t\t\t\t\tfilteredRowProperties.push(column.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n })\r\n\r\n\t\tthis.gridData.rows = filteredRows;\r\n\t\tthis.gridData.columns = filteredColumns;\r\n\t\tthis.gridData.rowPropertyNames = filteredRowProperties;\r\n\t}\r\n\r\n\tprivate getDailyTotals() {\r\n\t\tthis.earnCodes = [];\r\n\t\tlet tempDailyTime: any = {};\r\n\t\tthis.crewTimecardGridService.getApprovalDailyTotals(this.crewTimecardDataService.payPeriod.PRPCKeyID).then((response: any[]) => {\r\n\t\t\tthis.dailyTimeByEmployee = {};\r\n\t\t\tresponse.forEach((responseItem) => {\r\n\t\t\t\tif (this.containsObject({ EarnCode: responseItem.EarnCode, EarnCodeDescription: responseItem.EarnCodeDescription }, this.earnCodes) == -1) {\r\n\t\t\t\t\tthis.earnCodes.push({ EarnCode: responseItem.EarnCode, EarnCodeDescription: responseItem.EarnCodeDescription });\r\n\t\t\t\t}\r\n\t\t\t\tif (tempDailyTime[responseItem.Employee] == null)\r\n\t\t\t\t\ttempDailyTime[responseItem.Employee] = {};\r\n\t\t\t\tif (moment.locale() == \"en-ca\" || moment.locale() == \"en-au\") {\r\n\t\t\t\t\tresponseItem.PostDateDisplay = moment.utc(responseItem.PostDate).format(\"DD/MM\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tresponseItem.PostDateDisplay = moment.utc(responseItem.PostDate).format(\"MM/DD\");\r\n\t\t\t\t}\r\n\t\t\t\tif (tempDailyTime[responseItem.Employee][responseItem.PostDate] == null) {\r\n\t\t\t\t\ttempDailyTime[responseItem.Employee][responseItem.PostDate] = [];\r\n\t\t\t\t}\r\n\t\t\t\ttempDailyTime[responseItem.Employee][responseItem.PostDate].push(responseItem);\r\n\t\t\t})\r\n\t\t\t$.each(tempDailyTime, (employee, itemsByEmployee: any) => {\r\n\t\t\t\tif (this.dailyTimeByEmployee[employee] == null) {\r\n\t\t\t\t\tthis.dailyTimeByEmployee[employee] = [];\r\n\t\t\t\t}\r\n\t\t\t\t$.each(itemsByEmployee, (itemKey, itemsByDay) => {\r\n\t\t\t\t\tlet row: any = {};\r\n\t\t\t\t\titemsByDay.forEach((item) => {\r\n\t\t\t\t\t\tif (row.PostDate == null) {\r\n\t\t\t\t\t\t\trow.PostDate = item.PostDateDisplay;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\trow[item.EarnCode] = item.HoursPerDay;\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\tthis.dailyTimeByEmployee[employee].push(row);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tthis.loadDataTable(this.rawData, false);\r\n\t\t});\r\n\t}\r\n\r\n private loadDataTable(data, isFiltered) {\r\n\t\t//if the data is filtered, call GetGridData to get a parsed version of the unfiltered grid data\r\n\t\tlet rawGridData = this.crewTimecardManagerService.getGridData(this.rawData, this.sharedColumnInfo, this.crewTimecardDataService.payPeriod, this.dailyTimeByEmployee);\r\n\t\tthis.rawRows = rawGridData.rows;\r\n\t\tif (isFiltered && this.crewTimecardDataService.usageMode != \"approval\") {\r\n\t\t\tthis.gridData = this.crewTimecardManagerService.getGridData(data, this.sharedColumnInfo, this.crewTimecardDataService.payPeriod, this.dailyTimeByEmployee);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.gridData = this.crewTimecardManagerService.getGridData(data, this.sharedColumnInfo, this.crewTimecardDataService.payPeriod, this.dailyTimeByEmployee);\r\n\t\t}\r\n\r\n\t\t//if timeworked is enabled, calculate totals\r\n\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled && this.crewTimecardDataService.usageMode == \"crewtimecard\" ) {\r\n\t\t\tthis.calculateTimecardTotals();\r\n\t\t}\r\n\r\n\t\tthis.firstRowCopy = _.cloneDeep(this.gridData.rows[0]);\r\n\r\n\t\t//filter grid data columns and rows by type\r\n\t\tif (this.gridData.rowPropertyNames.indexOf(\"Type\") > -1 && this.crewTimecardDataService.type != \"all\")\r\n\t\t\tthis.filterByType();\r\n\r\n\t\t//generate filter lists\r\n\t\tif (this.crewTimecardDataService.usageMode == \"approval\") {\r\n\t\t\tlet jobApprovalFilteredMode = this.portalSettings.JobApprovalFilteredMode.ConfigValue === \"1\";\r\n\t\t\tthis.crewTimecardDataService.approvalRowProperties = [];\r\n\t\t\tthis.gridData.rowPropertyNames.forEach((rowProperty: string) => {\r\n\t\t\t\tif (this.sharedColumnInfo[rowProperty].IsCombo == 1) {\r\n\t\t\t\t\tif (!jobApprovalFilteredMode || rowProperty != \"Job\") {\r\n\t\t\t\t\t\tthis.crewTimecardDataService.approvalRowProperties.push(rowProperty);\r\n\t\t\t\t\t\tthis.crewTimecardDataService.filters[rowProperty] = [];\r\n\t\t\t\t\t\tthis.crewTimecardDataService.selectedFilters[rowProperty] = [];\r\n\t\t\t\t\t\tthis.crewTimecardDataService.filterLabels[rowProperty] = this.sharedColumnInfo[rowProperty].ColumnLabel || rowProperty;\r\n\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.gridData.rows.forEach((row) => {\r\n\t\t\t\t$.each(this.crewTimecardDataService.filters, (filterKey: string, filters) => {\r\n\t\t\t\t\tlet filterValue = row[filterKey] != null ? row[filterKey].substr(0, row[filterKey].indexOf(\"@\")) : \"blank\";\r\n\t\t\t\t\tfilterValue = filterValue || \"blank\";\r\n\t\t\t\t\tlet filterLabel;\r\n\t\t\t\t\tif (filterKey == \"udKDSTrackerID\") {\r\n\t\t\t\t\t\tfilterLabel = _.unescape(row[filterKey + \"___@Value\"]) || \"Standard Timecard\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tfilterLabel = _.unescape(row[filterKey + \"___@Value\"]) || \"Blank \" + filterKey;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.containsObject({ Value: filterValue, Label: filterLabel }, filters) == -1) {\r\n\t\t\t\t\t\tif (filterValue == \"blank\") {\r\n\t\t\t\t\t\t\tfilters.unshift({ Value: filterValue, Label: filterLabel });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tfilters.push({ Value: filterValue, Label: filterLabel });\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\t//load \"all\" option\r\n\t\t\t$.each(this.crewTimecardDataService.filters, (filterKey: string, filters) => {\r\n\t\t\t\t//sort the array by label\r\n\t\t\t\tfilters.sort(function (a, b) {\r\n\t\t\t\t\tif (a.Label < b.Label)\r\n\t\t\t\t\t\treturn -1;\r\n\t\t\t\t\tif (a.Label > b.Label)\r\n\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t//check each currently selected filter to see if they actually exist\r\n\t\t\t$.each((this.crewTimecardDataService.selectedFilters), (filterKey: string, selectedFilter) => {\r\n\t\t\t\tif (selectedFilter != null && selectedFilter != \"all\") {\r\n\t\t\t\t\tvar valueFound = false;\r\n\t\t\t\t\t$.each(this.crewTimecardDataService.filters[filterKey], (filterValueIndex, filterValue) => {\r\n\t\t\t\t\t\tif (filterValue.Value == selectedFilter) {\r\n\t\t\t\t\t\t\tvalueFound = true;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (!valueFound) {\r\n\t\t\t\t\t\tthis.crewTimecardDataService.selectedFilters[filterKey] = this.crewTimecardDataService.filters[filterKey];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.columnRules = {}\r\n\t\t//create validation and sorting rules\r\n\t\t$.each(this.gridData.columns, (key, val) => {\r\n\t\t\tlet metadataName = val.id.substr(val.id.lastIndexOf(\"@\") + 1);\r\n\t\t\tif (metadataName in this.sharedColumnInfo) {\r\n\t\t\t\tif (this.sharedColumnInfo[metadataName].IsCombo == 1) {\r\n\t\t\t\t\tval.sort = this.dropdownSort(metadataName);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (metadataName == \"udSort\") {\r\n\t\t\t\t\t\tthis.columnRules[val.id] = this.isInteger;\r\n\t\t\t\t\t\tval.sort = \"int\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tswitch (this.sharedColumnInfo[metadataName].ValidationDataType) {\r\n\t\t\t\t\t\t\tcase \"int\":\r\n\t\t\t\t\t\t\t\tthis.columnRules[val.id] = this.isInteger;\r\n\t\t\t\t\t\t\t\tval.sort = \"int\";\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase \"numeric\":\r\n\t\t\t\t\t\t\t\tthis.columnRules[val.id] = this.isNumber;\r\n\t\t\t\t\t\t\t\tval.sort = \"int\";\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase \"varchar\":\r\n\t\t\t\t\t\t\t\tval.sort = \"string\";\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\t\t//add id to each row\r\n\t\t$.each(this.gridData.rows, (key, val) => {\r\n\t\t\t$.each(val, (rowKey, rowVal) => {\r\n\t\t\t\tif (this.rowKeysToIgnore.indexOf(rowKey) == -1 && rowVal.indexOf(\"@row_\") != -1) {\r\n\t\t\t\t\tthis.gridData.rows[key][rowKey] = rowVal + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tval.id = this.crewTimecardDataService.newRowID;\r\n\t\t\tthis.crewTimecardDataService.newRowID++;\r\n\t\t});\r\n\r\n //add editors\r\n\t\tthis.addEditors();\r\n\r\n\t\t//Note - unfiltered rows is for Job Approval\r\n\t\tthis.unfilteredRows = _.cloneDeep(this.gridData.rows);\r\n\r\n\t\t//set udSort\r\n\t\tif (this.columnExists(\"udSort\")) {\r\n\t\t\tfor (let i = 0; i < this.rawRows.length; i++) {\r\n\t\t\t\tlet sortValue = this.rawRows[i][\"udSort\"];\r\n\t\t\t\tif (sortValue != null && sortValue != \"\" && sortValue > this.largestSortID) {\r\n\t\t\t\t\tthis.largestSortID = sortValue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//Job Approval - count pending/rejected rows then perform approval filter\r\n\t\tif (this.crewTimecardDataService.usageMode == \"approval\") {\r\n\t\t\t//count approved and rejected rows\r\n\t\t\tthis.gridData.rows.forEach((row) => {\r\n\t\t\t\tif (row.PendingStatus == \"A\" && row.IsReadOnly != \"1\") {\r\n\t\t\t\t\tthis.crewTimecardDataService.approvedRows++;\r\n\t\t\t\t}\r\n\t\t\t\telse if (row.PendingStatus == \"R\" && row.IsReadOnly != \"1\") {\r\n\t\t\t\t\tthis.crewTimecardDataService.rejectedRows++;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//filter the grid data if using timecard approval\r\n\t\t\tthis.filterGridRows();\r\n\t\t}\r\n\r\n\t\t//set webix datatable split settings\r\n\t\tthis.leftSplit = this.getDataTableSplit();\r\n\r\n\t\tthis.subViewGrid = null;\r\n\t\tif (this.crewTimecardDataService.usageMode == \"approval\") {\r\n\t\t\tthis.initSubViewGrid();\r\n\t\t}\r\n\r\n\t\t//calculate height\r\n\t\tif (this.crewTimecardDataService.usageMode == \"approval\") {\r\n\t\t\tthis.height = Math.max($(document).height() - $(\"#crewActionBar\").height() - 210, 300);\r\n\t\t}\r\n\t\t//handle sizing adjustment for time worked \r\n\t\telse if (this.crewTimecardDataService.usageMode == \"crewtimecard\") {\r\n\t\t\tthis.height = Math.max($(document).height() - $(\"#crewActionBar\").height() - 170 - (this.crewTimecardDataService.isSubmitted ? 80 : 0), 300);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.height = 500;\r\n\t\t}\r\n\r\n\t\tthis.initWebixGrid();\r\n\t}\r\n\r\n\tprivate getDataTableSplit() {\r\n\t\tlet leftSplit = 0;\r\n\t\tif (this.mobileMode && this.crewTimecardDataService.usageMode != \"approval\" && this.crewTimecardDataService.template.StickyColumnCount != 0) {\r\n\t\t\tleftSplit = 1;\r\n\t\t}\r\n\t\telse if (this.mobileMode && this.crewTimecardDataService.usageMode == \"approval\") {\r\n\t\t\tleftSplit = 2;\r\n\t\t}\r\n\t\telse if (this.crewTimecardDataService.usageMode == \"approval\") {\r\n\t\t\tleftSplit = this.crewTimecardDataService.payPeriod != null && this.crewTimecardDataService.payPeriod.StickyJobApprovalCount != null ? this.crewTimecardDataService.payPeriod.StickyJobApprovalCount : this.gridData.rowPropertyNames.length;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tleftSplit = this.crewTimecardDataService.template != null && this.crewTimecardDataService.template.StickyColumnCount != null ? this.crewTimecardDataService.template.StickyColumnCount : this.gridData.rowPropertyNames.length;\r\n\t\t}\r\n\t\treturn leftSplit;\r\n }\r\n\r\n\tprivate initSubViewGrid() {\r\n\t\tvar templateFormula = \"\";\r\n\t\tvar earnCodeColNum = 1;\r\n\t\tthis.subViewGrid = {\r\n\t\t\tview: \"datatable\",\r\n\t\t\tcolumns: [\r\n\t\t\t\t{ id: \"PostDate\", header: \"Hours By Earn Code\", width: 125 }\r\n\t\t\t],\r\n\t\t\tautoheight: true,\r\n\t\t\tautowidth: true,\r\n\t\t\tfooter: true,\r\n\t\t\tmath: true\r\n\t\t};\r\n\t\tthis.earnCodes.forEach((earnCode) => {\r\n\t\t\ttemplateFormula += \"[$r,:\" + earnCodeColNum + \"]+\";\r\n\t\t\tthis.subViewGrid.columns.push({ id: earnCode.EarnCode, header: earnCode.EarnCode + \" - \" + earnCode.EarnCodeDescription, footer: { content: \"summColumn\" } });\r\n\t\t\tearnCodeColNum++;\r\n\t\t})\r\n\r\n\t\ttemplateFormula = templateFormula.substring(0, templateFormula.length - 1);\r\n\t\t//275621: Applying Math Formula based on earncode columns added\r\n\t\tthis.subViewGrid.columns.push({ id: \"SubTotal\", header: \"Sub\", math: templateFormula, width: 50, footer: { content: \"summFixedColumn\" } });\r\n\t}\r\n\r\n\t//Grid init functions\r\n\tprivate initWebixGrid() {\r\n\t\tif (this.dataTable != null) {\r\n\t\t\tthis.dataTable.destructor();\r\n\t\t\tthis.dataTable = null;\r\n\t\t}\r\n\t\t//rules: tooltip, on, ready\r\n\t\t//on is used for subview creation for approval\r\n\t\t//not sure if tooltip is used or necessary\r\n this.dataTable = webix.ui({\r\n container: this.crewTimecardID,\r\n id: this.crewTimecardID,\r\n\t\t\tview: \"datatable\",\r\n\t\t\tsubview: this.subViewGrid,\r\n columns: this.gridData.columns,\r\n data: this.gridData.rows,\r\n\t\t\tresizeColumn: true,\r\n\t\t\theight: this.height,\r\n\t\t\tautowidth: this.crewTimecardDataService.usageMode == \"PR\" || this.crewTimecardDataService.usageMode == \"PREQ\",\r\n\t\t\tautoheight: this.crewTimecardDataService.usageMode == \"PR\" || this.crewTimecardDataService.usageMode == \"PREQ\",\r\n\t\t\teditable: true,\r\n\t\t\tfooter: true,\r\n\t\t\tmath: true,\r\n\t\t\tleftSplit: this.leftSplit,\r\n\t\t\trules: this.columnRules,\r\n\t\t\tscheme: {\r\n\t\t\t\t$change: (items) => this.sumHours(items)\r\n\t\t\t},\r\n\t\t\ttype: {\r\n\t\t\t\trcheckbox: (obj, common, value, config) => {\r\n\t\t\t\t\tvar checked = (value == config.checkValue) ? 'checked=\"true\"' : '';\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttooltip: (obj) => {\r\n\t\t\t\tif (this.crewTimecardDataService.usageMode == \"approval\" && obj.IsLocked) {\r\n\t\t\t\t\treturn 'This timecard is read-only because template is locked';\r\n\t\t\t\t}\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tonClick: {\r\n\t\t\t\t\"approvebtn\": (e, id, trg) => this.approveRow(e, id, trg),\r\n\t\t\t\t\"delbtn\": (e, id, trg) => this.deleteRow(e, id, trg),\r\n\t\t\t\t\"copybtn\": (e, id, trg) => this.copyRow(e, id, trg),\r\n\t\t\t\t\"ja_approveBtn\": (e, id, trg) => this.jobApprovalApproveItemClicked(e, id, trg),\r\n\t\t\t\t\"ja_rejectBtn\": (e, id, trg) => this.jobApprovalRejectItemClicked(e, id, trg),\r\n\t\t\t\t\"ja_undoBtn\": (e, id, trg) => this.jobApprovalUndoItemClicked(e, id, trg),\r\n\t\t\t\t\"splitBtn\": (e, id, trg) => this.splitBtnClicked(e, id, trg)\r\n }\r\n\t\t});\r\n\t\tthis.crewTimecardDataService.dataTable = this.dataTable;\r\n\t\tthis.initRows();\r\n\t\tthis.applyTableReadOnly();\r\n\t\tthis.attachWebixEvents();\r\n\t\tthis.attachWebixKeyboardOverrides();\r\n\t\tthis.dataTable.refresh();\r\n\t\tthis.dataTable.resize();\r\n\r\n\t\tif (this.callback != null) {\r\n\t\t\tif (this.callback.callbackType == \"ready\")\r\n\t\t\t\tthis.callback.callbackFunction(true);\r\n\t\t\telse if (this.callback.callbackType == \"clockSubmit\")\r\n\t\t\t\tthis.callback.callbackFunction();\r\n\t\t}\r\n\t\t\r\n\t}\r\n\r\n\tsumHours(items) {\r\n\r\n\t\tlet total: number = 0;\r\n\t\tlet earnCodeIndex = this.gridData.columnPropertyNames.indexOf(\"EarnCode\");\r\n\t\tlet payTypeIndex = this.gridData.columnPropertyNames.indexOf(\"PayType\");\r\n\r\n\t\tif (earnCodeIndex > -1 || payTypeIndex > -1) {\r\n\t\t\t//Check earncode or paytype depending on type\r\n\t\t\tif (items.Type == \"S\") {\r\n\t\t\t\t$.each(items, (key: string, val) => {\r\n\t\t\t\t\tif (key.substr(key.indexOf(\"@\") + 1) == \"Hours\") {\r\n\t\t\t\t\t\tlet keyParts = key.split(\"___\");\r\n\t\t\t\t\t\tlet payType = keyParts[payTypeIndex];\r\n\t\t\t\t\t\tif (this.amountPayTypes.indexOf(payType) == -1) {\r\n\t\t\t\t\t\t\tif (val != \"\" && !isNaN(val)) {\r\n\t\t\t\t\t\t\t\ttotal += parseFloat(val);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$.each(items, (key: string, val) => {\r\n\t\t\t\t\tif (key.substr(key.indexOf(\"@\") + 1) == \"Hours\") {\r\n\t\t\t\t\t\tlet keyParts = key.split(\"___\");\r\n\t\t\t\t\t\tlet earnCode = keyParts[earnCodeIndex];\r\n\t\t\t\t\t\tif (this.amountEarnCodes.indexOf(earnCode) == -1) {\r\n\t\t\t\t\t\t\tif (val != \"\" && !isNaN(val)) {\r\n\t\t\t\t\t\t\t\ttotal += parseFloat(val);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$.each(items, (key: string, val) => {\r\n\t\t\t\tif (key.substr(key.indexOf(\"@\") + 1) == \"Hours\") {\r\n\t\t\t\t\tif (val != \"\" && !isNaN(val)) {\r\n\t\t\t\t\t\ttotal += parseFloat(val);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\titems[\"Sub Total\"] = total.toFixed(2);\r\n\t}\r\n\r\n\t//creates custom webix datafilters and functions as necessary\r\n\tprivate customizeWebix() {\r\n\t\t(webix.ui.datafilter as any).summFixedColumn = webix.extend({\r\n\t\t\trefresh: (master, node, value) => {\r\n\t\t\t\tlet result = 0;\r\n\t\t\t\tlet num = 0;\r\n\t\t\t\tlet expenses = 0;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tmaster.mapCells(null, value.columnId, null, 1, (value, row_id) => {\r\n\t\t\t\t\t\tlet valueCopy = value;\r\n\t\t\t\t\t\tif (this.dataTable != null && this.dataTable.getItem(row_id) != null) {\r\n\t\t\t\t\t\t\tlet row = this.dataTable.getItem(row_id);\r\n\t\t\t\t\t\t\tlet exclude = false;\r\n\t\t\t\t\t\t\tif (row.Type != null && row.Type != \"\") {\r\n\t\t\t\t\t\t\t\tlet index = row.Type.indexOf(\"@\");\r\n\t\t\t\t\t\t\t\tlet typeValue = index > -1 ? row.Type.substr(0, index) : row.Type;\r\n\t\t\t\t\t\t\t\tif (typeValue == \"S\") {\r\n\t\t\t\t\t\t\t\t\tif (row.SMPayType != null && row.SMPayType != \"\" && row.SMPayType != \"null\") {\r\n\t\t\t\t\t\t\t\t\t\tlet payType = row.SMPayType.substr(0, row.SMPayType.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\t\tif (this.amountPayTypes.indexOf(payType) > -1) {\r\n\t\t\t\t\t\t\t\t\t\t\texclude = true;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tif (row.EarnCode != null && row.EarnCode != \"\" && row.EarnCode != \"null\") {\r\n\t\t\t\t\t\t\t\t\t\tlet earnCode = row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\t\tif (this.amountEarnCodes.indexOf(earnCode) > -1) {\r\n\t\t\t\t\t\t\t\t\t\t\texclude = true;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tif (row.EarnCode != null && row.EarnCode != \"\" && row.EarnCode != \"null\") {\r\n\t\t\t\t\t\t\t\t\tlet earnCode = row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\tif (this.amountEarnCodes.indexOf(earnCode) > -1) {\r\n\t\t\t\t\t\t\t\t\t\texclude = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!exclude) {\r\n\t\t\t\t\t\t\t\tvalueCopy = valueCopy * 1;\r\n\t\t\t\t\t\t\t\tif (!isNaN(valueCopy))\r\n\t\t\t\t\t\t\t\t\tresult += valueCopy;\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tif (!isNaN(valueCopy)) {\r\n\t\t\t\t\t\t\t\t\texpenses += parseFloat(valueCopy);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn value;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvalueCopy = value * 1;\r\n\t\t\t\t\t\t\tif (!isNaN(valueCopy))\r\n\t\t\t\t\t\t\t\tresult += valueCopy;\r\n\t\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.crewTimecardDataService.expenses = expenses;\r\n\t\t\t\t\tnode.firstChild.innerHTML = result.toFixed(2);\r\n\t\t\t\t}\r\n\t\t\t\tcatch (e) {\r\n\t\t\t\t\t//try catch here as a consequence of field tickets 2 grids causing issues\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t}, webix.ui.datafilter.summColumn);\r\n\t}\r\n\r\n\tprivate addEditors() {\r\n\t\tlet dataTable = this.dataTable;\r\n\t\tlet dateFormat = webix.Date.dateToStr(\"%m/%d/%y\", false);\r\n\t\tlet earnCodeIndex = this.gridData.columnPropertyNames.indexOf(\"EarnCode\");\r\n\t\tlet isEarnCodeColumn = earnCodeIndex > -1;\r\n\t\tlet payTypeIndex = this.gridData.columnPropertyNames.indexOf(\"PayType\");\r\n\t\tlet isPayTypeColumn = payTypeIndex > -1;\r\n\r\n\t\t$.each(this.gridData.columns, (loopGridColumnIndex, loopGridColumn) => {\r\n\t\t\tlet columnName = loopGridColumn.id.substr(loopGridColumn.id.indexOf(\"@\") + 1);\r\n\r\n\t\t\tif (this.sharedColumnInfo[columnName] != null && (this.crewTimecardDataService.usageMode != \"approval\" || columnName != \"Employee\")) {\r\n\t\t\t\tif (this.sharedColumnInfo[columnName].IsCombo === 1) {\r\n\r\n\t\t\t\t\tif (this.mobileMode)\r\n\t\t\t\t\t\tloopGridColumn.editor = 'popupWindowCombo';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tloopGridColumn.editor = 'combo';\r\n\t\t\t\t\tloopGridColumn.template = (obj) =>{\r\n\t\t\t\t\t\tlet value = \"\";\r\n\t\t\t\t\t\tif (this.columnOptions[loopGridColumn.id].getItem(obj[loopGridColumn.id]) != null) {\r\n\t\t\t\t\t\t\tvalue = this.columnOptions[loopGridColumn.id].getItem(obj[loopGridColumn.id]).value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.crewTimecardDataService.usageMode == \"approval\" && this.sharedColumnInfo[columnName].ApprovalVisibilityModeID == 2)\r\n\t\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif (columnName != \"Employee\" && columnName != \"Type\" && (this.sharedColumnInfo[columnName] == null || this.sharedColumnInfo[columnName].ColumnVisibilityModeID == 2)) {\r\n\t\t\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\treturn \"\" + value;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.columnOptions[loopGridColumn.id] = new webix.DataCollection({});\r\n\t\t\t\t\tloopGridColumn.options = this.columnOptions[loopGridColumn.id];\r\n\r\n\t\t\t\t\t//insert initial options\r\n\t\t\t\t\tlet tempOptions = [];\r\n\t\t\t\t\t$.each(this.gridData.rows, (key, val) => {\r\n\t\t\t\t\t\tlet value = val[loopGridColumn.id + \"___@Value\"];\r\n\t\t\t\t\t\tlet id = val[loopGridColumn.id];\r\n\t\t\t\t\t\tif (id != null) {\r\n\t\t\t\t\t\t\tlet obj = { id: id, value: value, visible: true };\r\n\t\t\t\t\t\t\tif (loopGridColumn.id == \"udKDSTrackerID\" && value == \"\") {\r\n\t\t\t\t\t\t\t\tobj.value = \"Standard Timecard\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (this.containsObject(obj, tempOptions) == -1)\r\n\t\t\t\t\t\t\t\ttempOptions.push(obj);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$.each(tempOptions, (key, val) => {\r\n\t\t\t\t\t\tthis.columnOptions[loopGridColumn.id].add(val);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (this.sharedColumnInfo[columnName].ColumnVisibilityModeID == 4) {\r\n\t\t\t\t\t\tloopGridColumn.suggest = {\r\n\t\t\t\t\t\t\ton: {\r\n\t\t\t\t\t\t\t\tonBeforeShow: function () {\r\n\t\t\t\t\t\t\t\t\tthis.define(\"width\", 300);\r\n\t\t\t\t\t\t\t\t\tthis.resize();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tbody: {\r\n\t\t\t\t\t\t\t\tdataFeed: (value, valueObject) => {\r\n\t\t\t\t\t\t\t\t\tlet view: any = $$(loopGridColumn.suggest + \"_list\");\r\n\t\t\t\t\t\t\t\t\tlet row = this.dataTable.getItem(this.currentCell.row);\r\n\t\t\t\t\t\t\t\t\tif (valueObject.value != null && valueObject.value.length > 2 && this.currentCell != null) {\r\n\r\n\t\t\t\t\t\t\t\t\t\tlet requestParams = this.getRequestParams(this.currentCell.column, row, false);\r\n\t\t\t\t\t\t\t\t\t\trequestParams.currentCell = this.currentCell;\r\n\t\t\t\t\t\t\t\t\t\trequestParams.rowData.searchString = valueObject.value;\r\n\t\t\t\t\t\t\t\t\t\tview.load(\"valueLookupProxy->/Timecard/GetCellPossibleValues\", (options) => { this.lastUsedList = options }, requestParams);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse if (row[this.currentCell.column + \"___@Value\"] != null && row[this.currentCell.column + \"___@Value\"] != \"\") {\r\n\t\t\t\t\t\t\t\t\t\tlet requestParams = this.getRequestParams(this.currentCell.column, row, false);\r\n\t\t\t\t\t\t\t\t\t\trequestParams.currentCell = this.currentCell;\r\n\t\t\t\t\t\t\t\t\t\trequestParams.rowData.searchString = row[this.currentCell.column + \"___@Value\"];\r\n\t\t\t\t\t\t\t\t\t\tview.parse([{ id: row[this.currentCell.column], value: row[this.currentCell.column + \"___@Value\"], visible: true }])\r\n\t\t\t\t\t\t\t\t\t\tview.load(\"valueLookupProxy->/Timecard/GetCellPossibleValues\", (options) => { this.lastUsedList = options }, requestParams);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\tview.parse([{ id: \"null\", value: \"Type more to load options...\", visible: true }]);\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\r\n\t\t\t\t\t\tloopGridColumn.suggest = {\r\n\t\t\t\t\t\t\tfilter: (item, value) => {\r\n\r\n\t\t\t\t\t\t\t\tif (item.value.toString().toLowerCase().replace(/ /g, '').indexOf(value.toLowerCase().replace(/ /g, '')) > -1 && item.visible == true)\r\n\t\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfitMaster: this.sharedColumnInfo[columnName].InputLength > 300,\r\n\t\t\t\t\t\t\trelative: \"bottom\"\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//case for bYN\r\n\t\t\t\telse if (this.sharedColumnInfo[columnName].ValidationDataType == \"bit\") {\r\n\t\t\t\t\tloopGridColumn.editor = \"checkbox\";\r\n\t\t\t\t\tloopGridColumn.checkValue = \"Y\";\r\n\t\t\t\t\tloopGridColumn.uncheckValue = \"N\";\r\n\t\t\t\t\tloopGridColumn.template = (obj, common, value, config) => {\r\n\r\n\t\t\t\t\t\tlet emp = obj.Employee.substr(0, obj.Employee.indexOf(\"@\"));\r\n\t\t\t\t\t\tif (obj.IsApproved == \"1\" ||\r\n\t\t\t\t\t\t\tobj.IsSubmitted == \"1\" ||\r\n\t\t\t\t\t\t\tobj.IsReadOnly == \"1\" ||\r\n\t\t\t\t\t\t\t(this.employeeLockStatus[emp] != null && this.employeeLockStatus[emp].IsLocked) ||\r\n\t\t\t\t\t\t\tthis.sharedColumnInfo[columnName].ColumnVisibilityModeID == 2 ||\r\n\t\t\t\t\t\t\t(this.crewTimecardDataService.usageMode == \"approval\" && (obj.PendingStatus != \"U\" || this.sharedColumnInfo[columnName].ApprovalVisibilityModeID == 2))) {\r\n\t\t\t\t\t\t\tif (!((this.crewTimecardDataService.usageMode == \"PR\" || this.crewTimecardDataService.usageMode == \"PREQ\") && obj.IsApproved == \"0\") || this.portalSettings.DTREmpEquReadOnlyOverride.ConfigValue == 0)\r\n\t\t\t\t\t\t\t\treturn common.rcheckbox(obj, common, value, config);\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\treturn common.checkbox(obj, common, value, config);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\treturn common.checkbox(obj, common, value, config);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (columnName == \"PostDate\") {\r\n\t\t\t\t\t\tloopGridColumn.editor = 'date';\r\n\t\t\t\t\t\tloopGridColumn.map = \"(date)#PostDate#\"\r\n\t\t\t\t\t\tloopGridColumn.format = dateFormat;\r\n\t\t\t\t\t\tloopGridColumn.sort = \"date\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (columnName == \"StartTime\") {\r\n\t\t\t\t\t\tloopGridColumn.editor = 'startTime';\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (columnName == \"StopTime\") {\r\n\t\t\t\t\t\tloopGridColumn.editor = 'stopTime';\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (columnName == \"Hours\") {\r\n\t\t\t\t\t\tloopGridColumn.editor = 'number';\r\n\t\t\t\t\t\tloopGridColumn.template = (row) => {\r\n\r\n\t\t\t\t\t\t\tif (row[loopGridColumn.id] != null) {\r\n\t\t\t\t\t\t\t\tif (row.Type != null && row.Type != \"\") {\r\n\t\t\t\t\t\t\t\t\tlet type = row.Type.substr(0, row.Type.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\tif (type == \"S\") {\r\n\t\t\t\t\t\t\t\t\t\tlet payType;\r\n\t\t\t\t\t\t\t\t\t\tif (isPayTypeColumn) {\r\n\t\t\t\t\t\t\t\t\t\t\tlet columnValueParts = loopGridColumn.id.split(\"___\");\r\n\t\t\t\t\t\t\t\t\t\t\tpayType = columnValueParts[earnCodeIndex];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\tif (row.SMPayType != null && row.PayType != \"\" && row.SMPayType != \"null\") {\r\n\t\t\t\t\t\t\t\t\t\t\t\tpayType = row.SMPayType.substr(0, row.SMPayType.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn row[loopGridColumn.id];\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif (this.amountPayTypes.indexOf(payType) > -1) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn webix.i18n.priceFormat(row[loopGridColumn.id]);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\treturn row[loopGridColumn.id];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\tlet earnCode;\r\n\t\t\t\t\t\t\t\t\t\tif (isEarnCodeColumn) {\r\n\t\t\t\t\t\t\t\t\t\t\tlet columnValueParts = loopGridColumn.id.split(\"___\");\r\n\t\t\t\t\t\t\t\t\t\t\tearnCode = columnValueParts[earnCodeIndex];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\tif (row.EarnCode != null && row.EarnCode != \"\" && row.EarnCode != \"null\") {\r\n\t\t\t\t\t\t\t\t\t\t\t\tearnCode = row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn row[loopGridColumn.id];\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\tif (this.amountEarnCodes.indexOf(earnCode) > -1) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn webix.i18n.priceFormat(row[loopGridColumn.id]);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\treturn row[loopGridColumn.id];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tlet earnCode;\r\n\t\t\t\t\t\t\t\t\tif (isEarnCodeColumn) {\r\n\t\t\t\t\t\t\t\t\t\tlet columnValueParts = loopGridColumn.id.split(\"___\");\r\n\t\t\t\t\t\t\t\t\t\tearnCode = columnValueParts[earnCodeIndex];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\tif (row.EarnCode != null && row.EarnCode != \"\" && row.EarnCode != \"null\") {\r\n\t\t\t\t\t\t\t\t\t\t\tearnCode = row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\treturn row[loopGridColumn.id];\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\tif (this.amountEarnCodes.indexOf(earnCode) > -1) {\r\n\t\t\t\t\t\t\t\t\t\treturn webix.i18n.priceFormat(row[loopGridColumn.id]);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\treturn row[loopGridColumn.id];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\treturn \"\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t//check if type exists, else treat it as a \"J\" type\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tloopGridColumn.editor = 'text';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\telse if (columnName == \"udKDSTrackerID\") {\r\n\t\t\t\tthis.columnOptions[loopGridColumn.id] = new webix.DataCollection({});\r\n\t\t\t\tloopGridColumn.editor = 'combo';\r\n\t\t\t\tloopGridColumn.template = (obj) => {\r\n\t\t\t\t\tlet value = \"\";\r\n\t\t\t\t\tif (this.columnOptions[loopGridColumn.id].getItem(obj[loopGridColumn.id]) != null) {\r\n\t\t\t\t\t\tvalue = this.columnOptions[loopGridColumn.id].getItem(obj[loopGridColumn.id]).value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tloopGridColumn.options = this.columnOptions[loopGridColumn.id];\r\n\t\t\t\t//insert initial options\r\n\t\t\t\tlet tempOptions = [];\r\n\t\t\t\t$.each(this.gridData.rows, (key, val) => {\r\n\t\t\t\t\tlet value = val[loopGridColumn.id + \"___@Value\"];\r\n\t\t\t\t\tlet id = val[loopGridColumn.id];\r\n\t\t\t\t\tif (id != null) {\r\n\t\t\t\t\t\tlet obj = { id: id, value: value, visible: true };\r\n\t\t\t\t\t\tif (this.containsObject(obj, tempOptions) == -1)\r\n\t\t\t\t\t\t\ttempOptions.push(obj);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$.each(tempOptions, (key, val) => {\r\n\t\t\t\t\tthis.columnOptions[loopGridColumn.id].add(val);\r\n\t\t\t\t});\r\n\t\t\t\tloopGridColumn.suggest = {\r\n\t\t\t\t\tfilter: function (item, value) {\r\n\t\t\t\t\t\tif (item.value.toString().toLowerCase().indexOf(value.toLowerCase()) > -1 && item.visible == true)\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfitMaster: this.sharedColumnInfo[columnName].InputLength > 300,\r\n\t\t\t\t\trelative: \"bottom\"\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\telse if (loopGridColumn.id == \"Sub Total\") {\r\n\t\t\t\tloopGridColumn.template = (obj) => {\r\n\t\t\t\t\tif (obj[loopGridColumn.id] != null) {\r\n\t\t\t\t\t\tif (!isEarnCodeColumn && obj.EarnCode != null && obj.EarnCode != \"\" && obj.EarnCode != \"null\") {\r\n\t\t\t\t\t\t\tlet earnCode = obj.EarnCode.substr(0, obj.EarnCode.indexOf(\"@\"));\r\n\t\t\t\t\t\t\tif (this.amountEarnCodes.indexOf(earnCode) > -1) {\r\n\t\t\t\t\t\t\t\treturn webix.i18n.priceFormat(obj[loopGridColumn.id]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\treturn obj[loopGridColumn.id];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\treturn obj[loopGridColumn.id];\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\treturn \"\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (columnName == \"action\") {\r\n\t\t\t\tloopGridColumn.editor = null;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tloopGridColumn.editor = 'text';\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate attachWebixEvents() {\r\n\t\tthis.dataTable.attachEvent(\"onBeforeEditStart\", (eventInfo) => this.beforeEditStart(eventInfo));\r\n\t\tthis.dataTable.attachEvent(\"onAfterEditStart\", (id) => this.afterEditStart(id));\r\n\t\tthis.dataTable.attachEvent(\"onBeforeEditStop\", (state, editor) => this.beforeEditStop(state,editor));\r\n\t\tthis.dataTable.attachEvent(\"onAfterEditStop\", (state, editor) => this.afterEditStop(state, editor));\r\n\t\tthis.dataTable.attachEvent(\"onCheck\", (id, column, state) => this.onCheck(id, column, state));\r\n\t\tthis.dataTable.attachEvent(\"onHeaderClick\", (id) => this.onHeaderClick(id));\r\n\t\tthis.dataTable.attachEvent(\"onSubViewCreate\", (view, item) => this.onSubViewCreate(view, item));\r\n\r\n\t}\r\n\r\n\tprivate attachWebixKeyboardOverrides() {\r\n\t\t//webix keyboard controls\r\n\t\tthis.dataTable.attachEvent(\"onKeyPress\", (code, e) => {\r\n\t\t\tif (!this.crewTimecardDataService.timecardSaving && !this.crewTimecardDataService.loadingValues) {\r\n\t\t\t\tif ((this.crewTimecardDataService.usageMode != \"PR\" && this.crewTimecardDataService.usageMode != \"PREQ\")) {\r\n\t\t\t\t\t//ctrl + `\r\n\t\t\t\t\tif (e.ctrlKey && code === 192) {\r\n\t\t\t\t\t\tif (!this.isReadOnlyGridTime)\r\n\t\t\t\t\t\t\tthis.addTimecardRow(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//tab controls\r\n\t\t\t\tif (code === 9) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t//F = forward, B = back\r\n\t\t\t\t\tif (e.shiftKey)\r\n\t\t\t\t\t\tthis.tabPressed = \"B\";\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tthis.tabPressed = \"F\"\r\n\t\t\t\t\tlet editor = this.dataTable.getEditor();\r\n\t\t\t\t\tthis.nextEditor = editor;\r\n\t\t\t\t\tif (editor == null || editor == 0) {\r\n\r\n\t\t\t\t\t\tif (this.lastEditedCell != null && this.lastEditedCell != 0 && !this.mobileMode) {\r\n\t\t\t\t\t\t\twebix.delay(() => {\r\n\t\t\t\t\t\t\t\tthis.dataTable.editNext();\r\n\t\t\t\t\t\t\t}, this.dataTable);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (editor.config.editor == \"combo\") {\r\n\t\t\t\t\t\tlet value = editor.getPopup().getBody().getSelectedId();\r\n\t\t\t\t\t\tif (this.sharedColumnInfo[editor.config.id] == null) {\r\n\t\t\t\t\t\t\tif (value == null || value == \"\") {\r\n\t\t\t\t\t\t\t\tvalue = editor.getPopup().getBody().getFirstId();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\teditor.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif (value != \"\") {\r\n\t\t\t\t\t\t\t\tvalue = editor.getPopup().getBody().getFirstId();\r\n\t\t\t\t\t\t\t\teditor.setValue(value);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Arrow down\r\n\t\t\t\tif (code === 40) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tlet last = this.dataTable.getLastId();\r\n\t\t\t\t\tlet editor = this.dataTable.getEditor();\r\n\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(editor.column) == -1 && editor != null && editor.config.editor != \"combo\") {\r\n\t\t\t\t\t\tlet newRow = this.dataTable.getNextId(editor.row, 1);\r\n\t\t\t\t\t\tif (newRow != undefined) {\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(newRow, editor.column, false, true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Arrow up\r\n\t\t\t\tif (code === 38) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tlet first = this.dataTable.getFirstId();\r\n\t\t\t\t\tlet editor = this.dataTable.getEditor();\r\n\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(editor.column) == -1 && editor != null && editor.config.editor != \"combo\") {\r\n\t\t\t\t\t\tlet newRow = this.dataTable.getPrevId(editor.row, 1);\r\n\t\t\t\t\t\tif (newRow != undefined) {\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(newRow, editor.column, false, true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Enter key\r\n\t\t\t\tif (code === 13) {\r\n\t\t\t\t\tthis.nextEditor = this.dataTable.getEditor();\r\n\r\n\t\t\t\t\tlet editor = this.dataTable.getEditor();\r\n\t\t\t\t\tthis.nextEditor = editor;\r\n\t\t\t\t\tif (editor == null || editor == 0) {\r\n\r\n\t\t\t\t\t\tif (this.lastEditedCell != null && this.lastEditedCell != 0 && !this.mobileMode) {\r\n\t\t\t\t\t\t\twebix.delay(() => {\r\n\t\t\t\t\t\t\t\tthis.dataTable.editNext();\r\n\t\t\t\t\t\t\t}, this.dataTable);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\twebix.delay(() => {\r\n\t\t\t\t\t\t\tthis.dataTable.editNext();\r\n\t\t\t\t\t\t}, this.dataTable);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n }\r\n\r\n\t//Counts subimitted rows and adds initial readonly CSS\r\n\tprivate initRows() {\r\n\t\tlet previousEmployee: any = null;\r\n\t\tthis.crewTimecardDataService.rowCount = this.dataTable.count();\r\n\t\tif (this.crewTimecardDataService.usageMode != \"approval\") {\r\n\t\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\t\tlet isEmployeeRow = $.inArray(\"Employee\", this.gridData.rowPropertyNames) != -1;\r\n\t\t\t\tlet currentEmployee = row.Employee;\r\n\t\t\t\tcurrentEmployee = currentEmployee.substr(0, currentEmployee.indexOf(\"@\"));\r\n\t\t\t\tif (row.IsApproved == \"1\" && row.IsReadOnly != \"1\")\r\n\t\t\t\t\tthis.crewTimecardDataService.approvedRows++;\r\n\t\t\t\tif (row.IsSubmitted != \"1\")\r\n\t\t\t\t\tthis.crewTimecardDataService.unsubmittedRows++;\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (this.employeesToExclude.indexOf(currentEmployee) == -1) {\r\n\t\t\t\t\t\tthis.employeesToExclude.push(currentEmployee);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (row.IsSubmitted == \"1\" && row.IsApproved == \"0\" && row.IsReadOnly != \"1\")\r\n\t\t\t\t\tthis.crewTimecardDataService.unapprovedRows++;\r\n\t\t\t\t//apply readonly css if necessary\r\n\t\t\t\tthis.dataTable.addCellCss(rowID, \"Sub Total\", \"cellReadOnly\");\r\n\t\t\t\tif (row.IsReadOnly == \"1\") {\r\n\t\t\t\t\t$.each(this.gridData.columns, (key, column) => {\r\n\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, column.id, \"cellReadOnly\");\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t//hide approve button if Employee is not a row group or if the current employee is the same as the previous row.\r\n\t\t\t\t\tlet employee = row.Employee;\r\n\t\t\t\t\temployee = employee.substr(0, employee.indexOf(\"@\"));\r\n\t\t\t\t\t//make type read only on existing lines\r\n\t\t\t\t\t$.each(this.gridData.columns, (key, column) => {\r\n\t\t\t\t\t\tif (column.id == \"Type\") {\r\n\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, column.id, \"cellReadOnly\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (employee != null) {\r\n\t\t\t\t\t\tif (row.IsSubmitted == \"1\" || (this.employeeLockStatus[employee] != null && this.employeeLockStatus[employee].IsLocked)) {\r\n\t\t\t\t\t\t\t$.each(this.gridData.columns, (key, column) => {\r\n\t\t\t\t\t\t\t\tif (column.id != \"action\")\r\n\t\t\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, column.id, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t//279351: allow hideCell only if it not Field ticket screen. Field ticket screen doesn't contain Approve button \r\n\t\t\t\t\t\t\tif (!(this.crewTimecardDataService.usageMode == \"PR\" || this.crewTimecardDataService.usageMode == \"PREQ\") &&\r\n\t\t\t\t\t\t\t\t(!isEmployeeRow || currentEmployee == previousEmployee || row.IsApproved == \"1\" ||\r\n\t\t\t\t\t\t\t\t\t(this.employeeLockStatus[employee] != null && this.employeeLockStatus[employee].IsLocked && row.IsSubmitted != \"1\"))) {\r\n\t\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, \"action\", \"hideCell\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tpreviousEmployee = row.Employee;\r\n\t\t\t\tpreviousEmployee = previousEmployee.substr(0, previousEmployee.indexOf(\"@\"));\r\n\t\t\t});\r\n\r\n\t\t\t//count the number of unsubmitted rows in raw data for clone check\r\n\t\t\tlet totalSubmittedRows = 0;\r\n\t\t\tthis.rawRows.forEach((row) => {\r\n\t\t\t\tif (row.IsSubmitted == \"1\")\r\n\t\t\t\t\ttotalSubmittedRows++;\r\n\t\t\t})\r\n\t\t\tthis.crewTimecardDataService.totalSubmittedRows = totalSubmittedRows;\r\n\r\n\t\t\t//set time worked read only based on unsubmitted rows\r\n\t\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled) {\r\n\t\t\t\tthis.crewTimecardDataService.timeWorked?.setReadOnly(this.crewTimecardDataService.unsubmittedRows < this.crewTimecardDataService.rowCount);\r\n\t\t\t}\r\n }\r\n\t}\r\n\r\n\tprivate applyTableReadOnly() {\r\n\t\tlet typeExists = this.gridData.rowPropertyNames.indexOf(\"Type\") > -1;\r\n\t\tlet earnPayExists = this.gridData.rowPropertyNames.indexOf(\"EarnCode\") > -1 || this.gridData.rowPropertyNames.indexOf(\"PayType\") > -1;\r\n\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\tif (typeExists || row[\"Type___@Value\"] == \"S\") {\r\n\t\t\t\tthis.applyLineTypeCSS(rowID);\r\n\t\t\t}\r\n\t\t\tif (earnPayExists) {\r\n\t\t\t\tthis.applyAmountCSS(rowID);\r\n\t\t\t}\r\n\r\n\t\t});\r\n }\r\n\r\n\t//Webix event handlers\r\n\t//Note - use this instead of this in the event handlers as the scope of the handlers is changed\r\n\tprivate beforeEditStart(eventInfo) {\r\n\t\tlet nextCol, nextRow;\r\n\t\tif (this.isReadOnlyGridTime || this.crewTimecardDataService.readOnlyGrid)\r\n\t\t\treturn false;\r\n\t\tlet editor = this.dataTable.getEditor();\r\n\t\tlet resolvedColumnName = eventInfo.column.substr(eventInfo.column.indexOf(\"@\") + 1);\r\n\t\tif (this.sharedColumnInfo[eventInfo.column] != null && this.sharedColumnInfo[eventInfo.column].ValidationDataType == \"bit\") {\r\n\t\t\tif (this.tabPressed == \"F\") {\r\n\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) + 1);\r\n\t\t\t}\r\n\t\t\telse if (this.tabPressed == \"B\") {\r\n\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) - 1);\r\n\t\t\t}\r\n\t\t\tif (nextCol) {\r\n\t\t\t\tthis.dataTable.editCell(eventInfo.row, nextCol, false, true);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tlet row = this.dataTable.getItem(eventInfo.row);\r\n\t\t//disallow type change if row is not new\r\n\t\tif (eventInfo.column == \"Type\" && !row.isNewRow) {\r\n\t\t\tif (this.tabPressed == \"F\") {\r\n\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) + 1);\r\n\t\t\t}\r\n\t\t\telse if (this.tabPressed == \"B\") {\r\n\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) - 1);\r\n\t\t\t}\r\n\t\t\tif (nextCol) {\r\n\t\t\t\tthis.dataTable.editCell(eventInfo.row, nextCol, false, true);\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t//disallow editing if certain fields on an amount row\r\n\t\tif (eventInfo.column.indexOf(\"@StartTime\") > -1 || eventInfo.column.indexOf(\"@StopTime\") > -1 || eventInfo.column.indexOf(\"@BreakHours\") > -1) {\r\n\t\t\tif (this.isAmountRow(eventInfo.row)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet employee = row.Employee;\r\n\t\temployee = employee.substr(0, employee.indexOf(\"@\"));\r\n\t\t//Note - JobPhaseCombined is hardcoded to be read only\r\n\t\tif (this.crewTimecardDataService.usageMode == \"approval\") {\r\n\t\t\tif (((eventInfo.column.indexOf(\"@Hours\") == -1 && eventInfo.column.indexOf(\"@UsageUnits\") == -1)) &&\r\n\t\t\t\t(this.sharedColumnInfo[resolvedColumnName] == null || this.sharedColumnInfo[resolvedColumnName].ApprovalVisibilityModeID == 2 || resolvedColumnName == \"JobPhaseCombined\") || row.IsRowAggregate) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse if (((eventInfo.column.indexOf(\"@Hours\") > -1) && (this.sharedColumnInfo[\"Hours\"].ApprovalVisibilityModeID == 2 || row.IsRowAggregate))) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse if ((eventInfo.column.indexOf(\"@UsageUnits\") > -1) && (this.sharedColumnInfo[\"UsageUnits\"].ApprovalVisibilityModeID == 2 || row.IsRowAggregate)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t//#316534: For Locked, don't allow to edit\r\n\t\t\tif (row.IsLocked == '1')\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (eventInfo.column != \"Employee\" && eventInfo.column != \"Type\" && (this.sharedColumnInfo[eventInfo.column] != null && this.sharedColumnInfo[eventInfo.column].ColumnVisibilityModeID == 2)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!this.crewTimecardDataService.payPeriod.EnableCrews) {\r\n\t\t\tif (this.crewTimecardDataService.selectedEmployee != null && this.crewTimecardDataService.selectedEmployee != \"all\" && eventInfo.column == \"Employee\")\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (this.dependentQueue.length > 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t //read only cell\r\n\t\tif (row.IsReadOnly == \"1\" || row.IsSubmitted == \"1\" || (this.employeeLockStatus[employee] != null && this.employeeLockStatus[employee].IsLocked)) {\r\n\t\t\t//279351: Allow edit on submitted record when the config is true for Field Ticket\r\n\t\t\tif (!((this.crewTimecardDataService.usageMode == \"PR\" || this.crewTimecardDataService.usageMode == \"PREQ\") && row.IsApproved == \"0\") || this.portalSettings.DTREmpEquReadOnlyOverride.ConfigValue == 0)\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t\tif (this.crewTimecardDataService.usageMode == \"approval\" && row.PendingStatus != \"U\")\r\n\t\t\treturn false;\r\n\t\t// return (do not allow editing) if this cell is a \"Grouping Cell\" -- a treenode parent\r\n\t\tif (row.$parent != null && typeof (row.$parent) === \"string\" && row.$parent.length > 0 && row.$parent === eventInfo.row) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tlet isCellReferringToRowProperty = $.inArray(eventInfo.column, this.gridData.rowPropertyNames) !== -1;\r\n\t\tlet column = this.gridData.getColumnByName(eventInfo.column);\r\n\t\t//allow edit if the column is the delete column\r\n\t\tif (column.id == \"action\") {\r\n\t\t\tthis.dataTable.editNext();\r\n\t\t\tthis.nextEditor = null;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (!isCellReferringToRowProperty && this.gridData.columnMap[eventInfo.column] == null) return false;\r\n\t\tlet columnName = isCellReferringToRowProperty ? eventInfo.column : this.gridData.columnMap[eventInfo.column].valuePropertyName.substr(1);\r\n\t\t//disable edit if column does not match with line type\r\n\t\tif (columnName != \"Type\" && row.Type != null && row.Type != \"\") {\r\n\t\t\tlet rowLineType = row.Type.substr(0, row.Type.indexOf(\"@\"));\r\n\t\t\tlet colLineType = this.sharedColumnInfo[columnName].LineType;\r\n\t\t\tif (rowLineType == \"J\") {\r\n\t\t\t\tif (colLineType != \"J\" && colLineType != \"A\" && colLineType != \"F\" && colLineType != \"T\") {\r\n\t\t\t\t\tif (this.tabPressed == \"F\") {\r\n\t\t\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) + 1);\r\n\t\t\t\t\t\tif (nextCol == \"Sub Total\") {\r\n\t\t\t\t\t\t\tnextCol = this.dataTable.columnId(0);\r\n\t\t\t\t\t\t\tnextRow = this.dataTable.getNextId(eventInfo.row, 1)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (this.tabPressed == \"B\") {\r\n\t\t\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) - 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (nextCol) {\r\n\t\t\t\t\t\tif (nextRow)\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(nextRow, nextCol, false, true);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(eventInfo.row, nextCol, false, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\telse if (rowLineType == \"S\") {\r\n\t\t\t\tif ((colLineType != \"S\" && colLineType != \"A\" && colLineType != \"T\") || columnName == \"Job\") {\r\n\t\t\t\t\tif (this.tabPressed == \"F\") {\r\n\t\t\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) + 1);\r\n\t\t\t\t\t\tif (nextCol == \"Sub Total\") {\r\n\t\t\t\t\t\t\tnextCol = this.dataTable.columnId(0);\r\n\t\t\t\t\t\t\tnextRow = this.dataTable.getNextId(eventInfo.row, 1)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (this.tabPressed == \"B\") {\r\n\t\t\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) - 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (nextCol) {\r\n\t\t\t\t\t\tif (nextRow)\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(nextRow, nextCol, false, true);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(eventInfo.row, nextCol, false, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (rowLineType == \"M\") {\r\n\t\t\t\tif (colLineType != \"M\" && colLineType != \"A\" && colLineType != \"F\") {\r\n\t\t\t\t\tif (this.tabPressed == \"F\") {\r\n\t\t\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) + 1);\r\n\t\t\t\t\t\tif (nextCol == \"Sub Total\") {\r\n\t\t\t\t\t\t\tnextCol = this.dataTable.columnId(0);\r\n\t\t\t\t\t\t\tnextRow = this.dataTable.getNextId(eventInfo.row, 1)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (this.tabPressed == \"B\") {\r\n\t\t\t\t\t\tnextCol = this.dataTable.columnId(this.dataTable.getColumnIndex(eventInfo.column) - 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (nextCol) {\r\n\t\t\t\t\t\tif (nextRow)\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(nextRow, nextCol, false, true);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(eventInfo.row, nextCol, false, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.sharedColumnInfo[columnName].IsCombo !== 1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tthis.tabPressed = null;\r\n\t\tif (columnName == \"Employee\" && this.employeeListBound && this.sharedColumnInfo[eventInfo.column].ColumnVisibilityModeID != 4) {\r\n\t\t\tif (row.id != this.lastRequestedRow)\r\n\t\t\t\tthis.bindPossibleValues(this.employeeList, false, \"Employee\", row);\r\n\t\t\telse\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\t\telse if (this.sharedColumnInfo[eventInfo.column].ColumnVisibilityModeID == 4) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//check if cache value exists, if not the cell has not been loaded yet\r\n\t\t\tif (this.lookupValuesCache[row.id] != null) {\r\n\t\t\t\tif (this.lookupValuesCache[row.id][columnName] != null) {\r\n\t\t\t\t\t//put cache binding logic here\r\n\t\t\t\t\tif (row.id != this.lastRequestedRow)\r\n\t\t\t\t\t\tthis.bindPossibleValues(this.lookupValuesCache[row.id][columnName], false, columnName, row);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.lookupValuesCache[row.id] = {};\r\n\t\t\t\t\treturn this.getCellValues(columnName, row, false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.lookupValuesCache[row.id] = {};\r\n\t\t\t\treturn this.getCellValues(columnName, row, false);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate afterEditStart(id) {\r\n\t\tthis.currentCell = id;\r\n\t\tlet state = {old: null, value: null};\r\n\t\tlet editor = this.dataTable.getEditor();\r\n\t\tthis.lastEditedCell = editor;\r\n\t\tstate.old = editor.getValue();\r\n\t\tlet row = this.dataTable.getItem(id.row);\r\n\t\tthis.lastEditedCell = editor;\r\n\t\tif (editor.config.editor == \"popupWindowCombo\") {\r\n\t\t\tlet requestParams = null;\r\n\t\t\tif (this.sharedColumnInfo[editor.column].ColumnVisibilityModeID == 4) {\r\n\t\t\t\trequestParams = this.getRequestParams(this.currentCell.column, row, false);\r\n\t\t\t\trequestParams.currentCell = this.currentCell;\r\n\t\t\t}\r\n\t\t\tlet options = this.columnOptions[id.column].serialize();\r\n\t\t\toptions = options.filter((obj) => {\r\n\t\t\t\tif (obj.visible && obj.value != \"\" && obj.value != \"null\")\r\n\t\t\t\t\treturn true;\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\r\n\t\t\tlet modalRef = this.ngbmodalService.open(EditCellValueModalComponent);\r\n\t\t\tmodalRef.componentInstance.options = options;\r\n\t\t\tmodalRef.componentInstance.column = id.column;\r\n\t\t\tmodalRef.componentInstance.mode = this.sharedColumnInfo[editor.column].ColumnVisibilityModeID == 4 ? \"super\" : \"normal\";\r\n\t\t\tmodalRef.componentInstance.requestParams = requestParams;\r\n\r\n\t\t\tmodalRef.result.then((result: any) => {\r\n\t\t\t\tif (result != null && result.id != null && result.id != state.old) {\r\n\t\t\t\t\tif (result.id != \"null\" && this.sharedColumnInfo[editor.column].ColumnVisibilityModeID == 4 && this.columnOptions[editor.column].getItem(result.id) == null) {\r\n\t\t\t\t\t\tthis.columnOptions[editor.column].add({ id: result.id, value: result.value, visible: false });\r\n\t\t\t\t\t}\r\n\t\t\t\t\trow[id.column] = result.id;\r\n\t\t\t\t\tstate.value = result.id;\r\n\t\t\t\t\tthis.valueChanged(state, editor);\r\n\t\t\t\t}\r\n\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t}, () => {\r\n\t\t\t\t//dismissed\r\n\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\tthis.dataTable.editStop();\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet popup: any = $$(this.dataTable.getEditor().config.suggest);\r\n\t\t\tif (popup != null)\r\n\t\t\t\tpopup.getList().filter(\"visible\", true)\r\n\t\t}\r\n\t}\r\n\r\n\tprivate beforeEditStop(state, editor) {\r\n\t\tlet row = this.dataTable.getItem(editor.row);\r\n\t\tlet colPrefix = editor.column.substr(0, editor.column.indexOf(\"@\"));\r\n\t\tlet startColName = colPrefix + \"@StartTime\";\r\n\t\tlet stopColName = colPrefix + \"@StopTime\";\r\n\t\tif (state.value != state.old) {\r\n\t\t\tif (editor.column.indexOf(\"StartTime\") != -1 && state.value != null && state.value != \"\") {\r\n\t\t\t\tlet value = this.timeParserService.parseStartStop(state.value, \"StartTime\", true);\r\n\t\t\t\tif (value != \"Invalid Time\") {\r\n\t\t\t\t\tstate.value = value;\r\n\t\t\t\t\tif (row[stopColName] != null && row[stopColName] != \"\") {\r\n\t\t\t\t\t\tthis.calculateHours(row, colPrefix, true, false, false, state.value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.crewTimecardDataService.alertType = \"danger\";\r\n\t\t\t\t\tthis.crewTimecardDataService.alertMsg = \"Invalid time entered: \\\"\" + state.value + \"\\\"\";\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse if (editor.column.indexOf(\"StopTime\") != -1 && state.value != null && state.value != \"\") {\r\n\t\t\t\tlet value = this.timeParserService.parseStartStop(state.value, \"StopTime\", true);\r\n\t\t\t\tif (value != \"Invalid Time\") {\r\n\t\t\t\t\tstate.value = value\r\n\t\t\t\t\tif (row[startColName] != null && row[startColName] != \"\") {\r\n\t\t\t\t\t\tthis.calculateHours(row, colPrefix, false, true, false, state.value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.crewTimecardDataService.alertType = \"danger\";\r\n\t\t\t\t\tthis.crewTimecardDataService.alertMsg = \"Invalid time entered: \\\"\" + state.value + \"\\\"\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (editor.column.indexOf(\"BreakHours\") != -1) {\r\n\t\t\t\tif (row[startColName] != null && row[startColName] != \"\") {\r\n\t\t\t\t\tthis.calculateHours(row, colPrefix, false, false, true, state.value);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate afterEditStop(state, editor) {\r\n\t\tif (state.value != state.old) {\r\n\t\t\tif (this.columnOptions[editor.column] != null && this.columnOptions[editor.column].getItem(state.value) == null && this.lastUsedList != null) {\r\n\t\t\t\tfor (var i = 0; i < this.lastUsedList.length; i++) {\r\n\t\t\t\t\tif (this.lastUsedList[i].id == state.value) {\r\n\t\t\t\t\t\tthis.columnOptions[editor.column].add({ id: state.value, value: this.lastUsedList[i].value });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//columnOptions[editor.column].add(id: state)\r\n\t\t\t};\r\n\t\t\tthis.valueChanged(state, editor);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate onCheck(id, column, state) {\r\n\t\tthis.valueChanged(state, { row: id, column: column });\r\n\t}\r\n\r\n\tprivate valueChanged(state, editor) {\r\n\t\tlet row = this.dataTable.getItem(editor.row);\r\n\t\t//if amount row, clear certain fields\r\n\t\tif (editor.column == \"EarnCode\" || editor.column == \"PayType\") {\r\n\t\t\tif (this.isAmountRow(editor.row)) {\r\n\t\t\t\tthis.gridData.columns.forEach((column) => {\r\n\t\t\t\t\tlet columnName = column.id;\r\n\t\t\t\t\tif (columnName.indexOf(\"@StartTime\") > -1 || columnName.indexOf(\"@StopTime\") > -1 || columnName.indexOf(\"@BreakHours\") > -1) {\r\n\t\t\t\t\t\trow[columnName] = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (editor.column == \"PostDate\" && row[\"PostDate\"] != null && typeof row[\"PostDate\"].getMonth == 'function') {\r\n\t\t\tlet yyyy = row[\"PostDate\"].getFullYear().toString();\r\n\t\t\tlet mm = (row[\"PostDate\"].getMonth() + 1).toString();\r\n\t\t\tlet dd = row[\"PostDate\"].getDate().toString();\r\n\t\t\trow[\"PostDate\"] = yyyy + \"/\" + mm + \"/\" + dd;\r\n\t\t}\r\n\t\tthis.crewTimecardDataService.unsavedChanges = true;\r\n\r\n\t\tif (this.defaultUsageToLaborHours && editor.column.indexOf(\"@Hours\") > -1 && this.gridData.valuePropertyNames.indexOf(\"@UsageUnits\") > -1){\r\n\t\t\tlet usageColumnName = editor.column.substr(0, editor.column.indexOf(\"@\")) + \"@UsageUnits\";\r\n\t\t\tif (row[usageColumnName] == null || row[usageColumnName] == \"\")\r\n\t\t\t\trow[usageColumnName] = state.value;\r\n\t\t}\r\n\r\n\t\t//Process change of line type\r\n\t\t//remove cell css\r\n\t\tif (this.crewTimecardDataService.usageMode != \"PR\" && this.crewTimecardDataService.usageMode != \"PREQ\") {\r\n\t\t\tif (editor.column == \"Employee\") {\r\n\t\t\t\tthis.refreshEmployeeList();\r\n\t\t\t}\r\n\t\t\tif (editor.column == \"EarnCode\" || editor.column == \"PayType\") {\r\n\t\t\t\tthis.applyAmountCSS(row.id);\r\n\t\t\t}\r\n\t\t\tif (editor.column == \"Type\") {\r\n\t\t\t\tthis.gridData.columns.forEach((val) => {\r\n\t\t\t\t\tif (val.id != \"Sub Total\")\r\n\t\t\t\t\t\tthis.dataTable.removeCellCss(row.id, val.id, \"cellReadOnly\");\r\n\t\t\t\t});\r\n\t\t\t\tthis.applyLineTypeCSS(row.id);\r\n\t\t\t}\r\n\t\t\tif (this.gridData.rowPropertyNames.indexOf(editor.column) != -1) {\r\n\t\t\t\trow.headerModified = true;\r\n\r\n\t\t\t\t//Do dependent stuff here\r\n\t\t\t\tif (editor.column == \"Employee\" || editor.column == \"Type\") {\r\n\t\t\t\t\t//EMPLOYEE REBIND LOGIC RIGHT HERE\r\n\t\t\t\t\tthis.rebindingEmployee = true;\r\n\t\t\t\t\tlet isTypeUsed = row.Type != null && row.Type != \"\" && row.Type.substr(0, row.Type.indexOf(\"@\")) != \"\";\r\n\t\t\t\t\tlet employeeDependentColumns = this.sharedColumnInfo[\"Employee\"].DependentColumns != null ? this.sharedColumnInfo[\"Employee\"].DependentColumns.split(\",\") : [];\r\n\t\t\t\t\tthis.gridData.rowPropertyNames.forEach((rowProperty) => {\r\n\t\t\t\t\t\tif (rowProperty != \"Employee\" && this.sharedColumnInfo[rowProperty] != null && this.sharedColumnInfo[rowProperty].IsCombo == 1) {\r\n\t\t\t\t\t\t\tif (employeeDependentColumns.indexOf(rowProperty) > -1 && (!isTypeUsed || !this.isCellReadOnly(row, rowProperty))) {\r\n\t\t\t\t\t\t\t\tthis.dependentQueue.push(rowProperty);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.sharedColumnInfo[editor.column].DependentColumns != null && this.sharedColumnInfo[editor.column].DependentColumns != \"\") {\r\n\t\t\t\t\tlet dependentColumns = this.sharedColumnInfo[editor.column].DependentColumns.split(\",\");\r\n\t\t\t\t\tdependentColumns.forEach((col) => {\r\n\t\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(col) > -1) {\r\n\t\t\t\t\t\t\tlet isTypeUsed = row.Type != null && row.Type != \"\" && row.Type.substr(0, row.Type.indexOf(\"@\")) != \"\";\r\n\t\t\t\t\t\t\tif (!isTypeUsed || !this.isCellReadOnly(row, col)) {\r\n\t\t\t\t\t\t\t\tthis.dependentQueue.push(col);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (col == \"Equipment\" && editor.column == \"WO\" && this.sharedColumnInfo[\"Equipment\"].IsAutoSelectFirstValue)\r\n\t\t\t\t\t\t\tthis.equipmentAutoSelectRebind = true;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\t\t\t\tif (this.dependentQueue.length > 0) {\r\n\t\t\t\t\tthis.getCellValues(this.dependentQueue[0], row, true);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (this.rebindingEmployee) {\r\n\t\t\t\t\t\tlet employee = \"\";\r\n\t\t\t\t\t\tif (row[\"Employee\"] != null && row[\"Employee\"] != \"\")\r\n\t\t\t\t\t\t\temployee = row[\"Employee\"].substr(0, row[\"Employee\"].indexOf(\"@\"));\r\n\t\t\t\t\t\tthis.rebindingEmployee = false;\r\n\t\t\t\t\t\tif (this.columnInfoByEmployee[employee] == null) {\r\n\t\t\t\t\t\t\tthis.getEmployeeColumnInfo(employee, row.id, false, false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.bindDefaultValues(row.id);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this.gridData.rowPropertyNames.indexOf(editor.column) != -1) {\r\n\t\t\t\trow.headerModified = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//save display value under ___@Value\r\n\t\tif (this.sharedColumnInfo[editor.column] != null && this.sharedColumnInfo[editor.column].IsCombo === 1) {\r\n\t\t\tlet optionItem = this.columnOptions[editor.column].getItem(state.value);\r\n\t\t\tif (optionItem != null) {\r\n\t\t\t\trow[editor.column + \"___@Value\"] = optionItem.value;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\trow[editor.column + \"___@Value\"] = \"\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate onHeaderClick(id) {\r\n\t\tif (this.dataTable.getColumnConfig(id.column).sort) {\r\n\t\t\tif (id.column != this.tableSort) {\r\n\t\t\t\tthis.tableSort = id.column;\r\n\t\t\t\tthis.tableReverse = false;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.tableReverse = !this.tableReverse;\r\n\t\t\t}\r\n\t\t\tsessionStorage.setItem(\"CrewTableSort\", this.tableSort);\r\n\t\t\tsessionStorage.setItem(\"CrewTableReverse\", this.tableReverse.toString());\r\n\t\t}\r\n\t}\r\n\r\n\tprivate onSubViewCreate(view, item) {\r\n\t\tif (item && item.DailyTime)\r\n\t\t\tview.parse(item.DailyTime);\r\n\t}\r\n\r\n\t//Webix button functions\r\n\tprivate deleteRow(e, id, trg) {\r\n\t\tthis.dataTable.editStop();\r\n\t\tlet row = this.dataTable.getItem(id);\r\n\t\tif (row.IsReadOnly != \"1\") {\r\n\t\t\tlet promises = [];\r\n\t\t\tif (row.isNewRow != true) {\r\n\t\t\t\tlet columnCollection = this.crewTimecardManagerService.getRow(id);\r\n\t\t\t\tlet cellsToDelete = [];\r\n\r\n\t\t\t\t$.each(this.gridData.columnMap, (resolvedColumnName, columnMetadata) => {\r\n\t\t\t\t\tlet keyID = this.crewTimecardManagerService.getColumnPropertyValue(columnCollection, resolvedColumnName, \"@KeyID\");\r\n\t\t\t\t\tcellsToDelete.push(keyID);\r\n\t\t\t\t});\r\n\t\t\t\tlet cellIDString = cellsToDelete.join(\",\");\r\n\t\t\t\tlet errors = 0;\r\n\t\t\t\tthis.crewTimecardGridService.deleteTimecardRow(cellIDString).then((response: any) => {\r\n\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\tthis.dataTable.remove(id);\r\n\t\t\t\t\t\tthis.crewTimecardDataService.rowCount = this.dataTable.count();\r\n\t\t\t\t\t\tthis.crewTimecardDataService.unsubmittedRows--;\r\n\r\n\t\t\t\t\t\t//set time worked read only based on unsubmitted rows\r\n\t\t\t\t\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled) {\r\n\t\t\t\t\t\t\tthis.crewTimecardDataService.timeWorked?.setReadOnly(this.crewTimecardDataService.unsubmittedRows < this.crewTimecardDataService.rowCount);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.dataTable.remove(id);\r\n\t\t\t\tthis.crewTimecardDataService.rowCount = this.dataTable.count();\r\n\t\t\t\tthis.crewTimecardDataService.unsubmittedRows--;\r\n\r\n\t\t\t\t//set time worked read only based on unsubmitted rows\r\n\t\t\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled) {\r\n\t\t\t\t\tthis.crewTimecardDataService.timeWorked?.setReadOnly(this.crewTimecardDataService.unsubmittedRows < this.crewTimecardDataService.rowCount);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tthis.crewTimecardDataService.rowDeleted = true;\r\n\t\treturn false;\r\n }\r\n\r\n\tprivate approveRow(e, id, trg) {\r\n\t\tlet row = this.dataTable.getItem(id);\r\n\t\t//Handle approval logic here\r\n\t\tlet promises = [];\r\n\t\tlet keyID = this.crewTimecardManagerService.getRowID(id);\r\n\r\n\t\tif (keyID != null) {\r\n\t\t\tlet modalMessage;\r\n\t\t\tlet employee = row[\"Employee___@Value\"];\r\n\t\t\tif (employee == null)\r\n\t\t\t\tmodalMessage = \"

Are you sure you want to approve this employee's timecard entries?

\";\r\n\t\t\telse\r\n\t\t\t\tmodalMessage = \"

Are you sure you want to approve the timecard entries for \" + employee + \"?

\";\r\n\r\n\t\t\tconst initialState = {\r\n\t\t\t\tmodalData: {\r\n\t\t\t\t\tmodalTitle: \"Approve Timecard Warning\",\r\n\t\t\t\t\tmodalMessage: modalMessage,\r\n\t\t\t\t\tmodalAction: \"Approve\"\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tlet modalRef = this.bsModalService.show(WarningModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n\r\n\t\t\tmodalRef.onHide.subscribe((response: any) => {\r\n\t\t\t\tvar result = modalRef.content.userAction;\r\n\t\t\t\tif (result == \"Approve\") {\r\n\t\t\t\t\tthis.crewTimecardDataService.timecardLoaded = false;\r\n\t\t\t\t\tthis.crewTimecardGridService.approveCrewTimecard(this.crewTimecardDataService.template.CrewTemplateID, this.crewTimecardDataService.payPeriod.PRPCKeyID, keyID, moment().format(\"MM/DD/YYYY h:mm:ss a\")).then((response) => {\r\n\t\t\t\t\t\tthis.loadTimecard(\"crewTimecardGrid\");\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t//Note - this is called from the index component\r\n\tapproveAllRows() {\r\n\t\tlet promises = [];\r\n\t\tlet previousEmployee = null;\r\n\t\tlet i = 0;\r\n\t\tlet keyIDs = '';\r\n\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\tlet rowValues = this.dataTable.getItem(rowID);\r\n\t\t\tif (rowValues.IsSubmitted == \"1\" && rowValues.IsReadOnly != \"1\" && rowValues.IsApproved == \"0\") {\r\n\t\t\t\tlet keyID = this.crewTimecardManagerService.getRowID(rowID);\r\n\t\t\t\tlet currentEmployee = rowValues.Employee;\r\n\t\t\t\tcurrentEmployee = currentEmployee.substr(0, currentEmployee.indexOf(\"@\"));\r\n\t\t\t\tif (keyID != null && previousEmployee != currentEmployee) {\r\n\t\t\t\t\ti++;\r\n\t\t\t\t\tkeyIDs += keyID + ',';\r\n\t\t\t\t\tif (i % 50 == 0) {\r\n\t\t\t\t\t\tpromises.push(\r\n\t\t\t\t\t\t\tthis.crewTimecardGridService.approveCrewTimecard(this.crewTimecardDataService.template.CrewTemplateID, this.crewTimecardDataService.payPeriod.PRPCKeyID, null, moment().format(\"MM/DD/YYYY h:mm:ss a\"), keyIDs)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tkeyIDs = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tpreviousEmployee = currentEmployee;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (keyIDs != '') {\r\n\t\t\tpromises.push(this.crewTimecardGridService.approveCrewTimecard(this.crewTimecardDataService.template.CrewTemplateID, this.crewTimecardDataService.payPeriod.PRPCKeyID, null, moment().format(\"MM/DD/YYYY h:mm:ss a\"), keyIDs));\r\n\t\t}\r\n\r\n\t\tforkJoin(promises).subscribe({\r\n\t\t\tcomplete: () => {\r\n\t\t\t\tthis.loadTimecard(this.crewTimecardID);\r\n\t\t\t\tthis.eventService.broadcast('approvedTimecardsChanged');\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate deleteZeroHourItem(id) {\r\n\t\tlet keyIDs = this.crewTimecardManagerService.getRowIDs(id);\r\n\t\tif (keyIDs.length > 0) {\r\n\t\t\tthis.crewTimecardGridService.timecardApprovalSubmit(this.crewTimecardDataService.payPeriod.PRPCKeyID, keyIDs.join(), \"D\").then((response: any) => {\r\n\t\t\t\tif (response.success) {\r\n\t\t\t\t\tthis.loadTimecard(\"crewTimecardGrid\");\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t//Job Approval methods\r\n\tfilterGridRows() {\r\n\t\tif (this.unfilteredRows != null) {\r\n\t\t\tlet gridRows = _.cloneDeep(this.unfilteredRows);\r\n\t\t\tthis.crewTimecardDataService.currentUnapproved = 0;\r\n\t\t\t$.each(this.crewTimecardDataService.selectedFilters, (filterKey, filter) => {\r\n\t\t\t\tif (filter != null && filter != \"all\" && filter.length > 0) {\r\n\t\t\t\t\tvar filterList = filter.map(function (x) { if (x.Value == \"blank\") return \"\"; return x.Value });\r\n\t\t\t\t\tfor (var i = gridRows.length - 1; i >= 0; i--) {\r\n\t\t\t\t\t\tvar rowValue = gridRows[i][filterKey];\r\n\t\t\t\t\t\tif (rowValue != null) {\r\n\t\t\t\t\t\t\tif (rowValue.indexOf(\"@\") > -1) {\r\n\t\t\t\t\t\t\t\trowValue = rowValue.substr(0, rowValue.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (filterList.indexOf(rowValue) == -1) {\r\n\t\t\t\t\t\t\t\tgridRows.splice(i, 1);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tif (gridRows != null) {\r\n\t\t\t\tthis.gridData.rows = gridRows;\r\n\t\t\t}\r\n\r\n\t\t\tgridRows.forEach((row) => {\r\n\t\t\t\tif (row.PendingStatus == \"U\")\r\n\t\t\t\t\tthis.crewTimecardDataService.currentUnapproved++;\r\n\t\t\t})\r\n\r\n\r\n\t\t\tif (this.dataTable != null) {\r\n\t\t\t\twebix.delay(() => {\r\n\t\t\t\t\tthis.dataTable.clearAll();\r\n\t\t\t\t\tthis.dataTable.parse(gridRows, \"json\");\r\n\t\t\t\t\tthis.applyApprovalReadOnlyCSS();\r\n\t\t\t\t\t//line type css\r\n\t\t\t\t\tvar typeExists = this.gridData.rowPropertyNames.indexOf(\"Type\") > -1;\r\n\t\t\t\t\tvar earnPayExists = this.gridData.rowPropertyNames.indexOf(\"EarnCode\") > -1 || this.gridData.rowPropertyNames.indexOf(\"PayType\") > -1;\r\n\t\t\t\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\t\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\t\t\t\tif (typeExists) {\r\n\t\t\t\t\t\t\tthis.applyLineTypeCSS(rowID);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (earnPayExists) {\r\n\t\t\t\t\t\t\tthis.applyAmountCSS(rowID);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\tthis.crewTimecardDataService.rowCount = this.dataTable.count();\r\n\t\t\t\t}, this.dataTable);\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tresumeJobApprovalAction() {\r\n\t\tswitch (this.crewTimecardDataService.pendingAction) {\r\n\t\t\tcase \"approve\":\r\n\t\t\t\tthis.jobApprovalApproveItem(this.crewTimecardDataService.pendingItem, true);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"reject\":\r\n\t\t\t\tthis.jobApprovalRejectItem(this.crewTimecardDataService.pendingItem, true);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"undo\":\r\n\t\t\t\tthis.jobApprovalUndoItem(this.crewTimecardDataService.pendingItem, true);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"delete\":\r\n\t\t\t\tthis.deleteZeroHourItem(this.crewTimecardDataService.pendingItem);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tjobApprovalApproveItemClicked(e, id, trg) {\r\n\t\tif (this.crewTimecardDataService.unsavedChanges) {\r\n\t\t\tthis.crewTimecardDataService.pendingItem = id;\r\n\t\t\tthis.crewTimecardDataService.pendingAction = \"approve\";\r\n\t\t\tthis.crewTimecardDataService.actionPerformedCallback();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.crewTimecardDataService.pendingItem = null;\r\n\t\t\tthis.crewTimecardDataService.pendingAction = null;\r\n\t\t\tthis.jobApprovalApproveItem(id);\r\n\t\t}\r\n\t}\r\n\r\n\tjobApprovalRejectItemClicked(e, id, trg) {\r\n\t\tif (this.crewTimecardDataService.unsavedChanges) {\r\n\t\t\tthis.crewTimecardDataService.pendingItem = id;\r\n\t\t\tthis.crewTimecardDataService.pendingAction = \"approve\";\r\n\t\t\tthis.crewTimecardDataService.actionPerformedCallback();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.crewTimecardDataService.pendingItem = null;\r\n\t\t\tthis.crewTimecardDataService.pendingAction = null;\r\n\t\t\tthis.jobApprovalRejectItem(id);\r\n\t\t}\r\n\t}\r\n\r\n\tjobApprovalUndoItemClicked(e, id, trg) {\r\n\t\t\tthis.crewTimecardDataService.pendingItem = null;\r\n\t\t\tthis.crewTimecardDataService.pendingAction = null;\r\n\t\t\tthis.jobApprovalUndoItem(id);\r\n\t}\r\n\r\n\t//Split button on Timecard Approval\r\n\tsplitBtnClicked(e, id, trg) {\r\n\t\t\r\n\t\tlet row = this.dataTable.getItem(id);\r\n\t\tlet newRow = _.cloneDeep(row);\r\n\t\tthis.crewTimecardDataService.newRowID++;\r\n\t\tnewRow.isNewRow = true;\r\n\t\tnewRow.id = this.crewTimecardDataService.newRowID;\r\n\t\tnewRow.KeyID = -1;\r\n\t\tthis.dataTable.add(newRow, id.row);\r\n\t}\r\n\r\n\tdownloadJobApproval() {\r\n\t\tlet keyIDCollection = [];\r\n\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\tlet rowValues = this.dataTable.getItem(rowID);\r\n\t\t\tlet keyID = this.crewTimecardManagerService.getRowIDs(rowID);\r\n\t\t\tif (keyID != null && keyID.length > 0) {\r\n\t\t\t\tfor (let i = 0; i < keyID.length; i++) {\r\n\t\t\t\t\tkeyIDCollection.push(keyID[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (keyIDCollection.length > 0) {\r\n\t\t\tlet pRTBKeyIDString = keyIDCollection.join(\",\");\r\n\t\t\tlet pREndDateString = this.crewTimecardDataService.payPeriod.PREndDate.replace(/\\//g, \"-\");\r\n\t\t\tthis.crewTimecardGridService.saveCompilePDFData(pREndDateString, pRTBKeyIDString, this.crewTimecardDataService.payPeriod.PRPCKeyID).then((compileResponse) => {\r\n\t\t\t\tif (compileResponse) {\r\n\t\t\t\t\tthis.crewTimecardGridService.downloadCompilePDFFile(pREndDateString).then((downloadResponse: string) => {\r\n\t\t\t\t\t\twindow.location.href = downloadResponse;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tjobApprovalApproveAll(callback: Function = null) {\r\n\t\tlet allKeyIDs = [];\r\n\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\tlet keyIDs;\r\n\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\tif (row.PendingStatus == \"U\") {\r\n\t\t\t\tkeyIDs = this.crewTimecardManagerService.getRowIDs(row.id, row);\r\n\t\t\t\tallKeyIDs = allKeyIDs.concat(keyIDs);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst modalMessage = \"This action will approve all remaining unapproved lines on the grid. Continue?\";\r\n\r\n\t\tconst initialState = {\r\n\t\t\tmodalData: {\r\n\t\t\t\tmodalTitle: \"Approve Timecard\",\r\n\t\t\t\tmodalMessage: modalMessage,\r\n\t\t\t\tmodalAction: \"Approve\"\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tlet modalRef = this.bsModalService.show(WarningModalComponent, { initialState, ignoreBackdropClick: true, keyboard: true });\r\n\r\n\t\tmodalRef.onHide.subscribe((response: any) => {\r\n\t\t\tvar result = modalRef.content.userAction;\r\n\t\t\tif (result == \"Approve\") {\r\n\t\t\t\tthis.crewTimecardGridService.timecardApprovalSubmit(this.crewTimecardDataService.payPeriod.PRPCKeyID, allKeyIDs.join(), \"A\").then((response: any) => {\r\n\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\tif (callback != null)\r\n\t\t\t\t\t\t\tthis.callback();\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\t\t\t\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\t\t\t\t\t\tif (row.PendingStatus == \"U\" && row.IsReadOnly != \"1\") {\r\n\t\t\t\t\t\t\t\t\tthis.crewTimecardDataService.currentUnapproved--;\r\n\t\t\t\t\t\t\t\t\tthis.crewTimecardDataService.approvedRows++;\r\n\t\t\t\t\t\t\t\t\tthis.dataTable.addRowCss(rowID, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t\t\tthis.unfilteredRows.forEach((val) => {\r\n\t\t\t\t\t\t\t\t\t\tif (val.id == row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tval.PendingStatus = \"A\";\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\trow.PendingStatus = \"A\";\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tjobApprovalRejectAll(callback: Function = null) {\r\n\t\tlet allKeyIDs = [];\r\n\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\tlet keyIDs;\r\n\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\tif (row.PendingStatus == \"U\") {\r\n\t\t\t\tkeyIDs = this.crewTimecardManagerService.getRowIDs(row.id, row);\r\n\t\t\t\tallKeyIDs = allKeyIDs.concat(keyIDs);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tlet modalRef = this.ngbmodalService.open(RejectLineModalComponent, { size: 'lg', backdrop: 'static', keyboard: false });\r\n\t\tmodalRef.componentInstance.rejectReasons = this.crewTimecardDataService.rejectReasons;\r\n\r\n\t\tmodalRef.result.then((userChoice: any) => {\r\n\t\t\tif (userChoice.Action == \"Reject\") {\r\n\t\t\t\tthis.crewTimecardGridService.timecardApprovalSubmit(this.crewTimecardDataService.payPeriod.PRPCKeyID, allKeyIDs.join(), \"R\", userChoice.Reason.Reason, userChoice.Reason.Notes).then((response: any) => {\r\n\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\tif (callback != null)\r\n\t\t\t\t\t\t\tthis.callback();\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\t\t\t\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\t\t\t\t\t\tif (row.PendingStatus == \"U\" && row.IsReadOnly != \"1\") {\r\n\t\t\t\t\t\t\t\t\tthis.crewTimecardDataService.currentUnapproved--;\r\n\t\t\t\t\t\t\t\t\tthis.crewTimecardDataService.rejectedRows++;\r\n\t\t\t\t\t\t\t\t\tthis.dataTable.addRowCss(rowID, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t\t\tthis.unfilteredRows.forEach((val) => {\r\n\t\t\t\t\t\t\t\t\t\tif (val.id == row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tval.PendingStatus = \"R\";\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\trow.PendingStatus = \"R\";\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}, () => { /*dimissal*/ });\r\n\t}\r\n\r\n\tjobApprovalApproveItem(id, reload = false) {\r\n\t\tlet row = this.dataTable.getItem(id);\r\n\t\tif (row.PendingStatus == \"U\") {\r\n\t\t\t//Handle approval logic here\r\n\t\t\tlet keyIDs = this.crewTimecardManagerService.getRowIDs(id);\r\n\t\t\tif (keyIDs.length > 0) {\r\n\t\t\t\tthis.crewTimecardGridService.timecardApprovalSubmit(this.crewTimecardDataService.payPeriod.PRPCKeyID, keyIDs.join(), \"A\").then((response: any) => {\r\n\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\tif (reload) {\r\n\t\t\t\t\t\t\tthis.loadTimecard(\"approval\", null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.dataTable.addRowCss(id, \"cellReadOnly\");\r\n\t\t\t\t\t\t\tthis.unfilteredRows.forEach((val) => {\r\n\t\t\t\t\t\t\t\tif (val.id == row.id)\r\n\t\t\t\t\t\t\t\t\tval.PendingStatus = \"A\";\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\trow.PendingStatus = \"A\";\r\n\t\t\t\t\t\t\tthis.crewTimecardDataService.unapprovedRows--;\r\n\t\t\t\t\t\t\tthis.crewTimecardDataService.currentUnapproved--;\r\n\t\t\t\t\t\t\tthis.crewTimecardDataService.approvedRows++;\r\n\t\t\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tjobApprovalRejectItem(id, reload = false) {\r\n\t\tlet row = this.dataTable.getItem(id);\r\n\t\tif (row.PendingStatus == \"U\") {\r\n\t\t\t//Handle approval logic here\r\n\t\t\tlet keyIDs = this.crewTimecardManagerService.getRowIDs(id);\r\n\t\t\tif (keyIDs.length > 0) {\r\n\t\t\t\tlet modalRef = this.ngbmodalService.open(RejectLineModalComponent, { size: 'lg', backdrop: 'static', keyboard: false });\r\n\t\t\t\tmodalRef.componentInstance.rejectReasons = this.crewTimecardDataService.rejectReasons;\r\n\t\t\t\t\r\n\t\t\t\tmodalRef.result.then((userChoice: any) => {\r\n\t\t\t\t\tif (userChoice.Action == \"Reject\") {\r\n\t\t\t\t\t\tthis.crewTimecardGridService.timecardApprovalSubmit(this.crewTimecardDataService.payPeriod.PRPCKeyID, keyIDs.join(), \"R\", userChoice.Reason.Reason, userChoice.Reason.Notes).then((response: any) => {\r\n\t\t\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\t\t\tif (reload) {\r\n\t\t\t\t\t\t\t\t\tthis.loadTimecard(\"approval\", null);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tthis.dataTable.addRowCss(id, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t\t\tthis.unfilteredRows.forEach((val) => {\r\n\t\t\t\t\t\t\t\t\t\tif (val.id == row.id)\r\n\t\t\t\t\t\t\t\t\t\t\tval.PendingStatus = \"R\";\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\trow.PendingStatus = \"R\";\r\n\t\t\t\t\t\t\t\t\tthis.crewTimecardDataService.unapprovedRows--;\r\n\t\t\t\t\t\t\t\t\tthis.crewTimecardDataService.currentUnapproved--;\r\n\t\t\t\t\t\t\t\t\tthis.crewTimecardDataService.rejectedRows++;\r\n\t\t\t\t\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}, () => { /*dimissal*/ });\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tjobApprovalUndoItem(id, reload = false) {\r\n\t\tlet row = this.dataTable.getItem(id);\r\n\t\tlet oldStatus = row.PendingStatus;\r\n\t\tif (row.PendingStatus != \"U\") {\r\n\t\t\t//Handle approval logic here\r\n\t\t\tlet keyIDs = this.crewTimecardManagerService.getRowIDs(id);\r\n\t\t\tif (keyIDs.length > 0) {\r\n\t\t\t\tthis.crewTimecardGridService.timecardApprovalSubmit(this.crewTimecardDataService.payPeriod.PRPCKeyID, keyIDs.join(), \"U\").then((response: any) => {\r\n\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\tif (reload) {\r\n\t\t\t\t\t\t\tthis.loadTimecard(\"approval\", null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.crewTimecardDataService.unapprovedRows++;\r\n\t\t\t\t\t\t\tthis.crewTimecardDataService.currentUnapproved++;\r\n\t\t\t\t\t\t\tif (oldStatus == \"A\")\r\n\t\t\t\t\t\t\t\tthis.crewTimecardDataService.approvedRows--;\r\n\t\t\t\t\t\t\telse if (oldStatus == \"R\")\r\n\t\t\t\t\t\t\t\tthis.crewTimecardDataService.rejectedRows--;\r\n\t\t\t\t\t\t\trow.PendingStatus = \"U\";\r\n\t\t\t\t\t\t\tif (row.IsLocked != '1')\r\n\t\t\t\t\t\t\t\tthis.dataTable.removeRowCss(id, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t$.each(this.gridData.columns, (key, column) => {\r\n\t\t\t\t\t\t\t\tif ((row.IsRowAggregate)) {\r\n\t\t\t\t\t\t\t\t\tthis.dataTable.addCellCss(id, column.id, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.unfilteredRows.forEach((val) => {\r\n\t\t\t\t\t\t\t\tif (val.id == row.id)\r\n\t\t\t\t\t\t\t\t\tval.PendingStatus = \"U\";\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tjobApprovalFinalize(finalizeCallback: Function) {\r\n\t\tlet allKeyIDs = [];\r\n\t\tthis.unfilteredRows.forEach((row) => {\r\n\t\t\tlet keyIDs;\r\n\t\t\tif (row.PendingStatus != \"U\" && row.IsReadOnly != \"1\") {\r\n\t\t\t\tkeyIDs = this.crewTimecardManagerService.getRowIDs(row.id, row);\r\n\t\t\t\tallKeyIDs = allKeyIDs.concat(keyIDs);\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.crewTimecardGridService.timecardApprovalFinalize(this.crewTimecardDataService.payPeriod.PRPCKeyID, allKeyIDs.join()).then((response: any) => {\r\n\t\t\tfinalizeCallback(response);\r\n\t\t});\r\n\t}\r\n\r\n\tasync getProgressEntryRoute() {\r\n\t\tif (this.dataTable != null) {\r\n\t\t\tif (this.crewTimecardDataService[\"Job\"] != \"all\") {\r\n\t\t\t\tlet keyIDCollection = [];\r\n\t\t\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\t\t\tlet rowValues = this.dataTable.getItem(rowID);\r\n\t\t\t\t\tlet keyID = this.crewTimecardManagerService.getRowIDs(rowID);\r\n\t\t\t\t\tif (keyID != null && keyID.length > 0) {\r\n\t\t\t\t\t\tfor (var i = 0; i < keyID.length; i++) {\r\n\t\t\t\t\t\t\tkeyIDCollection.push(keyID[i]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tlet result: any = await this.crewTimecardGridService.getRow(keyIDCollection[0]);\r\n\t\t\t\treturn \"/Field/ProgressEntryApproval#/JCJMKeyID/\" + result.Timecard.Item.JCCoJobCombined + \"/Job/\" + window.location.hash.substr(2);\r\n\t\t\t} else {\r\n\t\t\t\treturn \"/Field/ProgressEntryApproval#/JCJMKeyID/All\";\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn \"/Field/ProgressEntryApproval#/JCJMKeyID/All\";\r\n\t\t}\r\n\t}\r\n\r\n\t//Note - renamed from \"bulk employee add\" to reduce confusion from the other bulk add\r\n\tprivate copyRow(e, id, trg) {\r\n\t\tlet row = this.dataTable.getItem(id);\r\n\t\tif (this.crewTimecardDataService.payPeriod.EnableCrews && this.crewTimecardDataService.crewsList.length == 0) {\r\n\t\t\tthis.getCrewsList(row);\r\n\t\t}\r\n\t\telse if (this.bulkEmployeeList.length == 0) {\r\n\t\t\tthis.getBulkEmployeeList(row);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.openCopyRowModal(row);\r\n\t\t}\r\n\t}\r\n\r\n\r\n //methods for getting additional data\r\n\tprivate getCellValues(columnName, row, isDependent) {\r\n\t\t//check if column is a super dropdown\r\n\t\tif (this.sharedColumnInfo[columnName].ColumnVisibilityModeID == 4 && (columnName != \"Employee\") && (columnName != \"Equipment\" || !this.equipmentAutoSelectRebind)) {\r\n\t\t\tif (columnName == \"Equipment\")\r\n\t\t\t\tthis.equipmentAutoSelectRebind = false;\r\n\t\t\tlet employee = \"\";\r\n\t\t\tif (row[\"Employee\"] != null && row[\"Employee\"] != \"\")\r\n\t\t\t\temployee = row[\"Employee\"].substr(0, row[\"Employee\"].indexOf(\"@\"));\r\n\r\n\t\t\tif (isDependent) {\r\n\t\t\t\t//if column is a dependent, clear the field and rebind it's dependents\r\n\t\t\t\trow[columnName] = \"\";\r\n\t\t\t\trow[columnName + '___@Value'] = \"\";\r\n\t\t\t\tif (this.sharedColumnInfo[columnName].DependentColumns != null) {\r\n\t\t\t\t\tlet dependentColumns = this.sharedColumnInfo[columnName].DependentColumns.split(\",\");\r\n\t\t\t\t\t$.each(dependentColumns, (colKey, col) => {\r\n\t\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(col) > -1) {\r\n\t\t\t\t\t\t\tlet isTypeUsed = row.Type != null && row.Type != \"\" && row.Type.substr(0, row.Type.indexOf(\"@\")) != \"\";\r\n\t\t\t\t\t\t\tif (!isTypeUsed || !this.isCellReadOnly(row, col)) {\r\n\t\t\t\t\t\t\t\tthis.dependentQueue.push(col);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.dependentQueue.shift();\r\n\t\t\tif (this.dependentQueue.length > 0) {\r\n\t\t\t\tthis.getCellValues(this.dependentQueue[0], row, true);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.rebindingEmployee) {\r\n\t\t\t\t\tthis.rebindingEmployee = false;\r\n\t\t\t\t\tif (this.columnInfoByEmployee[employee] == null) {\r\n\t\t\t\t\t\tthis.getEmployeeColumnInfo(employee, row.id, null, null);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.bindDefaultValues(row.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.crewTimecardDataService.loadingValues = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tlet requestParams = this.getRequestParams(columnName, row, isDependent);\r\n\t\tlet rowData = requestParams.rowData;\r\n\t\tlet columnValuesString = requestParams.columnValuesString;\r\n\t\tif (!isDependent) {\r\n\t\t\trow[columnName + \"___RowData\"] = rowData;\r\n\t\t}\r\n\t\tthis.crewTimecardDataService.loadingValues = true;\r\n\t\t//check if values exist in secondary cache\r\n\t\tif (this.cacheByColumnValue[columnValuesString] != null && this.cacheByColumnValue[columnValuesString][columnName] != null) {\r\n\t\t\tif (this.lookupValuesCache[row.id] != null) {\r\n\t\t\t\tthis.lookupValuesCache[row.id][columnName] = this.cacheByColumnValue[columnValuesString][columnName];\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.lookupValuesCache[row.id] = {};\r\n\t\t\t\tthis.lookupValuesCache[row.id][columnName] = this.cacheByColumnValue[columnValuesString][columnName];\r\n\t\t\t}\r\n\t\t\tthis.bindPossibleValues(this.cacheByColumnValue[columnValuesString][columnName], isDependent, columnName, row);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//get lookup values from server\r\n\t\t\tif (this.crewTimecardDataService.usageMode == \"PR\" && !rowData.row.ColumnValues.find(col => col.ColumnName == \"JCCo\")) {\r\n\t\t\t\trowData.row.ColumnValues.push({ ColumnName: \"JCCo\", Form: \"PRTimeCards\", Value: this.fieldTicketJCCo.toString(), Mode: 3, IsCombo: true });\r\n\t\t\t}\r\n\t\t\tthis.crewTimecardGridService.getCellPossibleValues(rowData).then((response: any) => {\r\n\t\t\t\tlet possibleValues = response.PossibleValues;\r\n\t\t\t\tfor (let i = 0; i < possibleValues.length; i++) {\r\n\t\t\t\t\tpossibleValues[i].Value = possibleValues[i].Value.replace(/(\\r\\n|\\n|\\r)/gm, \"\");\r\n\t\t\t\t\tpossibleValues[i].PopUpLabel = possibleValues[i].Label.replace(/(\\r\\n|\\n|\\r)/gm, \"\");\r\n\t\t\t\t\tpossibleValues[i].Label = this.escapeHtml(possibleValues[i].Label.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));\r\n\t\t\t\t}\r\n\t\t\t\tif (columnName == \"Employee\" && !this.employeeListBound) {\r\n\t\t\t\t\tlet callcount = 0;\r\n\t\t\t\t\tthis.unfilteredEmployeeList = _.cloneDeep(possibleValues);\r\n\t\t\t\t\tfor (let i = possibleValues.length - 1; i >= 0; i--) {\r\n\t\t\t\t\t\tif (this.employeesToExclude.indexOf(possibleValues[i].Value) > -1) {\r\n\t\t\t\t\t\t\tpossibleValues.splice(i, 1);\r\n\t\t\t\t\t\t\tcallcount++;\r\n\t\t\t\t\t\t\tif (callcount == this.employeesToExclude.length)\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.employeeList = _.cloneDeep(possibleValues);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.cacheByColumnValue[columnValuesString] != null) {\r\n\t\t\t\t\tthis.cacheByColumnValue[columnValuesString][columnName] = possibleValues;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.cacheByColumnValue[columnValuesString] = {};\r\n\t\t\t\t\tthis.cacheByColumnValue[columnValuesString][columnName] = possibleValues;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.lookupValuesCache[row.id] != null) {\r\n\t\t\t\t\tthis.lookupValuesCache[row.id][columnName] = possibleValues;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.lookupValuesCache[row.id] = {};\r\n\t\t\t\t\tthis.lookupValuesCache[row.id][columnName] = possibleValues;\r\n\t\t\t\t}\r\n\t\t\t\tthis.bindPossibleValues(possibleValues, isDependent, columnName, row);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\r\n\r\n\t\tif (!isDependent)\r\n\t\t\treturn false;\r\n }\r\n\r\n\tprivate getEmployeeColumnInfo(employee, rowID, rebindCurrent, addrow) {\r\n\t\tlet employeeColumnInfo = {};\r\n\t\tif (this.columnInfoByEmployee[employee] == null) {\r\n\t\t\tthis.crewTimecardGridService.getTimecardColumns(null, employee, this.crewTimecardDataService.payPeriod.PRCo, this.crewTimecardDataService.payPeriod.PRGroup, null, \"C\").then((response: any) => {\r\n\t\t\t\t$.each(response, (key, val) => {\r\n\t\t\t\t\temployeeColumnInfo[val.ColumnName] = val;\r\n\t\t\t\t});\r\n\t\t\t\tthis.columnInfoByEmployee[employee] = employeeColumnInfo;\r\n\t\t\t\tif (rebindCurrent) {\r\n\t\t\t\t\tthis.currentEmployeeColumns = this.columnInfoByEmployee[employee];\r\n\t\t\t\t\tif (addrow)\r\n\t\t\t\t\t\tthis.addTimecardRow(true);\r\n\t\t\t\t}\r\n\t\t\t\tif (rowID != null) {\r\n\t\t\t\t\tthis.bindDefaultValues(rowID);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (rowID != null) {\r\n\t\t\t\tthis.bindDefaultValues(rowID);\r\n\t\t\t}\r\n\t\t}\r\n }\r\n\r\n\tprivate getSharedColumnInfo(callback: any){\r\n\t\tthis.crewTimecardGridService.getColumnsByPRCoGroup(this.crewTimecardDataService.payPeriod.PRCo, this.crewTimecardDataService.payPeriod.PRGroup, \"C\").then((response) => {\r\n\t\t\t$.each(response, (key, val: any) => {\r\n\t\t\t this.sharedColumnInfo[val.ColumnName] = val;\r\n\t\t\t});\r\n\t\t\tif (this.crewTimecardDataService.usageMode != \"approval\") {\r\n\t\t\t\tthis.getTimecardData();\r\n\t\t\t}\r\n\t\t\telse {\r\n\r\n\t\t\t\tthis.sharedColumnInfo['udKDSTrackerID'] = {\r\n\t\t\t\t\tApprovalVisibilityModeID: 2, ColumnLabel: \"Grid Template\", ColumnName: \"udKDSTrackerID\", Form: \"PRTimeCards\", InputLength: 125, IsCombo: 1, ColumnVisibilityModeID: 1\r\n\t\t\t\t};\r\n\t\t\t\tthis.sharedColumnInfo['udKDSTrackerID'] = {\r\n\t\t\t\t\tApprovalVisibilityModeID: 2, ColumnLabel: \"Grid Template\", ColumnName: \"udKDSTrackerID\", Form: \"PRTimeCards\", InputLength: 125, IsCombo: 1, ColumnVisibilityModeID: 1\r\n\t\t\t\t};\r\n\t\t\t\tthis.getTimecardApprovalGrid(callback);\r\n\t\t\t}\r\n\t\t }); \r\n\t}\r\n\r\n\t private async getEmployeeLockStatus() {\r\n\t\t let response: any = await this.crewTimecardGridService.getEmplLockStatus(this.crewTimecardDataService.payPeriod.HQBCKeyID, this.crewTimecardDataService.template.CrewTemplateID)\r\n\t\t\tthis.crewTimecardDataService.lockedEmployees = [];\r\n\t\t\tfor (let i = 0; i < response.length; i++) {\r\n\t\t\t\tthis.employeeLockStatus[response[i].Employee] = response[i];\r\n\t\t\t\tthis.employeesToExclude.push(response[i].Employee.toString());\r\n\t\t\t\tif (response[i].IsLocked)\r\n\t\t\t\t\tthis.crewTimecardDataService.lockedEmployees.push(response[i]);\r\n\t\t\t}\r\n\t}\r\n\r\n\tpublic getRequestParams(columnName, row, isDependent) {\r\n\t\tlet rowPropArr = $.map(this.gridData.rowPropertyNames, (propName) => {\r\n\t\t\treturn {\r\n\t\t\t\tpropName: propName,\r\n\t\t\t\tpropValue: this.crewTimecardManagerService.getRowValue(row, propName),\r\n\t\t\t\tisCombo: this.sharedColumnInfo[columnName] != null && this.sharedColumnInfo[columnName].IsCombo === 1,\r\n\t\t\t\teditable: true\r\n\t\t\t}\r\n\t\t});\r\n\t\tlet valuePropPrefix = $.map(this.gridData.columnPropertyNames, (propName) => { return row[propName]; }).join('___') + '___';\r\n\t\tlet columnValuesList = valuePropPrefix.split('___');\r\n\t\tlet propsToRequest = rowPropArr\r\n\t\t\t.concat($.map(this.gridData.columnPropertyNames, (propName, propNameIndex) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpropName: propName,\r\n\t\t\t\t\tpropValue: $.inArray(propName, this.gridData.rowPropertyNames) !== -1 ? null : columnValuesList[propNameIndex],\r\n\t\t\t\t\teditable: false,\r\n\t\t\t\t\tisCombo: false\r\n\t\t\t\t};\r\n\t\t\t}))\r\n\t\t\t.concat($.map(this.gridData.valuePropertyNames, (propName) => {\r\n\t\t\t\tlet propNameAdjusted = propName.substr(1);\r\n\t\t\t\tlet propValue = row[valuePropPrefix + '@' + propNameAdjusted];\r\n\t\t\t\tif (typeof propValue === \"string\") {\r\n\t\t\t\t\tpropValue = propValue.substr(0, propValue.indexOf(\"@\"));\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpropName: propNameAdjusted,\r\n\t\t\t\t\tpropValue: propValue,\r\n\t\t\t\t\teditable: true,\r\n\t\t\t\t\tisCombo: this.sharedColumnInfo[propNameAdjusted].IsCombo === 1\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\tlet columnValues = $.map(propsToRequest, (columnObj, oblumnObjIndex) => {\r\n\t\t\treturn {\r\n\t\t\t\tColumnName: columnObj.propName,\r\n\t\t\t\tForm: \"PRTimeCards\",\r\n\t\t\t\tValue: columnObj.propValue,\r\n\t\t\t\tMode: columnObj.editable ? 3 : 2, // 2 is Readonly and 3 is editable\r\n\t\t\t\tIsCombo: columnObj.isCombo\r\n\t\t\t}\r\n\t\t});\r\n\t\tlet columnValuesString = JSON.stringify(columnValues);\r\n\t\tlet rowData: any = {\r\n\t\t\tcolumn: columnName,\r\n\t\t\tpayPeriod: this.crewTimecardDataService.payPeriod.PRPCKeyID,\r\n\t\t\trow: {\r\n\t\t\t\tId: row.KeyID,\r\n\t\t\t\tColumnValues: columnValues\r\n\t\t\t},\r\n\t\t};\r\n\t\tif (this.crewTimecardDataService.template != null && this.crewTimecardDataService.template.CrewTemplateID != null)\r\n\t\t\trowData.crewTemplateID = this.crewTimecardDataService.template.CrewTemplateID;\r\n\t\treturn {\r\n\t\t\tcolumnValuesString: columnValuesString,\r\n\t\t\tcurrentCell: null,\r\n\t\t\temployeesToExclude: this.employeesToExclude,\r\n\t\t\trowData: rowData\r\n\t\t};\r\n\t}\r\n\r\n\t//operations on timecard rows and cells\r\n\taddTimecardRow(ignoreAddingRow: boolean) {\r\n\t\tif (this.isReadOnlyGridTime || this.crewTimecardDataService.readOnlyGrid)\r\n\t\t\treturn;\r\n\t\tif (!this.addingRow || ignoreAddingRow) {\r\n\t\t\tthis.addingRow = true;\r\n\t\t\tlet firstRow = this.dataTable.getItem(this.dataTable.getFirstId());\r\n\t\t\tlet previousEmployee = null;\r\n\t\t\tif (firstRow != null && firstRow.Employee != null) {\r\n\t\t\t\tpreviousEmployee = firstRow.Employee.substr(0, firstRow.Employee.indexOf(\"@\"));\r\n\t\t\t\tif (this.employeesToExclude.indexOf(previousEmployee) > -1) {\r\n\t\t\t\t\tpreviousEmployee = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (firstRow == null || previousEmployee == null || firstRow.Employee == \"\") {\r\n\t\t\t\tthis.crewTimecardDataService.newRowID++;\r\n\t\t\t\tthis.largestSortID++;\r\n\t\t\t\tlet newRow = { isNewRow: true, KeyID: \"-1\", id: this.crewTimecardDataService.newRowID, Type: null, Employee: null };\r\n\t\t\t\t$.each(this.dataTable.config.columns, (loopGridColumnIndex, loopGridColumn) => {\r\n\t\t\t\t\tif (loopGridColumn.id == \"Sub Total\") {\r\n\t\t\t\t\t\t/*newRow[loopGridColumn.id] = \"=sumHours(\" + this.crewTimecardDataService.newRowID + \")\";*/\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tnewRow[loopGridColumn.id] = \"\";\r\n\r\n\r\n\t\t\t\t});\r\n\t\t\t\t//Add Column Property Values\r\n\t\t\t\tif (this.firstRowCopy != null) {\r\n\t\t\t\t\t$.each(this.gridData.columnPropertyNames, (key, val) => {\r\n\t\t\t\t\t\tnewRow[val] = this.firstRowCopy[val];\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t//handle Type\r\n\t\t\t\tif (this.crewTimecardDataService.type != \"all\") {\r\n\t\t\t\t\tnewRow.Type = this.crewTimecardDataService.type + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.gridData.rowPropertyNames.indexOf(\"Type\") > -1) {\r\n\t\t\t\t\tlet newVal = \"J@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\tlet newLabel = \"J - Job\";\r\n\t\t\t\t\tif (this.columnOptions[\"Type\"].getItem(newVal) == null) {\r\n\t\t\t\t\t\tthis.columnOptions[\"Type\"].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewRow.Type = newVal;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//If a single employee is selected, add row will automatically select the first employee\r\n\t\t\t\tif (this.crewTimecardDataService.selectedEmployee != null && this.crewTimecardDataService.selectedEmployee != \"all\") {\r\n\t\t\t\t\tlet newVal = this.crewTimecardDataService.selectedEmployee + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\tlet newLabel;\r\n\t\t\t\t\tfor (let i = 0; i < this.crewTimecardDataService.employees.length; i++) {\r\n\t\t\t\t\t\tif (this.crewTimecardDataService.employees[i].Value == this.crewTimecardDataService.selectedEmployee) {\r\n\t\t\t\t\t\t\tnewLabel = this.crewTimecardDataService.employees[i].Label;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.columnOptions[\"Employee\"].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\tnewRow.Employee = newVal;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(\"udSort\") > -1) {\r\n\t\t\t\t\tnewRow[\"udSort\"] = this.largestSortID;\r\n\t\t\t\t\tnewRow[\"udSort___@Value\"] = this.largestSortID;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.firstRowCopy == null) {\r\n\t\t\t\t\tthis.firstRowCopy = _.cloneDeep(newRow);\r\n\t\t\t\t}\r\n\t\t\t\tthis.dataTable.add(newRow, 0);\r\n\r\n\t\t\t\tif (newRow.Type != null && newRow.Type != \"\")\r\n\t\t\t\t\tthis.applyLineTypeCSS(newRow.id);\r\n\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(\"EarnCode\") > -1 || this.gridData.rowPropertyNames.indexOf(\"PayType\") > -1) {\r\n\t\t\t\t\tthis.applyAmountCSS(newRow.id);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.dataTable.addCellCss(newRow.id.toString(), \"Sub Total\", \"cellReadOnly\");\r\n\t\t\t\t//dataTable.editCell(newRow.id, dataTable.config.columns[0].id, false, true);\r\n\t\t\t\tthis.crewTimecardDataService.rowCount = this.dataTable.count();\r\n\t\t\t\tthis.crewTimecardDataService.unsubmittedRows++;\r\n\r\n\t\t\t\t//set time worked read only based on unsubmitted rows\r\n\t\t\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled) {\r\n\t\t\t\t\tthis.crewTimecardDataService.timeWorked?.setReadOnly(this.crewTimecardDataService.unsubmittedRows < this.crewTimecardDataService.rowCount);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.addingRow = false;\r\n\t\t\t\treturn newRow;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.currentEmployeeColumns == null || previousEmployee != this.lastRequestedEmployeeDefault) {\r\n\t\t\t\t\tthis.lastRequestedEmployeeDefault = previousEmployee;\r\n\t\t\t\t\t//this.getEmployeeColumnInfo(previousEmployee, this.crewTimecardDataService.payPeriod.PRCo, true);\r\n\t\t\t\t\tif (this.columnInfoByEmployee[previousEmployee] == null) {\r\n\t\t\t\t\t\tthis.getEmployeeColumnInfo(previousEmployee, null, true, true)\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.currentEmployeeColumns = this.columnInfoByEmployee[previousEmployee];\r\n\t\t\t\t\t\tthis.addTimecardRow(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.crewTimecardDataService.newRowID++;\r\n\t\t\t\t\tthis.largestSortID++;\r\n\t\t\t\t\tlet newRow = { isNewRow: true, KeyID: \"-1\", id: this.crewTimecardDataService.newRowID, Type: null, Employee: null };\r\n\t\t\t\t\tif (this.crewTimecardDataService.type != \"all\") {\r\n\t\t\t\t\t\tnewRow.Type = this.crewTimecardDataService.type + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$.each(this.dataTable.config.columns, (loopGridColumnIndex, loopGridColumn) => {\r\n\t\t\t\t\t\tlet columnName = loopGridColumn.id.substr(loopGridColumn.id.indexOf(\"@\") + 1);\r\n\t\t\t\t\t\tif (loopGridColumn.id == \"Sub Total\") {\r\n\t\t\t\t\t\t\t/*newRow[loopGridColumn.id] = \"=sumHours(\" + this.crewTimecardDataService.newRowID + \")\";*/\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (this.currentEmployeeColumns[columnName] == null) {\r\n\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t//New line types\r\n\t\t\t\t\t\t\t//1: Blank value\r\n\t\t\t\t\t\t\t//2: Previous value\r\n\t\t\t\t\t\t\t//3: Default value\r\n\t\t\t\t\t\t\tif (columnName == \"Employee\" && this.crewTimecardDataService.selectedEmployee != null && this.crewTimecardDataService.selectedEmployee != \"all\") {\r\n\t\t\t\t\t\t\t\tlet prevVal = firstRow[\"Employee\"].substr(0, firstRow[loopGridColumn.id].indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\tif (prevVal != null && prevVal != \"null\" && prevVal != \"\") {\r\n\t\t\t\t\t\t\t\t\tlet newVal = prevVal + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\tlet newLabel = this.columnOptions[\"Employee\"].getItem(firstRow[loopGridColumn.id]).value;\r\n\t\t\t\t\t\t\t\t\tif (this.columnOptions[\"Employee\"].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\tthis.columnOptions[\"Employee\"].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\tnewRow[\"Employee\"] = newVal;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tnewRow[\"Employee\"] = \"\";\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (columnName == \"Type\") {\r\n\t\t\t\t\t\t\t\tif (this.crewTimecardDataService.type == \"all\") {\r\n\t\t\t\t\t\t\t\t\tswitch (this.currentEmployeeColumns[columnName].NewLineTypeID) {\r\n\t\t\t\t\t\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\t\t\t\t\t\tlet newVal = \"J@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\tlet newLabel = \"J - Job\";\r\n\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tnewRow.Type = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\t\t\t\tif (firstRow.Type != null && firstRow.Type != \"\") {\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet prevVal = firstRow.Type.substr(0, firstRow.Type.indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (prevVal != null && prevVal != \"null\" && prevVal != \"\") {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet newVal = prevVal + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet newLabel = this.columnOptions[columnName].getItem(firstRow[loopGridColumn.id]).value;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet newVal = \"J@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet newLabel = \"J - Job\";\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow.Type = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet newVal = \"J@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet newLabel = \"J - Job\";\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow.Type = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\t\tif (this.currentEmployeeColumns[columnName].DefaultValue == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet newVal = \"J@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet newLabel = \"J - Job\";\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow.Type = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\t//if item is a combobox, add the value to the dropdown\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[columnName].IsCombo == 1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet newVal = this.currentEmployeeColumns[columnName].DefaultValue + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet newLabel = this.currentEmployeeColumns[columnName].DefaultLabel;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tlet newVal = this.crewTimecardDataService.type + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\tnewRow.Type = newVal;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tswitch (this.currentEmployeeColumns[columnName].NewLineTypeID) {\r\n\t\t\t\t\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\t\t\t\t\tif (columnName == \"PostDate\") {\r\n\t\t\t\t\t\t\t\t\t\t\tlet dateString = firstRow[loopGridColumn.id]\r\n\t\t\t\t\t\t\t\t\t\t\tif (firstRow[loopGridColumn.id] != null && firstRow[loopGridColumn.id] != \"\") {\r\n\t\t\t\t\t\t\t\t\t\t\t\t//format date into a form that webix understands\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet yyyy = firstRow[loopGridColumn.id].getFullYear().toString();\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet mm = (firstRow[loopGridColumn.id].getMonth() + 1).toString();\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet dd = firstRow[loopGridColumn.id].getDate().toString();\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = yyyy + \"/\" + mm + \"/\" + dd;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = null;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t//if item is a combobox, add value to the dropdown\r\n\t\t\t\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[columnName].IsCombo == 1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (firstRow[loopGridColumn.id] != null && firstRow[loopGridColumn.id] != \"\") {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet prevVal = firstRow[loopGridColumn.id].substr(0, firstRow[loopGridColumn.id].indexOf(\"@\"));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (prevVal != null && prevVal != \"null\" && prevVal != \"\") {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet newVal = prevVal + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet newLabel = this.columnOptions[columnName].getItem(firstRow[loopGridColumn.id]).value;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id + \"___@Value\"] = firstRow[loopGridColumn.id + \"___@Value\"];\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = firstRow[loopGridColumn.id];\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\t\t\t\t\tif (this.currentEmployeeColumns[columnName].DefaultValue == null) {\r\n\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t//if item is a combobox, add the value to the dropdown\r\n\t\t\t\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[columnName].IsCombo == 1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet newVal = this.currentEmployeeColumns[columnName].DefaultValue + \"@row_\" + this.crewTimecardDataService.newRowID;\r\n\t\t\t\t\t\t\t\t\t\t\t\tlet newLabel = this.currentEmployeeColumns[columnName].DefaultLabel;\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.columnOptions[columnName].getItem(newVal) == null) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newVal, value: newLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = newVal;\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id + \"___@Value\"] = newLabel;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tnewRow[loopGridColumn.id] = this.currentEmployeeColumns[columnName].DefaultValue;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\t//Add Column Property Values\r\n\t\t\t\t\tif (this.firstRowCopy != null) {\r\n\t\t\t\t\t\t$.each(this.gridData.columnPropertyNames, (key, val) => {\r\n\t\t\t\t\t\t\tnewRow[val] = this.firstRowCopy[val];\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(\"udSort\") > -1) {\r\n\t\t\t\t\t\tnewRow[\"udSort\"] = this.largestSortID;\r\n\t\t\t\t\t\tnewRow[\"udSort___@Value\"] = this.largestSortID;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.firstRowCopy == null) {\r\n\t\t\t\t\t\tthis.firstRowCopy = _.cloneDeep(newRow);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.dataTable.add(newRow, 0);\r\n\r\n\t\t\t\t\tif (newRow.Type != null && newRow.Type != \"\")\r\n\t\t\t\t\t\tthis.applyLineTypeCSS(newRow.id);\r\n\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(\"EarnCode\") > -1 || this.gridData.rowPropertyNames.indexOf(\"PayType\") > -1) {\r\n\t\t\t\t\t\tthis.applyAmountCSS(newRow.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.dataTable.addCellCss(newRow.id.toString(), \"Sub Total\", \"cellReadOnly\");\r\n\t\t\t\t\tthis.crewTimecardDataService.rowCount = this.dataTable.count();\r\n\t\t\t\t\tthis.crewTimecardDataService.unsubmittedRows++;\r\n\r\n\t\t\t\t\t//set time worked read only based on unsubmitted rows\r\n\t\t\t\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled) {\r\n\t\t\t\t\t\tthis.crewTimecardDataService.timeWorked?.setReadOnly(this.crewTimecardDataService.unsubmittedRows < this.crewTimecardDataService.rowCount);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.addingRow = false;\r\n\t\t\t\t\treturn newRow;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//bulk add row used by field ticket\r\n\taddRows(rowsToAdd: any[]) {\r\n\t\tthis.crewTimecardManagerService.addRows(rowsToAdd, this.dataTable, () => {\r\n\t\t\tthis.dataTable.eachRow((rowKey) => {\r\n\t\t\t\tlet row = this.dataTable.getItem(rowKey);\r\n\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(key) > -1 && this.columnOptions[key] != null) {\r\n\t\t\t\t\t\tif (this.columnOptions[key].getItem(row[key]) == null) {\r\n\t\t\t\t\t\t\tthis.columnOptions[key].add({ id: row[key], value: row[key + \"___@Value\"], visible: true });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tthis.dataTable.refresh();\r\n\t\t\tthis.dataTable.resize();\r\n\t\t})\r\n\t}\r\n\r\n\tbindDefaultValues(rowID) {\r\n\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\tlet employee = row[\"Employee\"].substr(0, row[\"Employee\"].indexOf(\"@\"));\r\n\t\tlet employeeDependentColumns = this.sharedColumnInfo[\"Employee\"].DependentColumns != null ? this.sharedColumnInfo[\"Employee\"].DependentColumns.split(\",\") : [];\r\n\t\t$.each(this.dataTable.config.columns, (loopGridColumnIndex, loopGridColumn) => {\r\n\t\t\tlet columnName = loopGridColumn.id.substr(loopGridColumn.id.indexOf(\"@\") + 1);\r\n\t\t\tif (loopGridColumn.id != \"SubTotal\" && loopGridColumn.id != \"Employee\" && columnName != \"Hours\" && this.columnInfoByEmployee[employee][columnName] != null) {\r\n\r\n\t\t\t\tswitch (this.columnInfoByEmployee[employee][columnName].NewLineTypeID) {\r\n\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\tif (this.columnInfoByEmployee[employee][columnName].DefaultValue == null) {\r\n\t\t\t\t\t\t\trow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t\trow[loopGridColumn.id + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t//if item is a combobox, add the value to the dropdown\r\n\t\t\t\t\t\t\tlet cellReadOnly = false;\r\n\t\t\t\t\t\t\tif (row.Type != null && row.Type != \"\" && row.Type.substr(0, row.Type.indexOf(\"@\")) != \"\") {\r\n\t\t\t\t\t\t\t\tcellReadOnly = this.isCellReadOnly(row, columnName);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!cellReadOnly) {\r\n\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[columnName].IsCombo == 1) {\r\n\t\t\t\t\t\t\t\t\t//bind the default value to the cell and add to dropdown list if it doesn't exist\r\n\t\t\t\t\t\t\t\t\tlet newValID = this.columnInfoByEmployee[employee][columnName].DefaultValue + \"@row_\" + rowID;\r\n\t\t\t\t\t\t\t\t\tlet newValLabel = this.columnInfoByEmployee[employee][columnName].DefaultLabel;\r\n\t\t\t\t\t\t\t\t\tlet valueFound = this.columnOptions[columnName].getItem(newValID) != null;\r\n\t\t\t\t\t\t\t\t\tif (employeeDependentColumns.indexOf(columnName) > -1) {\r\n\t\t\t\t\t\t\t\t\t\t//if column is dependent of employee, verify the default value exists and perform dependent value rebinding\r\n\t\t\t\t\t\t\t\t\t\tif (valueFound) {\r\n\t\t\t\t\t\t\t\t\t\t\trow[loopGridColumn.id] = newValID;\r\n\t\t\t\t\t\t\t\t\t\t\trow[loopGridColumn.id + \"___@Value\"] = newValLabel;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\trow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t\trow[loopGridColumn.id + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[columnName].DependentColumns != null) {\r\n\t\t\t\t\t\t\t\t\t\t\tlet dependentColumns = this.sharedColumnInfo[columnName].DependentColumns.split(\",\");\r\n\t\t\t\t\t\t\t\t\t\t\tlet isTypeUsed = row.Type != null && row.Type != \"\" && row.Type.substr(0, row.Type.indexOf(\"@\")) != \"\";\r\n\t\t\t\t\t\t\t\t\t\t\t$.each(dependentColumns, (dependentKey, dependentCol) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.dependentQueue.indexOf(dependentCol) == -1 && this.gridData.rowPropertyNames.indexOf(dependentCol) > -1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t//dependentQueue.push(dependentCol);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!isTypeUsed || !this.isCellReadOnly(row, dependentCol)) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.dependentQueue.push(dependentCol);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trow[dependentCol] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trow[dependentCol + '___@Value'] = \"\";\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\tif (!valueFound) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: newValID, value: newValLabel, visible: true });\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\trow[loopGridColumn.id] = newValID;\r\n\t\t\t\t\t\t\t\t\t\trow[loopGridColumn.id + '___@Value'] = newValLabel;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\trow[loopGridColumn.id] = this.columnInfoByEmployee[employee][columnName].DefaultValue;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\trow[loopGridColumn.id] = \"\";\r\n\t\t\t\t\t\t\t\trow[loopGridColumn.id + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (this.dependentQueue.length > 0) {\r\n\t\t\tthis.getCellValues(this.dependentQueue[0], row, true);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.dataTable.refresh();\r\n\t\t\tif (this.nextEditor != null) {\r\n\t\t\t\tthis.dataTable.editCell(this.nextEditor.row, this.nextEditor.column);\r\n\t\t\t\tthis.dataTable.editNext();\r\n\t\t\t}\r\n\t\t\tthis.nextEditor = null;\r\n\t\t\tthis.crewTimecardDataService.loadingValues = false;\r\n\t\t}\r\n\t\twebix.delay(() => {\r\n\t\t\tthis.dataTable.refresh();\r\n\t\t}, this.dataTable);\r\n\t}\r\n\r\n\tbindPossibleValues(possibleValues, isDependent, columnName, row) {\r\n\t\tlet employee = \"\";\r\n\t\tif (row[\"Employee\"] != null && row[\"Employee\"] != \"\")\r\n\t\t\temployee = row[\"Employee\"].substr(0, row[\"Employee\"].indexOf(\"@\"));\r\n\t\tif (this.columnOptions[columnName] != null) {\r\n\t\t\tthis.lastRequestedRow = row.id;\r\n\r\n\t\t\tif (this.sharedColumnInfo[columnName].ValidationDataType == \"bit\") {\r\n\t\t\t\tif (possibleValues.length > 0) {\r\n\t\t\t\t\trow[columnName] = possibleValues[0].Value;\r\n\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t//save used values\r\n\t\t\t\tthis.savedValues = [];\r\n\t\t\t\tthis.dataTable.eachRow((currentRow) => {\r\n\r\n\t\t\t\t\tlet currentItem = this.dataTable.getItem(currentRow);\r\n\t\t\t\t\tlet listValue = this.columnOptions[columnName].getItem(currentItem[columnName]);\r\n\r\n\t\t\t\t\tif (listValue != null && this.containsObject(listValue, this.savedValues) == -1) {\r\n\t\t\t\t\t\tlistValue.visible = false;\r\n\t\t\t\t\t\tthis.savedValues.push(listValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t//clear out previous lookup values\r\n\t\t\t\tthis.columnOptions[columnName].clearAll();\r\n\r\n\t\t\t\t//add empty value for clearing chosen options\r\n\t\t\t\tif (columnName != \"Type\") {\r\n\t\t\t\t\tif (columnName == \"udKDSTrackerID\") {\r\n\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: \"null\", value: \"Standard Timecard\", visible: true, popUpLabel: \"Standard Timecard\" });\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tthis.columnOptions[columnName].add({ id: \"null\", value: \"\", visible: true, popUpLabel: \"\" });\r\n\t\t\t\t}\r\n\t\t\t\tlet options = possibleValues.map((valueObj) => {\r\n\t\t\t\t\treturn { id: valueObj.Value + \"@row_\" + row.id, value: valueObj.Label, visible: true, popUpLabel: valueObj.PopUpLabel };\r\n\t\t\t\t});\r\n\r\n\t\t\t\t//re-add saved values\r\n\t\t\t\tlet savedValueIds = options.map((x) => { return x.id });\r\n\t\t\t\tfor (let i = 0; i < this.savedValues.length; i++) {\r\n\t\t\t\t\tif (savedValueIds.indexOf(this.savedValues[i].id) < 0) {\r\n\t\t\t\t\t\toptions.push(this.savedValues[i]);\r\n\t\t\t\t\t\tsavedValueIds.push(this.savedValues[i].id);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.columnOptions[columnName].parse(options);\r\n\t\t\t\tthis.columnOptions[columnName].refresh();\r\n\t\t\t}\r\n\r\n\r\n\r\n\t\t\tif (columnName == \"Employee\")\r\n\t\t\t\tthis.employeeListBound = true;\r\n\t\t\tif (!isDependent) {\r\n\t\t\t\tthis.dataTable.editCell(row.id, columnName, false, true);\r\n\t\t\t\tthis.processingRow = false;\r\n\t\t\t\tthis.crewTimecardDataService.loadingValues = false;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (columnName != \"PostDate\" && columnName != \"Memo\" && this.sharedColumnInfo[columnName].ValidationDataType != \"bit\") {\r\n\t\t\t\t\tlet valueFound = false;\r\n\t\t\t\t\tlet value = \"\";\r\n\t\t\t\t\tif (row[columnName] != null && row[columnName] != \"\")\r\n\t\t\t\t\t\tvalue = row[columnName].substr(0, row[columnName].indexOf(\"@\"));\r\n\t\t\t\t\t$.each(possibleValues, (key, val) => {\r\n\t\t\t\t\t\tif (value == val.Value) {\r\n\t\t\t\t\t\t\tvalueFound = true;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (!valueFound || this.sharedColumnInfo[columnName].IsAutoSelectFirstValue) {\r\n\t\t\t\t\t\t//auto select first\r\n\t\t\t\t\t\tlet cellReadOnly = false;\r\n\t\t\t\t\t\tif (row.Type != null && row.Type != \"\" && row.Type.substr(0, row.Type.indexOf(\"@\")) != \"\") {\r\n\t\t\t\t\t\t\tcellReadOnly = this.isCellReadOnly(row, columnName);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!cellReadOnly && this.sharedColumnInfo[columnName].IsAutoSelectFirstValue && possibleValues.length > 0) {\r\n\t\t\t\t\t\t\trow[columnName] = possibleValues[0].Value + \"@row_\" + row.id;\r\n\t\t\t\t\t\t\trow[columnName + \"___@Value\"] = possibleValues[0].Label;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t//clear value if it no longer exists\r\n\t\t\t\t\t\t\trow[columnName] = \"\";\r\n\t\t\t\t\t\t\trow[columnName + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\t\t//push this column's dependent columns to the dependent column stack if the value changed\r\n\t\t\t\t\t\tif (value != null && value != \"\" && this.sharedColumnInfo[columnName].DependentColumns != null && this.sharedColumnInfo[columnName].DependentColumns != \"\") {\r\n\t\t\t\t\t\t\tlet dependentColumns = this.sharedColumnInfo[columnName].DependentColumns.split(\",\");\r\n\t\t\t\t\t\t\t$.each(dependentColumns, (key, val) => {\r\n\r\n\t\t\t\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(val) > -1 && this.dependentQueue.indexOf(val) == -1 && this.sharedColumnInfo[val] != null && this.sharedColumnInfo[val].IsCombo == 1) {\r\n\t\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[val].ColumnVisibilityModeID == 1 || this.sharedColumnInfo[val].ColumnVisibilityModeID == 3) {\r\n\t\t\t\t\t\t\t\t\t\tlet isTypeUsed = row.Type != null && row.Type != \"\" && row.Type.substr(0, row.Type.indexOf(\"@\")) != \"\";\r\n\t\t\t\t\t\t\t\t\t\tif (!isTypeUsed || !this.isCellReadOnly(row, val)) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.dependentQueue.push(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\trow[val] = \"\";\r\n\t\t\t\t\t\t\t\t\t\trow[val + '___@Value'] = \"\";\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//remove first element from dependent queue, as it is now done binding\r\n\t\t\t\tif (this.dependentQueue.length > 0)\r\n\t\t\t\t\tthis.dependentQueue.shift();\r\n\t\t\t\tif (this.dependentQueue.length == 0) {\r\n\t\t\t\t\t//if Employee was changed, bind default values for the row\r\n\t\t\t\t\tif (this.rebindingEmployee) {\r\n\t\t\t\t\t\tthis.rebindingEmployee = false;\r\n\t\t\t\t\t\tif (this.columnInfoByEmployee[employee] == null) {\r\n\t\t\t\t\t\t\tthis.getEmployeeColumnInfo(employee, row.id, null, null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.bindDefaultValues(row.id);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.crewTimecardDataService.loadingValues = false;\r\n\t\t\t\t\t\tif (this.nextEditor != null) {\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(this.nextEditor.row, this.nextEditor.column);\r\n\t\t\t\t\t\t\tthis.dataTable.editNext();\r\n\t\t\t\t\t\t\tthis.nextEditor = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.getCellValues(this.dependentQueue[0], row, true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//remove first element from dependent queue, as it is now done binding\r\n\t\t\tif (isDependent) {\r\n\t\t\t\tif (this.dependentQueue.length > 0)\r\n\t\t\t\t\tthis.dependentQueue.shift();\r\n\t\t\t\tif (this.dependentQueue.length == 0) {\r\n\t\t\t\t\t//if Employee was changed, bind default values for the row\r\n\t\t\t\t\tif (this.rebindingEmployee) {\r\n\t\t\t\t\t\tthis.rebindingEmployee = false;\r\n\t\t\t\t\t\tif (this.columnInfoByEmployee[employee] == null) {\r\n\t\t\t\t\t\t\tthis.getEmployeeColumnInfo(employee, row.id, null, null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.bindDefaultValues(row.id);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.crewTimecardDataService.loadingValues = false;\r\n\t\t\t\t\t\tif (this.nextEditor != null) {\r\n\t\t\t\t\t\t\tthis.dataTable.editCell(this.nextEditor.row, this.nextEditor.column);\r\n\t\t\t\t\t\t\tthis.dataTable.editNext();\r\n\t\t\t\t\t\t\t//this.dataTable.editNext(true, this.nextEditor);\r\n\t\t\t\t\t\t\tthis.nextEditor = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.getCellValues(this.dependentQueue[0], row, true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\r\n\t//recalculates the hours column when Start/Stop in row is modified\r\n\tcalculateHours(row, colPrefix, isStartTime, isStopTime, isBreakHours, stateValue) {\r\n\t\tlet startTime, stopTime, breakHours = null;\r\n\t\tlet startColName = colPrefix + \"@StartTime\";\r\n\t\tlet stopColName = colPrefix + \"@StopTime\";\r\n\t\tlet time24HourMode = this.portalSettings.Timecard24Hours.ConfigValue === \"1\";\r\n\t\tif (isStartTime) {\r\n\t\t\tstartTime = (stateValue == \"00:00\" || stateValue == \"0:00\") ? Date.today() : this.timeParserService.parseTime(stateValue);\r\n\t\t}\r\n\t\telse if (isStopTime) {\r\n\t\t\tstopTime = (stateValue == \"00:00\" || stateValue == \"0:00\") ? Date.today().addDays(1) : this.timeParserService.parseTime(stateValue);\r\n\t\t}\r\n\t\telse if (isBreakHours && stateValue != null && stateValue != \"\") {\r\n\t\t\tbreakHours = parseFloat(stateValue);\r\n\t\t}\r\n\r\n\t\tif (startTime == null && !isStartTime) {\r\n\t\t\tstartTime = (row[startColName] == \"00:00\" || row[startColName] == \"0:00\") ? Date.today() : this.timeParserService.parseTime(row[startColName]);\r\n\t\t}\r\n\t\tif (stopTime == null && !isStopTime) {\r\n\t\t\tstopTime = (row[stopColName] == \"00:00\" || row[stopColName] == \"0:00\") ? Date.today().addDays(1) : this.timeParserService.parseTime(row[stopColName]);\r\n\t\t}\r\n\t\tif (breakHours == null && !isBreakHours && row[colPrefix + \"@BreakHours\"] != null && row[colPrefix + \"@BreakHours\"] != \"\") {\r\n\t\t\tbreakHours = parseFloat(row[colPrefix + \"@BreakHours\"]);\r\n\t\t}\r\n\r\n\t\tif (startTime != null && stopTime != null) {\r\n\t\t\tlet elapsedHours = (stopTime - startTime) / (1000 * 60 * 60.0);\r\n\t\t\tlet isEndTimeGreaterThanStartTime = elapsedHours > 0;\r\n\t\t\tlet dayInHours = time24HourMode ? 24 : 12;\r\n\t\t\telapsedHours = isEndTimeGreaterThanStartTime\r\n\t\t\t\t? elapsedHours\r\n\t\t\t\t: dayInHours + elapsedHours;\r\n\t\t\telapsedHours -= breakHours;\r\n\t\t\trow[colPrefix + \"@Hours\"] = parseFloat(elapsedHours.toFixed(2));\r\n\t\t}\r\n }\r\n\r\n\t//validate rows for timecard save\r\n\tvalidateRows() {\r\n\t\tlet rowProperties = this.gridData.rowPropertyNames;\r\n\t\tlet postDateRowProp = false;\r\n\t\t$.each(rowProperties, (key, val) => {\r\n\t\t\tif (val == \"PostDate\") {\r\n\t\t\t\tpostDateRowProp = true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tlet startDateValueProp = false;\r\n\t\tlet stopDateValueProp = false;\r\n\t\tthis.gridData.valuePropertyNames.forEach((propertyName) => {\r\n\t\t\tif (propertyName == \"@StartTime\") {\r\n\t\t\t\tstartDateValueProp = true;\r\n\t\t\t}\r\n\t\t\tif (propertyName == \"@StopTime\") {\r\n\t\t\t\tstopDateValueProp = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\tlet rowID = this.dataTable.getFirstId();\r\n\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\tlet missingEmployee = [];\r\n\t\tlet invalidRows = [];\r\n\t\tlet missingPhase = [];\r\n\t\tlet removePhase = [];\r\n\t\tlet missingDate = [];\r\n\t\tlet invalidDate = [];\r\n\t\tlet invalidTime = [];\r\n\t\tlet missingRequired = [];\r\n\t\tlet missingHours = [];\r\n\t\tlet missingRevCode = [];\r\n\t\tlet missingEquipPhase = [];\r\n\t\tlet isUsageUnitValueGroup = false;\r\n\t\tlet combinations: any = {};\r\n\t\t//#235105: Check value grouping is included with UsageUnits\r\n\t\tthis.dataTable.eachColumn((column) => {\r\n\t\t\tif (column.indexOf('@UsageUnits') > -1) {\r\n\t\t\t\tisUsageUnitValueGroup = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\trow = this.dataTable.getItem(rowID);\r\n\t\t\t//check if new row has hours\r\n\t\t\tif (row.isNewRow && this.portalSettings.AllowZeroHourCrewLine.ConfigValue != \"1\") {\r\n\t\t\t\tlet valueFound = false;\r\n\t\t\t\t//#235105: Check whether usage unit has been added on Value group, if so then ensure any one column has filled up with value. \r\n\t\t\t\tif (isUsageUnitValueGroup) {\r\n\t\t\t\t\t$.each(row, (rowKey: string, rowValue) => {\r\n\t\t\t\t\t\tif (rowKey.indexOf(\"@Hours\") > -1 || rowKey == \"Hours\" || rowKey.indexOf(\"UsageUnits\") > -1) {\r\n\t\t\t\t\t\t\tif (rowValue != null && rowValue != 0 && rowValue != \"\") {\r\n\t\t\t\t\t\t\t\tvalueFound = true;\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t//If Usage unit is not in Value group, ensure that hours has been filled up.\r\n\t\t\t\telse {\r\n\t\t\t\t\t$.each(row, (rowKey: string, rowValue) => {\r\n\t\t\t\t\t\tif (rowKey.indexOf(\"@Hours\") > -1 || rowKey == \"Hours\") {\r\n\t\t\t\t\t\t\tif (rowValue != null && rowValue != 0 && rowValue != \"\") {\r\n\t\t\t\t\t\t\t\tvalueFound = true;\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!valueFound) {\r\n\t\t\t\t\tmissingHours.push(rowID);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlet valueFound = false;\r\n\t\t\t\t//#235105: Check whether usage unit has been added on Value group, if so then ensure any one column has filled up with value. \r\n\t\t\t\tif (isUsageUnitValueGroup) {\r\n\t\t\t\t\t$.each(row, (rowKey: string, rowValue) => {\r\n\t\t\t\t\t\tif (rowKey.indexOf(\"@Hours\") > -1 || rowKey == \"Hours\" || rowKey.indexOf(\"UsageUnits\") > -1) {\r\n\t\t\t\t\t\t\tif (rowValue != null && rowValue != \"\") {\r\n\t\t\t\t\t\t\t\tvalueFound = true;\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t//If Usage unit is not in Value group, ensure that hours has been filled up.\r\n\t\t\t\telse {\r\n\t\t\t\t\t$.each(row, (rowKey: string, rowValue) => {\r\n\t\t\t\t\t\tif (rowKey.indexOf(\"@Hours\") > -1 || rowKey == \"Hours\") {\r\n\t\t\t\t\t\t\tif (rowValue != null && rowValue != \"\") {\r\n\t\t\t\t\t\t\t\tvalueFound = true;\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (!valueFound) {\r\n\t\t\t\t\tmissingHours.push(rowID);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//check Employee\r\n\t\t\tif (row[\"Employee\"] == null || row[\"Employee\"].substr(0, row[\"Employee\"].indexOf(\"@\")) == \"\") {\r\n\t\t\t\tmissingEmployee.push(rowID);\r\n\t\t\t}\r\n\t\t\t//check that Phase exists if Job exists\r\n\t\t\tif ((row[\"Job\"] != null && row[\"Job\"].substr(0, row[\"Job\"].indexOf(\"@\")) != \"\" && row[\"Job\"] != \"null\") ||\r\n\t\t\t\t(row[\"JCCoJobCombined\"] != null && row[\"JCCoJobCombined\"].substr(0, row[\"JCCoJobCombined\"].indexOf(\"@\")) != \"\" && row[\"JCCoJobCombined\"] != \"null\")) {\r\n\t\t\t\tlet valid = false;\r\n\t\t\t\tif (row[\"Type\"] == null || row[\"Type\"] == \"\" || row[\"Type\"].substr(0, row[\"Type\"].indexOf(\"@\")) == \"J\") {\r\n\t\t\t\t\tif (row[\"Phase\"] == null || row[\"Phase\"].substr(0, row[\"Phase\"].indexOf(\"@\")) == \"\" || row[\"Phase\"] == \"null\") {\r\n\t\t\t\t\t\tmissingPhase.push(rowID);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (row[\"Type\"].substr(0, row[\"Type\"].indexOf(\"@\")) == \"M\") {\r\n\t\t\t\t\t//if line is mechanic, make sure there is no phase\r\n\t\t\t\t\tif (row[\"Phase\"] == null || row[\"Phase\"].substr(0, row[\"Phase\"].indexOf(\"@\")) == \"\" || row[\"Phase\"] == \"null\") {\r\n\t\t\t\t\t\t//all good\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tremovePhase.push(rowID);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t//check that RevCode or EquipPhase exists if Equipment Exists\r\n\t\t\tif (row[\"Equipment\"] != null && row[\"Equipment\"].substr(0, row[\"Equipment\"].indexOf(\"@\")) != \"\" && row[\"Equipment\"] != \"null\") {\r\n\t\t\t\tlet valid = false;\r\n\t\t\t\tlet jobPhaseExists = this.gridData.columnPropertyNames.indexOf(\"JobPhaseCombined\") > -1;\r\n\t\t\t\tif (this.sharedColumnInfo[\"RevCode\"] != null && this.sharedColumnInfo[\"RevCode\"].ColumnVisibilityModeID != 1 && !this.isCellReadOnly(row, \"RevCode\") && (row[\"RevCode\"] == null || row[\"RevCode\"].substr(0, row[\"RevCode\"].indexOf(\"@\")) == \"\" || row[\"RevCode\"] == \"null\")) {\r\n\t\t\t\t\tmissingRevCode.push(rowID);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.sharedColumnInfo[\"EquipPhase\"] != null &&\r\n\t\t\t\t\tthis.sharedColumnInfo[\"EquipPhase\"].ColumnVisibilityModeID != 1 &&\r\n\t\t\t\t\t!this.isCellReadOnly(row, \"EquipPhase\") &&\r\n\t\t\t\t\t!jobPhaseExists &&\r\n\t\t\t\t\t(row[\"EquipPhase\"] == null || row[\"EquipPhase\"].substr(0, row[\"EquipPhase\"].indexOf(\"@\")) == \"\" || row[\"EquipPhase\"] == \"null\")) {\r\n\t\t\t\t\t\tmissingEquipPhase.push(rowID);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet timeValid = true;\r\n\t\t\t//check Start/Stop times for invalid characters\r\n\t\t\tif (row[\"StartTime\"] != null) {\r\n\t\t\t\tlet timeValue = this.timeParserService.parseStartStop(row[\"StartTime\"], \"StartTime\", true);\r\n\t\t\t\t\r\n\t\t\t\tif (timeValue == \"Invalid Time\") {\r\n\t\t\t\t\tinvalidTime.push(rowID);\r\n\t\t\t\t\ttimeValid = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (timeValid && row[\"StopTime\"] != null) {\r\n\t\t\t\tlet timeValue = this.timeParserService.parseStartStop(row[\"StopTime\"], \"StopTime\", true);\r\n\r\n\t\t\t\tif (timeValue == \"Invalid Time\") {\r\n\t\t\t\t\tinvalidTime.push(rowID);\r\n\t\t\t\t\ttimeValid = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t//check Start/Stop if it is a value property\r\n\t\t\tif (startDateValueProp) {\r\n\t\t\t\t$.each(row, (rowKey: string, rowVal) => {\r\n\t\t\t\t\tif (timeValid && rowKey.includes(\"StartTime\")) {\r\n\t\t\t\t\t\tlet timeValue = this.timeParserService.parseStartStop(rowVal, \"StartTime\", true);\r\n\t\t\t\t\t\tif (timeValue == \"Invalid Time\") {\r\n\t\t\t\t\t\t\tinvalidTime.push(rowID);\r\n\t\t\t\t\t\t\ttimeValid = false;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse if (timeValid && stopDateValueProp) {\r\n\t\t\t\t$.each(row, (rowKey: string, rowVal) => {\r\n\t\t\t\t\tif (timeValid && rowKey.includes(\"StopTime\")) {\r\n\t\t\t\t\t\tlet timeValue = this.timeParserService.parseStartStop(rowVal, \"StopDate\", true);\r\n\t\t\t\t\t\tif (timeValue == \"Invalid Time\") {\r\n\t\t\t\t\t\t\tinvalidTime.push(rowID);\r\n\t\t\t\t\t\t\ttimeValid = false;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t//check date\r\n\t\t\tif (postDateRowProp) {\r\n\t\t\t\tif (row[\"PostDate\"] == \"\") {\r\n\t\t\t\t\tmissingDate.push(rowID);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t//validate date is within payperiod\r\n\t\t\t\t\tlet date = moment(Date.parse(row[\"PostDate\"]));\r\n\t\t\t\t\tif (date.isBefore(this.crewTimecardDataService.payPeriod.StartDateMoment, 'day') || date.isAfter(this.crewTimecardDataService.payPeriod.EndDateMoment, 'day')) {\r\n\t\t\t\t\t\tinvalidDate.push(rowID);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//check required fields are filled in\r\n\t\t\trowProperties.forEach((propertyName) => {\r\n\t\t\t\tif (propertyName != \"PostDate\") {\r\n\t\t\t\t\tlet cellValue = null;\r\n\t\t\t\t\tif (typeof row[propertyName] === 'string') {\r\n\t\t\t\t\t\tlet index = row[propertyName].indexOf(\"@\");\r\n\t\t\t\t\t\tcellValue = index > -1 ? row[propertyName].substr(0, index) : row[propertyName];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tcellValue = row[propertyName];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (row.Type != null && row.Type != \"\") {\r\n\t\t\t\t\t\tlet type = row.Type.substr(0, row.Type.indexOf(\"@\"));\r\n\t\t\t\t\t\tif (this.crewTimecardDataService.columnInfoByType[type] != null && this.crewTimecardDataService.columnInfoByType[type][propertyName] != null && propertyName != \"PostDate\" && this.crewTimecardDataService.columnInfoByType[type][propertyName].IsRequired && !this.isCellReadOnly(row, propertyName)) {\r\n\t\t\t\t\t\t\tif ((row[propertyName] == null || cellValue == \"\" || row[propertyName] == \"null\") && this.crewTimecardDataService.columnInfoByType[type][propertyName].ValidationDataType != \"bit\") {\r\n\t\t\t\t\t\t\t\tswitch (this.crewTimecardDataService.usageMode) {\r\n\t\t\t\t\t\t\t\t\tcase \"PR\":\r\n\t\t\t\t\t\t\t\t\t\tif (propertyName != \"Job\" && propertyName != \"JCCo\" && propertyName != \"Equipment\" && propertyName != \"udUM\")\r\n\t\t\t\t\t\t\t\t\t\t\tmissingRequired.push({ row: rowID, field: propertyName });\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\tcase \"PREQ\":\r\n\t\t\t\t\t\t\t\t\t\tif (propertyName == \"Equipment\" || propertyName == \"Phase\" || propertyName == \"udUM\" || propertyName == \"Memo\")\r\n\t\t\t\t\t\t\t\t\t\t\tmissingRequired.push({ row: rowID, field: propertyName });\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t\tmissingRequired.push({ row: rowID, field: propertyName });\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (this.sharedColumnInfo[propertyName] != null && propertyName != \"PostDate\" && this.sharedColumnInfo[propertyName].IsRequired && !this.isCellReadOnly(row, propertyName)) {\r\n\t\t\t\t\t\t\tif ((row[propertyName] == null || cellValue == \"\" || row[propertyName] == \"null\") && this.sharedColumnInfo[propertyName].ValidationDataType != \"bit\") {\r\n\t\t\t\t\t\t\t\tswitch (this.crewTimecardDataService.usageMode) {\r\n\t\t\t\t\t\t\t\t\tcase \"PR\":\r\n\t\t\t\t\t\t\t\t\t\tif (propertyName != \"Job\" && propertyName != \"JCCo\" && propertyName != \"Equipment\" && propertyName != \"udUM\")\r\n\t\t\t\t\t\t\t\t\t\t\tmissingRequired.push({ row: rowID, field: propertyName });\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\tcase \"PREQ\":\r\n\t\t\t\t\t\t\t\t\t\tif (propertyName == \"Equipment\" || propertyName == \"Phase\" || propertyName == \"udUM\" || propertyName == \"Memo\")\r\n\t\t\t\t\t\t\t\t\t\t\tmissingRequired.push({ row: rowID, field: propertyName });\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t\tmissingRequired.push({ row: rowID, field: propertyName });\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (this.crewTimecardDataService.usageMode != \"crewtimecard\") {\r\n\t\t\t\t//combination checking\r\n\t\t\t\tlet combination = [];\r\n\t\t\t\trowProperties.forEach((propertyName) => {\r\n\t\t\t\t\tlet index = -1;\r\n\t\t\t\t\tif (typeof row[propertyName] === 'string') {\r\n\t\t\t\t\t\tindex = row[propertyName].indexOf(\"@\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (index > -1) {\r\n\t\t\t\t\t\tlet value = row[propertyName].substr(0, index);\r\n\t\t\t\t\t\tif (value == null || value == \"\" || value == \"null\") {\r\n\t\t\t\t\t\t\tvalue = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcombination.push({ PropertyName: propertyName, Value: value });\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tlet value = row[propertyName];\r\n\t\t\t\t\t\tif (value == null || value == \"\" || value == \"null\") {\r\n\t\t\t\t\t\t\tvalue = null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcombination.push({ PropertyName: propertyName, Value: value });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n let objKey = this.objContainsObject(combination, combinations);\r\n if (objKey === null || this.emptyValues(combination)) {\r\n combinations[rowID] = combination;\r\n }\r\n else {\r\n invalidRows.push(rowID);\r\n invalidRows.push(parseInt(objKey));\r\n }\r\n\t\t\t}\r\n\r\n\t\t});\r\n\t\treturn {\r\n\t\t\tinvalidRows: invalidRows,\r\n\t\t\tmissingPhase: missingPhase,\r\n\t\t\tremovePhase: removePhase,\r\n\t\t\tmissingDate: missingDate,\r\n\t\t\tinvalidDate: invalidDate,\r\n\t\t\tinvalidTime: invalidTime,\r\n\t\t\tmissingEmployee: missingEmployee,\r\n\t\t\tmissingRequired: missingRequired,\r\n\t\t\tmissingHours: missingHours,\r\n\t\t\tmissingRevCode: missingRevCode,\r\n\t\t\tmissingEquipPhase: missingEquipPhase\r\n\t\t};\r\n\t}\r\n\r\n\tobjContainsObject(obj, obj2) {\r\n\t\tlet matchKey = null;\r\n\t\t$.each(obj2, (key, val) => {\r\n\t\t\tif (_.isEqual(val, obj)) {\r\n\t\t\t\tmatchKey = key;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn matchKey;\r\n\t}\r\n\r\n\temptyValues(list) {\r\n\t\tfor (let i = 0; i < list.length; i++) {\r\n\t\t\tif (list[i].Value != \"\")\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tsaveCrewTimecard(finishCrewTimecardSave: Function, submitData, fieldToChange, params: any = {}, jCFTKeyID = null) {\r\n\t\tthis.dataTable.editStop();\r\n\t\tlet changedData = this.crewTimecardManagerService.getChangedData(this.dataTable);\r\n\r\n\t\tlet timecardRows = [];\r\n\t\t$.each(changedData, (uniqueRowId, updatedData: any) => {\r\n\t\t\ttimecardRows.push({\r\n\t\t\t\tId: updatedData.keyId,\r\n\t\t\t\tColumnValues: $.map(updatedData.values, (updatedValue, columnName) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tColumnName: columnName,\r\n\t\t\t\t\t\tForm: \"PRTimeCards\",\r\n\t\t\t\t\t\tValue: updatedValue\r\n\t\t\t\t\t};\r\n\t\t\t\t})\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tif (timecardRows.length > 0) {\r\n\t\t\tthis.crewTimecardGridService.saveCrewTimecard(\r\n\t\t\t\tthis.crewTimecardDataService.payPeriod.KeyID,\r\n\t\t\t\ttimecardRows,\r\n\t\t\t\tthis.crewTimecardDataService.usageMode != \"approval\" ? this.crewTimecardDataService.template.CrewTemplateID: null,\r\n\t\t\t\tjCFTKeyID,\r\n\t\t\t\tthis.crewTimecardDataService.usageMode == \"approval\"\r\n\t\t\t).then((response: any) => {\r\n\t\t\t\tfinishCrewTimecardSave(response.success, submitData, fieldToChange, response.error, params);\r\n\t\t\t}, (reason) => {\r\n\t\t\t\tfinishCrewTimecardSave(false, submitData, fieldToChange, \"An error occurred when attempting to save the timecard.\", params);\r\n\t\t\t})\r\n }\r\n\t\telse {\r\n\r\n\t\t\tfinishCrewTimecardSave(true, submitData, fieldToChange, null, params);\r\n }\r\n }\r\n\r\n\t//CSS stuff\r\n\tapplyAmountCSS(rowID) {\r\n\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t//only apply this CSS if the row is editable\r\n\t\tif (row.IsReadOnly != \"1\" && row.IsSubmitted != \"1\" && row.IsApproved != \"1\") {\r\n\t\t\tif (this.isAmountRow(rowID)) {\r\n\t\t\t\t$.each(this.gridData.columns, (key, column) => {\r\n\t\t\t\t\tlet columnName = column.id;\r\n\t\t\t\t\tif (columnName.indexOf(\"@StartTime\") > -1 || columnName.indexOf(\"@StopTime\") > -1 || columnName.indexOf(\"@BreakHours\") > -1) {\r\n\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, columnName, \"cellReadOnly\");\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$.each(this.gridData.columns, (key, column) => {\r\n\t\t\t\t\tlet columnName = column.id;\r\n\t\t\t\t\tif (columnName.indexOf(\"@StartTime\") > -1 || columnName.indexOf(\"@StopTime\") > -1 || columnName.indexOf(\"@BreakHours\") > -1) {\r\n\t\t\t\t\t\tthis.dataTable.removeCellCss(rowID, columnName, \"cellReadOnly\");\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tapplyLineTypeCSS(rowID) {\r\n\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\tlet rowLineType = row.Type.substr(0, row.Type.indexOf(\"@\"));\r\n\r\n\t\tif (rowLineType != null && rowLineType != \"\" && rowLineType != \"null\") {\r\n\t\t\t//iterate over row properties using the row properties list\r\n\t\t\t$.each(this.gridData.rowPropertyNames, (key, propertyName) => {\r\n\t\t\t\t//row[propertyName + '___@Value'] = row[propertyName];\r\n\t\t\t\t//if column's linetype does not match up with row, clear value and make read only\r\n\t\t\t\tif (this.sharedColumnInfo[propertyName] != null && this.sharedColumnInfo[propertyName].LineType != null) {\r\n\t\t\t\t\tlet colLineType = this.sharedColumnInfo[propertyName].LineType;\r\n\t\t\t\t\tif (rowLineType == \"J\") {\r\n\t\t\t\t\t\tif (colLineType != \"J\" && colLineType != \"A\" && colLineType != \"F\" && colLineType != \"T\") {\r\n\t\t\t\t\t\t\trow[propertyName] = \"\";\r\n\t\t\t\t\t\t\trow[propertyName + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, propertyName, \"cellReadOnly\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (rowLineType == \"S\") {\r\n\t\t\t\t\t\tif ((colLineType != \"S\" && colLineType != \"A\" && colLineType != \"T\") || propertyName == \"Job\") {\r\n\t\t\t\t\t\t\trow[propertyName] = \"\";\r\n\t\t\t\t\t\t\trow[propertyName + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, propertyName, \"cellReadOnly\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (rowLineType == \"M\") {\r\n\t\t\t\t\t\tif (colLineType != \"M\" && colLineType != \"A\" && colLineType != \"F\") {\r\n\t\t\t\t\t\t\trow[propertyName] = \"\";\r\n\t\t\t\t\t\t\trow[propertyName + \"___@Value\"] = \"\";\r\n\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, propertyName, \"cellReadOnly\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//iterate over row values \r\n\t\t\t$.each(this.gridData.valuePropertyNames, (key, propertyName) => {\r\n\t\t\t\tlet columnName = propertyName.slice(1);\r\n\t\t\t\t//if column's linetype does not match up with row, clear value and make read only\r\n\t\t\t\tif (this.sharedColumnInfo[columnName] != null && this.sharedColumnInfo[columnName].LineType != null) {\r\n\t\t\t\t\tlet colLineType = this.sharedColumnInfo[columnName].LineType;\r\n\t\t\t\t\tif (rowLineType == \"J\") {\r\n\t\t\t\t\t\tif (colLineType != \"J\" && colLineType != \"A\" && colLineType != \"F\" && colLineType != \"T\") {\r\n\t\t\t\t\t\t\t$.each(row, (rowKey: string, rowVal) => {\r\n\t\t\t\t\t\t\t\tif (rowKey.indexOf(\"@\") > -1) {\r\n\t\t\t\t\t\t\t\t\tlet resolvedPropName = rowKey.substr(rowKey.indexOf(\"@\") + 1);\r\n\t\t\t\t\t\t\t\t\tif (resolvedPropName == columnName) {\r\n\t\t\t\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, rowKey, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (rowLineType == \"S\") {\r\n\t\t\t\t\t\tif ((colLineType != \"S\" && colLineType != \"A\" && colLineType != \"T\") || columnName == \"Job\") {\r\n\t\t\t\t\t\t\t$.each(row, (rowKey: string, rowVal) => {\r\n\t\t\t\t\t\t\t\tif (rowKey.indexOf(\"@\") > -1) {\r\n\t\t\t\t\t\t\t\t\tlet resolvedPropName = rowKey.substr(rowKey.indexOf(\"@\") + 1);\r\n\t\t\t\t\t\t\t\t\tif (resolvedPropName == columnName) {\r\n\t\t\t\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, rowKey, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (rowLineType == \"M\") {\r\n\t\t\t\t\t\tif (colLineType != \"M\" && colLineType != \"A\" && colLineType != \"F\") {\r\n\t\t\t\t\t\t\t$.each(row, (rowKey: string, rowVal) => {\r\n\t\t\t\t\t\t\t\tif (rowKey.indexOf(\"@\") > -1) {\r\n\t\t\t\t\t\t\t\t\tlet resolvedPropName = rowKey.substr(rowKey.indexOf(\"@\") + 1);\r\n\t\t\t\t\t\t\t\t\tif (resolvedPropName == columnName) {\r\n\t\t\t\t\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, rowKey, \"cellReadOnly\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tapplyApprovalReadOnlyCSS() {\r\n\t\tthis.dataTable.eachRow((rowID) => {\r\n\t\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\t\tthis.dataTable.addCellCss(rowID, \"Sub Total\", \"subtotalColumn\");\r\n\t\t\tif (row.PendingStatus != \"U\") {\r\n\t\t\t\tthis.dataTable.addRowCss(rowID, \"cellReadOnly\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (row.IsRowAggregate) {\r\n\t\t\t\t\t$.each(this.gridData.columns, (columnKey, column) => {\r\n\t\t\t\t\t\tthis.dataTable.addCellCss(rowID, column.id, \"cellReadOnly\");\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (row.IsLocked == '1') {\r\n\t\t\t\tthis.dataTable.addRowCss(rowID, \"cellReadOnly\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t$.each(this.gridData.columns, (key, column) => {\r\n\t\t\t\tif (column.id == \"Type\") {\r\n\t\t\t\t\tthis.dataTable.addCellCss(rowID, column.id, \"cellReadOnly\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t//Time Worked\r\n\tcalculateTimecardTotals() {\r\n\t\tlet totalsByEmployee = {};\r\n\r\n\t\t//Get EarnCodes and PayTypes to exclude\r\n\t\tlet earnCodesToExclude = [];\r\n\t\tlet payTypesToExclude = [];\r\n\t\tif (this.portalSettings.EarnCodesToExcludeTimeValidation.ConfigValue != null && this.portalSettings.EarnCodesToExcludeTimeValidation.ConfigValue != \"\") {\r\n\t\t\tearnCodesToExclude = this.portalSettings.EarnCodesToExcludeTimeValidation.ConfigValue.split(\",\");\r\n\t\t\tfor (let i = 0; i < earnCodesToExclude.length; i++) {\r\n\t\t\t\tearnCodesToExclude[i] = parseInt(earnCodesToExclude[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tearnCodesToExclude = [];\r\n\t\t}\r\n\t\tif (this.portalSettings.PayTypesToExcludeTimeValidation.ConfigValue != null && this.portalSettings.PayTypesToExcludeTimeValidation.ConfigValue != \"\") {\r\n\t\t\tpayTypesToExclude = this.portalSettings.PayTypesToExcludeTimeValidation.ConfigValue.split(\",\");\r\n\t\t\tfor (let i = 0; i < payTypesToExclude.length; i++) {\r\n\t\t\t\tpayTypesToExclude[i] = parseInt(payTypesToExclude[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tpayTypesToExclude = [];\r\n\t\t}\r\n\r\n\t\t//check if earncode or paytype is a column group\r\n\t\tlet earnCodeIndex = this.gridData.columnPropertyNames.indexOf(\"EarnCode\");\r\n\t\tlet isEarnCodeColumn = earnCodeIndex > -1;\r\n\t\tlet payTypeIndex = this.gridData.columnPropertyNames.indexOf(\"SMPayType\");\r\n\t\tlet isPayTypeColumn = payTypeIndex > -1;\r\n\t\tlet totals = {};\r\n\t\tthis.rawRows.forEach((row) => {\r\n\t\t\tif (row.Employee != null && row.Employee != \"\") {\r\n\t\t\t\t//initialize total by employee\r\n\t\t\t\tlet employee = row.Employee.substr(0, row.Employee.indexOf(\"@\"));\r\n\t\t\t\tif (totalsByEmployee[employee] == null) {\r\n\t\t\t\t\ttotalsByEmployee[employee] = {};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet exclude = false;\r\n\t\t\t\t//check if type exists, else treat it as a \"J\" type\r\n\t\t\t\tif (row.Type != null && row.Type != \"\") {\r\n\t\t\t\t\tlet type = row.Type.substr(0, row.Type.indexOf(\"@\"));\r\n\t\t\t\t\tif (type == \"S\") {\r\n\t\t\t\t\t\t//if line is an \"S\" type, use paytype to determine if the row is excluded\r\n\t\t\t\t\t\tif (isPayTypeColumn) {\r\n\t\t\t\t\t\t\t//iterate through columns, and check the value of the payType\r\n\t\t\t\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\t\t\t\tif (key.indexOf(\"@Hours\") > -1 && val != null && val != \"\") {\r\n\t\t\t\t\t\t\t\t\t//get payType value from column name\r\n\t\t\t\t\t\t\t\t\tlet columnValueParts = key.split(\"___\");\r\n\t\t\t\t\t\t\t\t\tlet payType = parseInt(columnValueParts[payTypeIndex]);\r\n\t\t\t\t\t\t\t\t\t//if payType is not excluded, add it to totals\r\n\t\t\t\t\t\t\t\t\tif (payTypesToExclude.indexOf(payType) == -1) {\r\n\t\t\t\t\t\t\t\t\t\tlet index = key.search(/\\d\\d\\d\\d-\\d\\d-\\d\\d/);\r\n\t\t\t\t\t\t\t\t\t\tlet dateString = key.substr(index, 10);\r\n\t\t\t\t\t\t\t\t\t\t//dates are always in the form of yyyy-mm-dd regardless of locale\r\n\t\t\t\t\t\t\t\t\t\tif (totalsByEmployee[employee][dateString] == null) {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString] = { timecardHours: 0, otherHours: 0, totalHours: 0 }\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t//check the row value of paytype to see if it is not an excluded code\r\n\t\t\t\t\t\t\tif (row.SMPayType != null && row.SMPayType != \"\" && row.SMPayType != \"null\") {\r\n\t\t\t\t\t\t\t\tlet payType = parseInt(row.SMPayType.substr(0, row.SMPayType.indexOf(\"@\")));\r\n\t\t\t\t\t\t\t\tif (payTypesToExclude.indexOf(payType) > -1) {\r\n\t\t\t\t\t\t\t\t\texclude = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t//if it is not excluded, add the hours to the totals\r\n\t\t\t\t\t\t\tif (!exclude) {\r\n\t\t\t\t\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\t\t\t\t\tif (key.indexOf(\"@Hours\") > -1 && val != null && val != \"\") {\r\n\t\t\t\t\t\t\t\t\t\tlet index = key.search(/\\d\\d\\d\\d-\\d\\d-\\d\\d/);\r\n\t\t\t\t\t\t\t\t\t\tlet dateString = key.substr(index, 10);\r\n\t\t\t\t\t\t\t\t\t\t//dates are always in the form of yyyy-mm-dd regardless of locale\r\n\t\t\t\t\t\t\t\t\t\tif (totalsByEmployee[employee][dateString] == null) {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString] = { timecardHours: 0, otherHours: 0, totalHours: 0 }\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (isEarnCodeColumn) {\r\n\t\t\t\t\t\t\t//iterate through columns, and check the value of the earncode\r\n\t\t\t\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\t\t\t\tif (key.indexOf(\"@Hours\") > -1 && val != null && val != \"\") {\r\n\t\t\t\t\t\t\t\t\t//get earncode value from column name\r\n\t\t\t\t\t\t\t\t\tlet columnValueParts = key.split(\"___\");\r\n\t\t\t\t\t\t\t\t\tlet earnCode = parseInt(columnValueParts[earnCodeIndex]);\r\n\t\t\t\t\t\t\t\t\t//if earncode is not excluded, add it to totals\r\n\t\t\t\t\t\t\t\t\tif (earnCodesToExclude.indexOf(earnCode) == -1) {\r\n\t\t\t\t\t\t\t\t\t\tlet index = key.search(/\\d\\d\\d\\d-\\d\\d-\\d\\d/);\r\n\t\t\t\t\t\t\t\t\t\tlet dateString = key.substr(index, 10);\r\n\t\t\t\t\t\t\t\t\t\t//dates are always in the form of yyyy-mm-dd regardless of locale\r\n\t\t\t\t\t\t\t\t\t\tif (totalsByEmployee[employee][dateString] == null) {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString] = { timecardHours: 0, otherHours: 0, totalHours: 0 }\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t//check the row value of earncode to see if it is not an excluded code\r\n\t\t\t\t\t\t\tif (row.EarnCode != null && row.EarnCode != \"\" && row.Earncode != \"null\") {\r\n\t\t\t\t\t\t\t\tlet earnCode = parseInt(row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\")));\r\n\t\t\t\t\t\t\t\tif (earnCodesToExclude.indexOf(earnCode) > -1) {\r\n\t\t\t\t\t\t\t\t\texclude = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t//if it is not excluded, add the hours to the totals\r\n\t\t\t\t\t\t\tif (!exclude) {\r\n\t\t\t\t\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\t\t\t\t\tif (key.indexOf(\"@Hours\") > -1 && val != null && val != \"\") {\r\n\t\t\t\t\t\t\t\t\t\tlet index = key.search(/\\d\\d\\d\\d-\\d\\d-\\d\\d/);\r\n\t\t\t\t\t\t\t\t\t\tlet dateString = key.substr(index, 10);\r\n\t\t\t\t\t\t\t\t\t\t//dates are always in the form of yyyy-mm-dd regardless of locale\r\n\t\t\t\t\t\t\t\t\t\tif (totalsByEmployee[employee][dateString] == null) {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString] = { timecardHours: 0, otherHours: 0, totalHours: 0 }\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (isEarnCodeColumn) {\r\n\t\t\t\t\t\t//iterate through columns, and check the value of the earncode\r\n\t\t\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\t\t\tif (key.indexOf(\"@Hours\") > -1 && val != null && val != \"\") {\r\n\t\t\t\t\t\t\t\t//get earncode value from column name\r\n\t\t\t\t\t\t\t\tlet columnValueParts = key.split(\"___\");\r\n\t\t\t\t\t\t\t\tlet earnCode = parseInt(columnValueParts[earnCodeIndex]);\r\n\t\t\t\t\t\t\t\t//if earncode is not excluded, add it to totals\r\n\t\t\t\t\t\t\t\tif (earnCodesToExclude.indexOf(earnCode) == -1) {\r\n\t\t\t\t\t\t\t\t\tlet index = key.search(/\\d\\d\\d\\d-\\d\\d-\\d\\d/);\r\n\t\t\t\t\t\t\t\t\tlet dateString = key.substr(index, 10);\r\n\t\t\t\t\t\t\t\t\t//dates are always in the form of yyyy-mm-dd regardless of locale\r\n\t\t\t\t\t\t\t\t\tif (totalsByEmployee[employee][dateString] == null) {\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString] = { timecardHours: 0, otherHours: 0, totalHours: 0 }\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t//check the row value of earncode to see if it is not an excluded code\r\n\t\t\t\t\t\tif (row.EarnCode != null && row.EarnCode != \"\" && row.Earncode != \"null\") {\r\n\t\t\t\t\t\t\tlet earnCode = parseInt(row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\")));\r\n\t\t\t\t\t\t\tif (earnCodesToExclude.indexOf(earnCode) > -1) {\r\n\t\t\t\t\t\t\t\texclude = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//if it is not excluded, add the hours to the totals\r\n\t\t\t\t\t\tif (!exclude) {\r\n\t\t\t\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\t\t\t\tif (key.indexOf(\"@Hours\") > -1 && val != null && val != \"\") {\r\n\t\t\t\t\t\t\t\t\tlet index = key.search(/\\d\\d\\d\\d-\\d\\d-\\d\\d/);\r\n\t\t\t\t\t\t\t\t\tlet dateString = key.substr(index, 10);\r\n\t\t\t\t\t\t\t\t\t//dates are always in the form of yyyy-mm-dd regardless of locale\r\n\t\t\t\t\t\t\t\t\tif (totalsByEmployee[employee][dateString] == null) {\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString] = { timecardHours: 0, otherHours: 0, totalHours: 0 }\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours = parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].timecardHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t\ttotalsByEmployee[employee][dateString].totalHours += parseFloat(val);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.getOtherTotals(totalsByEmployee);\r\n\t\t\r\n }\r\n\r\n\tgetOtherTotals(totalsByEmployee) {\r\n\t\tlet employeeString = this.crewTimecardDataService.employees.slice(1, this.crewTimecardDataService.employees.length).map((elem) => { return elem.Value; }).join(\",\");\r\n\r\n\t\tthis.crewTimecardGridService.getDailyOtherHours(employeeString, this.crewTimecardDataService.payPeriod.PRCo, this.crewTimecardDataService.payPeriod.PRPCKeyID, this.crewTimecardDataService.template.CrewTemplateID).then((response: any) => {\r\n\t\t\tresponse.forEach((item) => {\r\n\t\t\t\tlet date = moment.utc(item.PostDate);\r\n\t\t\t\tlet dateString = date.format(\"YYYY-MM-DD\");\r\n\t\t\t\tif (totalsByEmployee[item.Employee] == null)\r\n\t\t\t\t\ttotalsByEmployee[item.Employee] = {};\r\n\t\t\t\tif (totalsByEmployee[item.Employee][dateString] == null) {\r\n\t\t\t\t\ttotalsByEmployee[item.Employee][dateString] = { timecardHours: 0, otherHours: 0, totalHours: 0 }\r\n\t\t\t\t\ttotalsByEmployee[item.Employee][dateString].otherHours = parseFloat(item.TotalHoursWorkedOnOtherCards);\r\n\t\t\t\t\ttotalsByEmployee[item.Employee][dateString].totalHours = parseFloat(item.TotalHoursWorkedOnOtherCards);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\ttotalsByEmployee[item.Employee][dateString].otherHours += parseFloat(item.TotalHoursWorkedOnOtherCards);\r\n\t\t\t\t\ttotalsByEmployee[item.Employee][dateString].totalHours += parseFloat(item.TotalHoursWorkedOnOtherCards);\r\n\t\t\t\t}\r\n })\r\n\t\t\tthis.crewTimecardDataService.timeWorked?.setTimecardTotalsByEmployee(totalsByEmployee);\r\n\t\t\t//if timecard load was triggered for a clock submit, run clock submit code\r\n\t\t\tif (this.callback != null && this.callback.callbackType == \"clockSubmit\") {\r\n\t\t\t\tthis.callback.callbackFunction();\r\n }\r\n\t\t});\r\n\r\n\t}\r\n\r\n\t//Clone grid helper methods\r\n\tgetGridDates() {\r\n\t\tlet dates = [];\r\n\t\tif (typeof this.gridData != 'undefined') {\r\n\t\t\tthis.gridData.columns.forEach((column) => {\r\n\t\t\t\tif (column.id.indexOf(\"Hours\") > 0) {\r\n\t\t\t\t\tlet dateString = column.id.match(/\\d\\d\\d\\d-\\d\\d-\\d\\d/g);\r\n\t\t\t\t\tif (dateString != null && dateString.length > 0 && dateString[0] != null) {\r\n\t\t\t\t\t\tlet date = moment(dateString[0], \"YYYY-MM-DD\");\r\n\t\t\t\t\t\t//check if date exists already\r\n\t\t\t\t\t\tlet toDateObj = { Date: date, DisplayDate: moment(date).format(this.dateFormat) };\r\n\t\t\t\t\t\tif (this.containsObject(toDateObj, dates) == -1) {\r\n\t\t\t\t\t\t\tdates.push(toDateObj);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn dates;\r\n\t}\r\n\r\n\t//Copy row helper methods\r\n\tprivate getCrewsList(row) {\r\n\t\tthis.crewTimecardGridService.getCrews(this.crewTimecardDataService.payPeriod.PRCo, this.crewTimecardDataService.payPeriod.PRGroup).then((response: any[]) => {\r\n\t\t\tthis.crewTimecardDataService.crewsList = response;\r\n\t\t\tif (this.bulkEmployeeList.length == 0) {\r\n\t\t\t\tthis.getBulkEmployeeList(row);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.openCopyRowModal(row);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tgetBulkEmployeeList(row) {\r\n\t\tthis.crewTimecardGridService.getBulkEmployeeList(this.crewTimecardDataService.payPeriod.PRCo, this.crewTimecardDataService.payPeriod.PRGroup).then((response: any[]) => {\r\n\t\t\tlet tempEmployeeList = response;\r\n\t\t\tlet callcount = 0;\r\n\t\t\tfor (let i = tempEmployeeList.length - 1; i >= 0; i--) {\r\n\t\t\t\tif (this.employeesToExclude.indexOf(tempEmployeeList[i].Employee.toString()) > -1) {\r\n\t\t\t\t\ttempEmployeeList.splice(i, 1);\r\n\t\t\t\t\tcallcount++;\r\n\t\t\t\t\tif (callcount == this.employeesToExclude.length)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.bulkEmployeeList = tempEmployeeList;\r\n\t\t\tthis.openCopyRowModal(row);\r\n\t\t});\r\n\t}\r\n\r\n\topenCopyRowModal(row) {\r\n\t\tif (row.isReadOnly != \"1\") {\r\n\t\t\tthis.processingRow = false;\r\n\t\t\tthis.crewTimecardDataService.loadingValues = false;\r\n\r\n\t\t\tlet modalRef = this.ngbmodalService.open(CopyCrewLineModalComponent, { size: 'lg', backdrop: 'static', keyboard: false });\r\n\t\t\tmodalRef.componentInstance.crewsList = this.crewTimecardDataService.crewsList;\r\n\t\t\tmodalRef.componentInstance.employees = _.cloneDeep(this.bulkEmployeeList);\r\n\t\t\tmodalRef.componentInstance.payPeriod = this.crewTimecardDataService.payPeriod;\r\n\t\t\tmodalRef.componentInstance.row = row;\r\n\t\t\tmodalRef.componentInstance.rowProperties = this.gridData.rowPropertyNames;\r\n\t\t\tmodalRef.componentInstance.sharedColumnInfo = this.sharedColumnInfo;\r\n\r\n\t\t\tmodalRef.result.then((result: any) => {\r\n\t\t\t\tthis.crewTimecardDataService.timecardLoaded = false;\r\n\t\t\t\tlet selectedEmployees = result.selectedEmployees;\r\n\t\t\t\tselectedEmployees.forEach((selectedEmployee) => {\r\n\t\t\t\t\tsetTimeout((selectedEmployee) => {\r\n\t\t\t\t\t\tlet newRow: any = {};\r\n\t\t\t\t\t\tthis.crewTimecardDataService.newRowID++;\r\n\t\t\t\t\t\tnewRow.id = this.crewTimecardDataService.newRowID;\r\n\r\n\t\t\t\t\t\t$.each(row, (rowKey: string, rowVal: any) => {\r\n\t\t\t\t\t\t\tif (rowKey == \"udSort\") {\r\n\t\t\t\t\t\t\t\tthis.largestSortID++;\r\n\t\t\t\t\t\t\t\tnewRow[rowKey] = this.largestSortID;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (rowKey != \"id\") {\r\n\t\t\t\t\t\t\t\tif (typeof rowVal == \"string\") {\r\n\t\t\t\t\t\t\t\t\tlet valIndex = rowVal.indexOf(\"@row_\");\r\n\t\t\t\t\t\t\t\t\tif (valIndex > -1) {\r\n\t\t\t\t\t\t\t\t\t\tlet parsedRowVal = rowVal.substr(0, valIndex);\r\n\t\t\t\t\t\t\t\t\t\tnewRow[rowKey] = parsedRowVal + \"@row_\" + newRow.id;\r\n\t\t\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[rowKey] != null && this.sharedColumnInfo[rowKey].IsCombo == 1 && this.columnOptions[rowKey] != null) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.columnOptions[rowKey].add({ id: parsedRowVal + \"@row_\" + newRow.id, value: row[rowKey + \"___@Value\"] });\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\tnewRow[rowKey] = rowVal;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tnewRow[rowKey] = rowVal;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t//special handling for copying PostDate as webix only recognizes dates in a specific format while adding\r\n\t\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(\"PostDate\") > -1 && row.PostDate != null && typeof row.PostDate.getMonth == 'function') {\r\n\t\t\t\t\t\t\tlet yyyy = row.PostDate.getFullYear().toString();\r\n\t\t\t\t\t\t\tlet mm = (row.PostDate.getMonth() + 1).toString();\r\n\t\t\t\t\t\t\tlet dd = row.PostDate.getDate().toString();\r\n\t\t\t\t\t\t\tnewRow.PostDate = yyyy + \"/\" + mm + \"/\" + dd;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewRow.isNewRow = true;\r\n\r\n\t\t\t\t\t\t//craft class logic\r\n\t\t\t\t\t\tif (result.useEmpDefaultCraftClass) {\r\n\t\t\t\t\t\t\tif (row.Craft !== undefined) {\r\n\r\n\t\t\t\t\t\t\t\tnewRow[\"Craft___@Value\"] = selectedEmployee.CraftDisplay;\r\n\t\t\t\t\t\t\t\tif (this.columnOptions[\"Craft\"] != null) {\r\n\t\t\t\t\t\t\t\t\tnewRow.Craft = selectedEmployee.Craft + \"@row_\" + newRow.id;\r\n\t\t\t\t\t\t\t\t\tthis.columnOptions[\"Craft\"].add({ id: selectedEmployee.Craft + \"@row_\" + newRow.id, value: selectedEmployee.CraftDisplay });\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\tnewRow.Craft = selectedEmployee.Craft;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (row.Class !== undefined) {\r\n\r\n\t\t\t\t\t\t\t\tnewRow[\"Class___@Value\"] = selectedEmployee.ClassDisplay;\r\n\t\t\t\t\t\t\t\tif (this.columnOptions[\"Class\"] != null) {\r\n\t\t\t\t\t\t\t\t\tnewRow.Class = selectedEmployee.Class + \"@row_\" + newRow.id\r\n\t\t\t\t\t\t\t\t\tthis.columnOptions[\"Class\"].add({ id: selectedEmployee.Class + \"@row_\" + newRow.id, value: selectedEmployee.ClassDisplay });\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\tnewRow.Class = selectedEmployee.Class;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (result.useEmplDefaultEarnCode && row.EarnCode !== undefined) {\r\n\t\t\t\t\t\t\tnewRow[\"EarnCode___@Value\"] = selectedEmployee.EarnCodeDisplay;\r\n\t\t\t\t\t\t\tif (this.columnOptions[\"EarnCode\"] != null) {\r\n\t\t\t\t\t\t\t\tnewRow.EarnCode = selectedEmployee.EarnCode + \"@row_\" + newRow.id;\r\n\t\t\t\t\t\t\t\tthis.columnOptions[\"EarnCode\"].add({ id: selectedEmployee.EarnCode + \"@row_\" + newRow.id, value: selectedEmployee.EarnCodeDisplay });\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\tnewRow.EarnCode = selectedEmployee.EarnCode.toString();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t//PRDEPT LOGIC\r\n\t\t\t\t\t\tif (this.sharedColumnInfo[\"PRDept\"] != null && this.sharedColumnInfo[\"PRDept\"].ColumnVisibilityModeID == 3) {\r\n\t\t\t\t\t\t\tnewRow[\"PRDept@Value\"] = selectedEmployee.PRDeptDisplay;\r\n\t\t\t\t\t\t\tif (this.columnOptions[\"PRDept\"] != null) {\r\n\t\t\t\t\t\t\t\tnewRow.PRDept = selectedEmployee.PRDept + \"@row_\" + newRow.id;\r\n\t\t\t\t\t\t\t\tthis.columnOptions[\"PRDept\"].add({ id: selectedEmployee.PRDept + \"@row_\" + newRow.id, value: selectedEmployee.PRDeptDisplay });\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tnewRow.Employee = selectedEmployee.Employee.toString() + \"@row_\" + newRow.id;\r\n\t\t\t\t\t\tthis.columnOptions[\"Employee\"].add({ id: selectedEmployee.Employee.toString() + \"@row_\" + newRow.id, value: selectedEmployee.EmployeeDisplayName });\r\n\t\t\t\t\t\tnewRow[\"Employee___@Value\"] = selectedEmployee.EmployeeDisplayName;\r\n\t\t\t\t\t\tnewRow.IsSubmitted = \"0\";\r\n\t\t\t\t\t\tnewRow.KeyID = -1;\r\n\t\t\t\t\t\tthis.dataTable.add(newRow, 0);\r\n\t\t\t\t\t\tthis.crewTimecardDataService.timecardLoaded = true;\r\n\r\n\t\t\t\t\t\t//Save Button Visibility\r\n\t\t\t\t\t\tthis.crewTimecardDataService.rowCount++;\r\n\t\t\t\t\t\tthis.crewTimecardDataService.unsubmittedRows++;\r\n\r\n\t\t\t\t\t\t//set time worked read only based on unsubmitted rows\r\n\t\t\t\t\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled) {\r\n\t\t\t\t\t\t\tthis.crewTimecardDataService.timeWorked?.setReadOnly(this.crewTimecardDataService.unsubmittedRows < this.crewTimecardDataService.rowCount);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.dataTable.refresh();\r\n\t\t\t\t\t}, 0, selectedEmployee);\r\n })\r\n\t\t\t}, () => { /*dimissal*/ });\r\n }\r\n }\r\n\r\n\t//Bulk Add helper methods\r\n\tgetBulkAddColumns() {\r\n\t\tlet bulkAddColumns = [];\r\n\t\tlet bulkAddDates = [];\r\n\t\t$.each(this.gridData.columnMap, (columnKey, column: any) => {\r\n\t\t\tif (column.valuePropertyName == \"@Hours\" || column.valuePropertyName == \"@UsageUnits\") {\r\n\t\t\t\tif (bulkAddDates.length == 0 || bulkAddDates[bulkAddDates.length - 1].DateValue != column.columnValues[0]) {\r\n\t\t\t\t\tlet bulkAddDate = { DateDisplay: column.columnDisplayValues[0].replace(/ /g, \" \").replace(/‑/g, \"-\").replace(\"
\", ' - '), DateValue: column.columnValues[0] };\r\n\t\t\t\t\tbulkAddDates.push(bulkAddDate);\r\n\t\t\t\t}\r\n\t\t\t\tif (bulkAddDates.length < 2) {\r\n\t\t\t\t\tlet columnObj = { ColumnDisplay: \"\", ColumnName: \"\" };\r\n\r\n\t\t\t\t\tif (column.columnValues.length > 1)\r\n\t\t\t\t\t\tcolumnObj.ColumnDisplay = column.columnDisplayValues.slice(1).join(\" \") + \" \" + column.valuePropertyName.substr(1);\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tcolumnObj.ColumnDisplay = column.valuePropertyName.substr(1);\r\n\t\t\t\t\tcolumnObj.ColumnDisplay = columnObj.ColumnDisplay.replace(/ /g, \" \").replace(/‑/g, \"-\").replace(\"
\", ' - ');\r\n\t\t\t\t\tcolumnObj.ColumnName = column.resolvedColumnName.slice(column.resolvedColumnName.indexOf(\"___\") + 3);\r\n\t\t\t\t\tbulkAddColumns.push(columnObj);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn {\r\n\t\t\tBulkAddColumns: bulkAddColumns, BulkAddDates: bulkAddDates\r\n\t\t};\r\n\t}\r\n\r\n\tbulkAdd(newRowData, selectedEmployees, bulkAddDates, columnValues) {\r\n\t\tthis.bindBulkDefaults(newRowData, selectedEmployees, bulkAddDates, columnValues);\r\n }\r\n\r\n\tbindBulkDefaults(newRowData, selectedEmployees, bulkAddDates, columnValues) {\r\n\t\tthis.crewTimecardGridService.getDefaultsForEmplList(selectedEmployees.map((x) => { return x.PREHKeyID }).join(\",\")).then((response: any[]) => {\r\n\t\t\tlet rowsToAdd = [];\r\n\t\t\tlet rowData = { KeyID: \"-1\", isNewRow: true, Type: newRowData.Type.Value, \"Type___@Value\": newRowData.Type.Label };\r\n\r\n\t\t\t//copy values to new rowData object\r\n\t\t\t$.each(newRowData, (key: string, val: any) => {\r\n\t\t\t\t//if key is a row property, copy it directly to new object\r\n\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(key) > -1) {\r\n\t\t\t\t\tif (this.sharedColumnInfo[key].IsCombo == 1 && val != null) {\r\n\t\t\t\t\t\trowData[key] = val.Value;\r\n\t\t\t\t\t\trowData[key + \"___@Value\"] = val.Label;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\trowData[key] = val;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\t//if key is a column propery, copy to new object for each date in selected dates\r\n\t\t\t\telse if (this.isValueProperty(key, this.gridData.valuePropertyNames)) {\r\n\t\t\t\t\tbulkAddDates.forEach((bulkAddDate) => {\r\n\t\t\t\t\t\trowData[bulkAddDate.DateValue + \"___\" + key] = val;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tlet employeeDefaults = {};\r\n\r\n\t\t\tfor (let i = 0; i < response.length; i++) {\r\n\t\t\t\temployeeDefaults[response[i].Employee] = response[i];\r\n\t\t\t}\r\n\r\n\t\t\tfor (let i = 0; i < selectedEmployees.length; i++) {\r\n\t\t\t\tconst employee = selectedEmployees[i];\r\n\t\t\t\tlet rowCopy: any = _.cloneDeep(rowData);\r\n\t\t\t\trowCopy.Employee = employee.Employee;\r\n\t\t\t\trowCopy[\"Employee___@Value\"] = employee.EmployeeDisplayName;\r\n\r\n\t\t\t\t//go through each row property; if it is null, check and set a default value \r\n\t\t\t\tfor (let j = 0; j < this.gridData.rowPropertyNames.length; j++) {\r\n\t\t\t\t\tconst columnName = this.gridData.rowPropertyNames[j];\r\n\r\n\t\t\t\t\tif (newRowData[columnName] == null) {\r\n\t\t\t\t\t\t//Case: New Line Type = Employee Default\r\n\t\t\t\t\t\tif (this.sharedColumnInfo[columnName].NewLineTypeID == 3) {\r\n\t\t\t\t\t\t\tif (employeeDefaults[employee.Employee] != null && employeeDefaults[employee.Employee][columnName] != null) {\r\n\t\t\t\t\t\t\t\trowCopy[columnName] = employeeDefaults[employee.Employee][columnName];\r\n\r\n\t\t\t\t\t\t\t\tif (this.sharedColumnInfo[columnName].IsCombo == 1)\r\n\t\t\t\t\t\t\t\t\trowCopy[columnName + \"___@Value\"] = employeeDefaults[employee.Employee][columnName + \"Label\"];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//TODO Case: New Line Type = Previous Value\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (newRowData[columnName].Value != null && newRowData[columnName].Value == \"-1\") {\r\n\t\t\t\t\t\trowCopy[columnName] = null;\r\n\t\t\t\t\t\trowCopy[columnName + \"___@Value\"] = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\trowsToAdd.push(rowCopy);\r\n\t\t\t}\r\n\r\n\t\t\tlet tempArray = [];\r\n\t\t\tfor (let i = rowsToAdd.length - 1; i >= 0; i--) {\r\n\t\t\t\ttempArray.push(rowsToAdd[i]);\r\n\t\t\t}\r\n\t\t\tthis.bulkAddCTRows(tempArray);\r\n\t\t});\r\n\t}\r\n\r\n\tbulkAddCTRows(rowsToAdd) {\r\n\t\tlet callback = (addedRows) => {\r\n\t\t\taddedRows.forEach((row) => {\r\n\t\t\t\t$.each(row, (key: string, val) => {\r\n\t\t\t\t\tif (this.gridData.rowPropertyNames.indexOf(key) > -1 && this.columnOptions[key] != null) {\r\n\t\t\t\t\t\tif (this.columnOptions[key].getItem(row[key]) == null) {\r\n\t\t\t\t\t\t\tthis.columnOptions[key].add({ id: row[key], value: row[key + \"___@Value\"], visible: true });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n }\r\n\r\n\t\tthis.crewTimecardManagerService.addRows(rowsToAdd, this.dataTable, callback);\r\n\t\tthis.crewTimecardDataService.unsavedChanges = true;\r\n\t\tthis.crewTimecardDataService.rowCount += rowsToAdd.length;\r\n\t\tthis.crewTimecardDataService.unsubmittedRows += rowsToAdd.length;\r\n\t\tthis.crewTimecardDataService.newRowID += rowsToAdd.length;\r\n\t\tthis.crewTimecardDataService.timecardLoaded = true;\r\n\r\n\t\t//set time worked read only based on unsubmitted rows\r\n\t\tif (this.crewTimecardDataService.payPeriod.IsTimeWorkedEnabled) {\r\n\t\t\tthis.crewTimecardDataService.timeWorked?.setReadOnly(this.crewTimecardDataService.unsubmittedRows < this.crewTimecardDataService.rowCount);\r\n\t\t}\r\n\r\n\t\tthis.dataTable.refresh();\r\n }\r\n\r\n\t//This exists because propertynames can be complex and contain other characters\r\n\tisValueProperty(propertyName, propertyNames) {\r\n\t\tfor (var i = 0; i < propertyNames.length; i++) {\r\n\t\t\tif (propertyName.indexOf(propertyNames[i]) > -1)\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t//helper methods\r\n\r\n\tprivate containsObject(obj, list): number {\r\n\t\tlet i;\r\n\t\tfor (i = 0; i < list.length; i++) {\r\n\t\t\tif (_.isEqual(list[i], obj)) {\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t}\r\n\r\n\tprivate columnExists(columnName): boolean {\r\n\t\tif (columnName == null || columnName == \"\")\r\n\t\t\treturn false;\r\n\t\tfor (var i = 0; i < this.gridData.columns.length; i++) {\r\n\t\t\tif (this.gridData.columns[i].id == columnName)\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n }\r\n\r\n\tprivate dropdownSort(column) {\r\n\t\treturn (a, b) => {\r\n\t\t\tif (column == \"Employee\" && this.portalSettings.RemoveEmployeeNumberFromDropdown.ConfigValue != \"1\" && this.portalSettings.ShowLastFirstFormat.ConfigValue != \"1\") {\r\n\t\t\t\tvalueA = (a.Employee != null && a.Value != \"\") ? parseInt(a.Employee.substr(0, a.Employee.indexOf(\"@\"))) : 0;\r\n\t\t\t\tvalueB = (b.Employee != null && b.Value != \"\") ? parseInt(b.Employee.substr(0, b.Employee.indexOf(\"@\"))) : 0;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar valueA, valueB;\r\n\t\t\t\tvalueA = a[column + \"___@Value\"];\r\n\t\t\t\tvalueB = b[column + \"___@Value\"];\r\n\t\t\t}\r\n\t\t\treturn valueA > valueB ? 1 : (valueA < valueB ? -1 : 0);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate valueSort(column) {\r\n\t\treturn (a, b) => {\r\n\t\t\tif (column == \"Employee\" && this.portalSettings.RemoveEmployeeNumberFromDropdown.ConfigValue != \"1\" && this.portalSettings.ShowLastFirstFormat.ConfigValue != \"1\") {\r\n\t\t\t\ta = (a != null && a != \"\") ? parseInt(a.substr(0, a.indexOf(\"@\"))) : 0;\r\n\t\t\t\tb = (b != null && b != \"\") ? parseInt(b.substr(0, b.indexOf(\"@\"))) : 0;\r\n\t\t\t}\r\n\t\t\treturn a > b ? 1 : (a < b ? -1 : 0);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\temployeeDropdownSort(a, b) {\r\n\t\tlet employeeA, employeeB;\r\n\t\tif (this.portalSettings.RemoveEmployeeNumberFromDropdown.ConfigValue != \"1\") {\r\n\t\t\temployeeA = (a.Value != null && a.Value != \"\") ? parseInt(a.Value) : 0;\r\n\t\t\temployeeB = (b.Value != null && b.Value != \"\") ? parseInt(b.Value) : 0;\r\n\t\t}\r\n\t\telse {\r\n\t\t\temployeeA = a.Label;\r\n\t\t\temployeeB = b.Label;\r\n\t\t}\r\n\r\n\t\treturn employeeA > employeeB ? 1 : (employeeA < employeeB ? -1 : 0);\r\n\t}\r\n\r\n\tpublic getColumnsForDR() {\r\n\t\treturn this.crewTimecardManagerService.getColumnsForDR();\r\n\t}\r\n\r\n\tpublic escapeHtml(unsafe: string) {\r\n\t\treturn unsafe\r\n\t\t\t.replace(/&/g, \"&\")\r\n\t\t\t.replace(//g, \">\")\r\n\t\t\t.replace(/\"/g, \""\")\r\n\t\t\t.replace(/'/g, \"'\");\r\n }\r\n\r\n\tprivate isAmountRow(rowID) {\r\n\t\tlet row = this.dataTable.getItem(rowID);\r\n\t\tlet rowLineType = row.Type != null ? row.Type.substr(0, row.Type.indexOf(\"@\")) : \"J\";\r\n\t\tif (rowLineType != \"S\" && row.EarnCode != null && row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\")) != \"\") {\r\n\t\t\tlet earnCode = row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\"));\r\n\t\t\tif (this.amountEarnCodes.indexOf(earnCode) > -1) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (rowLineType == \"S\" && row.PayType != null && row.PayType.substr(0, row.PayType.indexOf(\"@\")) != \"\") {\r\n\t\t\tlet payType = row.EarnCode.substr(0, row.EarnCode.indexOf(\"@\"));\r\n\t\t\tif (this.amountPayTypes.indexOf(payType) > -1) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tprivate isCellReadOnly(row, columnName) {\r\n\t\tif (row.Type == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (this.sharedColumnInfo[columnName] == null) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tlet rowLineType = row.Type.substr(0, row.Type.indexOf(\"@\"));\r\n\t\tlet colLineType = this.sharedColumnInfo[columnName].LineType;\r\n\t\tif (rowLineType == \"J\") {\r\n\t\t\tif (colLineType != \"J\" && colLineType != \"A\" && colLineType != \"F\" && colLineType != \"T\") {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t\telse if (rowLineType == \"S\") {\r\n\t\t\tif ((colLineType != \"S\" && colLineType != \"A\" && colLineType != \"T\") || columnName == \"Job\") {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t\telse if (rowLineType == \"M\") {\r\n\t\t\tif (colLineType != \"M\" && colLineType != \"A\" && colLineType != \"F\") {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn false;\r\n\t}\r\n\r\n\tprivate isNumber(input) {\r\n\t\tif (input == null || !isNaN(input))\r\n\t\t\treturn true;\r\n\t\treturn false;\r\n\t}\r\n\r\n\tprivate isInteger(input) {\r\n\t\tif (input == null || (!isNaN(input) && input % 1 == 0))\r\n\t\t\treturn true;\r\n\t\treturn false;\r\n\t}\r\n\r\n\twindowResize() {\r\n\t\twindow.onresize = (event) => {\r\n\t\t\tif (this.dataTable != null) {\r\n\t\t\t\tlet height = $(document).height() - $(\"#crewActionBar\").height() - 170;\r\n\t\t\t\tif (!isNaN(height))\r\n\t\t\t\t\tthis.dataTable.config.height = Math.max(height, 300);\r\n\t\t\t\telse\r\n\t\t\t\t\tthis.dataTable.config.height = 300;\r\n\t\t\t\tthis.dataTable.resize();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.dataTable != null)\r\n\t\t\tthis.dataTable.destructor();\r\n }\r\n\r\n}\r\n","
","import { Injectable } from '@angular/core';\r\nimport { TimeWorkedComponent } from '../../time-worked/time-worked.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CrewTimecardDataService {\r\n timeWorked: TimeWorkedComponent = null;\r\n alertMsg: string;\r\n alertType: string;\r\n approvedRows: number;\r\n columnInfoByType: { J: any; M: any; S: any; };\r\n crewsList: any[];\r\n dataTable: webix.ui.datatable;\r\n employees: any[];\r\n \r\n employeesToExclude: any[];\r\n isSubmitted: number;\r\n isSubmitting: boolean;\r\n loadingValues: boolean = false;\r\n lockedEmployees: any[];\r\n multiSelectEmployees: any[] = [];\r\n newRowID: number;\r\n payPeriod: any;\r\n readOnlyGrid: boolean = false;\r\n rowCount: number;\r\n rowDeleted: boolean;\r\n selectedEmployee: any = null;\r\n selectedEmployees: any[] = [];\r\n template: any;\r\n timecardLoaded: boolean = false;\r\n timecardSaving: boolean = false;\r\n totalSubmittedRows: number;\r\n type: string = \"all\";\r\n unapprovedRows: number;\r\n usageMode: string;\r\n unsavedChanges: boolean;\r\n unsubmittedRows: number;\r\n currentUnapproved: number;\r\n\r\n //PREQ values\r\n equipmentEmployee: number;\r\n equipmentDefaultEarnCode: number;\r\n equipmentDefaultShift: number;\r\n \r\n\r\n //Job Approval\r\n approvalStatus: any;\r\n actionPerformedCallback: Function;\r\n pendingAction: string;\r\n pendingItem: any\r\n\r\n //Stores the dropdown values of all the available filters\r\n filters: any;\r\n filterLabels: any;\r\n approvalRowProperties: string[];\r\n\r\n\r\n //Stores the selected filter values\r\n selectedFilters: any;\r\n jobFilter: any;\r\n \r\n rejectedRows: number;\r\n \r\n rejectReasons: any;\r\n expenses: any;\r\n\r\n testValue: string;\r\n\r\n constructor() {\r\n }\r\n\r\n initValues() {\r\n this.alertMsg = null;\r\n this.alertType = null;\r\n this.employeesToExclude = [];\r\n this.rowDeleted = false;\r\n this.initRowCounts();\r\n }\r\n\r\n initRowCounts() {\r\n this.newRowID = 1;\r\n this.rowCount = 0;\r\n this.totalSubmittedRows = 0;\r\n this.unapprovedRows = 0;\r\n this.unsubmittedRows = 0;\r\n this.approvedRows = 0;\r\n this.rejectedRows = 0;\r\n this.currentUnapproved = 0;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CrewTimecardGridService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getBulkEmployeeList(pRCo, pRGroup) {\r\n let url = \"/CrewTimecard/GetBulkEmployeeList?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCellPossibleValues(rowData) {\r\n let url = \"/Timecard/GetCellPossibleValues\";\r\n return this.http.post(\"/Timecard/GetCellPossibleValues\", rowData).toPromise();\r\n }\r\n\r\n getColumnsByPRCoGroup(pRCo, pRGroup, isCrewOrStandard) {\r\n let url = \"/CrewTimecard/GetColumnsByPRCoGroup?pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup + \"&isCrewOrStandard=\" + isCrewOrStandard;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCrews(pRCo, pRGRoup) {\r\n let url = \"/CrewTimecard/GetCrews?PRCo=\" + pRCo + \"&PRGroup=\" + pRGRoup;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getCrewTimecardData(pRPCKeyID, crewTemplateID) {\r\n let url = \"/CrewTimecard/Data?payPeriodId=\" + pRPCKeyID + \"&templateId=\" + crewTemplateID\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDailyOtherHours(employeeString, pRCo, pRPCKeyID, crewTemplateID) {\r\n let url = \"/Timecard/GetDailyOtherHours?employee=\" + employeeString + \"&pRCo=\" + pRCo + \"&pRPCKeyID=\" + pRPCKeyID + \"&crewTemplateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDefaultsForEmplList(pREHKeyIDString) {\r\n let url = \"/CrewTimecard/GetDefaultsForEmplList?pREHKeyIDString=\" + pREHKeyIDString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getEmplLockStatus(hQBCKeyID, crewTemplateID) {\r\n let url = \"/CrewTimecard/GetEmplLockStatus?hQBCKeyID=\" + hQBCKeyID + \"&crewTemplateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTimecardColumns(employeeId: number, employee: number, pRCo: number, pRGroup: number, filterType: string, isCrewOrStandard: string) {\r\n let url = \"/Timecard/GetTimecardColumns?employeeId=\" + employeeId + \"&employee=\" + employee + \"&pRCo=\" + pRCo + \"&pRGroup=\" + pRGroup + \"&isCrewOrStandard=\" + isCrewOrStandard\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getApprovalDailyTotals(pRPCKeyID: number) {\r\n let url = \"/Approval/GetApprovalDailyTotals?pRPCKeyID=\" + pRPCKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getRow(rowId) {\r\n let url = \"/Timecard/Row?rowId=\" + rowId;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n approveCrewTimecard(crewTemplateID, pRPCKeyID, keyID, submittedOnString, keyIDString = null) {\r\n let url = \"/CrewTimecard/ApproveCrewTimecard\";\r\n let postData: any = {\r\n crewTemplateID: crewTemplateID,\r\n pRPCKeyID: pRPCKeyID,\r\n keyID: keyID,\r\n submittedOnString: submittedOnString\r\n }\r\n if (keyIDString != null)\r\n postData.keyIDString = keyIDString;\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n deleteTimecardRow(rowId) {\r\n let url = \"/Timecard/DeleteTimecardRow\";\r\n return this.http.post(url, { rowId: rowId }).toPromise();\r\n }\r\n\r\n //CrewTemplateID is not used in job approval, \r\n saveCrewTimecard(timecardId, rows, crewTemplateID = null, jCFTKeyID = null, fromJobApproval: boolean = false) {\r\n let url = \"/CrewTimecard/SaveCrewTimecard\";\r\n let postData: any = {\r\n timecardId: timecardId,\r\n rows: rows,\r\n employee: -1,\r\n fromJobApproval: fromJobApproval\r\n };\r\n if (crewTemplateID != null)\r\n postData.crewTemplateID = crewTemplateID;\r\n if (jCFTKeyID != null)\r\n postData.jcftKeyID = jCFTKeyID;\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n getTimecardApprovalGrid(pRPCKeyID, hQBCKeyID, jCJMKeyID, approvalStatus) {\r\n let url = \"/Approval/GetTimecardApprovalGrid?pRPCKeyID=\" + pRPCKeyID;\r\n if (jCJMKeyID != null)\r\n url += \"&jCJMKeyID=\" + jCJMKeyID;\r\n if (hQBCKeyID != null)\r\n url += \"&hQBCKeyID=\" + hQBCKeyID;\r\n if (approvalStatus != null)\r\n url += \"&approvalStatus=\" + approvalStatus;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n timecardApprovalSubmit(pRPCKeyID, pRTBKeyIDString, actionCode, rejectReason: string = null, rejectNotes: string = null) {\r\n let url = \"/Approval/TimecardApprovalSubmit\";\r\n let postData: any = {\r\n pRPCKeyID: pRPCKeyID,\r\n pRTBKeyIDString: pRTBKeyIDString,\r\n actionCode: actionCode\r\n };\r\n if (rejectReason != null) {\r\n postData.rejectReason = rejectReason;\r\n postData.rejectNotes = rejectNotes;\r\n }\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n timecardApprovalFinalize(pRPCKeyID, pRTBKeyIDString) {\r\n let url = \"/Approval/TimecardApprovalFinalize\";\r\n let postData: any = {\r\n pRPCKeyID: pRPCKeyID,\r\n pRTBKeyIDString: pRTBKeyIDString,\r\n };\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n saveCompilePDFData(pREndDate, pRTBKeyIDString, pRPCKeyID) {\r\n let url = \"/Approval/SaveCompilePDFData\";\r\n let postData = {\r\n pREndDate: pREndDate,\r\n pRTBKeyIDString: pRTBKeyIDString,\r\n PRPCKeyID: pRPCKeyID\r\n }\r\n return this.http.post(url, postData).toPromise();\r\n }\r\n\r\n downloadCompilePDFFile(pREndDate) {\r\n let url = \"/Approval/DownloadCompilePDFFile?pREndDate=\" + pREndDate;\r\n return this.http.get(url).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { EmployeeInfoService } from '../../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../../core/services/portal-settings.service';\r\nimport { TimeParserService } from '../../../../core/services/time-parser.service';\r\nimport { CrewTimecardDataService } from './crew-timecard-data.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/** Class performs all data manipulations relating to the crew timecard grid data */\r\nexport class CrewTimecardManagerService {\r\n crewTimecardDataService: CrewTimecardDataService;\r\n employeeInfo: any;\r\n portalSettings: any;\r\n timeParserService: TimeParserService;\r\n\r\n originalData: any;\r\n modifiedData: any;\r\n rowPropertyNames: any[];\r\n columnPropertyNames: any[];\r\n valuePropertyNames: any[];\r\n columns: any[];\r\n columnMap: any;\r\n columnMapKeyArr: any[];\r\n rows: any[];\r\n sharedColumnInfo: {};\r\n currentEmployeeColumns: any;\r\n dailyTimeByEmployee: any;\r\n namesToExclude: string[];\r\n columnsForDR: any[];\r\n dataTable: any;\r\n gridData: any;\r\n lastID: any;\r\n largestSortID: number;\r\n udSortUsed: boolean;\r\n time24HourMode: boolean;\r\n showEquipment: boolean; \r\n\r\n constructor(\r\n crewTimecardDataService: CrewTimecardDataService,\r\n employeeInfoService: EmployeeInfoService,\r\n portalSettingsService: PortalSettingsService,\r\n timeParserService: TimeParserService\r\n ) {\r\n\r\n this.crewTimecardDataService = crewTimecardDataService;\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.timeParserService = timeParserService;\r\n\r\n this.originalData = {};\r\n this.modifiedData = {};\r\n this.rowPropertyNames = [];\r\n this.columnPropertyNames = [];\r\n this.valuePropertyNames = [];\r\n this.columns = [];\r\n this.columnMap = {};\r\n this.columnMapKeyArr = [];\r\n this.rows = [];\r\n this.sharedColumnInfo = {};\r\n this.currentEmployeeColumns;\r\n this.dailyTimeByEmployee;\r\n this.namesToExclude = [\"@KeyID\", \"@IsReadOnly\", \"@DateSubmitted\", \"@IsApproved\", \"@IsSubmitted\", \"@PendingStatus\", \"@IsDelete\", \"IsRowAggregate\", \"@IsLocked\"];\r\n this.columnsForDR = [];\r\n this.gridData = null;\r\n this.lastID = null;\r\n this.largestSortID = 0;\r\n this.udSortUsed = false;\r\n this.time24HourMode = this.portalSettings.Timecard24Hours.ConfigValue == \"1\";\r\n this.showEquipment = this.portalSettings.DTRShowEquipment.ConfigValue == \"1\";\r\n\r\n }\r\n\r\n //get functions\r\n getChangedData(dataTable) {\r\n let allowZeroLine = this.portalSettings[\"AllowZeroHourCrewLine\"].ConfigValue == \"1\";\r\n let changedRowsByRowId = {};\r\n dataTable.eachRow((gridRowId) => {\r\n let row = dataTable.getItem(gridRowId);\r\n if (this.crewTimecardDataService.usageMode != \"approval\" || (row.PendingStatus == \"U\" && row.IsRowAggregate != true)) {\r\n let oldColumnCollection = row.isNewRow ? null : this.getColumnCollectionByRowValues(this.originalData.TimecardData, row['___ColumnCollection']);\r\n $.each(this.columnMap, (resolvedColumnName: string, columnMetadata) => {\r\n let newValue = row[resolvedColumnName];\r\n let oldValue = row.isNewRow === true ? null : this.getColumnPropertyValue(oldColumnCollection, resolvedColumnName, columnMetadata.valuePropertyName);\r\n let keyIds = row.isNewRow ? '-1' : this.getColumnPropertyValue(oldColumnCollection, resolvedColumnName, '@KeyID');\r\n if (keyIds.constructor === Array) {\r\n $.each(keyIds, (key, keyId) => {\r\n if (resolvedColumnName.indexOf(\"Hours\") > -1) {\r\n if (oldValue !== \"\" && oldValue != null) {\r\n oldValue = parseFloat(oldValue);\r\n }\r\n if (newValue !== \"\" && newValue != null) {\r\n newValue = parseFloat(newValue);\r\n }\r\n }\r\n else if (resolvedColumnName.indexOf(\"StartTime\") > -1 && oldValue != null && oldValue.length > 8) {\r\n if (oldValue !== \"\" && oldValue != null) {\r\n oldValue = this.parseTime(oldValue, \"StartTime\");\r\n }\r\n }\r\n else if (resolvedColumnName.indexOf(\"StopTime\") > -1 && oldValue != null && oldValue.length > 8) {\r\n if (oldValue !== \"\" && oldValue != null) {\r\n oldValue = this.parseTime(oldValue, \"StopTime\");\r\n }\r\n }\r\n let valueChanged = false;\r\n valueChanged = (row.isNewRow || row.headerModified)\r\n ? newValue != null && newValue.toString().length > 0 && newValue != \"null\"\r\n : (newValue !== oldValue);\r\n //case to handle 0 hour lines\r\n if (oldValue === \"\" || oldValue == null) {\r\n //any case where a value used to exist and a header value changed\r\n if (row.headerModified && keyId != -1) {\r\n valueChanged = true;\r\n }\r\n //handling for 0 hour lines\r\n\r\n else if ((newValue === 0 && allowZeroLine) || (newValue !== 0 && newValue != null && newValue != \"\")) {\r\n valueChanged = true;\r\n }\r\n else {\r\n valueChanged = false;\r\n }\r\n }\r\n if (valueChanged) {\r\n\r\n let columnValues = resolvedColumnName.split('___');\r\n if (keyId != -1 || ((newValue !== 0 || allowZeroLine) && newValue !== \"\")) {\r\n columnValues.splice(columnValues.length - 1, 1);\r\n let uniqueRowId = $.map(this.rowPropertyNames, (rowPropertyName) => {\r\n return this.getRowValue(row, rowPropertyName);\r\n }).join('___') +\r\n '___' + columnValues.join('___');\r\n let values = {};\r\n if (!changedRowsByRowId[uniqueRowId]) {\r\n changedRowsByRowId[uniqueRowId] = {\r\n keyId: keyId,\r\n values: values\r\n };\r\n for (let i = 0; i < columnMetadata.columnValues.length; ++i) {\r\n let columnPropertyName = this.columnPropertyNames[i];\r\n values[columnPropertyName] = columnMetadata.columnValues[i];\r\n }\r\n //345660 Get visible columns on the Grid.\r\n for (let i = 0; i < this.gridData.rowPropertyNames.length; ++i) {\r\n let rowPropertyName = this.gridData.rowPropertyNames[i];\r\n values[rowPropertyName] = this.getRowValue(row, rowPropertyName);\r\n }\r\n if (this.rowPropertyNames.indexOf(\"Type\") > -1 && !values.hasOwnProperty(\"Type\")) {\r\n values[\"Type\"] = this.getRowValue(row, \"Type\");\r\n }\r\n }\r\n let propName = columnMetadata.valuePropertyName.substr(1);\r\n if (this.crewTimecardDataService.usageMode != \"approval\" || propName != \"Hours\" || row.IsRowAggregate != true) {\r\n changedRowsByRowId[uniqueRowId].values[columnMetadata.valuePropertyName.substr(1)] = newValue;\r\n if (propName == \"StartTime\" && !changedRowsByRowId[uniqueRowId].values.hasOwnProperty(\"StopTime\")) {\r\n changedRowsByRowId[uniqueRowId].values[\"StopTime\"] = row[resolvedColumnName.substr(0, resolvedColumnName.indexOf(\"@\")) + \"@StopTime\"];\r\n }\r\n else if (propName == \"StopTime\" && !changedRowsByRowId[uniqueRowId].values.hasOwnProperty(\"StartTime\")) {\r\n changedRowsByRowId[uniqueRowId].values[\"StartTime\"] = row[resolvedColumnName.substr(0, resolvedColumnName.indexOf(\"@\")) + \"@StartTime\"];\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n let keyId = keyIds;\r\n if (resolvedColumnName.indexOf(\"Hours\") > -1) {\r\n if (oldValue !== \"\" && oldValue != null) {\r\n oldValue = parseFloat(oldValue);\r\n }\r\n if (newValue !== \"\" && newValue != null) {\r\n newValue = parseFloat(newValue);\r\n }\r\n }\r\n else if (resolvedColumnName.indexOf(\"StartTime\") > -1 && oldValue != null && oldValue.length > 8) {\r\n if (oldValue !== \"\" && oldValue != null) {\r\n oldValue = this.parseTime(oldValue, \"StartTime\");\r\n }\r\n }\r\n else if (resolvedColumnName.indexOf(\"StopTime\") > -1 && oldValue != null && oldValue.length > 8) {\r\n if (oldValue !== \"\" && oldValue != null) {\r\n oldValue = this.parseTime(oldValue, \"StopTime\");\r\n }\r\n }\r\n let valueChanged = false;\r\n valueChanged = (row.isNewRow || row.headerModified)\r\n ? newValue != null && newValue.toString().length > 0 && newValue != \"null\"\r\n : (newValue !== oldValue);\r\n //case to handle auto 0 population\r\n if (oldValue === \"\" || oldValue == null) {\r\n //any case where a value used to exist and a header value changed\r\n if (row.headerModified && keyId != -1) {\r\n valueChanged = true;\r\n }\r\n //handling for 0 hour lines\r\n else if ((newValue === 0 && allowZeroLine) || (newValue !== 0 && newValue != null && newValue != \"\")) {\r\n valueChanged = true;\r\n }\r\n else {\r\n valueChanged = false;\r\n }\r\n }\r\n if (valueChanged) {\r\n let columnValues = resolvedColumnName.split('___');\r\n if (keyId != -1 || ((newValue !== 0 || allowZeroLine) && newValue !== \"\")) {\r\n columnValues.splice(columnValues.length - 1, 1);\r\n let uniqueRowId = $.map(this.rowPropertyNames, (rowPropertyName) => {\r\n return this.getRowValue(row, rowPropertyName);\r\n }).join('___') +\r\n '___' + columnValues.join('___');\r\n let values = {};\r\n if (!changedRowsByRowId[uniqueRowId]) {\r\n changedRowsByRowId[uniqueRowId] = {\r\n keyId: keyId,\r\n values: values\r\n };\r\n for (let i = 0; i < columnMetadata.columnValues.length; ++i) {\r\n let columnPropertyName = this.columnPropertyNames[i];\r\n values[columnPropertyName] = columnMetadata.columnValues[i];\r\n }\r\n //345660 Get visible columns on the Grid.\r\n for (let i = 0; i < this.gridData.rowPropertyNames.length; ++i) {\r\n let rowPropertyName = this.gridData.rowPropertyNames[i];\r\n values[rowPropertyName] = this.getRowValue(row, rowPropertyName);\r\n }\r\n if (this.rowPropertyNames.indexOf(\"Type\") > -1 && !values.hasOwnProperty(\"Type\")) {\r\n values[\"Type\"] = this.getRowValue(row, \"Type\");\r\n }\r\n }\r\n let propName = columnMetadata.valuePropertyName.substr(1);\r\n if (this.crewTimecardDataService.usageMode != \"approval\" || propName != \"Hours\" || row.IsRowAggregate != true) {\r\n changedRowsByRowId[uniqueRowId].values[columnMetadata.valuePropertyName.substr(1)] = newValue;\r\n if (propName == \"StartTime\" && !changedRowsByRowId[uniqueRowId].values.hasOwnProperty(\"StopTime\")) {\r\n changedRowsByRowId[uniqueRowId].values[\"StopTime\"] = row[resolvedColumnName.substr(0, resolvedColumnName.indexOf(\"@\")) + \"@StopTime\"];\r\n }\r\n else if (propName == \"StopTime\" && !changedRowsByRowId[uniqueRowId].values.hasOwnProperty(\"StartTime\")) {\r\n changedRowsByRowId[uniqueRowId].values[\"StartTime\"] = row[resolvedColumnName.substr(0, resolvedColumnName.indexOf(\"@\")) + \"@StartTime\"];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n })\r\n return changedRowsByRowId;\r\n }\r\n\r\n getColumnPropertyValue(columnCollection, columnKey, propertyName) {\r\n let parentObj = columnCollection;\r\n let columnValues = columnKey.split('___');\r\n for (let i = 0; i < this.columnPropertyNames.length; ++i) {\r\n let collection = parentObj[this.columnPropertyNames[i]];\r\n parentObj = this.getCollectionItemByProperty(collection, '@Value', columnValues[i], this.columnPropertyNames[i]);\r\n }\r\n //special case for collection keyIDs for approval\r\n if (this.crewTimecardDataService.usageMode == \"approval\" && propertyName == \"@KeyID\" && parentObj.Value.constructor === Array) {\r\n let keyIDs = [];\r\n $.each(parentObj.Value, (key, val) => {\r\n if (val[\"@KeyID\"] != -1)\r\n keyIDs.push(val[\"@KeyID\"]);\r\n });\r\n return keyIDs;\r\n }\r\n return parentObj.Value[propertyName];\r\n }\r\n\r\n getGridData(timecardData, sharedColumnInfo, payPeriod, dailyTime) {\r\n let _this = this;\r\n this.sharedColumnInfo = sharedColumnInfo;\r\n\r\n this.originalData = $.extend(true, {}, timecardData);\r\n this.modifiedData = timecardData;\r\n this.dailyTimeByEmployee = dailyTime;\r\n\r\n // This data represents columns, rows, and values picked out by the user\r\n this.rowPropertyNames = [];\r\n this.columnPropertyNames = [];\r\n this.valuePropertyNames = [];\r\n\r\n this.adjustTimecardData(timecardData);\r\n\r\n this.populateRowPropertyNames(timecardData);\r\n this.populateColumnPropertyNames(timecardData);\r\n this.populateValuePropertyNames(timecardData);\r\n\r\n this.columns = [];\r\n this.columnMap = {};\r\n this.columnMapKeyArr = [];\r\n this.populateColumnMap(this.getFirstObjectWithName(timecardData, 'ColumnCollection'), this.columnPropertyNames, [], [], []);\r\n this.addColumnsForRows();\r\n this.addRemainingColumnGroups(payPeriod);\r\n\r\n this.rows = [];\r\n this.populateRows(timecardData.TimecardData, this.rowPropertyNames, {}, true, []);\r\n\r\n this.gridData = {\r\n columnMap: this.columnMap,\r\n columns: this.columns,\r\n rows: this.rows,\r\n rowPropertyNames: this.rowPropertyNames,\r\n columnPropertyNames: this.columnPropertyNames,\r\n valuePropertyNames: this.valuePropertyNames,\r\n getColumnByName: (columnName) => {\r\n let column = null;\r\n $.each(_this.columns, (loopColumnIndex, loopColumn) => {\r\n if (loopColumn.id === columnName) {\r\n column = loopColumn;\r\n return false;\r\n }\r\n });\r\n return column;\r\n }\r\n }\r\n return this.gridData;\r\n }\r\n\r\n //Names simplified from getCrewTimecardRow, RowID, ...\r\n getRow(gridRowId) {\r\n let row = this.crewTimecardDataService.dataTable.getItem(gridRowId);\r\n let columnCollection = this.getColumnCollectionByRowValues(this.modifiedData.TimecardData, row['___ColumnCollection']);\r\n return columnCollection;\r\n }\r\n\r\n getRowID(gridRowId) {\r\n let row = this.crewTimecardDataService.dataTable.getItem(gridRowId);\r\n let keyID = null;\r\n let columnCollection = this.getColumnCollectionByRowValues(this.originalData.TimecardData, row['___ColumnCollection']);\r\n //return the first KeyID\r\n $.each(this.columnMap, (resolvedColumnName, columnMetadata) => {\r\n keyID = this.getColumnPropertyValue(columnCollection, resolvedColumnName, '@KeyID');\r\n if (keyID > 0) {\r\n return false;\r\n }\r\n });\r\n return keyID;\r\n }\r\n\r\n getRowIDs(gridRowId, row = null) {\r\n if (row == null)\r\n row = this.crewTimecardDataService.dataTable.getItem(gridRowId);\r\n let columnCollection = this.getColumnCollectionByRowValues(this.originalData.TimecardData, row['___ColumnCollection']);\r\n let rowIDs = [];\r\n $.each(this.columnMap, (resolvedColumnName, columnMetadata) => {\r\n let id = this.getColumnPropertyValue(columnCollection, resolvedColumnName, '@KeyID');\r\n if (id.constructor === Array) {\r\n rowIDs = rowIDs.concat(id);\r\n }\r\n else if (id != -1)\r\n rowIDs.push(id);\r\n });\r\n return rowIDs;\r\n }\r\n\r\n getRowValue(rowObj, rowPropertyName) {\r\n let rowValue = rowObj[rowPropertyName];\r\n if (typeof rowValue === \"string\") {\r\n if (rowPropertyName == \"udKDSTrackerID\" || this.sharedColumnInfo[rowPropertyName].IsCombo == 1)\r\n rowValue = rowValue.substr(0, rowValue.indexOf(\"@\"));\r\n //#305419 Replacing \"null\" value with empty string.\r\n if (rowValue == \"null\") {\r\n rowValue = \"\";\r\n }\r\n }\r\n if (this.sharedColumnInfo[rowPropertyName] != null && this.sharedColumnInfo[rowPropertyName].ValidationDataType == \"bit\" && rowValue == null) {\r\n rowValue = \"N\";\r\n }\r\n //238738: Ensure that user selection has appropriate format for PostDate\r\n if (rowPropertyName.indexOf(\"PostDate\") > -1 && rowValue != null && typeof rowValue.getMonth == 'function') {\r\n let yyyy = rowValue.getFullYear().toString();\r\n let mm = (rowValue.getMonth() + 1).toString();\r\n let dd = rowValue.getDate().toString();\r\n rowValue = yyyy + \"/\" + mm + \"/\" + dd;\r\n }\r\n return rowValue;\r\n }\r\n\r\n //functions for preparing grid data\r\n private adjustTimecardData(timecardData) {\r\n function mapPropertyValuesToCollections(obj) {\r\n $.each(obj, (propertyKey, propertyValue) => {\r\n if (propertyKey == 'ColumnCollection') {\r\n mapPropertyValuesToCollections(propertyValue);\r\n } else if (propertyKey[0] != '@' && propertyKey != 'Value') {\r\n if (!$.isArray(propertyValue)) {\r\n obj[propertyKey] = [propertyValue];\r\n }\r\n $.each(obj[propertyKey], (childIndex, child) => {\r\n mapPropertyValuesToCollections(child);\r\n });\r\n }\r\n });\r\n }\r\n mapPropertyValuesToCollections(timecardData.TimecardData);\r\n }\r\n\r\n private populateRowPropertyNames(timecardData) {\r\n this.populatePropertiesArray(timecardData.TimecardData, this.rowPropertyNames, 'ColumnCollection');\r\n }\r\n\r\n private populateColumnPropertyNames(timecardData) {\r\n let columnCollection = this.getFirstObjectWithName(timecardData, 'ColumnCollection');\r\n this.populatePropertiesArray(columnCollection, this.columnPropertyNames, 'Value');\r\n }\r\n\r\n private populateValuePropertyNames(timecardData) {\r\n let valuesCollection = this.getFirstObjectWithName(timecardData, 'Value');\r\n if (valuesCollection.constructor === Array) {\r\n valuesCollection = valuesCollection[0];\r\n }\r\n $.each(valuesCollection, (valuePropertyName: string, valuePropertyValue) => {\r\n if (this.namesToExclude.indexOf(valuePropertyName) == -1) {\r\n if (this.crewTimecardDataService.usageMode == \"PR\") {\r\n if (valuePropertyName != \"@UsageUnits\" || this.showEquipment) {\r\n this.valuePropertyNames.push(valuePropertyName);\r\n }\r\n }\r\n else if (this.crewTimecardDataService.usageMode == \"PREQ\") {\r\n if (valuePropertyName == \"@UsageUnits\") {\r\n this.valuePropertyNames.push(valuePropertyName);\r\n }\r\n }\r\n else {\r\n this.valuePropertyNames.push(valuePropertyName);\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n populatePropertiesArray(obj, propertiesArr, stopPropertyName) {\r\n let onlyPropertyName = null;\r\n $.each(obj, (propertyName, propertyValue) => {\r\n if (propertyName[0] !== '@') { // ignore attribute property names\r\n onlyPropertyName = propertyName;\r\n return false;\r\n }\r\n return true;\r\n });\r\n propertiesArr.push(onlyPropertyName);\r\n if (!obj[onlyPropertyName][0][stopPropertyName]) {\r\n this.populatePropertiesArray(obj[onlyPropertyName][0], propertiesArr, stopPropertyName);\r\n }\r\n }\r\n\r\n populateColumnMap(columnParent, remainingColumnPropertyNames, columnValues, columnDisplayValues, columnValueCounts) {\r\n if (remainingColumnPropertyNames.length == 0) {\r\n $.each(this.valuePropertyNames, (valuePropertyNameIndex, valuePropertyName) => {\r\n let columnKey = columnValues.join('___') + '___' + valuePropertyName;\r\n this.columnMapKeyArr.push(columnKey);\r\n this.columnMap[columnKey] = {\r\n columnValueCounts: columnValueCounts,\r\n columnDisplayValues: columnDisplayValues,\r\n columnValues: $.extend([], columnValues),\r\n valuePropertyName: valuePropertyName,\r\n resolvedColumnName: columnKey\r\n };\r\n });\r\n } else {\r\n let columnCollection = columnParent[remainingColumnPropertyNames[0]];\r\n $.each(columnCollection, (columnIndex, column) => {\r\n let subColumnValues = $.extend([], columnValues);\r\n let subColumnDisplayValues = $.extend([], columnDisplayValues);\r\n let subColumnValueCounts = $.extend([], columnValueCounts);\r\n subColumnValues.push(column['@Value']);\r\n subColumnDisplayValues.push(column['@Label']);\r\n subColumnValueCounts.push(this.getColumnValuesCount(column, this.columnPropertyNames.slice(subColumnValueCounts.length + 1)));\r\n this.populateColumnMap(column, remainingColumnPropertyNames.slice(1), subColumnValues, subColumnDisplayValues, subColumnValueCounts);\r\n });\r\n }\r\n }\r\n\r\n //TODO - can this method be cleaned up?\r\n addColumnsForRows() {\r\n let PRColumnsToIgnore = [];\r\n if (!this.showEquipment) {\r\n PRColumnsToIgnore.push(\"Equipment\");\r\n PRColumnsToIgnore.push(\"UsageUnits\");\r\n PRColumnsToIgnore.push(\"EMCo\");\r\n }\r\n // Add in columns for displaying row names --- first one will be a grouping function unless there is only one row property name\r\n let rowsToSkip = 0;\r\n //if approval mode, add approved column first\r\n let approvalU = \" \"\r\n + \" \"\r\n + \"\";\r\n let approvalA = \" \"\r\n + \" \"\r\n + \"\";\r\n let approvalR = \" \"\r\n + \" \"\r\n + \"\";\r\n if (this.crewTimecardDataService.usageMode == \"approval\")\r\n this.columns.push({\r\n id: \"Approval\",\r\n header: \"\",\r\n width: 158,\r\n template: function (obj) {\r\n if (obj.IsReadOnly == \"1\") {\r\n return \"\";\r\n }\r\n else if (obj.PendingStatus == \"A\") {\r\n return approvalA;\r\n }\r\n else if (obj.PendingStatus == \"R\") {\r\n return approvalR;\r\n }\r\n else {\r\n return approvalU;\r\n }\r\n }\r\n });\r\n if (this.rowPropertyNames.length >= 2) {\r\n let colWidth = 150;\r\n let header = this.rowPropertyNames[0];\r\n if (this.sharedColumnInfo[this.rowPropertyNames[0]] != null) {\r\n if (this.crewTimecardDataService.usageMode == \"approval\")\r\n colWidth = this.sharedColumnInfo[this.rowPropertyNames[0]].InputLength || 150;\r\n else\r\n colWidth = this.sharedColumnInfo[this.rowPropertyNames[0]].InputLength || 150;\r\n header = this.sharedColumnInfo[this.rowPropertyNames[0]].ColumnLabel;\r\n }\r\n rowsToSkip = 1;\r\n if (this.crewTimecardDataService.usageMode == \"approval\" && this.rowPropertyNames[0] == \"Employee\") {\r\n this.columns.push({\r\n id: this.rowPropertyNames[0],\r\n header: header,\r\n width: colWidth,\r\n template: \"{common.subrow()} #EmployeeLabel#\"\r\n });\r\n }\r\n else if (this.crewTimecardDataService.usageMode == \"PR\") {\r\n if (header != \"JCCo\" && header != \"Job\" && header != \"udUM\" && header != \"RevCode\" && PRColumnsToIgnore.indexOf(header) == -1) {\r\n this.columns.push({\r\n id: this.rowPropertyNames[0],\r\n header: header,\r\n width: colWidth,\r\n adjust: false\r\n });\r\n if (header == \"udSort\") {\r\n this.udSortUsed = true;\r\n }\r\n }\r\n }\r\n else if (this.crewTimecardDataService.usageMode == \"PREQ\") {\r\n if (header == \"Equipment\" || header == \"Phase\" || header == \"udUM\" || header == \"RevCode\" || header == \"Memo\" || header == \"udSort\" || header == \"UsageUnits\") {\r\n this.columns.push({\r\n id: this.rowPropertyNames[0],\r\n header: header,\r\n width: colWidth,\r\n adjust: false\r\n });\r\n if (header == \"udSort\") {\r\n this.udSortUsed = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.columns.push({\r\n id: this.rowPropertyNames[0],\r\n header: header,\r\n width: colWidth,\r\n adjust: false\r\n });\r\n }\r\n\r\n }\r\n $.each(this.rowPropertyNames.slice(rowsToSkip), (rowPropertyNameIndex, rowPropertyName) => {\r\n //Job Approval\r\n if (this.crewTimecardDataService.usageMode == \"approval\") {\r\n if (rowPropertyName == \"Memo\") {\r\n let colWidth = 250;\r\n let header = rowPropertyName;\r\n\r\n if (this.sharedColumnInfo[rowPropertyName] != null) {\r\n if (this.crewTimecardDataService.usageMode == \"approval\")\r\n colWidth = this.sharedColumnInfo[rowPropertyName].InputLength || 250;\r\n header = this.sharedColumnInfo[rowPropertyName].ColumnLabel;\r\n }\r\n if (header == \"udKDSTrackerID\")\r\n header = \"Timecard\";\r\n this.columns.push({ id: rowPropertyName, header: header, width: colWidth });\r\n }\r\n else {\r\n if (rowPropertyName != \"udSort\") {\r\n let colWidth = 150;\r\n let header = rowPropertyName;\r\n if (this.sharedColumnInfo[rowPropertyName] != null) {\r\n if (this.crewTimecardDataService.usageMode == \"approval\")\r\n colWidth = this.sharedColumnInfo[rowPropertyName].InputLength || 150;\r\n header = this.sharedColumnInfo[rowPropertyName].ColumnLabel;\r\n }\r\n if (header == \"udKDSTrackerID\")\r\n header = \"Timecard\";\r\n this.columns.push({ id: rowPropertyName, header: header, width: colWidth });\r\n }\r\n }\r\n }\r\n //Field Ticket Payroll\r\n else if (this.crewTimecardDataService.usageMode == \"PR\") {\r\n if (rowPropertyName != \"JCCo\" && rowPropertyName != \"Job\" && rowPropertyName != \"udUM\" && rowPropertyName != \"RevCode\" && PRColumnsToIgnore.indexOf(rowPropertyName) == -1) {\r\n let colWidth = 150;\r\n let header = rowPropertyName;\r\n if (this.sharedColumnInfo[rowPropertyName] != null) {\r\n colWidth = this.sharedColumnInfo[rowPropertyName].InputLength || 150;\r\n header = this.sharedColumnInfo[rowPropertyName].ColumnLabel;\r\n }\r\n if (header == \"udKDSTrackerID\")\r\n header = \"Timecard\";\r\n this.columns.push({ id: rowPropertyName, header: header, width: colWidth });\r\n if (rowPropertyName == \"udSort\") {\r\n this.udSortUsed = true;\r\n }\r\n\r\n }\r\n }\r\n //Field Ticket Equipment\r\n else if (this.crewTimecardDataService.usageMode == \"PREQ\") {\r\n if (rowPropertyName == \"Equipment\" || rowPropertyName == \"Phase\" || rowPropertyName == \"udUM\" || rowPropertyName == \"RevCode\" || rowPropertyName == \"Memo\" || rowPropertyName == \"udSort\" || rowPropertyName == \"UsageUnits\") {\r\n\r\n let colWidth = 150;\r\n let header = rowPropertyName;\r\n if (this.sharedColumnInfo[rowPropertyName] != null) {\r\n colWidth = this.sharedColumnInfo[rowPropertyName].InputLength || 150;\r\n header = this.sharedColumnInfo[rowPropertyName].ColumnLabel;\r\n }\r\n if (header == \"udKDSTrackerID\")\r\n header = \"Timecard\";\r\n this.columns.push({ id: rowPropertyName, header: header, width: colWidth });\r\n if (rowPropertyName == \"udSort\") {\r\n this.udSortUsed = true;\r\n }\r\n }\r\n }\r\n //Grid Timecard\r\n else {\r\n if (rowPropertyName == \"Memo\") {\r\n let colWidth = 250;\r\n let header = rowPropertyName;\r\n\r\n if (this.sharedColumnInfo[rowPropertyName] != null) {\r\n colWidth = this.sharedColumnInfo[rowPropertyName].InputLength || 250;\r\n header = this.sharedColumnInfo[rowPropertyName].ColumnLabel;\r\n }\r\n if (header == \"udKDSTrackerID\")\r\n header = \"Timecard\";\r\n this.columns.push({ id: rowPropertyName, header: header, width: colWidth });\r\n }\r\n else {\r\n let colWidth = 150;\r\n let header = rowPropertyName;\r\n if (this.sharedColumnInfo[rowPropertyName] != null) {\r\n colWidth = this.sharedColumnInfo[rowPropertyName].InputLength || 150;\r\n header = this.sharedColumnInfo[rowPropertyName].ColumnLabel;\r\n }\r\n if (header == \"udKDSTrackerID\")\r\n header = \"Timecard\";\r\n this.columns.push({ id: rowPropertyName, header: header, width: colWidth });\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n addRemainingColumnGroups(payPeriod) {\r\n this.columnsForDR = [];\r\n let multiDayTicketMode = payPeriod.DTRMultiDayMode;\r\n let totalHeader = this.portalSettings.CrewTotalsHeaderOverride.ConfigValue != null && this.portalSettings.CrewTotalsHeaderOverride.ConfigValue != \"\" ? this.portalSettings.CrewTotalsHeaderOverride.ConfigValue : \"Tot\";\r\n if (this.crewTimecardDataService.usageMode == \"approval\") {\r\n this.columns.push({\r\n id: \"Sub Total\",\r\n header: totalHeader,\r\n adjust: \"header\",\r\n width: 50,\r\n footer: { content: \"summFixedColumn\" }\r\n });\r\n }\r\n let preqPostDates = [];\r\n $.each(this.columnMapKeyArr, (columnMapKeyIndex, columnMapKey) => {\r\n let headers = [];\r\n let columnMetadata = this.columnMap[columnMapKey];\r\n let columnName = columnMapKey.substr(columnMapKey.indexOf(\"@\") + 1);\r\n let widthOverride;\r\n if (this.crewTimecardDataService.usageMode == \"approval\")\r\n widthOverride = this.sharedColumnInfo[columnName].InputLength || 100;\r\n else\r\n widthOverride = this.sharedColumnInfo[columnName].InputLength || 100;\r\n if ((this.crewTimecardDataService.usageMode == \"PR\" && (columnName == \"Hours\" || (columnName == \"UsageUnits\" && this.showEquipment))) || (this.crewTimecardDataService.usageMode == \"PREQ\" && columnName == \"UsageUnits\")) {\r\n let shiftIndex = this.columnPropertyNames.indexOf(\"Shift\");\r\n let earnCodeIndex = this.columnPropertyNames.indexOf(\"EarnCode\");\r\n if (this.crewTimecardDataService.usageMode != \"PREQ\") {\r\n for (let i = 0; i < columnMetadata.columnValues.length; ++i) {\r\n //filter out the date headers and well everything else if its PREQ\r\n if (multiDayTicketMode ||\r\n columnMetadata.columnDisplayValues[i].indexOf(\"Mon<\") == -1 && columnMetadata.columnDisplayValues[i].indexOf(\"Tue<\") == -1 &&\r\n columnMetadata.columnDisplayValues[i].indexOf(\"Wed<\") == -1 && columnMetadata.columnDisplayValues[i].indexOf(\"Thu<\") == -1 &&\r\n columnMetadata.columnDisplayValues[i].indexOf(\"Fri<\") == -1 && columnMetadata.columnDisplayValues[i].indexOf(\"Sat<\") == -1 &&\r\n columnMetadata.columnDisplayValues[i].indexOf(\"Sun<\") == -1) {\r\n //lets calculate some width and height!\r\n let canvas = document.createElement('canvas');\r\n let ctx = canvas.getContext(\"2d\");\r\n let width = ctx.measureText(columnMetadata.columnDisplayValues[i]).width;\r\n let approximateSpace = widthOverride * columnMetadata.columnValueCounts[i];\r\n let widthRatio = Math.ceil(width / approximateSpace);\r\n\r\n //Actually use it\r\n if (columnMetadata.columnDisplayValues[i] != null && (columnMetadata.columnDisplayValues[i].indexOf(\"
\") != -1 || columnMetadata.columnDisplayValues[i].indexOf(\" \") != -1)) {\r\n\r\n if (columnMetadata.columnDisplayValues[i].indexOf(\"
\") != -1 && widthRatio == 1) {\r\n widthRatio = 2;\r\n }\r\n if (multiDayTicketMode)\r\n headers.push({ text: columnMetadata.columnDisplayValues[i], css: \"multiline\", colspan: columnMetadata.columnValueCounts[i], height: 30 * widthRatio });\r\n else\r\n headers.push({ text: columnMetadata.columnDisplayValues[i], css: \"multiline\", height: 30 * widthRatio });\r\n }\r\n else {\r\n if (multiDayTicketMode)\r\n headers.push({ text: columnMetadata.columnDisplayValues[i], css: \"multiline\", colspan: columnMetadata.columnValueCounts[i] });\r\n else\r\n headers.push({ text: columnMetadata.columnDisplayValues[i], css: \"multiline\", height: 30 * widthRatio });\r\n }\r\n }\r\n }\r\n }\r\n else if (this.crewTimecardDataService.usageMode == \"PREQ\") {\r\n if (earnCodeIndex > -1) {\r\n if (columnMetadata.columnValues[earnCodeIndex] != this.crewTimecardDataService.equipmentDefaultEarnCode) {\r\n return;\r\n }\r\n }\r\n if (shiftIndex > -1) {\r\n if (columnMetadata.columnValues[shiftIndex] != this.crewTimecardDataService.equipmentDefaultShift) {\r\n return;\r\n }\r\n }\r\n if (multiDayTicketMode) {\r\n if (preqPostDates.indexOf(columnMetadata.columnDisplayValues[0]) > -1)\r\n return;\r\n preqPostDates.push(columnMetadata.columnDisplayValues[0]);\r\n //lets calculate some width and height!\r\n let canvas = document.createElement('canvas');\r\n let ctx = canvas.getContext(\"2d\");\r\n let width = ctx.measureText(columnMetadata.columnDisplayValues[0]).width;\r\n let approximateSpace = widthOverride * columnMetadata.columnValueCounts[0];\r\n let widthRatio = Math.ceil(width / approximateSpace);\r\n if (columnMetadata.columnDisplayValues[0].indexOf(\"
\") != -1 && widthRatio == 1) {\r\n widthRatio = 2;\r\n }\r\n headers.push({ text: columnMetadata.columnDisplayValues[0], css: \"multiline\", height: 30 * widthRatio });\r\n }\r\n }\r\n\r\n let valuePropertyName = columnMetadata.valuePropertyName.substr(1);\r\n headers.push(this.sharedColumnInfo[valuePropertyName].ColumnLabel);\r\n let column: any = {\r\n id: columnMapKey,\r\n header: headers,\r\n }\r\n\r\n column.width = this.sharedColumnInfo[columnName].InputLength || null;\r\n\r\n if (shiftIndex == -1 && earnCodeIndex == -1) {\r\n this.crewTimecardDataService.alertType = \"danger\";\r\n this.crewTimecardDataService.alertMsg = \"Payroll timecard requires EarnCode or Shift as a column header.Please modify your Grid Timecard layout.\";\r\n }\r\n let valueToUse = shiftIndex > -1 ? \"Shift\" : \"EarnCode\";\r\n let displayValue = columnMetadata.columnDisplayValues[this.columnPropertyNames.indexOf(valueToUse)].replace(/
/g, \"\").replace(/ /g, \" \")\r\n if (this.showEquipment)\r\n displayValue += \" - \" + valuePropertyName;\r\n\r\n if (multiDayTicketMode) {\r\n let dataValueParts = columnMapKey.split('___');\r\n dataValueParts.shift();\r\n let dataValue = dataValueParts.join('___');\r\n this.columnsForDR.map((x) => { return x.DataValue }).indexOf(dataValue);\r\n if (this.columnsForDR.map((x) => { return x.DataValue }).indexOf(dataValue) == -1) {\r\n this.columnsForDR.push({ DisplayValue: displayValue, DataValue: dataValue, HeaderLabel: this.sharedColumnInfo[valuePropertyName].ColumnLabel });\r\n }\r\n\r\n }\r\n else {\r\n if (valuePropertyName != \"UsageUnits\" || this.crewTimecardDataService.usageMode != \"PR\")\r\n this.columnsForDR.push({ DisplayValue: displayValue, DataValue: columnMapKey, HeaderLabel: this.sharedColumnInfo[valuePropertyName].ColumnLabel });\r\n }\r\n\r\n if (columnName == \"Hours\" || columnName == \"UsageUnits\") {\r\n column.footer = { content: \"summFixedColumn\" };\r\n }\r\n this.columns.push(column);\r\n //if using PREQ, add only first usage units column\r\n if (this.crewTimecardDataService.usageMode == \"PREQ\" && this.crewTimecardDataService.equipmentDefaultEarnCode == null && !multiDayTicketMode)\r\n return false;\r\n }\r\n else if (this.crewTimecardDataService.usageMode != \"PR\" && this.crewTimecardDataService.usageMode != \"PREQ\") {\r\n for (let i = 0; i < columnMetadata.columnValues.length; ++i) {\r\n //lets calculate some width and height!\r\n let canvas = document.createElement('canvas');\r\n let ctx = canvas.getContext(\"2d\");\r\n let width = ctx.measureText(columnMetadata.columnDisplayValues[i]).width;\r\n let approximateSpace = widthOverride * columnMetadata.columnValueCounts[i];\r\n let widthRatio = Math.ceil(width / approximateSpace);\r\n\r\n //Actually use it\r\n if (columnMetadata.columnDisplayValues[i] != null && (columnMetadata.columnDisplayValues[i].indexOf(\"
\") != -1 || columnMetadata.columnDisplayValues[i].indexOf(\" \") != -1)) {\r\n headers.push({ text: columnMetadata.columnDisplayValues[i], colspan: columnMetadata.columnValueCounts[i], css: \"multiline\", height: 60 });\r\n }\r\n else\r\n headers.push({ text: columnMetadata.columnDisplayValues[i], colspan: columnMetadata.columnValueCounts[i], css: \"multiline\" });\r\n\r\n }\r\n let valuePropertyName = columnMetadata.valuePropertyName.substr(1);\r\n headers.push(this.sharedColumnInfo[valuePropertyName].ColumnLabel);\r\n let column: any = {\r\n id: columnMapKey,\r\n header: headers\r\n }\r\n\r\n column.width = widthOverride || null;\r\n if (columnName == \"Hours\" || columnName == \"UsageUnits\") {\r\n column.footer = { content: \"summFixedColumn\" };\r\n }\r\n this.columns.push(column);\r\n }\r\n });\r\n if (this.crewTimecardDataService.usageMode != \"approval\") {\r\n let approveTemplate = \"\";\r\n let bulkEmployeeTemplate = null;\r\n if (this.crewTimecardDataService.usageMode == \"crewtimecard\") {\r\n bulkEmployeeTemplate = \"\";\r\n }\r\n\r\n let deleteTemplate = \"\";\r\n let totalHeader = this.portalSettings.CrewTotalsHeaderOverride.ConfigValue != null && this.portalSettings.CrewTotalsHeaderOverride.ConfigValue != \"\" ? this.portalSettings.CrewTotalsHeaderOverride.ConfigValue : \"Tot\";\r\n if (this.crewTimecardDataService.usageMode != \"PREQ\") {\r\n this.columns.push({\r\n id: \"Sub Total\",\r\n header: totalHeader,\r\n\r\n adjust: \"header\",\r\n footer: { content: \"summFixedColumn\" }\r\n });\r\n }\r\n\r\n this.columns.push({\r\n id: \"action\",\r\n header: \"\",\r\n width: 120,\r\n template: (obj) => {\r\n if (obj.IsSubmitted == \"1\") {\r\n if (obj.IsApproved == \"1\" || obj.IsReadOnly == \"1\" || this.crewTimecardDataService.readOnlyGrid) {\r\n return \"\";\r\n }\r\n else {\r\n if (this.crewTimecardDataService.usageMode == \"crewtimecard\") {\r\n return approveTemplate;\r\n }\r\n else if (this.portalSettings.DTREmpEquReadOnlyOverride.ConfigValue == 1 && (this.crewTimecardDataService.usageMode == \"PR\" || this.crewTimecardDataService.usageMode == \"PREQ\")) {\r\n return deleteTemplate;\r\n }\r\n else\r\n return \"\";\r\n }\r\n\r\n }\r\n else {\r\n if (obj.IsReadOnly == \"1\" || this.crewTimecardDataService.readOnlyGrid) {\r\n return \"\";\r\n }\r\n else {\r\n return deleteTemplate;\r\n }\r\n\r\n }\r\n },\r\n css: \"padding_less\"\r\n });\r\n if (this.crewTimecardDataService.usageMode == \"crewtimecard\" && !this.employeeInfo.IsReadOnlyGridTime && this.employeeInfo.IsAuthFMGridTime && !this.crewTimecardDataService.readOnlyGrid) {\r\n this.columns.push(\r\n {\r\n id: \"bulkEmployeeSelect\",\r\n header: \"\",\r\n width: 110,\r\n template: (obj) => {\r\n if (obj.IsSubmitted != \"1\") {\r\n return bulkEmployeeTemplate;\r\n }\r\n else\r\n return \"\";\r\n },\r\n css: \"padding_less\"\r\n });\r\n }\r\n }\r\n else {\r\n if (this.portalSettings.JobApprovalSplitButton.ConfigValue == 1) {\r\n let splitTemplate = \"\";\r\n let deleteTemplate = \"\";\r\n this.columns.push({\r\n id: \"splitAction\",\r\n header: \"\",\r\n width: 120,\r\n template: (obj) => {\r\n if (this.crewTimecardDataService.usageMode == \"approval\" && obj.IsLocked == \"1\") {\r\n return \"\";\r\n }\r\n if (obj.IsSubmitted == \"1\") {\r\n return \"\";\r\n }\r\n else {\r\n if (obj.IsReadOnly == \"1\") {\r\n return \"\";\r\n }\r\n else if (obj.isNewRow) {\r\n return deleteTemplate;\r\n }\r\n else {\r\n return splitTemplate;\r\n }\r\n\r\n }\r\n },\r\n css: \"padding_less\"\r\n });\r\n }\r\n let deleteZeroTemplate = \"\";\r\n this.columns.push({\r\n id: \"deleteZero\",\r\n header: \"\",\r\n width: 120,\r\n template: (obj) => {\r\n if (obj.IsDelete == \"1\" && !obj.isNewRow) {\r\n return deleteZeroTemplate\r\n }\r\n else {\r\n return \"\"\r\n }\r\n },\r\n css: \"padding_less\"\r\n });\r\n\r\n }\r\n\r\n };\r\n\r\n populateRows(rowContainer, remainingRowPropertyNames, sharedRowProperties, copyingRowProps, propertyValues) {\r\n if (remainingRowPropertyNames.length == 0) {\r\n if (rowContainer.ColumnCollection) {\r\n // Add in shared data for all column values\r\n sharedRowProperties['___ColumnCollection'] = propertyValues;\r\n\r\n this.populateRows(rowContainer.ColumnCollection, this.columnPropertyNames, sharedRowProperties, false, []);\r\n if (this.crewTimecardDataService.usageMode == \"approval\") {\r\n let employee = sharedRowProperties.Employee != null ? sharedRowProperties.Employee.substr(0, sharedRowProperties.Employee.indexOf(\"@\")) : sharedRowProperties.Employee;\r\n sharedRowProperties.EmployeeLabel = sharedRowProperties[\"Employee___@Value\"];\r\n sharedRowProperties.DailyTime = this.dailyTimeByEmployee[employee];\r\n }\r\n if (sharedRowProperties.Employee != null && sharedRowProperties.Employee != \"\" && sharedRowProperties.Employee.substr(0, sharedRowProperties.Employee.indexOf(\"@\") != \"\")) {\r\n //filter rows if usage mode is PR or PREQ\r\n if (this.crewTimecardDataService.usageMode == \"PR\" && sharedRowProperties.Employee.substr(0, sharedRowProperties.Employee.indexOf(\"@\")) != this.crewTimecardDataService.equipmentEmployee) {\r\n this.rows.push(sharedRowProperties);\r\n }\r\n else if (this.crewTimecardDataService.usageMode == \"PREQ\" && sharedRowProperties.Employee.substr(0, sharedRowProperties.Employee.indexOf(\"@\")) == this.crewTimecardDataService.equipmentEmployee) {\r\n this.rows.push(sharedRowProperties);\r\n }\r\n else if (this.crewTimecardDataService.usageMode != \"PR\" && this.crewTimecardDataService.usageMode != \"PREQ\") {\r\n this.rows.push(sharedRowProperties);\r\n }\r\n\r\n }\r\n } else {\r\n // Add Rows\r\n\r\n if (rowContainer.Value.constructor === Array) {\r\n $.each(rowContainer.Value, (containerKey, containerVal) => {\r\n $.each(this.valuePropertyNames, (valuePropertyNameIndex, valuePropertyName) => {\r\n let columnValueKey = propertyValues.join('___') + '___' + valuePropertyName;\r\n\r\n //Will only enter once a value is found\r\n if (sharedRowProperties[columnValueKey] != null && sharedRowProperties[columnValueKey] != \"\") {\r\n if (columnValueKey.indexOf(\"Hours\") > 0 && !isNaN(sharedRowProperties[columnValueKey])) {\r\n let numVal = parseFloat(sharedRowProperties[columnValueKey]);\r\n let newVal = containerVal[valuePropertyName];\r\n if (containerVal[valuePropertyName] != null && containerVal[valuePropertyName] != \"\") {\r\n numVal += parseFloat(newVal);\r\n sharedRowProperties.IsRowAggregate = true;\r\n }\r\n\r\n sharedRowProperties[columnValueKey] = numVal.toString();\r\n }\r\n }\r\n //Will enter on first value found\r\n else {\r\n if (columnValueKey.indexOf(\"StartTime\") > 0) {\r\n sharedRowProperties[columnValueKey] = this.parseTime(containerVal[valuePropertyName], \"start\");\r\n }\r\n else if (columnValueKey.indexOf(\"StopTime\") > 0)\r\n sharedRowProperties[columnValueKey] = this.parseTime(containerVal[valuePropertyName], \"stop\");\r\n else\r\n sharedRowProperties[columnValueKey] = containerVal[valuePropertyName];\r\n }\r\n });\r\n });\r\n\r\n sharedRowProperties[\"KeyID\"] = rowContainer.Value[0][\"@KeyID\"];\r\n if (this.crewTimecardDataService.usageMode != \"approval\") {\r\n sharedRowProperties[\"IsReadOnly\"] = rowContainer.Value[0][\"@IsReadOnly\"];\r\n sharedRowProperties[\"IsApproved\"] = rowContainer.Value[0][\"@IsApproved\"];\r\n sharedRowProperties[\"IsSubmitted\"] = rowContainer.Value[0][\"@IsSubmitted\"];\r\n }\r\n else {\r\n sharedRowProperties[\"PendingStatus\"] = rowContainer.Value[0][\"@PendingStatus\"];\r\n if (!sharedRowProperties[\"IsDelete\"] || (rowContainer.Value[0][\"@IsDelete\"] == 1 && sharedRowProperties[\"IsDelete\"] == 0))\r\n sharedRowProperties[\"IsDelete\"] = rowContainer.Value[0][\"@IsDelete\"];\r\n if (!sharedRowProperties[\"IsLocked\"] || (rowContainer.Value[0][\"@IsLocked\"] == 1 && sharedRowProperties[\"IsLocked\"] == 0))\r\n sharedRowProperties[\"IsLocked\"] = rowContainer.Value[0][\"@IsLocked\"];\r\n }\r\n }\r\n else {\r\n $.each(this.valuePropertyNames, (valuePropertyNameIndex, valuePropertyName) => {\r\n let columnValueKey = propertyValues.join('___') + '___' + valuePropertyName;\r\n sharedRowProperties[columnValueKey] = rowContainer.Value[valuePropertyName];\r\n if (columnValueKey.indexOf(\"@StartTime\") != -1) {\r\n sharedRowProperties[columnValueKey] = this.parseTime(sharedRowProperties[columnValueKey], \"start\");\r\n }\r\n else if (columnValueKey.indexOf(\"@StopTime\") != -1) {\r\n sharedRowProperties[columnValueKey] = this.parseTime(sharedRowProperties[columnValueKey], \"stop\");\r\n }\r\n });\r\n sharedRowProperties[\"KeyID\"] = rowContainer.Value[\"@KeyID\"];\r\n if (this.crewTimecardDataService.usageMode != \"approval\") {\r\n sharedRowProperties[\"IsReadOnly\"] = rowContainer.Value[\"@IsReadOnly\"];\r\n sharedRowProperties[\"IsApproved\"] = rowContainer.Value[\"@IsApproved\"];\r\n sharedRowProperties[\"IsSubmitted\"] = rowContainer.Value[\"@IsSubmitted\"];\r\n }\r\n else {\r\n sharedRowProperties[\"IsReadOnly\"] = rowContainer.Value[\"@IsReadOnly\"];\r\n sharedRowProperties[\"PendingStatus\"] = rowContainer.Value[\"@PendingStatus\"];\r\n if (!sharedRowProperties[\"IsDelete\"] || (rowContainer.Value[\"@IsDelete\"] == 1 && sharedRowProperties[\"IsDelete\"] == 0))\r\n sharedRowProperties[\"IsDelete\"] = rowContainer.Value[\"@IsDelete\"];\r\n if (!sharedRowProperties[\"IsLocked\"] || (rowContainer.Value[\"@IsLocked\"] == 1 && sharedRowProperties[\"IsLocked\"] == 0))\r\n sharedRowProperties[\"IsLocked\"] = rowContainer.Value[\"@IsLocked\"];\r\n }\r\n }\r\n\r\n\r\n }\r\n } else {\r\n // Add in shared data for all \"row\" header values\r\n let rowPropertyName = remainingRowPropertyNames[0];\r\n let rowCollection = rowContainer[rowPropertyName];\r\n let count = 0;\r\n\r\n $.each(rowCollection, (rowIndex, row) => {\r\n if (rowPropertyName == \"StartTime\" || rowPropertyName == \"StopTime\") {\r\n let oldValue = row[\"@Value\"];\r\n let newValue = this.parseTime(oldValue, rowPropertyName);\r\n row[\"@Value\"] = newValue;\r\n }\r\n let newSharedRowProperties = sharedRowProperties;\r\n let newPropertyValues = $.extend([], propertyValues);\r\n newPropertyValues.push(row['@Value']);\r\n\r\n if (copyingRowProps) {\r\n newSharedRowProperties = $.extend(true, {}, sharedRowProperties);\r\n if (this.sharedColumnInfo[rowPropertyName] != null && this.sharedColumnInfo[rowPropertyName].IsCombo == 1) {\r\n newSharedRowProperties[rowPropertyName] = row['@Value'] + \"@row_\";\r\n }\r\n else {\r\n newSharedRowProperties[rowPropertyName] = row['@Value'];\r\n }\r\n newSharedRowProperties[rowPropertyName + '___@Value'] = this.escapeHtml(row['@Label']);\r\n } else {\r\n newSharedRowProperties[rowPropertyName] = row['@Value'];\r\n }\r\n count++;\r\n this.populateRows(row, remainingRowPropertyNames.slice(1), newSharedRowProperties, copyingRowProps, newPropertyValues);\r\n });\r\n }\r\n }\r\n\r\n addRows(rows, dataTable, callback) {\r\n let addedRows = [];\r\n if (this.lastID == null) {\r\n this.lastID = 0;\r\n dataTable.eachRow((id) => {\r\n this.lastID = Math.max(this.lastID, id);\r\n });\r\n }\r\n this.lastID++;\r\n rows.forEach((rowToAdd) => {\r\n let row = _.cloneDeep(rowToAdd);\r\n row.id = this.lastID;\r\n $.each(rowToAdd, (key, val) => {\r\n if (this.rowPropertyNames.indexOf(key) > -1) {\r\n if (key == \"udSort\") {\r\n this.largestSortID++;\r\n row[\"udSort\"] = this.largestSortID;\r\n }\r\n else {\r\n if (val != null && val != \"\") {\r\n if (this.sharedColumnInfo[key].IsCombo == 1)\r\n row[key] = val + \"@row_\" + row.id;\r\n else\r\n row[key] = val;\r\n }\r\n else {\r\n row[key] = \"\";\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n });\r\n dataTable.add(row, 0);\r\n addedRows.push(row);\r\n this.lastID++;\r\n });\r\n callback(addedRows);\r\n }\r\n\r\n //Helper functions\r\n private getCollectionItemByProperty(collection, propertyName, propertyValue, columnName) {\r\n let foundItem = null;\r\n $.each(collection, (itemIndex, item) => {\r\n //special handling for start/stop time as shared row value\r\n if (columnName == \"StartTime\" || columnName == \"StopTime\") {\r\n let value = this.parseTime(item[propertyName], propertyName);\r\n if (value === propertyValue) {\r\n foundItem = item;\r\n return false;\r\n }\r\n }\r\n else {\r\n if (item[propertyName] === propertyValue) {\r\n foundItem = item;\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n });\r\n return foundItem;\r\n }\r\n\r\n private getColumnCollectionByRowValues(firstRowParent, rowValues) {\r\n let parentObj = firstRowParent;\r\n for (let i = 0; i < this.rowPropertyNames.length; ++i) {\r\n let collection = parentObj[this.rowPropertyNames[i]];\r\n parentObj = this.getCollectionItemByProperty(collection, '@Value', rowValues[i], this.rowPropertyNames[i]);\r\n }\r\n return parentObj.ColumnCollection;\r\n }\r\n\r\n\r\n private getColumnValuesCount(obj, remainingColumnNamesArr) {\r\n if (remainingColumnNamesArr.length == 0) {\r\n return this.valuePropertyNames.length;\r\n }\r\n let childColumnName = remainingColumnNamesArr[0];\r\n let subColumnCollection = obj[childColumnName];\r\n let columnValuesCount = 0;\r\n $.each(subColumnCollection, (childColumnIndex, childColumn) => {\r\n columnValuesCount += this.getColumnValuesCount(childColumn, remainingColumnNamesArr.slice(1));\r\n });\r\n return columnValuesCount;\r\n }\r\n\r\n private getFirstObjectWithName(obj, propertyName) {\r\n if ($.isArray(obj)) return this.getFirstObjectWithName(obj[0], propertyName);\r\n if (obj[propertyName]) return obj[propertyName];\r\n let firstObjWithName = null;\r\n $.each(obj, (key, childObj) => {\r\n if (key[0] === '@') return true;\r\n firstObjWithName = this.getFirstObjectWithName(childObj, propertyName);\r\n return firstObjWithName == null;\r\n });\r\n return firstObjWithName;\r\n }\r\n\r\n parseTime(value, mode) {\r\n if (value != null && value != \"\") {\r\n if (value.length > 8) {\r\n value = value.substr(value.lastIndexOf(\" \") + 1);\r\n }\r\n let timeStr = value;\r\n timeStr = timeStr.trim().replace(\" \", \"\");\r\n let timeOfDay = timeStr.toUpperCase().indexOf('A') != -1\r\n ? 'AM'\r\n : timeStr.toUpperCase().indexOf('P') != -1\r\n ? 'PM' : null;\r\n //detect non-colon time\r\n if (timeOfDay == null && timeStr.trim().length > 2 && timeStr.indexOf(\":\") == -1) {\r\n timeStr = timeStr.slice(0, timeStr.length - 2) + \":\" + timeStr.slice(timeStr.length - 2);\r\n }\r\n else if (timeStr.length > 4 && timeStr.indexOf(\":\") == -1) {\r\n let tempTimeStr = timeStr.toLowerCase();\r\n tempTimeStr = tempTimeStr.replace(\" \", \"\").replace(\"am\", \"\").replace(\"pm\", \"\").trim();\r\n tempTimeStr = tempTimeStr.slice(0, tempTimeStr.length - 2) + \":\" + tempTimeStr.slice(tempTimeStr.length - 2);\r\n timeStr = tempTimeStr + \" \" + timeOfDay;\r\n }\r\n let timeObj = this.timeParserService.parseTime(timeStr);\r\n let isValid = timeStr != '' && timeObj != null;\r\n if (isValid) {\r\n //Adjust time of new entries based on if the entry was Start or Stop\r\n if (timeOfDay == null && !this.time24HourMode) {\r\n if (mode == \"StartTime\") {\r\n //hours format\r\n if (timeStr >= 1 && timeStr <= 5) {\r\n timeObj.addHours(12);\r\n }\r\n //colon format\r\n let tempTimeStr = timeStr.replace(\":\", \"\");\r\n if (tempTimeStr >= 100 && tempTimeStr <= 559) {\r\n timeObj.addHours(12);\r\n }\r\n }\r\n else if (mode == \"StopTime\") {\r\n //hours format\r\n if (timeStr >= 1 && timeStr <= 8) {\r\n timeObj.addHours(12);\r\n }\r\n //colon format\r\n let tempTimeStr = timeStr.replace(\":\", \"\");\r\n if (tempTimeStr >= 100 && tempTimeStr <= 859) {\r\n timeObj.addHours(12);\r\n }\r\n }\r\n }\r\n let newTimeStr;\r\n if (this.time24HourMode)\r\n newTimeStr = timeObj.toString('HH:mm');\r\n else\r\n newTimeStr = timeObj.toString('hh:mm tt');\r\n if (timeStr != newTimeStr) {\r\n return newTimeStr\r\n }\r\n }\r\n return timeStr;\r\n }\r\n return \"\";\r\n }\r\n\r\n public getColumnsForDR() {\r\n return this.columnsForDR;\r\n }\r\n\r\n private escapeHtml(unsafe) {\r\n return unsafe\r\n .replace(/&/g, \"&\")\r\n .replace(//g, \">\")\r\n .replace(/\"/g, \""\")\r\n .replace(/'/g, \"'\");\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css']\r\n})\r\nexport class FileUploadComponent {\r\n\r\n photoAlert: any;\r\n fileData: any[] = [];\r\n @Input('InputFile') fileHR: any;\r\n @Input() uploadText: string;\r\n innerCounter: number;\r\n @Input('OutputFile') attNewFile: any[] = [];\r\n validComboDrag: any;\r\n dragFiles: any;\r\n @Output() OutputFileChange = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n personalInfoUpload() {\r\n var currentFiles = this.fileHR;\r\n this.fileHR = [];\r\n this.fileData = [];\r\n\r\n if (currentFiles !== null) {\r\n //process filename\r\n for (var i = 0; i < currentFiles.length; i++) {\r\n currentFiles[i].nameEdit = this.processFileName(currentFiles[i].name);\r\n }\r\n\r\n for (var i = 0; i < currentFiles.length; i++) {\r\n var preLoad = 0;\r\n this.innerCounter = 0;\r\n this.readFile(currentFiles[i], (e: any, fileName: string) => {\r\n setTimeout(() => {\r\n this.fileData.push({ data: e.target.result.toString().split(\",\"), size: e.total, name: fileName });\r\n if (preLoad == (currentFiles.length - 1)) {\r\n this.fileData.forEach((val: any) => {\r\n currentFiles.forEach((val2: any) => {\r\n if (val2.size === val.size && val.name === val2.name) {\r\n this.attNewFile.push({ File: val.data[1], Filename: val2.nameEdit, Filedata: val2, Type: val.data[0].split(\"/\")[0] });\r\n this.OutputFileChange.emit(this.attNewFile);\r\n }\r\n });\r\n });\r\n }\r\n preLoad++;\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n private processFileName(filename: string) {\r\n var editedFilename = \"\";\r\n for (var y = 0; y < filename.substr(0, filename.lastIndexOf('.') + 1).length; y++) {\r\n if (filename[y] != \" \" && filename[y] != \"&\" && filename[y] != \"*\" && filename[y] != \":\" &&\r\n filename[y] != \";\" && filename[y] != \"|\" && filename[y] != \"=\" && filename[y] != \",\" &&\r\n filename[y] != \".\" && filename[y] != \"/\" && filename[y] != \"\\\"\" && filename[y] != \"[\" &&\r\n filename[y] != \"]\")\r\n editedFilename += filename[y];\r\n }\r\n editedFilename += filename.substr(filename.lastIndexOf('.'), filename.length);\r\n return editedFilename;\r\n }\r\n\r\n private readFile(file: any, call: any) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) { return call(e, file.name) };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n attachDelete(index: any) {\r\n this.attNewFile.splice(index, 1);\r\n this.OutputFileChange.emit(this.attNewFile);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{uploadText}}\r\n
\r\n
\r\n
\r\n
\r\n {{file.Filename}}\r\n \r\n
\r\n
0\">\r\n
{{file.Progress}}%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, forwardRef, HostListener, Input, Output } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors } from '@angular/forms';\r\n\n@Component({\n selector: 'app-keypress-events',\n templateUrl: './keypress-events.component.html',\n styleUrls: ['./keypress-events.component.css'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KeypressEventsComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KeypressEventsComponent),\n multi: true,\n }\n ]\n})\nexport class KeypressEventsComponent implements ControlValueAccessor {\n\n @Input() required: boolean = false;\n @Input() disabled: boolean = false;\n @Input() placeholder: string = '';\n @Output() change: EventEmitter = new EventEmitter();\n @Output() blur: EventEmitter = new EventEmitter();\n\n inputValue: any;\n capOn: boolean = false;\n\n @HostListener('document:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n this.capOn = event?.getModifierState('CapsLock');\n }\n\n onValueChange(event: any) {\n this.inputValue = event.trim();\n this.onChange(this.inputValue);\n }\n\n changeIN() {\n this.change.emit();\n }\n\n blurIN() {\n this.blur.emit();\n }\n\n onChange: (value: any) => void = () => { };\n onTouched: () => void = () => { };\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n if (this.required && !this.inputValue) {\n return { required: true };\n }\n return null;\n }\n}\n","
\r\n \r\n \r\n \r\n Warning: CAPS Lock is on!\r\n
","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-login-footer',\r\n templateUrl: './login-footer.component.html',\r\n styleUrls: ['./login-footer.component.css']\r\n})\r\nexport class LoginFooterComponent {\r\n currentYear = new Date().getFullYear();\r\n}\r\n","
\r\n
\r\n
\r\n © {{ currentYear }} Viewpoint, Inc. All rights reserved. Privacy Notice\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { CalendarEvent, CalendarMonthViewBeforeRenderEvent, CalendarMonthViewDay, CalendarView } from 'angular-calendar';\nimport { addDays, addMonths, addWeeks, endOfDay, endOfMonth, endOfWeek, isSameDay, startOfDay, startOfMonth, startOfWeek, subDays, subMonths, subWeeks } from 'date-fns';\nimport moment from 'moment';\nimport { Subject } from 'rxjs';\n\ntype CalendarPeriod = 'day' | 'week' | 'month';\n\nfunction addPeriod(period: CalendarPeriod, date: Date, amount: number): Date {\n return {\n day: addDays,\n week: addWeeks,\n month: addMonths,\n }[period](date, amount);\n}\n\nfunction startOfPeriod(period: CalendarPeriod, date: Date): Date {\n return {\n day: startOfDay,\n week: startOfWeek,\n month: startOfMonth,\n }[period](date);\n}\n\nfunction subPeriod(period: CalendarPeriod, date: Date, amount: number): Date {\n return {\n day: subDays,\n week: subWeeks,\n month: subMonths,\n }[period](date, amount);\n}\n\nfunction endOfPeriod(period: CalendarPeriod, date: Date): Date {\n return {\n day: endOfDay,\n week: endOfWeek,\n month: endOfMonth\n }[period](date);\n}\n\n@Component({\n selector: 'app-multiple-date-selector',\n templateUrl: './multiple-date-selector.component.html',\n styleUrls: ['./multiple-date-selector.component.css']\n})\nexport class MultipleDateSelectorComponent implements OnInit {\n\n //Defaulting to month view and today's date as current\n view: CalendarView | CalendarPeriod = CalendarView.Month;\n viewDate: Date = new Date();\n excludeDays: number[] = [];\n\n //Read special dates from main component\n @Input() events: CalendarEvent[] = [];\n @Input() locale: string = 'en';\n @Input() selectedDate: any[] = [];\n @Input() firstSelectableDate: Date = new Date();\n @Input() isVacationDashAdmin: boolean = false;\n\n //Notify the selected date\n @Output() selectedDateChange = new EventEmitter();\n @Output() calculateTimeOff: EventEmitter = new EventEmitter();\n\n //Disable the calendar selection based on the user role\n @Input() minDate: Date;\n @Input() maxDate: Date;\n prevBtnDisabled: boolean = false;\n nextBtnDisabled: boolean = false;\n\n //Disable the weekend\n @Input() disableWeekendTimeOff: boolean = false;\n\n newTimeOffClass: string = 'new-time-off-date';\n refresh = new Subject();\n activeDayIsOpen: boolean;\n\n constructor() {\n this.dateOrViewChanged();\n }\n\n ngOnInit(): void {\n this.refreshSelectableDate();\n this.excludeDays = this.disableWeekendTimeOff ? [0, 6] : [];\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes != null && changes.firstSelectableDate != null) {\n var fromDate = this.firstSelectableDate;\n fromDate.setHours(0, 0, 0, 0);\n var tempDates = [];\n this.selectedDate.forEach((selection: any) => {\n if (selection.date >= fromDate) {\n tempDates.push(selection);\n }\n });\n this.selectedDate = tempDates;\n this.selectedDateChange.emit(this.selectedDate);\n this.refreshSelectableDate();\n this.dateOrViewChanged();\n this.refreshView();\n }\n }\n\n private refreshSelectableDate() {\n this.minDate = this.firstSelectableDate != null ? new Date(this.firstSelectableDate.setHours(0, 0, 0, 0)) : new Date();\n this.maxDate = this.isVacationDashAdmin ? moment(this.firstSelectableDate).add('100', 'years').toDate() : moment(this.firstSelectableDate).add('1', 'years').toDate();\n }\n\n private dateIsValid(date: Date): boolean {\n return date >= this.minDate && date <= this.maxDate;\n }\n\n private refreshView(): void {\n this.refresh.next();\n }\n\n increment(): void {\n this.activeDayIsOpen = false;\n this.changeDate(addPeriod(this.view, this.viewDate, 1));\n }\n\n decrement(): void {\n this.activeDayIsOpen = false;\n this.changeDate(subPeriod(this.view, this.viewDate, 1));\n }\n\n today(): void {\n this.changeDate(new Date());\n }\n\n private changeDate(date: Date): void {\n this.viewDate = date;\n this.dateOrViewChanged();\n }\n\n private dateOrViewChanged(): void {\n this.prevBtnDisabled = !this.dateIsValid(\n endOfPeriod(this.view, subPeriod(this.view, this.viewDate, 1))\n );\n this.nextBtnDisabled = !this.dateIsValid(\n startOfPeriod(this.view, addPeriod(this.view, this.viewDate, 1))\n );\n if (this.viewDate < this.minDate) {\n this.changeDate(this.minDate);\n } else if (this.viewDate > this.maxDate) {\n this.changeDate(this.maxDate);\n }\n }\n\n beforeMonthViewRender(renderEvent: CalendarMonthViewBeforeRenderEvent): void {\n //Process existing dates\n renderEvent.body.forEach((day) => {\n this.events.forEach((item) => {\n if (moment(day.date).isSame(item.start)) {\n if (item.meta.IsPartialRequest) {\n day.cssClass = \"partial-time-off-date-\" + item.meta.Category;\n }\n else {\n day.cssClass = \"existing-time-off-date-\" + item.meta.Category;\n }\n }\n });\n this.selectedDate.forEach((selection) => {\n if (moment(day.date).isSame(selection.date)) {\n day.cssClass = selection.cssClass;\n }\n });\n if (!this.dateIsValid(day.date)) {\n day.cssClass = 'cal-disabled';\n }\n });\n }\n\n\n dayClicked(day: CalendarMonthViewDay): void {\n const selectedDateTime = day.date.getTime();\n const eventDateIndex = this.events.findIndex(\n (existingEvent) => existingEvent.start.getTime() === selectedDateTime\n );\n const selectedDateIndex = this.selectedDate.findIndex(\n (selectedDate) => selectedDate.date.getTime() === selectedDateTime\n );\n\n //Display the holiday event title\n if ((isSameDay(this.viewDate, day.date) && this.activeDayIsOpen === true) || day.events.length === 0) {\n this.activeDayIsOpen = false;\n }\n else {\n if (day.events[0].meta != null && day.events[0].meta.Category == \"H\") {\n this.activeDayIsOpen = true;\n } else {\n this.activeDayIsOpen = false;\n }\n }\n //Move the month based on selected date.\n this.viewDate = day.date;\n\n if (day.events.length > 0 && day.events.length > 0) {\n if (day.cssClass != this.newTimeOffClass && day.cssClass.indexOf(\"partial\") == -1) {\n return; // Do not allow selection of existing timeoff dates\n }\n }\n\n if (eventDateIndex != -1) {\n var cssClass = day.cssClass;\n //togged css class if its a partial date, else remove selected date\n switch (cssClass) {\n case \"partial-time-off-date-P\":\n day.cssClass = \"new-partial-P\";\n this.selectedDate.push(day);\n break;\n case \"partial-time-off-date-A\":\n day.cssClass = \"new-partial-A\";\n this.selectedDate.push(day);\n break;\n case \"partial-time-off-date-H\":\n day.cssClass = \"new-partial-H\";\n this.selectedDate.push(day);\n break;\n case \"partial-time-off-date-N\":\n day.cssClass = \"new-partial-N\";\n this.selectedDate.push(day);\n break;\n case \"new-partial-P\":\n day.cssClass = \"partial-time-off-date-P\";\n this.selectedDate.splice(selectedDateIndex, 1);\n break;\n case \"new-partial-A\":\n day.cssClass = \"partial-time-off-date-A\";\n this.selectedDate.splice(selectedDateIndex, 1);\n break;\n case \"new-partial-H\":\n day.cssClass = \"partial-time-off-date-H\";\n this.selectedDate.splice(selectedDateIndex, 1);\n break;\n case \"new-partial-N\":\n day.cssClass = \"partial-time-off-date-N\";\n this.selectedDate.splice(selectedDateIndex, 1);\n break;\n default:\n this.selectedDate.splice(selectedDateIndex, 1);\n break;\n }\n }\n else {\n //if date was not found, add new date to selection\n if (selectedDateIndex != -1 && day.cssClass == this.newTimeOffClass) {\n delete day.cssClass;\n this.selectedDate.splice(selectedDateIndex, 1);\n }\n else {\n day.cssClass = this.newTimeOffClass;\n this.selectedDate.push(day);\n }\n }\n\n if(this.selectedDate != null && this.selectedDate.length > 1) {\r\n this.selectedDate = this.selectedDate.sort((date1, date2) => date1.date < date2.date ? -1 : 1);\r\n }\n\n this.selectedDateChange.emit(this.selectedDate);\n this.calculateTimeOff.emit();\n }\n}\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

{{ viewDate | calendarDate: view + 'ViewTitle':locale }}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{ day.date | calendarDate:'monthViewDayNumber':locale }}\r\n
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {\r\n LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, SignatureFieldSettings,\r\n AnnotationService, TextSearchService, TextSelectionService, PdfFormFieldBaseModel,\r\n PrintService, FormDesignerService, FormFieldsService, TextFieldSettings, LoadEventArgs, UnloadEventArgs, DownloadStartEventArgs, DownloadEndEventArgs, PrintStartEventArgs, PrintEndEventArgs\r\n} from '@syncfusion/ej2-angular-pdfviewer';\r\n\r\n@Component({\r\n selector: 'app-pdf-viewer',\r\n templateUrl: './pdf-viewer.component.html',\r\n styleUrls: ['./pdf-viewer.component.css'],\r\n providers: [LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, SignatureFieldSettings,\r\n AnnotationService, TextSearchService, TextSelectionService,\r\n PrintService, FormDesignerService, FormFieldsService, TextFieldSettings]\r\n})\r\n\r\nexport class HRIMPdfViewerComponent implements OnInit {\r\n @Input() pdfDirtyState: boolean;\r\n @Input() enableFormFields: boolean;\r\n @Input() enablePrint: boolean;\r\n @Input() doStylingCondition: boolean;\r\n @Input() enableDownload: boolean;\r\n @Input() allowAnnotationEditTool: boolean;\r\n @Input() hideCommentUndoRedo: boolean;\r\n printMode: string = \"NewWindow\";\r\n pdfResource: string;\r\n pdfService: string;\r\n private originalGetSignatureBackgroundFn: (color: string) => string = (x) => x;\r\n private originalFieldStyles: Record = {};\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.pdfService = this.enableFormFields ? \"/Api/PdfViewer\" : null;\r\n this.pdfResource = this.enableFormFields ? null : window.location.origin + \"/dist/assets/ej2-pdfviewer-lib\";\r\n }\r\n\r\n getPdfViewerControl(): any {\r\n let viewer = document.getElementById('HrimPdfViewer');\r\n let instances = (viewer).ej2_instances;\r\n return instances[0];\r\n }\r\n\r\n public documentLoaded(e: LoadEventArgs): void {\r\n this.storeOriginalFieldStyles();\r\n this.handleFormFieldStyling();\r\n }\r\n\r\n public documentStartDownload(args: DownloadStartEventArgs): void {\r\n const pdfViewer = this.getPdfViewerControl();\r\n pdfViewer.enableFormFieldsValidation = false;\r\n };\r\n\r\n public documentEndDownload(args: DownloadEndEventArgs): void {\r\n const pdfViewer = this.getPdfViewerControl();\r\n pdfViewer.enableFormFieldsValidation = true;\r\n };\r\n\r\n public documentStartPrint(args: PrintStartEventArgs): void {\r\n const pdfViewer = this.getPdfViewerControl();\r\n pdfViewer.enableFormFieldsValidation = false;\r\n };\r\n\r\n public documentEndPrint(args: PrintEndEventArgs): void {\r\n const pdfViewer = this.getPdfViewerControl();\r\n pdfViewer.enableFormFieldsValidation = true;\r\n };\r\n\r\n public handleFormFieldStyling(): void {\r\n if (this.doStylingCondition) {\r\n this.fixSyncFusionBackgroundColorLogic();\r\n this.updateDateFieldInputTypesToUseDateInput();\r\n this.useNormalStylesOnAllFields();\r\n }\r\n }\r\n\r\n public setPDFData(pdfData: string, pdfFileName: string): void {\r\n let pdfViewer = this.getPdfViewerControl();\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"SubmitForm\"), false);\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"OpenOption\"), false);\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"AnnotationEditTool\"), this.allowAnnotationEditTool);\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"PrintOption\"), true);\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"DownloadOption\"), this.enableDownload);\r\n if (!this.enablePrint) {\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"PrintOption\"), false);\r\n pdfViewer.enablePrint = false;\r\n }\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"FormDesignerEditTool\"), false);\r\n if (this.hideCommentUndoRedo) {\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"CommentTool\"), false);\r\n pdfViewer.toolbar.showToolbarItem(new Array(\"UndoRedoTool\"), false);\r\n }\r\n pdfViewer.documentPath = \"data:application/pdf;base64,\" + pdfData;\r\n pdfViewer.downloadFileName = pdfFileName;\r\n }\r\n\r\n public async getPDFData(): Promise {\r\n let pdfViewer = this.getPdfViewerControl();\r\n let blobResult = await pdfViewer.saveAsBlob();\r\n let base64data = await this.readAsync(blobResult);\r\n return base64data.split(\";\")[1].split(\",\")[1]\r\n }\r\n\r\n private readAsync(blob: Blob) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n resolve(e.target.result.toString());\r\n };\r\n reader.onerror = () => {\r\n reject(new Error('Error reading pdf data from viewer'))\r\n };\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n public invokePdfDownload(): any {\r\n this.getPdfViewerControl().download();\r\n }\r\n\r\n public validatePdfFields(): string[] {\r\n let pdfViewer = this.getPdfViewerControl();\r\n var allRequiredFields = pdfViewer.retrieveFormFields();\r\n var requiredFieldsWithNoValue = this.getRequiredFieldsWithNoValue(allRequiredFields);\r\n var existingFields = {};\r\n const requiredFields = pdfViewer.formFields.filter(x => x.isRequired && !x.isReadOnly);\r\n requiredFields.forEach(y => {\r\n existingFields[y.id] = true;\r\n });\r\n\r\n allRequiredFields.filter(i => i.isRequired && !i.isReadOnly).forEach(x => {\r\n if (x.type != \"Checkbox\" && x.type != \"DropdownList\") {\r\n let hasValue = !!x.value;\r\n if (x.type === PdfFieldType.RadioButton) {\r\n hasValue = allRequiredFields.filter(field => field.name === x.name).some(field => field.isSelected);\r\n }\r\n if (hasValue) {\r\n if (existingFields[x.id])\r\n this.applyFieldStyles(x.id as string, { backgroundColor: \"#daeaf7\" });\r\n } else {\r\n if (existingFields[x.id])\r\n this.applyFieldStyles(x.id as string, { backgroundColor: \"#ff000060\" });\r\n\r\n if (!requiredFieldsWithNoValue.some(field => field.name === x.name)) {\r\n requiredFieldsWithNoValue.push(x);\r\n }\r\n }\r\n } else if (x.type == \"Checkbox\") {\r\n if (!x.isChecked) {\r\n if (existingFields[x.id])\r\n this.applyFieldStyles(x.id as string, { backgroundColor: \"#ff000060\" });\r\n\r\n if (!requiredFieldsWithNoValue.some(field => field.name === x.name)) {\r\n requiredFieldsWithNoValue.push(x);\r\n }\r\n } else {\r\n if (existingFields[x.id])\r\n this.applyFieldStyles(x.id as string, { backgroundColor: \"#daeaf7\" });\r\n }\r\n } else if (x.type == \"DropdownList\") {\r\n if (!x.selectedIndex) {\r\n if (existingFields[x.id])\r\n this.applyFieldStyles(x.id as string, { backgroundColor: \"#ff000060\" });\r\n\r\n if (!requiredFieldsWithNoValue.some(field => field.name === x.name)) {\r\n requiredFieldsWithNoValue.push(x);\r\n }\r\n } else {\r\n if (existingFields[x.id])\r\n this.applyFieldStyles(x.id as string, { backgroundColor: \"#daeaf7\" });\r\n }\r\n }\r\n });\r\n\r\n const NamesOfRequiredFieldsWithNoValue = Array.from(new Set(requiredFieldsWithNoValue.map(field => field.name)));\r\n\r\n return NamesOfRequiredFieldsWithNoValue;\r\n }\r\n\r\n private getRequiredFieldsWithNoValue(requiredFields) {\r\n const radioGroups = {};\r\n let requiredFieldsWithNoValue = [];\r\n\r\n requiredFields.forEach(field => {\r\n if ((([\"Textbox\", \"Password\", \"InitialField\", \"SignatureField\"].includes(field.type) && field.value == \"\")\r\n || (field.type == \"Checkbox\" && field.isChecked == false)) && field.isRequired && !field.isReadOnly) {\r\n requiredFieldsWithNoValue.push(field)\r\n } else if (field.type == \"RadioButton\" && field.isRequired && !field.isReadOnly) {\r\n radioGroups[field.name] = radioGroups[field.name] ? radioGroups[field.name] : [];\r\n radioGroups[field.name].push(field);\r\n }\r\n })\r\n\r\n Object.keys(radioGroups).forEach(group => {\r\n let isSelected = false;\r\n radioGroups[group].forEach(radioButton => {\r\n if (radioButton.isSelected) {\r\n isSelected = true;\r\n }\r\n })\r\n if (!isSelected) {\r\n requiredFieldsWithNoValue = requiredFieldsWithNoValue.concat(radioGroups[group])\r\n }\r\n })\r\n\r\n return requiredFieldsWithNoValue;\r\n }\r\n\r\n private fixSyncFusionBackgroundColorLogic() {\r\n let pdfViewer = this.getPdfViewerControl();\r\n this.originalGetSignatureBackgroundFn = pdfViewer.formDesigner.getSignatureBackground;\r\n pdfViewer.formDesigner.getSignatureBackground = x => x;\r\n }\r\n\r\n private storeOriginalFieldStyles() {\r\n let pdfViewer = this.getPdfViewerControl();\r\n pdfViewer.formFieldCollection.forEach((field: PdfFormFieldBaseModel) => {\r\n if (!field.id) return;\r\n // Copy the existing styles (important to use a copy and not original object as that will change)\r\n const pdfFieldStyles: TextFieldSettings = Object.assign({}, this.getFieldStyles(field.id));\r\n this.originalFieldStyles[field.id] = pdfFieldStyles;\r\n });\r\n }\r\n\r\n private updateDateFieldInputTypesToUseDateInput() {\r\n let pdfViewer = this.getPdfViewerControl();\r\n const dateFields = pdfViewer.formFields.filter(x => (x.name ?? '').toLowerCase().indexOf(\"datepicker\") >= 0 && !x.isMultiline);\r\n dateFields.forEach(x => {\r\n (window.document.getElementById(x.id!) as HTMLInputElement).type = HtmlInputType.date;\r\n });\r\n }\r\n\r\n private useNormalStylesOnAllFields(): void {\r\n let pdfViewer = this.getPdfViewerControl();\r\n pdfViewer.formFieldCollection.forEach(field => {\r\n const updatedStyles = { backgroundColor: \"#daeaf7\" } as TextFieldSettings;\r\n if (field.isRequired && !field.isReadOnly) {\r\n updatedStyles.borderColor = \"#ff0000\";\r\n }\r\n this.applyFieldStyles(field.id, updatedStyles);\r\n });\r\n }\r\n\r\n private getFieldStyles(fieldId: string): TextFieldSettings {\r\n let pdfViewer = this.getPdfViewerControl();\r\n const field = pdfViewer.formDesignerModule.getFormField(fieldId);\r\n // Getting background color is tricky b/c SyncFusion alters the Hex background color alpha component to always be hex \"60\".\r\n // This code uses the full opacity for background color, which is hex \"ff\".\r\n let backgroundColor = field.backgroundColor;\r\n const regexHexWithAlpha = /^(#[0-9A-Fa-f]{6})(60)$/\r\n const backgroundColorMatch = backgroundColor?.match(regexHexWithAlpha);\r\n if (backgroundColorMatch) {\r\n const [_fullBgColorStr, bgNoAlpha] = backgroundColorMatch;\r\n backgroundColor = `${bgNoAlpha}ff`;\r\n }\r\n return {\r\n alignment: field.alignment,\r\n backgroundColor,\r\n borderColor: field.borderColor,\r\n color: field.color,\r\n font: field.font,\r\n fontFamily: field.fontFamily,\r\n fontSize: field.fontSize,\r\n fontStyle: field.fontStyle,\r\n opacity: field.opacity,\r\n rotateAngle: field.rotateAngle,\r\n signatureIndicatorSettings: field.signatureIndicatorSettings,\r\n thickness: field.thickness,\r\n visibility: field.visibility,\r\n zIndex: field.zIndex,\r\n } as unknown as TextFieldSettings\r\n }\r\n\r\n private applyFieldStyles(fieldId: string, newStyles: Partial) {\r\n let pdfViewer = this.getPdfViewerControl();\r\n const field = pdfViewer.formDesigner.getFormField(fieldId);\r\n const fieldStyles = this.getFieldStyles(fieldId);\r\n const styles: TextFieldSettings = Object.assign({}, fieldStyles, newStyles as TextFieldSettings);\r\n if (field.formFieldAnnotationType === PdfFieldType.Signature) {\r\n styles.backgroundColor = this.originalGetSignatureBackgroundFn(styles.backgroundColor);\r\n }\r\n pdfViewer.formDesignerModule.updateFormField(fieldId, styles);\r\n }\r\n\r\n public restoreOriginalFieldStyles() {\r\n var pdfviewer = this.getPdfViewerControl();\r\n pdfviewer.formFieldCollection.forEach(field => {\r\n const fieldStyles = this.originalFieldStyles[field.id];\r\n if (!fieldStyles) return;\r\n this.applyFieldStyles(field.id, fieldStyles);\r\n });\r\n }\r\n}\r\n\r\nenum PdfFieldType {\r\n Textbox = \"Textbox\",\r\n Signature = \"SignatureField\",\r\n RadioButton = \"RadioButton\",\r\n}\r\n\r\nenum HtmlInputType {\r\n text = \"text\",\r\n date = \"date\",\r\n}","\r\n","import { Component, Output, EventEmitter, Input, OnInit, SimpleChanges, OnChanges } from '@angular/core';\r\nimport { LineAttachment } from 'src/app/pages/employee/services/employee.service';\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { HomeService } from 'src/app/pages/home/services/home.service';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-read-only-pdf-viewer',\r\n templateUrl: './read-only-pdf-viewer.component.html',\r\n styleUrls: ['./read-only-pdf-viewer.component.css']\r\n})\r\nexport class ReadOnlyPdfViewerComponent implements OnInit, OnChanges {\r\n @Input() attachment: LineAttachment = null;\r\n @Output() alertCreated: EventEmitter = new EventEmitter();\r\n alert: Alert | null = null;\r\n pdfUrl: SafeResourceUrl | null = null;\r\n downloadURL: string | null = null;\r\n portalSettings: any;\r\n\r\n constructor(private utilityService: UtilityService, private homeService: HomeService, private sanitizer: DomSanitizer, private portalSettingsService: PortalSettingsService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.attachment) {\r\n if (this.attachment) {\r\n this.getPDFData(this.attachment);\r\n } else if (!changes.attachment.firstChange) {\r\n this.pdfUrl = null;\r\n }\r\n }\r\n }\r\n\r\n private async getPDFData(attachment: LineAttachment): Promise {\r\n try {\r\n this.utilityService.openModal();\r\n\r\n if (!this.utilityService.fileExtensionIsValid(attachment.AttachmentFileName)) {\r\n this.alertCreated.emit({ type: \"danger\", msg: \"Attachment has an invalid file extension: \" + attachment.AttachmentFileName });\r\n return;\r\n }\r\n\r\n if (this.utilityService.fileIsNotViewable(attachment.AttachmentFileName)) {\r\n this.pdfUrl = null;\r\n this.downloadURL = \"/Document/GetDBAttachment?attachmentID=\" + attachment.FileAttachmentID;\r\n return;\r\n }\r\n\r\n this.downloadURL = null;\r\n const response: Blob | null = await this.homeService.getPdfFile(attachment.FileAttachmentID).toPromise();\r\n\r\n if (response) {\r\n const url: string = URL.createObjectURL(response);\r\n const viewerPrefix: string = \"/dist/assets/pdfjs/web/viewer.html?file=\";\r\n const viewerUrl: string = viewerPrefix + url;\r\n this.pdfUrl = this.sanitizer.bypassSecurityTrustResourceUrl(viewerUrl);\r\n } else {\r\n this.alertCreated.emit({ type: \"danger\", msg: \"Attachment not found\" });\r\n }\r\n } catch (error) {\r\n this.alertCreated.emit({ type: \"danger\", msg: \"Error loading attachment\" });\r\n } finally {\r\n this.utilityService.closeModal();\r\n }\r\n }\r\n}\r\n\r\nexport interface Alert {\r\n type: \"danger\" | \"success\";\r\n msg: string;\r\n}","\r\n
\r\n \r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { QuillEditorComponent } from 'ngx-quill';\r\nimport * as QuillNamespace from 'quill';\r\n\r\n@Component({\r\n selector: 'app-rich-text-editor',\r\n templateUrl: './rich-text-editor.component.html',\r\n styleUrls: ['./rich-text-editor.component.css']\r\n})\r\nexport class RichTextEditorComponent implements OnInit {\r\n @ViewChild('editor') editor: QuillEditorComponent;\r\n Quill: any = QuillNamespace;\r\n modules = {\r\n toolbar: [\r\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\r\n ['blockquote', 'code-block'],\r\n [{ 'header': 1 }, { 'header': 2 }], // custom button values\r\n [{ 'list': 'ordered' }, { 'list': 'bullet' }],\r\n [{ 'script': 'sub' }, { 'script': 'super' }], // superscript/subscript\r\n [{ 'indent': '-1' }, { 'indent': '+1' }], // outdent/indent\r\n [{ 'direction': 'rtl' }], // text direction\r\n\r\n [{ 'header': [1, 2, 3, 4, 5, 6, false] }],\r\n\r\n [{ 'color': [] }, { 'background': [] }], // dropdown with defaults from theme\r\n [{ 'font': [] }],\r\n [{ 'align': [] }],\r\n\r\n ['clean'],\r\n ['link', 'image', 'video'],\r\n ]\r\n };\r\n @Input() richText: any;\r\n @Input() isDisable: any;\r\n @Input() ngClassCon: any;\r\n @Input() isRequired: any;\r\n @Input() maxTextLength: any;\r\n @Output() richTooLong = new EventEmitter();\r\n @Output() saveText = new EventEmitter();\r\n @Output() onChange = new EventEmitter();\r\n @Output() focus = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n var DirectionAttribute = this.Quill.import('attributors/attribute/direction');\r\n this.Quill.register(DirectionAttribute, true);\r\n\r\n var AlignClass = this.Quill.import('attributors/class/align');\r\n this.Quill.register(AlignClass, true);\r\n\r\n var BackgroundClass = this.Quill.import('attributors/class/background');\r\n this.Quill.register(BackgroundClass, true);\r\n\r\n var ColorClass = this.Quill.import('attributors/class/color');\r\n this.Quill.register(ColorClass, true);\r\n\r\n var DirectionClass = this.Quill.import('attributors/class/direction');\r\n this.Quill.register(DirectionClass, true);\r\n\r\n var FontClass = this.Quill.import('attributors/class/font');\r\n this.Quill.register(FontClass, true);\r\n\r\n var SizeClass = this.Quill.import('attributors/class/size');\r\n this.Quill.register(SizeClass, true);\r\n\r\n var AlignStyle = this.Quill.import('attributors/style/align');\r\n this.Quill.register(AlignStyle, true);\r\n\r\n var BackgroundStyle = this.Quill.import('attributors/style/background');\r\n this.Quill.register(BackgroundStyle, true);\r\n\r\n var ColorStyle = this.Quill.import('attributors/style/color');\r\n this.Quill.register(ColorStyle, true);\r\n\r\n var DirectionStyle = this.Quill.import('attributors/style/direction');\r\n this.Quill.register(DirectionStyle, true);\r\n\r\n var FontStyle = this.Quill.import('attributors/style/font');\r\n this.Quill.register(FontStyle, true);\r\n\r\n var SizeStyle = this.Quill.import('attributors/style/size');\r\n this.Quill.register(SizeStyle, true);\r\n }\r\n\r\n public checkRichLength() {\r\n //this.richTooLong.emit(false);\r\n if (this.richText != null) {\r\n if (this.richText.length > this.maxTextLength)\r\n this.richTooLong.emit(true);\r\n else\r\n this.richTooLong.emit(false);\r\n }\r\n this.saveText.emit(this.richText);\r\n this.onChange.emit(true);\r\n }\r\n\r\n public focusEditor() {\r\n this.focus.emit(true);\r\n }\r\n}\r\n","","import { Component, Input, OnInit, SimpleChanges, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'search-drop-down',\r\n templateUrl: './search-drop-down.component.html',\r\n styleUrls: ['./search-drop-down.component.css']\r\n})\r\nexport class SearchDropDownComponent implements OnInit {\r\n inputFocused: boolean;\r\n callCount: number;\r\n ignoreUpdate: boolean;\r\n stdplaceholder: string = \"Type to search...\";\r\n suggestions: any[];\r\n selectedIndex: any;\r\n @Input(\"model\") selectedTags: string;\r\n @Input() dropDownList: any[];\r\n @Input(\"disable\") disabled: any;\r\n @Input(\"search-required\") required: any;\r\n @Input() searchText: string;\r\n @Input() where: string;\r\n @Input() selected: boolean;\r\n @Input() focused: any;\r\n @Input(\"display-key\") displayKey: any;\r\n @Input() modelKey: any;\r\n @Input() placeholder: string;\r\n @Input() warningMsg: string;\r\n @Output() searchTextChanged: EventEmitter = new EventEmitter();\r\n @Output(\"value-change\") vchange: EventEmitter = new EventEmitter();\r\n @Output() searchTextChange = new EventEmitter();\r\n @Output() modelChange = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.inputFocused = false;\r\n this.callCount = 0;\r\n this.ignoreUpdate = false;\r\n if (this.selectedTags == \"\" || this.selectedTags == null)\r\n this.selected = false;\r\n else\r\n this.selected = true;\r\n this.suggestions = [];\r\n this.selectedIndex = -1;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.dropDownList != null && (this.where == \"super\" || this.where == \"freeTextBlurSave\")) {\r\n this.callCount++;\r\n if (this.inputFocused) {\r\n this.searchValues();\r\n }\r\n }\r\n }\r\n\r\n search() {\r\n this.searchTextChange.emit(this.searchText);\r\n if (!this.ignoreUpdate) {\r\n if (this.selected == true && this.searchText != undefined && this.dropDownList != null) {\r\n this.dropDownList.forEach((key: any, val: any) => {\r\n if (this.where == \"super\" || this.where == \"freeTextBlurSave\") {\r\n //do nothing (:\r\n }\r\n else if (this.where == \"simple\") {\r\n if (val != null) {\r\n if (val.toLowerCase() == this.searchText.toLowerCase()) {\r\n return false;\r\n } else if (key == this.dropDownList.length - 1) {\r\n this.selectedTags = null;\r\n this.modelChange.emit(this.selectedTags);\r\n this.searchText = null;\r\n this.searchTextChange.emit(this.searchText);\r\n this.suggestions = [];\r\n this.selected = false;\r\n setTimeout(() => {\r\n if (this.vchange != null)\r\n this.vchange.emit();\r\n });\r\n }\r\n }\r\n } else {\r\n if (val.DisplayValue != null) {\r\n if (val.DisplayValue.toLowerCase() == this.searchText.toLowerCase()) {\r\n return false;\r\n } else if (key == this.dropDownList.length - 1) {\r\n this.selectedTags = \"\";\r\n this.modelChange.emit(this.selectedTags);\r\n this.searchText = \"\";\r\n this.searchTextChange.emit(this.searchText);\r\n this.suggestions = [];\r\n this.selected = false;\r\n setTimeout(() => {\r\n if (this.vchange != null)\r\n this.vchange.emit();\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n if (this.inputFocused) {\r\n setTimeout(() => {\r\n this.searchTextChanged.emit(this.searchText);\r\n });\r\n }\r\n }\r\n else {\r\n this.ignoreUpdate = false;\r\n }\r\n setTimeout(() => {\r\n if (this.inputFocused) {\r\n this.searchValues();\r\n }\r\n });\r\n }\r\n searchValues() {\r\n //Put search logic here\r\n if (this.searchText !== null && this.searchText !== undefined && this.searchText.length > 1 && this.inputFocused) {\r\n var suggestions = [];\r\n if (this.dropDownList && this.dropDownList !== undefined) {\r\n if (this.dropDownList.length >= 20 && (this.where == \"super\" || this.where == \"freeTextBlurSave\")) {\r\n //add first 20 items\r\n for (var i = 0; i < 20; i++) {\r\n if (this.displayKey != null) {\r\n //just push everything b/c it should be a smarter lookup, right?\r\n if (this.modelKey != null)\r\n suggestions.push({ DatabaseValue: this.dropDownList[i][this.modelKey], DisplayValue: this.dropDownList[i][this.displayKey] });\r\n else {\r\n suggestions.push({ DatabaseValue: this.dropDownList[i], DisplayValue: this.dropDownList[i][this.displayKey] });\r\n }\r\n }\r\n else {\r\n suggestions.push(this.dropDownList[i]);\r\n }\r\n }\r\n suggestions.push({ DatabaseValue: -1, DisplayValue: \"More results found... continue typing to search.\" });\r\n }\r\n else {\r\n this.dropDownList.forEach((val: any) => {\r\n if (this.where == \"simple\") {\r\n if (val != null) {\r\n if (val.toLowerCase().indexOf(this.searchText.toLowerCase()) > -1 && suggestions.length < 20) {\r\n suggestions.push({ DisplayValue: val, DatabaseValue: val });\r\n }\r\n\r\n if (suggestions.length == 20) {\r\n suggestions.push({ DatabaseValue: -1, DisplayValue: \"More results found... continue typing to search.\" });\r\n }\r\n }\r\n } else if (this.where == \"progress\") {\r\n if (val.JobDisplayName != null) {\r\n if (val.JobDisplayName.toLowerCase().indexOf(this.searchText.toLowerCase()) > -1 && suggestions.length < 20) {\r\n suggestions.push({ DisplayValue: val.JobDisplayName, DatabaseValue: val.JCJMKeyID });\r\n }\r\n\r\n if (suggestions.length == 20) {\r\n suggestions.push({ DatabaseValue: -1, DisplayValue: \"More results found... continue typing to search.\" });\r\n }\r\n }\r\n }\r\n else if (this.where == \"super\" || this.where == \"freeTextBlurSave\") {\r\n if (this.displayKey != null) {\r\n //just push everything b/c it should be a smarter lookup, right?\r\n if (this.modelKey != null)\r\n suggestions.push({ DatabaseValue: val[this.modelKey], DisplayValue: val[this.displayKey] });\r\n else {\r\n suggestions.push({ DatabaseValue: val, DisplayValue: val[this.displayKey] });\r\n }\r\n }\r\n else {\r\n suggestions.push(val);\r\n }\r\n }\r\n else {\r\n if (val.DisplayName != null) {\r\n if (val.DisplayValue.toLowerCase().indexOf(this.searchText.toLowerCase()) > -1 && suggestions.length < 20) {\r\n suggestions.push(val);\r\n }\r\n\r\n if (suggestions.length == 20) {\r\n suggestions.push({ DatabaseValue: -1, DisplayValue: \"More results found... continue typing to search.\" });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n this.suggestions = suggestions;\r\n if (this.suggestions.length == 0)\r\n this.selectedIndex = -1;\r\n else {\r\n if (this.selectedIndex == -1 || this.selectedIndex > this.suggestions.length) {\r\n this.selectedIndex = 0;\r\n }\r\n }\r\n } else\r\n this.suggestions = [];\r\n }\r\n\r\n checkKeyDown(event) {\r\n if (event.keyCode === 40) {//down key, increment selectedIndex\r\n event.preventDefault();\r\n if (this.selectedIndex + 1 !== this.suggestions.length) {\r\n this.selectedIndex++;\r\n }\r\n }\r\n else if (event.keyCode === 38) { //up key, decrement selectedIndex\r\n event.preventDefault();\r\n if (this.selectedIndex - 1 !== -1) {\r\n this.selectedIndex--;\r\n }\r\n }\r\n else if (event.keyCode === 13) { //enter pressed\r\n event.preventDefault();\r\n this.addToSelectedTags(this.selectedIndex, true);\r\n }\r\n else if (event.keyCode === 9 && this.suggestions.length > 0) { //tab pressed\r\n this.addToSelectedTags(this.selectedIndex, false);\r\n }\r\n else if (this.selectedTags != null && this.searchText != null && this.selectedTags != \"\" && this.searchText != \"\" && (event.keyCode == 8)) {\r\n this.searchText = \"\";\r\n this.searchTextChange.emit(this.searchText);\r\n this.selectedTags = null;\r\n this.modelChange.emit(this.selectedTags);\r\n }\r\n }\r\n\r\n addToSelectedTags(index, inputStillFocused: boolean) {\r\n if (index != -1 && index != 20) {\r\n if (this.suggestions[index] != null) {\r\n this.selectedTags = (this.suggestions[index].DatabaseValue);\r\n this.modelChange.emit(this.selectedTags);\r\n }\r\n this.ignoreUpdate = true;\r\n if (this.suggestions[index] != null) {\r\n this.searchText = this.suggestions[index].DisplayValue;\r\n this.searchTextChange.emit(this.searchText);\r\n }\r\n this.suggestions = [];\r\n this.inputFocused = inputStillFocused == true;\r\n index = -1;\r\n setTimeout(() => {\r\n if (this.vchange != null)\r\n this.vchange.emit();;\r\n });\r\n this.selected = true;\r\n } else if (index != 20) {\r\n this.searchText = \"\";\r\n this.searchTextChange.emit(this.searchText);\r\n this.selectedTags = \"\";\r\n this.modelChange.emit(this.selectedTags);\r\n }\r\n }\r\n\r\n check() {\r\n //off focus and set condition for free text blur trigger\r\n this.inputFocused = false;\r\n if (this.where == \"freeTextBlurSave\") {\r\n setTimeout(() => {\r\n if (this.vchange != null)\r\n this.vchange.emit();;\r\n });\r\n }\r\n }\r\n\r\n clearValues() {\r\n this.searchText = \"\";\r\n this.searchTextChange.emit(this.searchText);\r\n this.selectedTags = \"\";\r\n this.modelChange.emit(this.selectedTags);\r\n }\r\n\r\n fieldFocused() {\r\n this.inputFocused = true;\r\n if (this.focused != null)\r\n this.focused();\r\n }\r\n\r\n}\r\n","
\r\n\t
\r\n
\r\n \r\n
\r\n
\r\n
    \r\n\t\t
  • {{suggestion.DisplayValue}}
  • \r\n
\r\n
","import { Component, OnDestroy, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { concat, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-service-manager-filter',\r\n templateUrl: './service-manager-filter.component.html',\r\n styleUrls: ['./service-manager-filter.component.css']\r\n})\r\nexport class ServiceManagerFilterComponent implements OnInit, OnDestroy {\r\n items$: Observable;\r\n itemInput$ = new Subject();\r\n\r\n @Input() itemMetadata: any;\r\n @Input() items: any[];\r\n @Input() isDropDown: boolean;\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if (this.items && this.items.length > 0 && this.items.length < 50) {\r\n this.itemMetadata.selected = this.items[0];\r\n }\r\n else {\r\n this.itemMetadata.selected = null;\r\n }\r\n this.registerLookups();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.itemInput$.unsubscribe();\r\n }\r\n\r\n registerLookups() {\r\n this.items$ = concat(\r\n this.itemInput$.pipe(\r\n debounceTime(500),\r\n distinctUntilChanged(),\r\n map(term => {\r\n return this.items.filter(item => {\r\n return Object.values(item).some(value =>\r\n value?.toString().toLowerCase().includes(term?.toLowerCase())\r\n );\r\n }).slice(0, 8);\r\n })\r\n )\r\n );\r\n }\r\n\r\n onTypeAheadSelect(): void {\r\n this.selected.emit({\r\n $item: this.itemMetadata.idProperty == \"HQCo\" && this.itemMetadata.selected?.HQCo == -1 ? null : this.itemMetadata.selected,\r\n $itemMetadata: this.itemMetadata\r\n });\r\n if (this.itemMetadata.limit !== 1) {\r\n setTimeout(() => {\r\n this.clearFilter();\r\n }, 100);\r\n }\r\n }\r\n\r\n clearFilter() {\r\n if (this.isDropDown) {\r\n this.itemMetadata.selected = this.items[0];\r\n } else {\r\n this.itemMetadata.selected = null;\r\n }\r\n }\r\n\r\n}","
\r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, Input, ElementRef, SimpleChanges, OnDestroy, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\nimport { TimeOffService } from 'src/app/pages/timeoff/time-off.service';\r\n\r\nimport { OrderByPipe } from '../../pipe/order-by.pipe';\r\n\r\n@Component({\r\n selector: 'datatable',\r\n templateUrl: './webix-datatable.component.html',\r\n})\r\nexport class WebixDatatablecomponent implements OnInit, OnDestroy {\r\n private ui: webix.ui.datatable;\r\n data: any[] = [];\r\n @Input() formData: any;\r\n @Input() company: any;\r\n @Input() userKeyID: number;\r\n @Output() selectedData = new EventEmitter();\r\n @Output() alert = new EventEmitter();\r\n @Output() loadingStatus = new EventEmitter();\r\n webixDataList: any[];\r\n portalSettings: any;\r\n monthOn: boolean;\r\n userData: any;\r\n monthChangeTrigger: boolean;\r\n orderByPipe: OrderByPipe;\r\n newDateArray: any;\r\n monthData: any;\r\n msg: any;\r\n xaxis: number;\r\n yaxis: number;\r\n\r\n constructor(private root: ElementRef, private portalSettingsService: PortalSettingsService, private timeOffService: TimeOffService) {\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n }\r\n\r\n ngOnInit() {\r\n this.orderByPipe = new OrderByPipe();\r\n if(this.ui != null)\r\n this.ui.resize();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.ui) {\r\n this.ui.destructor();\r\n }\r\n }\r\n\r\n loadGrid(){\r\n if(this.monthData != null && this.monthData.length > 0 && this.newDateArray != null && this.newDateArray.length > 0 ){\r\n this.ui = webix.ui({\r\n container: \"timeoffGrid\",\r\n id: \"timeoffGrid\",\r\n view: \"datatable\",\r\n columns: this.newDateArray,\r\n data: this.monthData,\r\n autoheight: true,\r\n leftSplit: 1,\r\n onClick: {\r\n \"load\": (event, id) => {\r\n setTimeout(() => {\r\n var temp = this.ui.getItem(id.row);\r\n var data = temp[id.column].split(\"|\")\r\n this.data = [];\r\n for (var i = 1; i < data.length; i++) {\r\n this.data[data[i]] = data[i + 1];\r\n i++;\r\n }\r\n this.selectedData.emit(this.data);\r\n this.xaxis = event.x - 200;\r\n this.yaxis = event.y - 250;\r\n var msg = {};\r\n setTimeout( () => {\r\n msg = {\r\n type: (this.data[\"Status\"] == \"Approved\") ? \"success\" : (this.data[\"Status\"] == \"Rejected\") ? \"danger\" : (this.data[\"Status\"] == \"H\") ? \"info\" : \"warning\",\r\n msg: \"Leave Code: \" + this.data[\"LeaveCode\"] + \"\\n\\nFrom: \" + this.data[\"FromDate\"] + \"\\n\\nTo: \" + this.data[\"ToDate\"] + \"\\n\\nTotal Hours: \" + this.data[\"Hours\"],\r\n xaxis: this.xaxis,\r\n yaxis: this.yaxis\r\n };\r\n this.alert.emit(msg);\r\n });\r\n });\r\n }\r\n }\r\n });\r\n this.ui.refresh();\r\n this.ui.resize();\r\n }\r\n this.loadingStatus.emit(true);\r\n }\r\n \r\n webixUpdate(webixGridData: any) {\r\n this.webixDataList = [];\r\n webixGridData.forEach((val: any, key: any) => {\r\n var tf = false;\r\n if (this.webixDataList.length == 0 && val.SubmittedbyFullName != \"Holiday\") {\r\n this.webixDataList.push({ id: key, Employee: val.SubmittedbyFullName, PREHKeyID: val.PREHKeyID });\r\n }\r\n this.webixDataList.forEach((val2: any, key2: any) => {\r\n if (val2.PREHKeyID == val.PREHKeyID) {\r\n tf = true;\r\n }\r\n if (key2 == this.webixDataList.length - 1 && !tf && val.SubmittedbyFullName != \"Holiday\") {\r\n this.webixDataList.push({ id: key, Employee: val.SubmittedbyFullName, PREHKeyID: val.PREHKeyID });\r\n }\r\n });\r\n });\r\n webixGridData.forEach(val => {\r\n this.webixDataList.forEach(val2 => {\r\n if (val2.PREHKeyID == val.PREHKeyID) {\r\n if (this.portalSettings[\"CountryDateCode\"].ConfigValue == \"US\")\r\n var tempAdd = new Date(parseInt(\"20\" + val.FromDateDisplay.substring(6, 8)), parseInt(val.FromDateDisplay.substring(0, 2)) - 1, val.FromDateDisplay.substring(3, 5));\r\n else {\r\n var tempAdd = new Date(parseInt(\"20\" + val.FromDateDisplay.substring(6, 8)), parseInt(val.FromDateDisplay.substring(3, 5)) - 1, val.FromDateDisplay.substring(0, 2));\r\n }\r\n val2[tempAdd.getMonth() + 1] = true;\r\n val2[\"editor\"] = \"LeaveCode: \" + (val.LeaveDescription == null ? \"\" : val.LeaveDescription) + \" FromDate: \" + val.FromDateDisplay + \" ToDate: \" + val.ToDateDisplay + \" Hours: \" + val.PlannedHours;\r\n while (tempAdd <= (this.portalSettings[\"CountryDateCode\"].ConfigValue == \"US\" ? new Date(parseInt(\"20\" + val.ToDateDisplay.substring(6, 8)), parseInt(val.ToDateDisplay.substring(0, 2)) - 1, val.ToDateDisplay.substring(3, 5)) : new Date(parseInt(\"20\" + val.ToDateDisplay.substring(6, 8)), parseInt(val.ToDateDisplay.substring(3, 5)) - 1, val.ToDateDisplay.substring(0, 2)))) {\r\n var month = tempAdd.getMonth() + 1;\r\n var date = tempAdd.getDate().toString().length == 1 ? \"0\" + tempAdd.getDate() : tempAdd.getDate();\r\n var year = this.formData.selectedMonth.getFullYear();\r\n var dateKey = month + \"/\" + date + \"/\" + year;\r\n if (!val2.hasOwnProperty(dateKey) ||\r\n (val2.hasOwnProperty(dateKey) &&\r\n ((val2[dateKey].substring(0, 1) != \"A\" && val.RequestStatus == \"Approved\") ||\r\n (val2[dateKey].substring(0, 1) == \"R\" && val.RequestStatus == \"Pending\")))) {\r\n val2[dateKey] =\r\n (val.RequestStatus == \"H\" ? \"Hcar_front\" :\r\n val.RequestStatus == \"Approved\" ? (val.PlannedHours >= val.DefaultWorkHours ? \"Acircle_check_outline\" : \"A\") :\r\n val.RequestStatus == \"Rejected\" ? (val.PlannedHours >= val.DefaultWorkHours ? \"Rcircle_close\" : \"R\") :\r\n val.RequestStatus == \"Pending\" ? (val.PlannedHours >= val.DefaultWorkHours ? \"Phelp\" : \"P\") :\r\n (tempAdd.getDay() != 0 && tempAdd.getDay() != 6 ? \"C\" : \"C\")) +\r\n \"|LeaveCode|\" + (val.LeaveDescription == null ? \"\" : val.LeaveDescription) + \"|FromDate|\" + val.FromDateDisplay + \"|ToDate|\" + val.ToDateDisplay + \"|Hours|\" + val.PlannedHours + \"|DefaultWorkHours|\" + val.DefaultWorkHours +\r\n \"|Name|\" + val.SubmittedbyFullName + \"|Status|\" + val.RequestStatus + \"|Note|\" + val.ApprovalString;\r\n tempAdd = tempAdd.add(1).day();\r\n } else {\r\n if (val2[dateKey].substring(0, 1) == \"C\" && val2[dateKey].substring(0, 1) != \"H\") {\r\n val2[dateKey] =\r\n (val.RequestStatus == \"H\" ? \"Hcar_front\" :\r\n val.RequestStatus == \"Approved\" ? (val.PlannedHours >= val.DefaultWorkHours ? \"Acircle_check_outline\" : \"A\") :\r\n val.RequestStatus == \"Rejected\" ? (val.PlannedHours >= val.DefaultWorkHours ? \"Rcircle_close\" : \"R\") :\r\n val.RequestStatus == \"Pending\" ? (val.PlannedHours >= val.DefaultWorkHours ? \"Phelp\" : \"P\") :\r\n (tempAdd.getDay() != 0 && tempAdd.getDay() != 6 ? \"C\" : \"C\")) +\r\n \"|LeaveCode|\" + (val.LeaveDescription == null ? \"\" : val.LeaveDescription) + \"|FromDate|\" + val.FromDateDisplay + \"|ToDate|\" + val.ToDateDisplay + \"|Hours|\" + val.PlannedHours + \"|DefaultWorkHours|\" + val.DefaultWorkHours +\r\n \"|Name|\" + val.SubmittedbyFullName + \"|Status|\" + val.RequestStatus + \"|Note|\" + val.ApprovalString;\r\n }\r\n\r\n tempAdd = tempAdd.add(1).day();\r\n }\r\n }\r\n }\r\n });\r\n });\r\n var tempFoYr = this.formData.selectedMonth.getFullYear();\r\n var tempFoMth = this.formData.selectedMonth.getMonth();\r\n var tempToYr = this.formData.selectedMonth.getFullYear();\r\n var tempToMth = this.formData.selectedMonth.getMonth() + 1;\r\n if (tempToMth == 12) {\r\n tempToYr++;\r\n tempToMth = 0;\r\n }\r\n var tempAdd = new Date(tempFoYr, tempFoMth, 1);\r\n while (tempAdd <= new Date(tempToYr, tempToMth, 1)) {\r\n var month = tempAdd.getMonth() + 1;\r\n var date = tempAdd.getDate().toString().length == 1 ? \"0\" + tempAdd.getDate() : tempAdd.getDate();\r\n var year = tempAdd.getFullYear();\r\n this.webixDataList.forEach(val => {\r\n if (!val.hasOwnProperty((month + \"/\" + date + \"/\" + year))) {\r\n if (tempAdd.getDay() == 6 || tempAdd.getDay() == 0) {\r\n val[month + \"/\" + date + \"/\" + year] = \"\";\r\n }\r\n }\r\n });\r\n tempAdd = tempAdd.add(1).day();\r\n }\r\n }\r\n\r\n getNewDates(startDate: any, stopDate: number | Date) {\r\n var dateArray = new Array();\r\n dateArray.push({ id: \"Employee\", header: { text: \"Employee\", rotate: false, height: 60 }, width: 150, sort: \"string\" });\r\n var currentDate = startDate;\r\n while (currentDate < stopDate) {\r\n var month = currentDate.getMonth() + 1;\r\n var date = currentDate.getDate().toString().length == 1 ? \"0\" + currentDate.getDate() : currentDate.getDate();\r\n var year = currentDate.getFullYear();\r\n dateArray.push({ id: month + \"/\" + date + \"/\" + year, header: { text: ((this.portalSettings.CountryDateCode.ConfigValue == \"US\") ? (month + \"/\" + date) : (date + \"/\" + month)), rotate: true, css: \"myClass\" }, width: 30 });\r\n currentDate = currentDate.add(1).day();\r\n }\r\n return dateArray;\r\n }\r\n\r\n monthChange() {\r\n this.loadingStatus.emit(false);\r\n this.data = null;\r\n if (this.ui != null) {\r\n\t\t\tthis.ui.destructor();\r\n\t\t\tthis.ui = null;\r\n\t\t}\r\n var orderByColumn = [];\r\n orderByColumn.push(\"SubmittedbyFullName\");\r\n if (this.formData.selectedMonth != null) {\r\n if (this.formData.selectedMonth.getDate() > 1) {\r\n this.formData.selectedMonth = new Date(this.formData.selectedMonth.getFullYear(), this.formData.selectedMonth.getMonth(), 1);\r\n }\r\n }\r\n var tempselectedDate = new Date(this.formData.selectedMonth.getTime());\r\n this.monthOn = true;\r\n this.newDateArray = [];\r\n this.newDateArray = this.getNewDates(new Date(tempselectedDate.setHours(0, 0, 0, 0)), tempselectedDate.add(1).month());\r\n this.monthData = [];\r\n if (this.formData.selectedMonth != null) {\r\n this.timeOffService.getRequestsByMonth(this.company, moment(this.formData.selectedMonth).format(\"YYYY-MM-DD\"), this.userKeyID).then((response: any[]) => {\r\n this.webixUpdate(this.orderByPipe.transform(response, orderByColumn, \"asc\"));\r\n this.monthData = this.webixDataList;\r\n this.loadGrid();\r\n });\r\n }\r\n }\r\n\r\n}","
","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimeWorkedService {\r\n http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n getCrewClockInStatus(pRPCKeyID, crewTemplateID) {\r\n let url = \"/CrewTimecard/GetCrewClockInStatus?pRPCKeyID=\" + pRPCKeyID + \"&crewTemplateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getDailyTime(employee, pRPCKeyID, startDateString = null, endDateString = null) {\r\n let url = \"/Timecard/GetDailyTime?employeeString=\" + employee + \"&pRPCKeyID=\" + pRPCKeyID;\r\n if (startDateString != null)\r\n url += \"&startDateString=\" + startDateString;\r\n if (endDateString != null)\r\n url += \"&endDateString=\" + endDateString;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getTemplateDays(crewTemplateID) {\r\n let url = \"/CrewTimecard/GetTemplateDays?crewTemplateID=\" + crewTemplateID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n getWeeks(pRPCKeyID) {\r\n let url = \"/Timecard/GetWeeksByPRPCKeyID?pRPCKeyID=\" + pRPCKeyID;\r\n return this.http.get(url).toPromise();\r\n }\r\n\r\n insertUpdateTime(employee, pRPCKeyID, dateWorkedString, startTimeString, stopTimeString, seq, notes, breakHours) {\r\n let url = \"/Timecard/InsertUpdateTime\";\r\n return this.http.post(url, {\r\n employee: employee,\r\n pRPCKeyID: pRPCKeyID,\r\n dateWorkedString: dateWorkedString,\r\n startTimeString: startTimeString,\r\n stopTimeString: stopTimeString,\r\n seq: seq,\r\n notes: notes,\r\n breakHours: breakHours\r\n }).toPromise();\r\n }\r\n\r\n deleteTime(employee, pRPCKeyID, dateWorkedString, seq) {\r\n let url = \"/Timecard/DeleteTime\";\r\n return this.http.post(url, {\r\n employee: employee,\r\n pRPCKeyID: pRPCKeyID,\r\n dateWorkedString: dateWorkedString,\r\n seq: seq\r\n }).toPromise();\r\n }\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport _ from 'lodash';\r\nimport moment from 'moment';\r\nimport { EmployeeInfoService } from '../../../core/services/employee-info.service';\r\nimport { PortalSettingsService } from '../../../core/services/portal-settings.service';\r\nimport { TimeParserService } from '../../../core/services/time-parser.service';\r\nimport { TimeWorkedService } from './services/time-worked.service';\r\nimport { UtilityService } from 'src/app/core/services/utility.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//Modals\r\nimport { TimeWorkedDetailsModalComponent } from 'src/app/modals/approval/TimecardApproval/time-worked-details-modal/time-worked-details-modal.component';\r\n\r\n@Component({\r\n selector: 'app-time-worked',\r\n templateUrl: './time-worked.component.html',\r\n styleUrls: ['./time-worked.component.css']\r\n})\r\nexport class TimeWorkedComponent implements OnInit {\r\n employeeInfo: any;\r\n portalSettings: any;\r\n timeParserService: TimeParserService;\r\n timeWorkedService: TimeWorkedService;\r\n timeWorkedForm: NgForm;\r\n @ViewChild('timeWorkedForm') set content(content: NgForm) {\r\n if (content) { // initially setter gets called with undefined\r\n this.timeWorkedForm = content;\r\n }\r\n }\r\n\r\n allowApproverTimeWorkedEdit: boolean;\r\n clockStatusesMap: any;\r\n dailyTimeData: any[];\r\n dailyTimeLoaded: boolean;\r\n daysOfWeek: any[];\r\n employees: any[];\r\n enableCrews: boolean;\r\n hasTime: boolean[];\r\n intervalConfig: number;\r\n isApprover: boolean;\r\n isTimecardAdmin: boolean;\r\n lastTimeWorkedAction: any;\r\n GPSClockInEnabled: boolean;\r\n GPSClockInFaultTolerance: number;\r\n payPeriod: any;\r\n readOnly: boolean;\r\n selectedDay: any;\r\n selectedEmployee: any;\r\n selectedWeek: any;\r\n selectedWeeks: any;\r\n showBreakHours: boolean;\r\n timecardTotalsByEmployee: any;\r\n timecardTotalsReady: boolean;\r\n timeWorked: any[];\r\n timeWorkedAlert: any;\r\n timeWorkedCollapsed: boolean = false;\r\n timeWorkedInitialized: boolean = false;\r\n timeWorkedSubTotals: any[];\r\n template: any;\r\n templateDates: any[];\r\n weeks: any[];\r\n defaultBreakHours: any;\r\n originalTimeWorked: any[];\r\n dateFormat: string;\r\n usageMode: string;\r\n\r\n constructor(\r\n portalSettingsService: PortalSettingsService,\r\n employeeInfoService: EmployeeInfoService,\r\n timeParserService: TimeParserService,\r\n timeWorkedService: TimeWorkedService,\r\n utilityService: UtilityService,\r\n private ngbModal: NgbModal\r\n ) {\r\n this.timeParserService = timeParserService;\r\n this.timeWorkedService = timeWorkedService;\r\n this.employeeInfo = employeeInfoService.getEmployeeInfo();\r\n this.portalSettings = portalSettingsService.getPortalSettings();\r\n this.dateFormat = utilityService.getDateFormat().toUpperCase();\r\n }\r\n\r\n ngOnInit(): void {\r\n //TODO create a readonly property\r\n // for crew grid - crewGridDataService.unsubmittedRows == rowCount\r\n this.allowApproverTimeWorkedEdit = this.portalSettings.TCAllowApproverTimeWorkedEdit.ConfigValue == \"1\";\r\n this.intervalConfig = parseInt(this.portalSettings[\"TimeSpanInterval\"].ConfigValue);\r\n this.GPSClockInEnabled = this.portalSettings[\"GPSClockInEnabled\"].ConfigValue == \"1\";\r\n this.isTimecardAdmin = this.employeeInfo.IsTimecardAdmin;\r\n this.GPSClockInFaultTolerance = parseInt(this.portalSettings.GPSClockInFaultTolerance.ConfigValue || 0) / 60;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n //public methods to be called by external components\r\n initTimeWorked(payPeriod, usageMode = \"crewtimecard\") {\r\n this.timeWorkedInitialized = false;\r\n this.payPeriod = payPeriod;\r\n this.template = null;\r\n this.templateDates = null;\r\n this.clockStatusesMap = null;\r\n this.usageMode = usageMode;\r\n this.initDailyTime();\r\n if (payPeriod.IsTimeWorkedEnabled)\r\n this.getWeeks();\r\n }\r\n\r\n initDailyTime() {\r\n this.timecardTotalsByEmployee = null;\r\n this.timecardTotalsReady = false;\r\n this.timeWorkedSubTotals = [];\r\n this.dailyTimeData = null;\r\n this.dailyTimeLoaded = false;\r\n }\r\n\r\n setTemplate(template: any) {\r\n this.template = template;\r\n this.timeWorkedService.getTemplateDays(template.CrewTemplateID).then((response: any) => {\r\n let templateDates = [];\r\n response.forEach((templateDate) => {\r\n var date = moment(parseInt(templateDate.substr(6))).utc();\r\n templateDates.push({ Date: date, DisplayDate: date.format(this.dateFormat) });\r\n });\r\n this.templateDates = templateDates;\r\n });\r\n this.timeWorkedService.getCrewClockInStatus(this.payPeriod.PRPCKeyID, this.template.CrewTemplateID).then((response: any[]) => {\r\n let clockStatusesMap: any = {};\r\n response.forEach((val => {\r\n clockStatusesMap[val.Employee.toString()] = val;\r\n }));\r\n this.clockStatusesMap = clockStatusesMap;\r\n\r\n if (this.selectedEmployee != null && this.selectedEmployee != \"all\" && this.clockStatusesMap[this.selectedEmployee] != null)\r\n this.isApprover = this.clockStatusesMap[this.selectedEmployee].IsApprover;\r\n\r\n });\r\n }\r\n\r\n setEmployee(employee: any) {\r\n this.selectedEmployee = employee;\r\n this.initDailyTime();\r\n if (this.selectedEmployee != null && this.selectedEmployee != \"all\" && this.timeWorkedInitialized)\r\n this.getDailyTime();\r\n\r\n if (this.clockStatusesMap != null) {\r\n if (this.selectedEmployee != null && this.selectedEmployee != \"all\" && this.clockStatusesMap[this.selectedEmployee] != null)\r\n this.isApprover = this.clockStatusesMap[this.selectedEmployee].IsApprover;\r\n }\r\n\r\n }\r\n\r\n setEmployeeList(employees: any[]) {\r\n this.employees = employees;\r\n }\r\n\r\n calculateSubtotals() {\r\n if (this.timecardTotalsReady && this.dailyTimeLoaded) {\r\n var subTotals = [];\r\n for (var i = 0; i < 7; i++) {\r\n subTotals[i] = { Subtotal: 0, Difference: 0 };\r\n }\r\n //add subtotal amounts\r\n this.timeWorked.forEach((sequence) => {\r\n $.each(sequence, (dayNumber, timeEntry) => {\r\n if ((timeEntry.StartTime != null && timeEntry.StartTime != \"\") && (timeEntry.StopTime != null && timeEntry.StopTime != \"\")) {\r\n var startTime = this.timeParserService.convertTimeString(timeEntry.StartTime);\r\n var stopTime = this.timeParserService.convertTimeString(timeEntry.StopTime);\r\n subTotals[dayNumber].Subtotal += (stopTime - startTime);\r\n if (this.showBreakHours) {\r\n subTotals[dayNumber].Subtotal -= (timeEntry.BreakHours || 0);\r\n }\r\n\r\n }\r\n });\r\n });\r\n //calculate differences from timecard allocation\r\n this.daysOfWeek.forEach((day: any) => {\r\n //calculate difference from timecard entries\r\n var dateString = day.DateString;\r\n var timecardTotal = 0;\r\n var breakHours = 0;\r\n var otherTotal = 0;\r\n\r\n if (!jQuery.isEmptyObject(this.timecardTotalsByEmployee) && this.timecardTotalsByEmployee[this.selectedEmployee][dateString] != null) {\r\n timecardTotal = this.timecardTotalsByEmployee[this.selectedEmployee][dateString].timecardHours;\r\n otherTotal = this.timecardTotalsByEmployee[this.selectedEmployee][dateString].otherHours;\r\n }\r\n\r\n subTotals[day.DayNumber].TimecardTotal = timecardTotal;\r\n subTotals[day.DayNumber].OtherTotal = otherTotal;\r\n if (subTotals[day.DayNumber].TimecardTotal != 0)\r\n subTotals[day.DayNumber].TimecardTotal = subTotals[day.DayNumber].TimecardTotal.toFixed(2);\r\n if (subTotals[day.DayNumber].OtherTotal != 0)\r\n subTotals[day.DayNumber].OtherTotal = subTotals[day.DayNumber].OtherTotal.toFixed(2);\r\n\r\n //Calculate differences\r\n if (this.usageMode != \"approval\") {\r\n if (this.showBreakHours)\r\n subTotals[day.DayNumber].Difference = subTotals[day.DayNumber].Subtotal - timecardTotal - otherTotal + breakHours;\r\n else\r\n subTotals[day.DayNumber].Difference = subTotals[day.DayNumber].Subtotal - timecardTotal - otherTotal;\r\n subTotals[day.DayNumber].DifferenceAbs = Math.abs(subTotals[day.DayNumber].Difference);\r\n if (subTotals[day.DayNumber].Difference != 0)\r\n subTotals[day.DayNumber].Difference = subTotals[day.DayNumber].Difference.toFixed(2);\r\n }\r\n\r\n if (subTotals[day.DayNumber].Subtotal != 0)\r\n subTotals[day.DayNumber].Subtotal = subTotals[day.DayNumber].Subtotal.toFixed(2);\r\n\r\n subTotals[day.DayNumber].Text = \"Time Worked: \" + subTotals[day.DayNumber].Subtotal + \"
Time Allocation: \" + subTotals[day.DayNumber].TimecardTotal + \"
Other Total: \" + subTotals[day.DayNumber].OtherTotal + \"
Difference: \" + subTotals[day.DayNumber].Difference + \"\";\r\n });\r\n this.timeWorkedSubTotals = subTotals;\r\n }\r\n\r\n }\r\n\r\n //Note - calculating employee totals must be performed on the specific pages itself\r\n setTimecardTotalsByEmployee(timecardTotalsByEmployee: any) {\r\n this.timecardTotalsByEmployee = timecardTotalsByEmployee;\r\n this.timecardTotalsReady = true;\r\n this.calculateSubtotals();\r\n }\r\n\r\n closeTimeWorkedAlert() {\r\n this.timeWorkedAlert = null;\r\n }\r\n\r\n //Only used in standard timecard to update route - possible deprecation?\r\n dayChanged() {\r\n\r\n }\r\n\r\n setReadOnly(readOnly) {\r\n this.readOnly = readOnly;\r\n }\r\n\r\n weekChanged() {\r\n this.getDailyTime();\r\n }\r\n\r\n private getWeeks() {\r\n this.timeWorkedService.getWeeks(this.payPeriod.PRPCKeyID).then((response: any[]) => {\r\n this.weeks = response;\r\n let USCountryMode = this.portalSettings[\"CountryDateCode\"].ConfigValue != \"US\";\r\n $.each(this.weeks, (weekKey, week) => {\r\n var startDate = moment.utc(week.WeekBeginDate);\r\n var startDateDisplay, endDateDisplay;\r\n if (USCountryMode)\r\n startDateDisplay = startDate.format(\"DD/MM\");\r\n else\r\n startDateDisplay = startDate.format(\"MM/DD\");\r\n var endDate = moment.utc(week.WeekEndDate);\r\n if (USCountryMode)\r\n endDateDisplay = endDate.format(\"DD/MM\");\r\n else\r\n endDateDisplay = endDate.format(\"MM/DD\");\r\n var displayValue = \"Week of: \" + startDateDisplay + \" - \" + endDateDisplay;\r\n this.weeks[weekKey].StartDate = startDate;\r\n this.weeks[weekKey].EndDate = endDate;\r\n this.weeks[weekKey].DisplayValue = displayValue;\r\n });\r\n if (this.weeks.length > 0) {\r\n this.defaultBreakHours = this.weeks[0].DefaultBreakHours;\r\n this.showBreakHours = this.weeks[0].ShowBreakHours;\r\n }\r\n this.selectedWeek = this.weeks.length > 0 ? this.weeks[0] : null;\r\n if (this.selectedWeek != null && this.selectedEmployee != null && this.selectedEmployee != \"all\")\r\n this.getDailyTime();\r\n this.timeWorkedInitialized = true;\r\n });\r\n }\r\n\r\n private getDailyTime() {\r\n if (this.selectedEmployee != null) {\r\n this.dailyTimeLoaded = false;\r\n this.timeWorkedService.getDailyTime(this.selectedEmployee, this.payPeriod.PRPCKeyID, this.selectedWeek.StartDate.format(\"MM/DD/YYYY\"), this.selectedWeek.EndDate.format(\"MM/DD/YYYY\")).then((response: any) => {\r\n let dailyTimeData = response;\r\n $.each(dailyTimeData, (key, dailyTime) => {\r\n dailyTimeData[key].Date = moment.utc(dailyTime.Date);\r\n if (dailyTime.StartTime != null) {\r\n let startTime = moment.utc(dailyTime.StartTime).format(\"hh:mm A\");\r\n dailyTimeData[key].StartTime = startTime;\r\n }\r\n\r\n if (dailyTime.StopTime != null) {\r\n let stopTime = moment.utc(dailyTime.StopTime).format(\"hh:mm A\");\r\n dailyTimeData[key].StopTime = stopTime;\r\n }\r\n\r\n dailyTimeData[key].DayOfWeek = dailyTimeData[key].Date.day();\r\n });\r\n this.dailyTimeData = dailyTimeData;\r\n this.groupDailyTime();\r\n });\r\n }\r\n }\r\n\r\n private groupDailyTime() {\r\n this.daysOfWeek = [];\r\n this.selectedDay = null;\r\n for (var i = 0; i < 7; i++) {\r\n var dayOfWeek = new Date(this.selectedWeek.StartDate.year(), this.selectedWeek.StartDate.month(), this.selectedWeek.StartDate.date());\r\n dayOfWeek.setDate(dayOfWeek.getDate() + i);\r\n var day;\r\n var dayNumber = dayOfWeek.getDay();\r\n switch (dayNumber) {\r\n case 0:\r\n day = \"Sun\"\r\n break;\r\n case 1:\r\n day = \"Mon\"\r\n break;\r\n case 2:\r\n day = \"Tues\"\r\n break;\r\n case 3:\r\n day = \"Wed\"\r\n break;\r\n case 4:\r\n day = \"Thurs\"\r\n break;\r\n case 5:\r\n day = \"Fri\"\r\n break;\r\n case 6:\r\n day = \"Sat\"\r\n break;\r\n }\r\n\r\n if (this.portalSettings[\"CountryDateCode\"].ConfigValue == \"US\")\r\n day = day + \" \" + (dayOfWeek.getMonth() + 1) + \"/\" + dayOfWeek.getDate();\r\n else\r\n day = day + \" \" + dayOfWeek.getDate() + \"/\" + (dayOfWeek.getMonth() + 1);\r\n var dayMoment = moment(dayOfWeek);\r\n var dateString = dayMoment.format(\"YYYY-MM-DD\");\r\n this.daysOfWeek.push({ Date: dayOfWeek, Day: day, DayNumber: dayNumber, DateValue: (dayOfWeek.getMonth() + 1) * 100 + dayOfWeek.getDate(), DateString: dateString });\r\n }\r\n if (this.selectedDay == null)\r\n this.selectedDay = this.daysOfWeek.length > 0 ? this.daysOfWeek[0] : null;\r\n this.timeWorked = [];\r\n this.dailyTimeData.forEach((dailyTime) => {\r\n if (this.timeWorked[dailyTime.Seq - 1] == null) {\r\n this.timeWorked[dailyTime.Seq - 1] = [];\r\n }\r\n this.timeWorked[dailyTime.Seq - 1][dailyTime.DayOfWeek] = dailyTime;\r\n });\r\n\r\n for (var i = 0; i < this.timeWorked.length; i++) {\r\n if (this.timeWorked[i] == null) {\r\n this.timeWorked[i] = [];\r\n\r\n }\r\n //fill out missing date info\r\n for (var j = 0; j < this.daysOfWeek.length; j++) {\r\n if (this.timeWorked[i][j] == null) {\r\n this.timeWorked[i][j] = { Date: this.daysOfWeek[j].Date, DayOfWeek: this.daysOfWeek[j].DayNumber };\r\n }\r\n }\r\n }\r\n if (this.timeWorked.length == 0) {\r\n this.timeWorked[0] = [];\r\n for (var i = 0; i < this.daysOfWeek.length; i++) {\r\n this.timeWorked[0][i] = { Date: this.daysOfWeek[i].Date, DayOfWeek: this.daysOfWeek[i].DayNumber };\r\n }\r\n }\r\n this.originalTimeWorked = _.cloneDeep(this.timeWorked);\r\n while (this.timeWorked.length < 2) {\r\n this.addSequence();\r\n }\r\n this.dailyTimeLoaded = true;\r\n this.updateHasTime();\r\n this.calculateSubtotals();\r\n }\r\n\r\n addSequence() {\r\n var seq = [];\r\n for (var j = 0; j < this.daysOfWeek.length; j++) {\r\n seq[j] = { Date: this.daysOfWeek[j].Date, DayOfWeek: this.daysOfWeek[j].DayNumber };\r\n }\r\n this.timeWorked.push(seq);\r\n this.originalTimeWorked.push(_.cloneDeep(seq));\r\n }\r\n\r\n updateHasTime() {\r\n var hasTime = [];\r\n this.timeWorked.forEach((sequence) => {\r\n $.each(sequence, (dayNumber, timeEntry) => {\r\n if ((timeEntry.StartTime != null && timeEntry.StartTime != \"\") || (timeEntry.StopTime != null && timeEntry.StopTime != \"\")) {\r\n hasTime[dayNumber] = true;\r\n }\r\n });\r\n })\r\n\r\n this.hasTime = hasTime;\r\n }\r\n\r\n saveTimeWorked(time, day, sequence) {\r\n this.closeTimeWorkedAlert();\r\n if (this.timeWorkedForm.valid) {\r\n this.timeWorkedAlert = null;\r\n if (time != null && this.timeChanged(time, day, sequence)) {\r\n let action;\r\n if ((time.StartTime == null || time.StartTime == \"\") && (time.StopTime == null || time.StopTime == \"\")) {\r\n action = \"delete\";\r\n }\r\n else {\r\n action = \"save\";\r\n }\r\n sequence += 1;\r\n if (action == \"save\") {\r\n //check for time overlap\r\n if (this.timeWorkedValid(time, day, sequence)) {\r\n //check for time interval setting\r\n\r\n let intervalValid = false;\r\n let startMinutes = time.StartTime != null ? parseInt(time.StartTime.substr(time.StartTime.indexOf(\":\") + 1, 2)) : null;\r\n let stopMinutes = time.StopTime != null ? parseInt(time.StopTime.substr(time.StopTime.indexOf(\":\") + 1, 2)) : null;\r\n switch (this.intervalConfig) {\r\n case 0:\r\n intervalValid = true;\r\n break;\r\n case 15:\r\n if (startMinutes == 0 || startMinutes == 15 || startMinutes == 30 || startMinutes == 45)\r\n intervalValid = true;\r\n break;\r\n case 30:\r\n if (startMinutes == 0 || startMinutes == 30)\r\n intervalValid = true;\r\n break;\r\n case 60:\r\n if (startMinutes == 0)\r\n intervalValid = true;\r\n break;\r\n }\r\n if (intervalValid) {\r\n let mm = day.Date.getMonth() + 1;\r\n if (mm < 10)\r\n mm = \"0\" + mm;\r\n let dd = day.Date.getDate();\r\n if (dd < 10)\r\n dd = \"0\" + dd;\r\n let insertDate = mm + \"/\" + dd + \"/\" + day.Date.getFullYear();\r\n this.timeWorkedService.insertUpdateTime(\r\n this.selectedEmployee,\r\n this.payPeriod.PRPCKeyID,\r\n insertDate,\r\n time.StartTime,\r\n time.StopTime,\r\n sequence,\r\n time.Notes,\r\n time.BreakHours\r\n ).then((response: any) => {\r\n if (response.success) {\r\n if (this.showBreakHours && (time.StartTime == null || time.StopTime == null || time.StartTime == \"\" || time.StopTime == \"\") && (time.BreakHours == null || time.BreakHours == \"\") && sequence == 1)\r\n time.BreakHours = this.defaultBreakHours;\r\n\r\n this.timeWorkedForm.form.markAsPristine();\r\n this.originalTimeWorked[sequence - 1][day.DayNumber].StartTime = time.StartTime;\r\n this.originalTimeWorked[sequence - 1][day.DayNumber].StopTime = time.StopTime;\r\n this.originalTimeWorked[sequence - 1][day.DayNumber].BreakHours = time.BreakHours;\r\n this.updateHasTime();\r\n this.calculateSubtotals();\r\n }\r\n else {\r\n this.timeWorkedAlert = { type: \"danger\", msg: response.error }\r\n }\r\n });\r\n }\r\n else {\r\n this.timeWorkedAlert = { type: \"danger\", msg: \"Time worked not saved. Minutes must be in intervals of \" + this.intervalConfig + \".\" };\r\n }\r\n\r\n }\r\n else {\r\n this.timeWorkedAlert = { type: \"danger\", msg: \"Your time entry overlaps with an existing entry or your time was invalid. Time worked not saved\" };\r\n }\r\n\r\n }\r\n else if (action == \"delete\") {\r\n let mm = day.Date.getMonth() + 1;\r\n if (mm < 10)\r\n mm = \"0\" + mm;\r\n let dd = day.Date.getDate();\r\n if (dd < 10)\r\n dd = \"0\" + dd;\r\n let insertDate = mm + \"/\" + dd + \"/\" + day.Date.getFullYear();\r\n this.timeWorkedService.deleteTime(\r\n this.selectedEmployee,\r\n this.payPeriod.PRPCKeyID,\r\n insertDate,\r\n sequence\r\n ).then((response) => {\r\n this.timeWorkedForm.form.markAsPristine();\r\n this.originalTimeWorked[sequence - 1][day.DayNumber].StartTime = time.StartTime;\r\n this.originalTimeWorked[sequence - 1][day.DayNumber].StopTime = time.StopTime;\r\n this.updateHasTime();\r\n this.calculateSubtotals();\r\n });\r\n }\r\n else {\r\n }\r\n }\r\n }\r\n }\r\n\r\n private timeChanged(time, day, sequence) {\r\n if (this.originalTimeWorked[sequence][day.DayNumber].StartTime != time.StartTime)\r\n return true;\r\n if (this.originalTimeWorked[sequence][day.DayNumber].StopTime != time.StopTime)\r\n return true;\r\n if (this.originalTimeWorked[sequence][day.DayNumber].BreakHours != time.BreakHours)\r\n return true;\r\n return false;\r\n }\r\n\r\n private timeWorkedValid(time, day, seq) {\r\n let timeValid = true;\r\n if (time.StartTime != null && time.StartTime != \"\" && time.StopTime != null && time.StopTime != \"\") {\r\n let start = this.timeParserService.convertTimeString(time.StartTime);\r\n let stop = this.timeParserService.convertTimeString(time.StopTime);\r\n if (start > stop && stop != 0) {\r\n return false;\r\n }\r\n }\r\n this.timeWorked.forEach((currentSequence, sequenceIndex) => {\r\n if (seq != sequenceIndex + 1) {\r\n if (currentSequence[day.DayNumber] != null) {\r\n if (currentSequence[day.DayNumber].StartTime != null && currentSequence[day.DayNumber].StartTime != \"\" &&\r\n currentSequence[day.DayNumber].StopTime != null && currentSequence[day.DayNumber].StopTime != \"\") {\r\n var startTime = this.timeParserService.convertTimeString(currentSequence[day.DayNumber].StartTime);\r\n var stopTime = this.timeParserService.convertTimeString(currentSequence[day.DayNumber].StopTime);\r\n if (time.StartTime != null && time.StartTime != \"\") {\r\n var currStartTime = this.timeParserService.convertTimeString(time.StartTime);\r\n if ((currStartTime >= startTime) && (currStartTime < stopTime)) {\r\n timeValid = false;\r\n return false;\r\n }\r\n }\r\n if (time.StopTime != null && time.StopTIme != \"\") {\r\n var currStopTime = this.timeParserService.convertTimeString(time.StopTime);\r\n if ((currStopTime > startTime) && (currStopTime <= stopTime)) {\r\n timeValid = false;\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return timeValid;\r\n }\r\n\r\n //timecard submission validation\r\n async verifyTimeWorked() {\r\n let employeeString = \"\";\r\n //used to keep track of which employees are valid for submission\r\n let validEmployees;\r\n let invalidErrors = [];\r\n let unbalancedErrors = [];\r\n //TODO - get a list of employees\r\n if (this.selectedEmployee == null || this.selectedEmployee == \"all\") {\r\n let employees = this.employees.slice(1);\r\n validEmployees = employees.map(function (elem) {\r\n if (elem.Value != \"all\") {\r\n return parseInt(elem.Value);\r\n }\r\n });\r\n\r\n employeeString = validEmployees.join(\",\");\r\n }\r\n else {\r\n validEmployees = [parseInt(this.selectedEmployee)];\r\n employeeString = this.selectedEmployee;\r\n }\r\n\r\n let response: any = await this.timeWorkedService.getDailyTime(employeeString, this.payPeriod.PRPCKeyID);\r\n\r\n let dailyTimeData = response;\r\n $.each(dailyTimeData, (key, dailyTime) => {\r\n dailyTimeData[key].Date = moment.utc(dailyTime.Date);\r\n\r\n if (dailyTime.StartTime != null) {\r\n let startTime = moment.utc(dailyTime.StartTime).format(\"hh:mm A\");\r\n dailyTimeData[key].StartTime = startTime;\r\n }\r\n\r\n if (dailyTime.StopTime != null) {\r\n let stopTime = moment.utc(dailyTime.StopTime).format(\"hh:mm A\");\r\n dailyTimeData[key].StopTime = stopTime;\r\n }\r\n\r\n dailyTimeData[key].DayOfWeek = dailyTimeData[key].Date.day();\r\n });\r\n //compare time worked with timecard lines\r\n let subTotals = {};\r\n\r\n //iterate over time worked entries and calculate their subtotals\r\n dailyTimeData.forEach((dailyTime) => {\r\n let dateString = dailyTime.Date.format(\"YYYY-MM-DD\");\r\n let containsDate = false;\r\n //TODO - pass in template dates\r\n if (this.templateDates.length > 0) {\r\n for (let i = 0; i < this.templateDates.length; i++) {\r\n if (moment.utc(dateString, \"YYYY-MM-DD\").isSame(this.templateDates[i].Date, \"day\")) {\r\n containsDate = true;\r\n }\r\n }\r\n }\r\n if (containsDate) {\r\n if ((dailyTime.StartTime != null && dailyTime.StartTime != \"\") && (dailyTime.StopTime != null && dailyTime.StopTime != \"\")) {\r\n if (subTotals[dailyTime.Employee] == null) {\r\n subTotals[dailyTime.Employee] = {};\r\n subTotals[dailyTime.Employee][dateString] = { Subtotal: 0, Difference: 0 };\r\n }\r\n if (subTotals[dailyTime.Employee][dateString] == null) {\r\n subTotals[dailyTime.Employee][dateString] = { Subtotal: 0, Difference: 0 };\r\n }\r\n let startTime = this.timeParserService.convertTimeString(dailyTime.StartTime);\r\n let stopTime = this.timeParserService.convertTimeString(dailyTime.StopTime);\r\n subTotals[dailyTime.Employee][dateString].Subtotal += +(stopTime - startTime);\r\n if (dailyTime.ShowBreakHours) {\r\n subTotals[dailyTime.Employee][dateString].Subtotal -= (dailyTime.BreakHours || 0);\r\n }\r\n //calculate difference from timecard entries\r\n let date = dailyTime.Date;\r\n let timecardTotal = { timecardHours: 0, otherHours: 0 };\r\n if (this.timecardTotalsByEmployee[dailyTime.Employee][dateString] != null) {\r\n timecardTotal = this.timecardTotalsByEmployee[dailyTime.Employee][dateString];\r\n }\r\n subTotals[dailyTime.Employee][dateString].TimecardTotal = timecardTotal.timecardHours;\r\n subTotals[dailyTime.Employee][dateString].OtherTotal = timecardTotal.otherHours;\r\n subTotals[dailyTime.Employee][dateString].Difference = parseFloat((subTotals[dailyTime.Employee][dateString].Subtotal - timecardTotal.timecardHours - timecardTotal.otherHours).toFixed(2));\r\n subTotals[dailyTime.Employee][dateString].DifferenceAbs = Math.abs(subTotals[dailyTime.Employee][dateString].Difference);\r\n }\r\n else if ((dailyTime.StartTime != null && dailyTime.StartTime != \"\") || (dailyTime.StopTime != null && dailyTime.StopTime != \"\")) {\r\n //If start time and stop time don't both exist, time worked is invalid\r\n if (validEmployees.indexOf(dailyTime.Employee) > -1) {\r\n validEmployees.splice(validEmployees.indexOf(dailyTime.Employee), 1);\r\n invalidErrors.push(dailyTime.Employee);\r\n }\r\n }\r\n }\r\n\r\n });\r\n\r\n //iterate over timecard totals and add them to subtotal collection (adds entries that were missed by time worked calc in the last step)\r\n if (this.selectedEmployee == null || this.selectedEmployee == \"all\") {\r\n $.each(this.timecardTotalsByEmployee, (employee, totalsByEmployee) => {\r\n $.each(totalsByEmployee, (dateString, total) => {\r\n if (subTotals[employee] == null) {\r\n subTotals[employee] = {};\r\n }\r\n if (subTotals[employee][dateString] == null) {\r\n subTotals[employee][dateString] = { Subtotal: 0, Difference: total.totalHours * -1, TimecardTotal: total.timecardHours, OtherTotal: total.otherHours };\r\n }\r\n });\r\n })\r\n\r\n }\r\n else {\r\n $.each(this.timecardTotalsByEmployee[this.selectedEmployee], (dateString, total) => {\r\n if (subTotals[this.selectedEmployee] == null) {\r\n subTotals[this.selectedEmployee] = {};\r\n }\r\n if (subTotals[this.selectedEmployee][dateString] == null) {\r\n subTotals[this.selectedEmployee][dateString] = { Subtotal: 0, Difference: total.totalHours * -1, TimecardTotal: total.totalHours, OtherTotal: 0 };\r\n }\r\n });\r\n }\r\n $.each(subTotals, (employee, employeeSubtotals) => {\r\n if (validEmployees.indexOf(parseInt(employee)) > -1) {\r\n $.each(employeeSubtotals, (key, val: any) => {\r\n let containsDate = false;\r\n if (this.templateDates.length > 0) {\r\n for (let i = 0; i < this.templateDates.length; i++) {\r\n if (moment.utc(key, \"YYYY-MM-DD\").isSame(this.templateDates[i].Date, \"day\")) {\r\n containsDate = true;\r\n }\r\n }\r\n }\r\n if (this.templateDates.length == 0 || containsDate) {\r\n if (val.Difference != 0 && validEmployees.indexOf(parseInt(employee)) > -1) {\r\n if (Math.abs(val.Difference) > this.GPSClockInFaultTolerance) {\r\n validEmployees.splice(validEmployees.indexOf(parseInt(employee)), 1);\r\n unbalancedErrors.push(parseInt(employee));\r\n return false;\r\n }\r\n\r\n }\r\n }\r\n\r\n });\r\n }\r\n });\r\n if (unbalancedErrors.length == 0 && invalidErrors.length == 0) {\r\n return { Success: true, Error: null };\r\n }\r\n else {\r\n let errorMessage = \"Could not submit timecard.\";\r\n if (invalidErrors.length > 0) {\r\n errorMessage += \"
Time worked invalid for employees: \" + invalidErrors.join(\",\");\r\n }\r\n if (unbalancedErrors.length > 0) {\r\n errorMessage += \"
Time worked does not match up with time allocation for employees: \" + unbalancedErrors.join(\",\");\r\n }\r\n return { Success: false, Error: { type: \"danger\", msg: errorMessage } };\r\n }\r\n\r\n }\r\n\r\n getTimeWorkedDetails(day: any, timeWorkedSequence: any, isStartTime: boolean) {\r\n let modalRef = this.ngbModal.open(TimeWorkedDetailsModalComponent, { size: 'md', keyboard: true, backdrop: 'static' });\r\n modalRef.componentInstance.selectedDay = timeWorkedSequence[day.DayNumber];\r\n modalRef.componentInstance.isStartTime = isStartTime;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{timeWorkedAlert.msg}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n chevron_right\r\n expand_more\r\n \r\n Time Worked\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Time Worked Saved\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Time Worked Saved\r\n
\r\n
\r\n {{timeWorkedSubTotals[selectedDay.DayNumber].Subtotal}}\r\n
\r\n GPSClockInFaultTolerance }\"\r\n [ngbPopover]=\"popContent\"\r\n triggers=\"mouseenter:mouseleave\">\r\n ({{timeWorkedSubTotals[selectedDay.DayNumber].Difference}})\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Loading...\"\r\n
Please wait while your daily time is loading...
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{day.Day}}\r\n
Start:\r\n payPeriod.EndDateValue || (GPSClockInEnabled && !isTimecardAdmin && (!allowApproverTimeWorkedEdit || !isApprover))\"\r\n (blur)=\"saveTimeWorked(timeWorkedSequence[day.DayNumber], day, seqIndex)\"\r\n apptimeValidateFormat\r\n [cell]=\"'StartTime'\" />\r\n
\r\n \r\n \r\n \r\n {{timeWorkedSequence[day.DayNumber].StartTime}}\r\n \r\n \r\n
\r\n
Stop:\r\n payPeriod.EndDateValue || (GPSClockInEnabled && !isTimecardAdmin && (!allowApproverTimeWorkedEdit || !isApprover))\"\r\n (blur)=\"saveTimeWorked(timeWorkedSequence[day.DayNumber], day, seqIndex)\"\r\n apptimeValidateFormat\r\n [cell]=\"'StopTime'\" />\r\n
\r\n \r\n \r\n\r\n \r\n {{timeWorkedSequence[day.DayNumber].StopTime}}\r\n \r\n \r\n \r\n
\r\n
Break Hours:\r\n payPeriod.EndDateValue || (GPSClockInEnabled && !isTimecardAdmin && (!allowApproverTimeWorkedEdit || !isApprover))\"\r\n (blur)=\"saveTimeWorked(timeWorkedSequence[day.DayNumber], day, seqIndex)\"/>\r\n
\r\n \r\n {{timeWorkedSequence[day.DayNumber].BreakHours}}\r\n \r\n
\r\n
Subtotal:\r\n
\r\n {{timeWorkedSubTotals[day.DayNumber].Subtotal}}\r\n
\r\n GPSClockInFaultTolerance }\"\r\n [ngbPopover]=\"popContent\" placement=\"bottom\"\r\n triggers=\"mouseenter:mouseleave\">\r\n ({{timeWorkedSubTotals[day.DayNumber].Difference}})\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n payPeriod.EndDate || (GPSClockInEnabled && !isTimecardAdmin && (!allowApproverTimeWorkedEdit || !isApprover))\"\r\n (blur)=\"saveTimeWorked(sequence[selectedDay.DayNumber], selectedDay, seqIndex)\"\r\n apptimeValidateFormat\r\n [cell]=\"'StartTime'\" />\r\n \r\n {{sequence[selectedDay.DayNumber].StartTime}}\r\n \r\n
\r\n
\r\n payPeriod.EndDate || (GPSClockInEnabled && !isTimecardAdmin && (!allowApproverTimeWorkedEdit || !isApprover))\"\r\n (blur)=\"saveTimeWorked(sequence[selectedDay.DayNumber], selectedDay, seqIndex)\"\r\n apptimeValidateFormat\r\n [cell]=\"'StopTime'\" />\r\n \r\n {{sequence[selectedDay.DayNumber].StopTime}}\r\n \r\n
\r\n
\r\n payPeriod.EndDate || (GPSClockInEnabled && !isTimecardAdmin && (!allowApproverTimeWorkedEdit || !isApprover))\"\r\n (blur)=\"saveTimeWorked(sequence[selectedDay.DayNumber], selectedDay, seqIndex)\" />\r\n \r\n {{sequence[selectedDay.DayNumber].BreakHours}}\r\n \r\n
\r\n
\r\n
\r\n {{timeWorkedSubTotals[selectedDay.DayNumber].Subtotal}}\r\n
\r\n GPSClockInFaultTolerance }\"\r\n [ngbPopover]=\"popContent\"\r\n triggers=\"mouseenter:mouseleave\">\r\n ({{timeWorkedSubTotals[selectedDay.DayNumber].Difference}})\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {{timeWorkedSubTotals[selectedDay.DayNumber].Subtotal}}\r\n
\r\n GPSClockInFaultTolerance }\"\r\n [ngbPopover]=\"popContent\"\r\n triggers=\"mouseenter:mouseleave\">\r\n ({{timeWorkedSubTotals[selectedDay.DayNumber].Difference}})\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Loading...\"\r\n
Please wait while your daily time is loading...
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{day.Day}}\r\n
Subtotal:\r\n
\r\n {{timeWorkedSubTotals[day.DayNumber].Subtotal}}\r\n
\r\n GPSClockInFaultTolerance }\"\r\n [ngbPopover]=\"popContent\"\r\n triggers=\"mouseenter:mouseleave\">\r\n ({{timeWorkedSubTotals[day.DayNumber].Difference}})\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n//\r\n\r\n@Directive({\r\n selector: 'input[type=checkbox][trueFalseValue]',\r\n host: {\r\n '(change)': 'onChange($event.target.checked)'\r\n },\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: CheckBoxYNDirective,\r\n multi: true\r\n }\r\n ]\r\n})\r\n\r\nexport class CheckBoxYNDirective implements ControlValueAccessor {\r\n\r\n private propagateChange = (_: any) => { };\r\n @Input() trueValue:string;\r\n @Input() falseValue:string;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n onChange(isChecked: any) {\r\n this.propagateChange(isChecked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n //Model value to View\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n //Update model value\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { }\r\n\r\n setDisabledState?(isDisabled: boolean): void { }\r\n\r\n}\r\n","import { Directive, ElementRef, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appCustomAutofocus]'\r\n})\r\nexport class CustomAutofocusDirective {\r\n @Input(\"appCustomAutofocus\") value: boolean;\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n ngOnInit() {\r\n if (!this.value) {\r\n this.elementRef.nativeElement.setAttribute('tabindex', '-1');\r\n this.elementRef.nativeElement.style.outline = 'none';\r\n }\r\n this.elementRef.nativeElement.focus();//use focus function instead of autofocus attribute to avoid cross browser problem. And autofocus should only be used to mark an element to be focused when page loads.\r\n \r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TimeParserService } from '../../core/services/time-parser.service';\r\n\r\n@Directive({\r\n selector: '[appDateTwentyFourHours]',\r\n host: {\r\n '(blur)': 'formatTime($event.target.value)',\r\n '(keyup)': 'validate($event.target.value)'\r\n }\r\n})\r\nexport class DateTwentyFourHoursDirective {\r\n\r\n @Input('isTimeValid') isTimeValid: boolean;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n constructor(private elementRef: ElementRef, private timeParserService: TimeParserService) { }\r\n\r\n formatTime(value:any) {\r\n var tempVal = value;\r\n var newVal = \"\";\r\n\r\n switch (tempVal.length) {\r\n case 1:\r\n newVal = \"0\" + tempVal + \":00\";\r\n break;\r\n case 2:\r\n newVal = tempVal + \":00\";\r\n break;\r\n case 4:\r\n newVal = tempVal + \"0\";\r\n break;\r\n default:\r\n newVal = tempVal;\r\n }\r\n\r\n if (newVal != \"\") {\r\n this.isTimeValid = this.timeParserService.parseTime(newVal) == null;\r\n }\r\n this.valueChange.emit(newVal);\r\n }\r\n\r\n validate(value: any) {\r\n if (value != null && value != \"\") {\r\n var mask = \"99:99\";\r\n var maskLength = mask.replace(/[\\D\\s]/gi, '').length;\r\n var newVal = value.replace(/[^\\d]/gi, '');\r\n var newVal = newVal.replace(/[\\D\\s]/gi, '');\r\n var returnValue = \"\";\r\n for (var i = 0; i < newVal.length; i++) {\r\n if (i >= maskLength) {\r\n break;\r\n }\r\n if (i == 2) {\r\n returnValue += (\":\" + newVal.charAt(i));\r\n }\r\n else {\r\n returnValue += (newVal.charAt(i));\r\n }\r\n }\r\n\r\n if (newVal.length == 4) {\r\n var timeObj = this.timeParserService.parseTime(returnValue);\r\n var isValid = returnValue != '' && timeObj != null;\r\n this.isTimeValid = !isValid; \r\n }\r\n this.valueChange.emit(returnValue);\r\n }\r\n }\r\n}","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appElastic]'\r\n})\r\nexport class ElasticDirective {\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener(':input')\r\n onInput() {\r\n this.resize();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.elementRef.nativeElement.scrollHeight) {\r\n setTimeout(() => this.resize());\r\n }\r\n }\r\n\r\n resize() {\r\n this.elementRef.nativeElement.style.height = '0';\r\n this.elementRef.nativeElement.style.height = this.elementRef.nativeElement.scrollHeight + 'px';\r\n }\r\n}\r\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFileread]',\r\n host: {\r\n '(change)': 'read($event)'\r\n },\r\n})\r\nexport class FilereadDirective {\r\n @Input() fileread: string;\r\n @Input() filename: string;\r\n @Input() filedata: string;\r\n @Output() filereadChange: EventEmitter = new EventEmitter();\r\n @Output() filenameChange: EventEmitter = new EventEmitter();\r\n @Output() filedataChange: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n read(value: any) {\r\n var reader = new FileReader();\r\n this.filenameChange.emit(value.target.files[0].name);\r\n this.filedataChange.emit(value.target.files[0].name);\r\n reader.onload = (e) =>{\r\n var arrayBuffer = reader.result;\r\n var binaryString = '',\r\n bytes = new Uint8Array(arrayBuffer),\r\n length = bytes.length;\r\n for (var i = 0; i < length; i++) {\r\n binaryString += String.fromCharCode(bytes[i]);\r\n }\r\n this.filereadChange.emit(btoa(binaryString));\r\n }\r\n reader.readAsArrayBuffer(value.target.files[0]);\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNavigable]'\r\n})\r\nexport class NavigableDirective implements OnInit {\r\n @Input() mode: string;\r\n\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n ngOnInit() {\r\n let disableLeftRight = true;\r\n\r\n this.elementRef.nativeElement.addEventListener('keydown', (event: KeyboardEvent) => {\r\n const keys = { left: 'ArrowLeft', up: 'ArrowUp', right: 'ArrowRight', down: 'ArrowDown' };\r\n let key = event.key;\r\n\r\n if (this.mode === 'excel') {\r\n if (key === 'Enter') {\r\n key = 'ArrowDown'; // in excel mode, treat the Enter key like the down arrow\r\n }\r\n } else {\r\n if (key === 'Enter') {\r\n disableLeftRight = !disableLeftRight; // in standard mode, the Enter key disables the left/right arrows\r\n }\r\n }\r\n\r\n // start at the currently focused element, must be an input for this to continue\r\n const startInput = document.activeElement as HTMLInputElement;\r\n if (startInput.nodeName !== 'INPUT') return;\r\n\r\n let destinationInput: HTMLInputElement | undefined;\r\n let node: HTMLElement | null = startInput;\r\n\r\n // walk along the DOM, looking for the destination input \r\n // look for the startInput's TD\r\n do {\r\n node = node.parentNode as HTMLElement;\r\n } while (node && node.nodeName !== 'TD');\r\n if (!node) return; // ill-formed html\r\n\r\n if (key === keys.up || key === keys.down) {\r\n event.preventDefault();\r\n const tdIndex = (node as HTMLTableCellElement).cellIndex;\r\n\r\n do { // find the TR\r\n node = node.parentNode as HTMLElement;\r\n } while (node && node.nodeName !== 'TR');\r\n if (!node) return; // ill-formed html\r\n\r\n do {\r\n node = (key === keys.up ? node.previousElementSibling : node.nextElementSibling) as HTMLElement;\r\n if (node && node.nodeName === 'TR') {\r\n destinationInput = this.firstVisibleInput(node, tdIndex);\r\n } else return; // no more rows or ill-formed html\r\n } while (!destinationInput);\r\n }\r\n\r\n if (destinationInput) {\r\n destinationInput.focus();\r\n destinationInput.select();\r\n }\r\n });\r\n\r\n // Add event listener for blur event on the currently focused input element\r\n document.addEventListener('blur', (event: FocusEvent) => {\r\n const target = event.target as HTMLElement;\r\n if (target.nodeName === 'INPUT') {\r\n disableLeftRight = true;\r\n }\r\n });\r\n }\r\n\r\n private firstVisibleInput(node: HTMLElement, tdIndex?: number): HTMLInputElement {\r\n if (tdIndex !== undefined) {\r\n node = node.children[tdIndex] as HTMLElement;\r\n }\r\n if (node) {\r\n const descendants = node.getElementsByTagName('*');\r\n for (let i = 0; i < descendants.length; i++) {\r\n const descendant = descendants[i] as HTMLInputElement;\r\n if (descendant.nodeName === 'INPUT'\r\n && descendant.offsetHeight > 0 && descendant.offsetWidth > 0) {\r\n return descendant;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n}","import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appPercentNumber]',\r\n host: {\r\n '(blur)': 'calculatePercent($event.target.value)'\r\n }\r\n})\r\nexport class PercentNumberDirective {\r\n\r\n @Input(\"value\") value: string;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n constructor(private _elementRef: ElementRef) { }\r\n\r\n calculatePercent(value: string) {\r\n var newVal = value;\r\n var actual;\r\n if (!newVal) {\r\n return '';\r\n }\r\n newVal = newVal.replace(/\\D/g, '');\r\n if (newVal != null && newVal != '') {\r\n actual = parseInt(newVal);\r\n this.value = actual.toString() + '%';\r\n }\r\n else {\r\n this.value = null;\r\n }\r\n\r\n //Update input control and ngModel value\r\n this._elementRef.nativeElement.setAttribute('value', this.value);\r\n this.valueChange.emit(this.value);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\n\r\n@Directive({\r\n selector: '[appPhoneFormat]',\r\n host: {\r\n '(keyup)': 'validatePhoneNumber($event)',\r\n '(blur)': 'validatePhoneNumber($event)'\r\n }\r\n})\r\nexport class PhoneFormatDirective {\r\n portalSetting: any;\r\n @Input(\"value\") value: string;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n constructor(private elementRef: ElementRef, portalSettingService: PortalSettingsService) {\r\n this.portalSetting = portalSettingService.getPortalSettings();\r\n }\r\n\r\n validatePhoneNumber(event: any) {\r\n var mask = this.portalSetting.PhoneMask.ConfigValue;\r\n if (mask) {\r\n var maskLength = mask.replace(/[\\D\\s]/gi, '').length;\r\n var newVal = event.target.value.replace(/[\\D\\s]/gi, '');\r\n this.value = \"\";\r\n var maskPosition = 0;\r\n for (var i = 0; i < newVal.length; i++) {\r\n\r\n if (i >= maskLength) {\r\n break;\r\n }\r\n var maskCharacter = mask.charAt(maskPosition);\r\n if (maskCharacter == \"\") {\r\n break;\r\n }\r\n while ((maskCharacter != '9')) {\r\n this.value += maskCharacter;\r\n maskPosition++;\r\n maskCharacter = mask.charAt(maskPosition);\r\n }\r\n this.value += newVal.charAt(i);\r\n maskPosition++;\r\n }\r\n this.elementRef.nativeElement.setAttribute('value', this.value);\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appSelectAllOnClick]',\r\n host: {\r\n '(focus)': 'onFocus()',\r\n '(blur)': 'onBlur()'\r\n }\r\n})\r\nexport class SelectAllOnClickDirective {\r\n public hasSelectedAll: boolean = false;\r\n\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n onFocus() {\r\n const input: HTMLInputElement = this.elementRef.nativeElement;\r\n\r\n setTimeout(() => {\r\n if (!this.hasSelectedAll) {\r\n try {\r\n // iOS, Safari, throws exception on Chrome, etc.\r\n input.selectionStart = 0;\r\n input.selectionEnd = input.value.length + 1;\r\n this.hasSelectedAll = true;\r\n } catch (err) {\r\n // Non-iOS option if not supported, e.g., Chrome\r\n input.select();\r\n this.hasSelectedAll = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n onBlur() {\r\n this.hasSelectedAll = false;\r\n }\r\n\r\n}","import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\n\r\n@Directive({\r\n selector: '[appSsnFormat]',\r\n host: {\r\n '(keyup)': 'validateSSN($event,true)',\r\n '(blur)': 'validateSSN($event,false)'\r\n }\r\n})\r\nexport class SsnFormatDirective {\r\n portalSetting: any;\r\n @Input(\"value\") value: string;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n constructor(private elementRef: ElementRef, private portalSettingService: PortalSettingsService) {\r\n this.portalSetting = portalSettingService.getPortalSettings();\r\n }\r\n\r\n validateSSN(event: any, type: boolean) {\r\n if (type) {\r\n\r\n var mask = \"\";\r\n var country = this.portalSetting.CountryDateCode.ConfigValue\r\n switch (country.toUpperCase()) {\r\n case \"US\":\r\n mask = \"999-99-9999\";\r\n break;\r\n case \"CAN\":\r\n case \"CA\":\r\n mask = \"999-999-999\";\r\n break;\r\n default:\r\n mask = \"999-99-9999\";\r\n break;\r\n }\r\n\r\n var maskLength = mask.replace(/[\\D\\s]/gi, '').length;\r\n var newVal = event.target.value.replace(/[^\\d|-]/gi, '');\r\n var newVal = newVal.replace(/[\\D\\s]/gi, '');\r\n this.value = \"\";\r\n for (var i = 0; i < newVal.length; i++) {\r\n if (i >= maskLength) {\r\n break;\r\n }\r\n if (country == \"US\") {\r\n if (i == 3 || i == 5) {\r\n this.value += (\"-\" + newVal.charAt(i));\r\n }\r\n else {\r\n this.value += (newVal.charAt(i));\r\n }\r\n } else if (country == \"CA\" || country == \"CAN\") {\r\n if (i == 3 || i == 6) {\r\n this.value += (\"-\" + newVal.charAt(i));\r\n }\r\n else {\r\n this.value += (newVal.charAt(i));\r\n }\r\n } else {\r\n if (i == 3 || i == 5) {\r\n this.value += (\"-\" + newVal.charAt(i));\r\n }\r\n else {\r\n this.value += (newVal.charAt(i));\r\n }\r\n\r\n }\r\n }\r\n this.elementRef.nativeElement.setAttribute('value', this.value);\r\n this.valueChange.emit(this.value);\r\n }\r\n else {\r\n var mask = \"\";\r\n switch (this.portalSetting.CountryDateCode.ConfigValue.toUpperCase()) {\r\n case \"US\":\r\n mask = \"999-99-9999\";\r\n break;\r\n case \"CAN\":\r\n case \"CA\":\r\n mask = \"999-999-999\";\r\n break;\r\n default:\r\n mask = \"999-99-9999\";\r\n break;\r\n }\r\n if (!mask || mask == \"\" || mask == undefined) {\r\n return;\r\n }\r\n else {\r\n\r\n var maskLength = mask.replace(/[^\\w\\s]/gi, '').length;\r\n var origVal = event.target.value.replace(/[\\D\\s]/gi, '');\r\n $(this).val(origVal);\r\n var maskedEntry = \"\";\r\n var inputChar = 0;\r\n\r\n if (origVal.length >= maskLength) {\r\n for (var i = 0; i < mask.length; i++) {\r\n if (mask.charAt(i) == '9') {\r\n maskedEntry += origVal.charAt(inputChar);\r\n inputChar++;\r\n }\r\n else {\r\n maskedEntry += mask.charAt(i);\r\n }\r\n }\r\n $(this).val(maskedEntry);\r\n }\r\n else {\r\n this.elementRef.nativeElement.setAttribute('value', this.value);\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, Input, Output, EventEmitter } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { TimeParserService } from 'src/app/core/services/time-parser.service';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Directive({\r\n selector: '[apptimeValidateFormat]',\r\n host: {\r\n '(blur)': 'formatTime($event.target.value)',\r\n '(input)': 'validate($event.target.value)'\r\n },\r\n})\r\n\r\nexport class TimeValidateDirective {\r\n @Input('cell') cell: string;\r\n @Input('apptimeValidateFormat') timeValidate: string;\r\n @Input('isTimeValid') isTimeValid: boolean;\r\n @Input('value') time: string;\r\n @Input('is24') is24: boolean;\r\n @Output() isTimeValidChange = new EventEmitter();\r\n @Output() valueChange = new EventEmitter();\r\n timeStr: any\r\n timeOfDay : string\r\n\r\n constructor(private timeParserService: TimeParserService) {\r\n }\r\n\r\n validate(value: string) {\r\n this.timeStr = value;\r\n var isTimeEmpty = this.timeStr == '' || this.timeStr == null;\r\n if (!isTimeEmpty) {\r\n this.isTimeValid = this.parseTime() != null\r\n }\r\n //var validateIndex = this.timeValidate;\r\n //var validationKey = 'time_' + validateIndex;\r\n this.isTimeValidChange.emit(this.isTimeValid);\r\n }\r\n parseTime(){\r\n this.timeStr = this.timeStr.trim().replace(\" \", \"\");\r\n var timeOfDay = this.timeStr.toUpperCase().indexOf('A') != -1\r\n ? 'AM'\r\n : this.timeStr.toUpperCase().indexOf('P') != -1\r\n ? 'PM' : null;\r\n //detect non-colon time\r\n if (timeOfDay == null && this.timeStr.trim().length > 2 && this.timeStr.indexOf(\":\") == -1) {\r\n this.timeStr = this.timeStr.slice(0, this.timeStr.length - 2) + \":\" + this.timeStr.slice(this.timeStr.length - 2);\r\n }\r\n else if (this.timeStr.length > 4 && this.timeStr.indexOf(\":\") == -1) {\r\n var tempTimeStr = this.timeStr.toLowerCase();\r\n tempTimeStr = tempTimeStr.replace(\" \", \"\").replace(\"am\", \"\").replace(\"pm\", \"\").trim();\r\n tempTimeStr = tempTimeStr.slice(0, tempTimeStr.length - 2) + \":\" + tempTimeStr.slice(tempTimeStr.length - 2);\r\n this.timeStr = tempTimeStr + \" \" + timeOfDay;\r\n }\r\n return this.timeParserService.parseTime(this.timeStr);\r\n }\r\n\r\n formatTime(value: any) {\r\n if (value != null && value != \"\") {\r\n this.timeStr = value;\r\n var oldTimeStr = cloneDeep(this.timeStr);\r\n var timeObj = this.parseTime()\r\n if (timeObj != null) {\r\n if (this.timeOfDay == null) {\r\n if ('StartTime' == this.cell) {\r\n //hours format\r\n if (this.timeStr >= 1 && this.timeStr <= 5) {\r\n timeObj.addHours(12);\r\n }\r\n //colon format\r\n var tempTimeStr = this.timeStr.replace(\":\", \"\");\r\n if (tempTimeStr >= 100 && tempTimeStr <= 559) {\r\n timeObj.addHours(12);\r\n }\r\n }\r\n else if ('StopTime' == this.cell) {\r\n //hours format\r\n if (this.timeStr >= 1 && this.timeStr <= 8) {\r\n timeObj.addHours(12);\r\n }\r\n //colon format\r\n var tempTimeStr = this.timeStr.replace(\":\", \"\");\r\n if (tempTimeStr >= 100 && tempTimeStr <= 859) {\r\n timeObj.addHours(12);\r\n }\r\n }\r\n }\r\n }\r\n var newTimeStr = moment(timeObj).format((this.is24 ? 'HH:mm' : 'hh:mm A'));\r\n if (oldTimeStr != newTimeStr) {\r\n this.valueChange.emit(newTimeStr);\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PortalSettingsService } from 'src/app/core/services/portal-settings.service';\r\n\r\n@Directive({\r\n selector: '[appUSZipFormat]',\r\n host: {\r\n '(keyup)': 'validateZipCode($event,true)',\r\n '(blur)': 'validateZipCode($event,false)'\r\n }\r\n})\r\nexport class USZipFormatDirective {\r\n portalSetting: any;\r\n //Read Country code if its value is passed\r\n @Input('appUSZipFormat') selectedCountryCode: string;\r\n @Input(\"value\") value: string;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n constructor(private elementRef: ElementRef, portalSettingService: PortalSettingsService) {\r\n this.portalSetting = portalSettingService.getPortalSettings();\r\n }\r\n\r\n validateZipCode(event: any, type: boolean) {\r\n if (type) {\r\n var mask = \"\";\r\n var country = (this.selectedCountryCode != '' && this.selectedCountryCode != undefined) ? this.selectedCountryCode : this.portalSetting.CountryDateCode.ConfigValue\r\n\r\n switch (country.toUpperCase()) {\r\n case \"US\":\r\n mask = \"99999\";\r\n break;\r\n case \"CAN\":\r\n case \"CA\":\r\n mask = \"L9L 9L9\";\r\n break;\r\n case \"AU\":\r\n mask = \"9999\";\r\n break;\r\n default:\r\n mask = \"99999\";\r\n break;\r\n }\r\n\r\n var newVal = event.target.value.replace(/[^a-zA-Z0-9]/gi, '');\r\n var maskLength = mask.length;\r\n this.value = \"\";\r\n var maskPosition = 0;\r\n\r\n for (var i = 0; i < newVal.length; i++) {\r\n if (i >= maskLength) {\r\n break;\r\n }\r\n var maskCharacter = mask.charAt(maskPosition);\r\n if (maskCharacter == \"\") {\r\n break;\r\n }\r\n while ((maskCharacter != '9') && (maskCharacter != 'L')) {\r\n this.value += maskCharacter;\r\n maskPosition++;\r\n maskCharacter = mask.charAt(maskPosition);\r\n }\r\n if (maskCharacter == 'L' && !newVal.charAt(i).match(/[a-zA-Z]/i)) {\r\n break;\r\n }\r\n if (maskCharacter == '9' && !newVal.charAt(i).match(/\\d/i)) {\r\n break;\r\n }\r\n this.value += newVal.charAt(i);\r\n maskPosition++;\r\n }\r\n this.elementRef.nativeElement.setAttribute('value', this.value);\r\n this.valueChange.emit(this.value);\r\n }\r\n else {\r\n var mask = \"\";\r\n var country = (this.selectedCountryCode != '' && this.selectedCountryCode != undefined) ? this.selectedCountryCode : this.portalSetting.CountryDateCode.ConfigValue\r\n switch (country.toUpperCase()) {\r\n case \"US\":\r\n mask = \"99999\";\r\n break;\r\n case \"CAN\":\r\n case \"CA\":\r\n mask = \"L9L 9L9\";\r\n break;\r\n case \"AU\":\r\n mask = \"9999\";\r\n break;\r\n default:\r\n mask = \"99999\";\r\n break;\r\n }\r\n\r\n if (!mask || mask == \"\" || mask == undefined) {\r\n return;\r\n }\r\n else {\r\n var maskLength = mask.length;\r\n var origVal = event.target.value;\r\n if (!((origVal.length == maskLength))) {\r\n this.value = \"\";\r\n this.elementRef.nativeElement.setAttribute('value', this.value);\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { CanDeactivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\n\r\nexport interface CanComponentDeactivate {\r\n hasUnsavedChanges: () => boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class UnsavedChangesGuard implements CanDeactivate {\r\n canDeactivate(component: CanComponentDeactivate) {\r\n return component.hasUnsavedChanges();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'daysAndHours'\r\n})\r\nexport class DaysAndHoursPipe implements PipeTransform {\r\n\r\n transform(daysAndHours: any, units: string, stdWorkdayHours: number, hideUnits: undefined, roundValue: undefined): any {\r\n var daysAndHourss = parseFloat(daysAndHours);\r\n if (!stdWorkdayHours)\r\n stdWorkdayHours = 8;\r\n if (!daysAndHourss || daysAndHourss == 0) {\r\n if (units == 'H')\r\n return '0' + (hideUnits ? \"\" : \" hrs\");\r\n else if (units == 'D')\r\n return '0' + (hideUnits ? \"\" : \" days\");\r\n }\r\n else {\r\n if (units == 'H') {\r\n if (roundValue)\r\n return Math.round(daysAndHourss) + (hideUnits ? \"\" : \" hrs\");\r\n else\r\n return parseFloat(daysAndHourss.toFixed(2)) + (hideUnits ? \"\" : \" hrs\");\r\n\r\n }\r\n\r\n else if (units == 'D') {\r\n var days = daysAndHourss / stdWorkdayHours;\r\n if (roundValue)\r\n return Math.round(days) + (hideUnits ? \"\" : \" days\");\r\n return parseFloat(days.toFixed(2)) + (hideUnits ? \"\" : \" days\");\r\n }\r\n }\r\n //return parseFloat(daysAndHours.toFixed(2)) + \"hrs\";\r\n return 0;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeUrl } from '@angular/platform-browser';\r\nimport DOMPurify from 'dompurify';\r\n\r\n@Pipe({\r\n name: 'dOMSafe'\r\n})\r\nexport class DOMSafePipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n public transform(value: any, type: string): SafeHtml | SafeUrl {\r\n const sanitizedContent = DOMPurify.sanitize(value);\r\n switch (type) {\r\n case 'html': return this.sanitizer.sanitize(SecurityContext.HTML, value);\r\n case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);\r\n case 'stylesafehtml': return this.sanitizer.bypassSecurityTrustHtml(sanitizedContent);\r\n default: throw new Error('Invalid safe type specified : ${type}');\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'excludeFrom'\r\n})\r\nexport class ExcludeFromPipe implements PipeTransform {\r\n transform(inputArray: any[], filterCriteria: string): any[] {\r\n let filtered = [];\r\n\r\n if (filterCriteria == 'selected') {\r\n inputArray.forEach((val) => {\r\n if (val.IsSelected)\r\n filtered.push(val);\r\n }) \r\n }\r\n else if (filterCriteria == '!selected') {\r\n inputArray.forEach((val) => {\r\n if (!val.IsSelected)\r\n filtered.push(val);\r\n }) \r\n }\r\n return filtered;\r\n\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport _ from 'lodash';\r\n\r\n@Pipe({\r\n name: 'orderByAlphanum'\r\n})\r\nexport class OrderByAlphanumPipe implements PipeTransform {\r\n\r\n transform(value: any[], column: any, order: any = \"asc\"): any {\r\n if (value == null || column == null) {\r\n return value;\r\n }\r\n\r\n let [nonNullEntries, nullEntries] = _.partition(value, (val: any) => {\r\n return val[column] != null && val[column] !== '';\r\n });\r\n\r\n if (typeof (value[0][column]) == \"string\") {\r\n return _.concat(nonNullEntries.sort((a, b) => {\r\n const result = _.trimStart(a[column]).localeCompare(_.trimStart(b[column]), 'en', { numeric: true });\r\n return order == \"asc\" ? result : -result;\r\n }), nullEntries);\r\n }\r\n else {\r\n return _.concat(_.orderBy(nonNullEntries, [val => val[column]], order), nullEntries);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'orderByWithParsing'\r\n})\r\nexport class OrderByWithParsingPipe implements PipeTransform {\r\n transform(item: any[], rowOrder: string, reverse: boolean = false): any[] {\r\n if (!item || !rowOrder) {\r\n return item;\r\n }\r\n\r\n const sortedItems = item.slice().sort((a, b) => {\r\n const valueA: any = this.getValue(a[rowOrder]);\r\n const valueB: any = this.getValue(b[rowOrder]);\r\n\r\n // Handle null values\r\n if (valueA === null || valueA === undefined) return reverse ? 1 : -1;\r\n if (valueB === null || valueB === undefined) return reverse ? -1 : 1;\r\n\r\n if (typeof valueA === 'string' && typeof valueB === 'string') {\r\n return reverse ? valueB.localeCompare(valueA) : valueA.localeCompare(valueB);\r\n }\r\n\r\n return reverse ? valueB - valueA : valueA - valueB;\r\n });\r\n\r\n return sortedItems;\r\n }\r\n\r\n private getValue(value: any): number | Date | string {\r\n if (value == null || isNaN(value)) {\r\n if (value != null && value.indexOf('/') !== -1) {\r\n const parsedDate: any = Date.parse(value);\r\n const date: number = parsedDate as number;\r\n if (!isNaN(date)) {\r\n return date;\r\n }\r\n }\r\n return value;\r\n }\r\n return Number(value);\r\n }\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as _ from 'lodash';\r\n\r\n@Pipe({\r\n name: 'orderBy'\r\n})\r\nexport class OrderByPipe implements PipeTransform {\r\n\r\n transform(value: any[], column: any[], order: any): any[] {\r\n if (!value || order === '' || !order) { return value; } // no array\r\n if (value.length <= 1) { return value; } // array with only one item\r\n if (Array.isArray(column)) {\r\n const partition = _.partition(value, val => { return (val[column[0]] != null && val[column[0]] != '') || (val[column[1]] != null && val[column[1]] != '') });\r\n return _.concat(_.orderBy(partition[0], column.map(col => {\r\n return row => {\r\n let value = _.get(row, col);\r\n return value != null ? typeof (value) == 'string' ? col == 'Job' || col == 'WorkOrder' ? parseInt(_.trimStart(value)) : col == 'OverallScore' ? parseFloat(_.trimStart(value)) : _.trimStart(value.toLowerCase()) : value : ''\r\n }\r\n }), [order, order]), partition[1]);\r\n }\r\n else {\r\n const partition = _.partition(value, (val: any) => {\r\n return val[column] != null && val[column] !== '';\r\n });\r\n if (typeof (value[0][column]) == \"boolean\") {\r\n const partition2 = _.partition(value, (val: any) => {\r\n return val[column];\r\n });\r\n if (order == \"asc\")\r\n return _.concat(partition2[1], partition2[0]);\r\n else\r\n return _.concat(partition2[0], partition2[1]);\r\n } else {\r\n return _.concat(_.orderBy(partition[0], [val => (val[column] != null ? (typeof (val[column]) == 'string' ? (column == 'Job' || column == 'Job_Name' || column == 'WorkOrder' || column == 'RQID' || column == 'ReturnedToJob' ? parseInt(_.trimStart(val[column])) : (column == 'OverallScore' ? parseFloat(_.trimStart(val[column])) : _.trimStart(val[column].toLowerCase()))) : val[column]) : '')], order), partition[1]);\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ngfModule } from 'angular-file';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\r\nimport { QuillModule } from 'ngx-quill';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport {\r\n PdfViewerModule, LinkAnnotationService, BookmarkViewService, MagnificationService, ThumbnailViewService,\r\n ToolbarService, NavigationService, TextSearchService, TextSelectionService, PrintService\r\n} from '@syncfusion/ej2-angular-pdfviewer';\r\n\r\n//Directive imports\r\nimport { PhoneFormatDirective } from './directive/phone-format.directive';\r\nimport { USZipFormatDirective } from './directive/uszip-format.directive';\r\nimport { TimeValidateDirective } from './directive/time-validate.directive';\r\nimport { PercentNumberDirective } from './directive/percent-number.directive';\r\nimport { CheckBoxYNDirective } from './directive/check-box-yn.directive';\r\nimport { ElasticDirective } from './directive/elastic.directive';\r\nimport { NavigableDirective } from './directive/navigable.directive';\r\nimport { SelectAllOnClickDirective } from './directive/select-all-on-click.directive';\r\n\r\n//Pipe imports\r\nimport { ExcludeFromPipe } from './pipe/exclude-from.pipe';\r\nimport { OrderByPipe } from './pipe/order-by.pipe';\r\nimport { DOMSafePipe } from './pipe/domsafe.pipe';\r\nimport { DaysAndHoursPipe } from './pipe/days-and-hours.pipe';\r\n\r\n//Component imports\r\nimport { SearchDropDownComponent } from './component/search-drop-down/search-drop-down.component';\r\nimport { FileUploadComponent } from './component/file-upload/file-upload.component';\r\nimport { MultipleDateSelectorComponent } from './component/multiple-date-selector/multiple-date-selector.component';\r\nimport { SsnFormatDirective } from './directive/ssn-format.directive';\r\nimport { FilereadDirective } from './directive/fileread.directive';\r\nimport { RichTextEditorComponent } from './component/rich-text-editor/rich-text-editor.component';\r\nimport { AutoCompleteEmailComponent } from './component/auto-complete-email/auto-complete-email.component';\r\nimport { CrewTimecardGridComponent } from './component/crew-timecard-grid/crew-timecard-grid.component';\r\nimport { TimeWorkedComponent } from './component/time-worked/time-worked.component';\r\nimport { AutoCompleteEmailTCBComponent } from './component/auto-complete-email-t-c-b/auto-complete-email-t-c-b.component';\r\nimport { CustomAutofocusDirective } from './directive/custom-autofocus.directive';\r\nimport { WebixDatatablecomponent } from './component/time-off-grid/webix-datatable.component';\r\nimport { HRIMPdfViewerComponent } from './component/pdf-viewer/pdf-viewer.component';\r\nimport { OrderByWithParsingPipe } from './pipe/order-by-with-parsing.pipe';\r\nimport { DateTwentyFourHoursDirective } from './directive/date-twenty-four-hours.directive';\r\nimport { ServiceManagerFilterComponent } from './component/service-manager-filter/service-manager-filter.component';\r\nimport { LoginFooterComponent } from './component/login-footer/login-footer.component';\r\nimport { ReadOnlyPdfViewerComponent } from './component/read-only-pdf-viewer/read-only-pdf-viewer.component';\r\nimport { OrderByAlphanumPipe } from './pipe/order-by-alphanum.pipe';\r\nimport { KeypressEventsComponent } from './component/keypress-events/keypress-events.component';\r\n\r\n\r\n//Sort order for declarations/exports - Directives,Pipes,Components\r\n@NgModule({\r\n declarations: [\r\n PhoneFormatDirective,\r\n USZipFormatDirective,\r\n TimeValidateDirective,\r\n PercentNumberDirective,\r\n CheckBoxYNDirective,\r\n ExcludeFromPipe,\r\n OrderByPipe,\r\n DOMSafePipe,\r\n DaysAndHoursPipe,\r\n SearchDropDownComponent,\r\n PercentNumberDirective,\r\n CheckBoxYNDirective,\r\n FileUploadComponent,\r\n SsnFormatDirective,\r\n MultipleDateSelectorComponent,\r\n FilereadDirective,\r\n RichTextEditorComponent,\r\n AutoCompleteEmailComponent,\r\n CrewTimecardGridComponent,\r\n TimeWorkedComponent,\r\n ElasticDirective,\r\n AutoCompleteEmailTCBComponent,\r\n CustomAutofocusDirective,\r\n WebixDatatablecomponent,\r\n HRIMPdfViewerComponent,\r\n NavigableDirective,\r\n SelectAllOnClickDirective,\r\n OrderByWithParsingPipe,\r\n ServiceManagerFilterComponent,\r\n DateTwentyFourHoursDirective,\r\n LoginFooterComponent,\r\n ReadOnlyPdfViewerComponent,\r\n OrderByAlphanumPipe,\r\n KeypressEventsComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ngfModule,\r\n NgSelectModule,\r\n CalendarModule.forRoot({\r\n provide: DateAdapter,\r\n useFactory: adapterFactory,\r\n }),\r\n QuillModule,\r\n CollapseModule,\r\n NgbModule,\r\n PdfViewerModule\r\n ],\r\n exports: [\r\n PhoneFormatDirective,\r\n USZipFormatDirective,\r\n TimeValidateDirective,\r\n PercentNumberDirective,\r\n CheckBoxYNDirective,\r\n ElasticDirective,\r\n ExcludeFromPipe,\r\n OrderByPipe,\r\n DOMSafePipe,\r\n DaysAndHoursPipe,\r\n SearchDropDownComponent,\r\n PercentNumberDirective,\r\n CheckBoxYNDirective,\r\n FileUploadComponent,\r\n SsnFormatDirective,\r\n MultipleDateSelectorComponent,\r\n FilereadDirective,\r\n RichTextEditorComponent,\r\n AutoCompleteEmailComponent,\r\n CrewTimecardGridComponent,\r\n TimeWorkedComponent,\r\n AutoCompleteEmailTCBComponent,\r\n CustomAutofocusDirective,\r\n WebixDatatablecomponent,\r\n HRIMPdfViewerComponent,\r\n NavigableDirective,\r\n SelectAllOnClickDirective,\r\n OrderByWithParsingPipe,\r\n DateTwentyFourHoursDirective,\r\n ServiceManagerFilterComponent,\r\n LoginFooterComponent,\r\n ReadOnlyPdfViewerComponent,\r\n KeypressEventsComponent\r\n ],\r\n providers: [LinkAnnotationService, BookmarkViewService, MagnificationService,\r\n ThumbnailViewService, ToolbarService, NavigationService, TextSearchService, TextSelectionService, PrintService] \r\n})\r\nexport class SharedModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { DefaultUrlSerializer, UrlTree } from '@angular/router';\r\n\r\n/** Pass URL and convert them to lower case. */\r\n@Injectable()\r\nexport class CustomUrlSerializer extends DefaultUrlSerializer {\r\n\r\n parse(url: string): UrlTree {\r\n\r\n var routeRegex = /^([/][A-Za-z]+)([/][A-Za-z]+)?/;\r\n var routeMatch = routeRegex.exec(url);\r\n if (routeMatch != null) {\r\n url = url.replace(routeMatch[0], routeMatch[0].toLowerCase());\r\n }\r\n return super.parse(url);\r\n }\r\n\r\n}\r\n","// 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: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/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\nimport { registerLicense } from '@syncfusion/ej2-base';\r\nregisterLicense('Mgo+DSMBPh8sVXJzS0d+WFlPd11dXmJWd1p/THNYflR1fV9DaUwxOX1dQl9nSH9TcERmXHxbc31VQmU=;ORg4AjUWIQA/Gnt2UlhhQlVMfV5AQmBIYVp/TGpJfl96cVxMZVVBJAtUQF1hTX9SdkNiXHpddXdcRGBd;MzU2NTY3NkAzMjM3MmUzMDJlMzBUcVNkdG4rYURkY2QrblJkR2wxYjIyUERrdWhDMFdKWHJkS1phNTNqUUo4PQ==;Mgo+DSMBMAY9C3t2UlhhQlVMfV5AQmBIYVp/TGpJfl96cVxMZVVBJAtUQF1hTX9SdkNiXHpddXdcQ2FU');//27.1.57\r\n\r\nenableProdMode();\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\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 = 46700;"],"names":["RouterModule","UrlSerializer","anonPortalSettingsResolver","employeeInfoResolver","portalSettingsResolver","portalModulesResolver","CustomUrlSerializer","HomeLayoutComponent","OnboardingLayoutComponent","OfficeLayoutComponent","SmLayoutComponent","ChangeAccountPasswordComponent","ClockInOutComponent","ClockInOutErrorComponent","UnsavedChangesGuard","ClockInOutUnlockedComponent","routes","path","component","resolve","employee","portalSetting","portalModules","runGuardsAndResolvers","children","redirectTo","loadChildren","then","m","AdminModule","ApprovalModule","AprouterModule","ChecklistModule","CrewTimecardModule","EmployeeModule","EquipmentModule","FieldModule","HiringModule","HomeModule","PerformanceModule","TimeoffModule","TimecardAdminModule","BillingModule","IssueTrackerModule","canDeactivate","CareersModule","OfficeModule","SMModule","ReportGatewayModule","ErrorModule","AccountModule","AppRoutingModule","provide","useClass","imports","forRoot","exports","NavigationStart","AppComponent","constructor","router","notificationsService","angularSignalRService","eventService","portalSettingsService","utilityService","window","ngOnInit","initializeRouterEventsSubscription","establishHub","subscriptions","push","onSendLogoutSignalReceived","signalRLogout","onSendPortalSettingsUpdateReceived","setPortalSettingsAreStale","ngOnDestroy","forEach","sub","unsubscribe","stopConnection","sessionStorage","clear","isLoggedOut","url","getLogoutUrl","location","href","navigate","events","subscribe","event","executeEventCallbacks","clearNotifications","selectors","decls","vars","consts","template","i0","APP_BASE_HREF","ErrorHandler","BrowserModule","BrowserAnimationsModule","HttpClientModule","HTTP_INTERCEPTORS","ModalModule","BsDatepickerModule","XSRFHeaderInterceptor","GlobalErrorInterceptor","SortablejsModule","ToastrModule","LayoutModule","NotificationPageComponent","GlobalSpinnerComponent","AppModule","bootstrap","multi","useValue","animation","positionClass","timeOut","declarations","GlobalSpinnerMessages","displayModal","_displayModal","currentMsg","_currentMsg","showCloseButton","_showCloseButton","progressCurrent","_progressCurrent","progressTotal","_progressTotal","percentComplete","_percentComplete","showProgress","_showProgress","divDisplay","spinnerModalLeftEdge","innerWidth","spinnerModalTopEdge","scrollY","outerHeight","onOpenSpinnerReceived","msg","uniqueID","showSpinner","onUpdateSpinnerMsg","updateSpinnerMsg","onSendProgressCountReceived","current","total","updateProgress","onCloseSpinnerReceived","downloadID","hideSpinner","onDownloadCompleteReceived","loading","toLowerCase","setTimeout","timeoutLength","matchUniqueID","force","trim","NavigationEnd","ClockinJobModalComponent","ErrorModalComponent","ClockoutModalComponent","PaperlessModalComponent","PasswordWarningModalComponent","WarningModalComponent","AlertModalComponent","OrderByPipe","moment","HttpRequest","HttpEventType","ConfirmationModalComponent","NavigationComponent","employeeInfoService","homeService","employeeService","modalService","ngbModalService","HttpClient","portalModulesService","pathname","indexOf","expenseReport","includes","printHuddle","portalSettings$","latestSettings","portalSettings","employeeInfo","getEmployeeInfo","getPortalModules","navBarNavigationEnd$","isExpensePage","closeGlobalNav","onSendApprovalCountReceived","approval","count","updateApprovalCount","init","initApprovalCounts","orderByPipe","getUserContext","clockInUsePhase","ClockInUsePhase","ConfigValue","showTeamLinkOnNav","ShowTeamLinkOnNav","navBarClockInEnabled","NavBarClockInEnabled","payLink","TrimblePayLink","siteUrl","origin","browserLanguage","getBrowserLanguage","viewpointOneUrl","ViewpointAnalyticsURL","ViewpointOneEnterpriseID","showPaperless","ShowC1095Paperless","ShowW2Paperless","ShowPaystubPaperless","AllowPaperlessInfoChange","ShowPaperlessCarrier","addAttachmentToReceipt","EnableAddAttachmentToReceipt","IsBulletinAdmin","IsChecklistAdmin","IsHuddleAdmin","IsOnboardAdmin","IsPurchasingAdmin","IsSecurityAdmin","IsTimecardAdmin","IsTrainingAdmin","IsTrainingClassAdmin","IsVacationAdmin","IsVacationDashAdmin","isModuleAdmin","getClockInStatus","pRCompaniesToIncludeForPayLinkList","PRCompaniesToIncludeForPayLink","isTrimblePayUser","split","some","val","PRCo","openModalLeft","formData","fileData","fileDrop","fieldToolsCount","IssueCount","isSafari","checkSafari","isMobileIos","navigator","userAgent","match","$","addClass","currencySymbol","getCurrencySymbol","feedbackEmail","FeedbackEmail","apEnabled","EnableAPInvoiceReview","helpLink","HelpLink","CountryDateCode","format","getModules","on","subtractApprovedBenefit","modifyApprovedTimeOff","eventData","modifyProductionApproval","data","ApprovalType","getApprovalCounts","setInterval","approvalCountRefreshInterval","ngAfterViewInit","ShowConsentForm","openModal","paperLessModal","onKioskClicked","module","approvalCounts","calculateUnapprovedRequestCount","unapprovedRequestCount","Object","values","map","Number","reduce","acc","TimecardCount","PersonalInfoCount","TimeOffCount","ProgressApprovalCount","UnapprovedBenefitRequestCount","UnapprovedDependentRequestCount","response","pRCO","isOver","IsOver","loginMode","LoginMode","LoginType","PasswordResetStatus","PasswordResetSchedule","RequirePasswordChangeOnAdminUpdate","openPasswordWarningModal","checkCompanyLogo","getPortalName","refresh","ModuleID","showOfficeRoute","ResolvedModuleActionName","parseLowerCaseUrl","ModuleActionName","item","ModuleName","moduleNew","ModulePrettyTitle","ModuleDescription","ModuleGlyphIcon","ModuleAngularIcon","ModuleSortSeq","ModuleOpenNewWindow","IsHotlistItem","ModuleCatgName","ModuleSubCatgName","ModulePrettyShortName","ModuleCatgSeq","ModuleSubCatgID","ModuleCatgID","ModuleSubCatgSeq","ModuleShowInNav","IsNewAngular","UseGlobalErrorHandler","modules","groupModules","openPayLink","open","openModal3","document","getElementById","style","display","left","closeModal3","getCompanyLogo","image","showImageNow","logoUrl","portalName","readFile","file","call","reader","FileReader","onload","e","name","readAsDataURL","uploadFiles","val2","Filedata","upload","receiptID","newReceiptID","receiptItemID","newReceiptItemID","photoFileData","File","photoFileType","Filename","reportProgress","request","type","UploadProgress","Progress","Math","round","loaded","AttchDone","innerCounter","Response","submitCount","openExpenseModal","result","body","error","errorMsg","message","newFiles","length","selectedAll","selectCount","modalRef","size","backdrop","componentInstance","selectedEmployee","quickAdd","hour","Date","getHours","APM","toString","min","getMinutes","sec","getSeconds","expenseDateStr","description","userKeyId","UserKeyID","insertUpdateReceipt","insertUpdateReceiptItem","newID","itemResponse","success","i","nameEdit","y","substr","lastIndexOf","n","filename","target","Type","temp","catch","openGlobalNav","width","menu","hotlistMenu","userNameMenu","moduleCategories","moduleCategoriesMobile","hotlistItems","temp2","tempMobile","temp2Mobile","hasOwnProperty","tf","key2","transform","key","groupCount","managementCount","tempDetail","temp3","key3","catName","items","catID","barName","list","insertIndex","find","c","splice","filter","undefined","catgKey","category","CategoryName","ModuleCount","subCategory","Modules","subCatgKey","sort","a","b","keyboard","closeModal","changeLanguage","reload","postClockAction","$event","ignoreLocation","preventDefault","stopPropagation","performingClockAction","requestObj","clockStatus","ClockAction","initialState","show","ignoreBackdropClick","onHide","reason","content","userAction","position","coords","gPSLat","latitude","gPSLong","longitude","selectedJob","jCJMKeyID","JCJMKeyID","selectedPhase","jCJPKeyID","JCJPKeyID","currentTime","clockTimeString","modalData","modalTitle","modalMessage","RequireSignClockOut","signatureData","unbindViewpointID","modalAction","closeButtonText","warningLevel","alertLevel","currentTimeString","getLocation","ClockTime","ClockTimeDisplay","parseInt","substring","utc","toUpperCase","geolocation","getCurrentPosition","requestingLocation","geolocationEnabled","subStringFromComma","text","closeMenusSection","number","teamMenu","logout","getCount","notifications","getNotifications","dateFormat","OfficeNavComponent","officeService","officeDataService","shortMenu","OfficeNavBarOn","getCompany","getCompanies","companyList","SGFCompanyList","IsDefault","selectedCompany","HQCo","SGFCompany","getForm","selectedFormList","groupedFormList","getForms","SGFFormList","tempObject","isFormExist","ModuleLongName","FormName","SGFForm","entries","tempObj","FormGroup","groupDisplay","formList","boradcast","groupSelected","groupData","removeClass","itemSelected","SGFTitle","FormDesc","companyChange","routeToReportGateway","RGWCat","ModuleShortName","onResize","hostBindings","ctx","ClockOutModalComponent","ClockInModalComponent","SmNavComponent","smService","smDataService","smSharedService","enablePWA","enableOfflineAccess","EnableOfflineFS","currentOnline","onLine","getItem","isFromSMWODashNow","protocol","hostname","turnoffOffline","triggerOfflinePost","notTech","navClockStatus","isServiceManager","clockEmpty","clockInStatus","showSMManagerDash","showWODash","route","removeSession","isFromSMWODashNowWithTrip","isClockOut","isCloseOut","isDrillDown","resetPage","clockAction","woData","isTripExist","currentWorkOrder","broadcast","offlinePostCallList","header","indexdb","indexedDB","indexedDBVersion","onsuccess","db","transaction","storage","objectStore","each","offlinePostFailList","haveOfflinePostFail","onerror","startOfflinePost","getAll","haveOfflinePost","checkofflinePost","index","modalMsg","delete","id","indexdb2","db2","transaction2","storage2","SM_GetWorkCompletedList","payload","sMWorkCompletedID","SMWorkCompletedID","put","insertDate","deleteID","offlinePost","clearDB","allDBTable","tripList","ReadyOffline","navbarHeight","saveURL","setItem","routeToHome","tripListFiltered","userSettingUpdate","updateSettings","onLoad","onOffline","onOnline","offsetHeight","inject","PortalSettingsService","fetchAnonPortalSettings","EmployeeInfoService","LanguagePackService","languagePackService","http","get","toPromise","setEmployeeInfo","LanguageCode","languageResponse","setLanguagePack","HomeService","PortalModulesService","setPortalModules","fetchPortalSettings","hubConnection","HRIMServerEvents","AngularSignalRService","accountService","objToMap","proxyhubname","isLoggedIn","GetIsLoggedIn","connection","proxyHub","createHubProxy","eventName","mapKeys","ServerEvents","registerOnServerEvents","startConnection","RegisterReConnect","stop","start","fail","log","disconnected","DisconnectedCallback","AttemptReconnect","done","messageData","emitLocalEvent","sr_event","theObject","Map","isNaN","set","Array","from","keys","factory","providedIn","value","EmployeeInfo","Subject","EventService","eventHandler","next","callback","pipe","downloadComplete","sendProgressCount","onSendProgressFileName","sendProgressFileName","fileName","sendLogoutSignal","sendApprovalCount","sendPortalSettingsUpdate","openSpinner","HRIMBrowserEvents","closeSpinner","updateProgressSpinnerCount","modulesChanged","approvedTimecardsChanged","approvedBenefitMinus","approvedDependentChanged","approvedTimeoffChanged","productionApprovalChanged","pleaseWait","processing","retrieved","LanguagePack","getLanguagePack","NotificationsService","toastr","progressBar","closeButton","tapToDismiss","disableTimeOut","showSuccess","successConfigOptions","showError","errorConfigOptions","showWarning","warning","warningConfigOptions","NotificationElement","dateTimeStamp","BehaviorSubject","portalSettingsSubject","asObservable","getPortalSettings","PortalSettings","portalSettingsAreStale","fetchAndSetPortalSettings","getAnonPortalSettings","endpoint","newSettings","EventEmitter","SignalRService","eventNames","isArray","registerOnserverEvents","reConnect","connectionEvent","emit","console","downloadCompletedEvent","sendProgressFileNameEvent","sendProgressCountEvent","logoutEvent","SpinnerService","modal","fade","TimeParserService","time24HourMode","Timecard24Hours","parseTime","str","DateJs","parseExact","parseStartStop","mode","strict","timeStr","replace","timeOfDay","slice","tempTimeStr","timeObj","isValid","addHours","newTimeStr","convertTimeString","hours","minutes","TimeoutModalComponent","TimeoutService","now","diff","valueOf","sess_lastActivity","diffMins","sess_warning","sess_timedout","isSaving","timeoutModalOpen","refreshSession","clearTimeoutInterval","sess_expiration","referrer","initializeTimeoutConfig","timeoutConfig","initTimeout","initializeTimeout","sessionTimedOut","setTimeoutInterval","sess_intervalID","timeoutInterval","sess_pollInterval","clearInterval","refreshSessionInternal","post","responseType","refreshTimeoutInternal","refreshTimeout","refreshingTimeout","getLastActivityTime","getTimeoutConfig","getRefreshingTimeout","CurrencyMaskInputMode","v4","uuidv4","UtilityService","getDeviceType","ua","test","isMobileMode","orientation","check","vendor","getDateFormat","formatDate","date","day","month","year","getDefaultDatepickerOptions","dateInputFormat","containerClass","showTodayButton","showClearButton","clearPosition","showWeekNumbers","getTimeSpanInterval","intervalConfig","TimeSpanInterval","fadeLabel","status","hourStr","minStr","time","formatAttachmentName","top","currencyFormatSymbols","CurrencyFormatPerPRCo","arrayEntry","currencyObject","Currency","rdlNameList","fileExtensionIsValid","startingIndex","fileExtension","fileTypes","base64ArrayBuffer","arrayBuffer","base64","encodings","bytes","Uint8Array","byteLength","byteRemainder","mainLength","d","chunk","xmlToJson","xml","obj","nodeType","attributes","j","attribute","nodeName","nodeValue","hasChildNodes","childNodes","old","hexToRgb","hex","exec","r","g","createGuid","checkIsGuid","regexGuid","urlSegment","hashSegment","hashIndex","routeRegex","routeMatch","fragment","getCookieValue","cookies","cookie","cookieName","cookieValue","deleteCookie","getDefaultCurrencyMaskOptions","precision","align","allowNegative","prefix","nullable","inputMode","NATURAL","validateEmail","email","re","noFilter","term","meetsFileSizeLimit","byteLimit","isPrivateMode","storageTestKey","removeItem","code","DOMException","QUOTA_EXCEEDED_ERR","updateFileType","files","language","fileIsNotViewable","nonViewableFileTypes","humanReadableFileSize","si","dp","thresh","abs","units","u","toFixed","Injector","HttpErrorResponse","injector","spinnerService","handleError","rejection","pageUrl","currentModule","isAcceptablePath","extraPaths","intercept","req","modifiedReq","clone","headers","handle","timeoutService","CommonModule","ngfModule","FormsModule","SharedModule","ModalsModule","noNav","oNLogoCo","OnboardingLogoCo","locationPathName","showLogout","isExternalJobsiteBrowseJobs","ISAT","ISON","showAT","logoutNav","nativeElement","addEventListener","showON","viewQuery","LoginOnboardCoPickModalComponent","activeModal","itemClicked","prco","close","inputs","companies","DeleteBulletinModalComponent","ngbActiveModal","deleteClicked","cancelClicked","bulletinHeader","DeleteUserGroupMembersModalComponent","Observable","debounceTime","distinctUntilChanged","switchMap","concat","EditVendorModalComponent","registerObservables","alert","prGroupObservables","getVendors","VendorFullName","VendorName","VendorGroup","saveClicked","ExpenseAPVMKeyID","selectedPRGroup","Value","APVMKeyID","ExpenseApprovalModalComponent","Notes","allCount","pageCount","submitString","selectedReviewer","Reviewer","reviewerList","ReviewerOnSubmit","isRequestSubmitted","single","GetApprovalHistoryByItem","Selected","currentPageData","reviewerObservables","getReviewers","Label","getApprovalHistoryByItem","ReceiptItemID","approverList","addReviewer","reviewer","reviewerName","pageClicked","approveItems","response2","ManageCatModalComponent","getCat","getCategory","catList","deleteTrigger","addCat","catgAddEdit","newName","saveLabel","updateCat","ExpenseCatgID","ExpenseCatgName","IsActive","deleteCat","catgDelete","labelFade","lastSave","closeClicked","ManageMileageRateModalComponent","getRate","getMileageRate","rateList","addEditCat","addEditMileageRate","ExpenseMileageRateID","newRate","MileageRate","newDescription","RateDescription","newPRCo","deleteMileageRate","ProcessExpenseModalComponent","datePickerOptionsMonth","setViewMode","exAddAPReftoPosting","ExAddAPReftoPosting","showAPRef","ExpensePostingType","aPRef","ProcessType","defaultEarnCode","EXCompanyEarnCodeMapping","SelectedPayPeriod","SelectedPaySeq","SelectedEarnCode","SelectedVendor","approvedCount","unApprovedCount","sum","ReceiptStatusLabel","ReceiptAmount","getPayPeriods","getEarnCodes","getCreditCardVendors","prGroup","payPeriodList","getPaySeq","PRPCKeyID","paySeqList","earnCodeList","EarnCode","DisplayName","EarnCodeDescription","unshift","getCreditCardvendors","vendorList","KeyID","processClicked","method","idsToSubmit","ReceiptID","join","selectedMonth","getDate","getFullYear","getMonth","processExpense","onOpenCalendar","container","monthSelectHandler","_store","dispatch","_actions","select","ReProcessExpenseModalComponent","adaptivePosition","SelectedBatchP","SelectedBatchA","getBatch","getReprocessBatches","batchListP","batchListA","batchListE","BatchID","BatchMthDisplay","BatchSource","HQBCKeyID","selectedMonthE","selectedMonthA","SelectedBatchE","ResetApprovalModalComponent","onClick","isItem","submitItems","SendReminderExpenseModalComponent","getUnSubmittedExpenseReminder","ReminderEmailList","reverse","counter","reminderClicked","dismiss","sortGridReminder","filterBy","OverrideModalComponent","PreviewUserMembershipModalComponent","adminService","nameFilter","isUpdatePersist","groupMembers","previewUserGroupMembers","userGroupID","filteredMembers","exportExcel","filterChanged","filterMembers","sortGrid","EmployeeName","HttpParams","ConfirmModalComponent","NamedLoginSetupModalComponent","activeModalService","getNamedLoginList","NamedLogin","Password","ConfirmPassword","users","toggleAddUserMode","addUserMode","addUser","performingAction","params","createNamedLogin","resetForm","removeUser","user","headerText","bodyText","confirmButtontext","cancelButtontext","removeNamedLogin","unlockUser","changePasswordEnable","changePasswordMode","changePassword","changePasswordForm","invalid","changeNamedLoginPassword","confirmPassword","passwordsMatch","validatePasswords","clearErrors","closeAlert","PaperlessSettingsModalComponent","ConsentPaystubsLastModified","consentPaystubsModifiedDisplay","ConsentW2T4LastModified","consentW2ModifiedDisplay","ConsentACA1095LastModified","consentC1095ModifiedDisplay","ConsentPaystubs","ConsentW2T4","ConsentACA1095","OptOutSMS","updatingSettings","setDocConsent","settingsWereChanged","settings","SendBulletinEmailModalComponent","sendClicked","bulletinSendPendingReminder","bulletin","BulletinID","RejectLineModalComponent","rejectReasons","Reason","ReasonCode","rejectClicked","Action","TimeWorkedDetailsModalComponent","dailyReportsService","attachmentID","isStartTime","selectedDay","StartAttachmentID","StopAttachmentID","loadingAttachment","getVPAttachmentData","maxWidth","dailyTimeAttachmentData","EditPersonalModalComponent","hiringService","applicantService","sourceDisplay","mobileMode","datePickerOptions","today","requireReqSourceOnJobReq","RequireReqSourceOnJobReq","personalInfoRequire","FirstName","LastName","Email","Cell","Phone","Birthday","Contact","Address1","Address2","City","State","Zip","Country","MidName","Suffix","MaritalStatus","personalInfoRequireList","info","IsOnboarding","SetRequireFieldsPersonal","ATSSetRequireFieldsPersonal","phoneMask","PhoneMask","oNPerInTaskCustomText","ONPerInTaskCustomText","getPersonalInfo","getVistaOptions","getState","getMaritalStatus","getDependentLookupByColumnName","stateList","maritalStatusList","countryChange","CountryOther","requestParam","ReqID","sourceList","containAt","checkContact","where","personalInfoEdit","OnboardID","ContactSource","ContactSourceNotes","updatePhoneAndZip","field","OnboardSubmittedModalComponent","signalRService","jobTargetTrackingURL","JobTargetTrackingURL","returnClicked","reqID","downloadRDL","loginStatus","CreateNewChecklistModalComponent","checklistService","getTemplateCategories","templateCategoryIDs","ChecklistTemplateIsActive","ChecklistTemplateCatgID","templates","DisplayValue","ChecklistTemplateCatgName","ChecklistTemplateName","ChecklistTemplateID","selectedTemplate","createClicked","DistributeChecklistsModalComponent","ToEmail","generateFilenames","checklists","InspectedOnDisplay","ChecklistInstanceID","deleteAttachment","currentUpload","emailSendWait","checklistInstanceIDs","templateID","filenames","newFilenames","toEmail","EmailAddress","sendChecklists","Message","AdvanceItemModalComponent","personalInfoList","toggleActive","templateItemToggleActive","ChecklistTemplateItemID","getChecklistItems","updateItem","updateShowTH","checklistTemplateItemID","checklistTemplateItemGrpID","ChecklistTemplateItemGrpID","responseTypeID","ResponseTypeID","itemPrompt","ItemPrompt","itemNumber","ItemNumber","itemLongPrompt","ItemLongPrompt","checklistLookupID","ChecklistLookupID","maxResponseLength","MaxResponseLength","validationRegex","ValidationRegex","personalInfoField","PersonalInfoField","isAdminField","IsAdminField","isRequiredAttachment","ShowAttachments","IsRequiredAttachment","rebindDropdown","RebindDropdown","showComments","ShowComments","showAttachments","isRequired","IsRequired","addUpdateTemplateItem","getItemsByTemplateID","templateId","newIndex","itemGroups","Items","group","showTH","itemGroup","dropdownTypeList","UserGroupModalComponent","EnableChecklistWorkflowModalComponent","getUserGroup","templateInfo","WorkflowInclUserGroupID","currentUserGroupID","ChecklistModeName","workflowEnabled","itemChanged","WorkflowInclPM","WorkflowInclJobRev","WorkflowInclInvRev","WorkflowInclTimecardManager","WorkflowUsersCanFinalize","userGroupChange","editUserGroup","UserGroupID","res","userGroups","CreateNewTemplateModalComponent","option","getChecklistTemplates","filteredTemplates","templateList","newTemplate","copyClicked","of","catchError","ViewChecklistWorkflowModalComponent","enableCheckboxSign","EnableCheckboxSign","getChecklistReviewers","registerLookups","employee$","employeeInput$","getHRUsers","initialized","checklistInstanceID","refreshing","initializeChecklistReviewers","reviewers","requestRefresh","confirmRefresh","removeReviewer","ConfirmDelete","confirmRemove","deleteChecklistReviewers","ChecklistRevID","addChecklistReviewer","submitClicked","signaturePad","isEmpty","typeSign","submitting","notifyReviewers","redBorder","submitSignImg","realNotifyReviewers","notifying","checklistDetails","subject","submit","sendChecklistSign","rawImgData","toDataURL","setRowSort","col","rowOrder","getTypeSign","hideClick","showClickMsg","CopyCrewLineModalComponent","crewTimecardService","addDisable","employeeOfSelectedRow","row","Employee","showCraftClassBox","sharedColumnInfo","Craft","ColumnVisibilityModeID","Class","showEarnCodeDefaultCheckbox","rowProperties","useEmplDefaultEarnCode","employees","yyyy","mm","dd","crewChanged","selectedEmployees","selectedCrew","Crew","getCrewMember","PRCRKeyID","crewMemberList","employeeMap","x","crewMember","employeeIndex","selectAllEmployees","selectNoneEmployees","addClicked","useEmpDefaultCraftClass","useEmplDefaultCraftClass","EditCellValueModalComponent","currentPage","itemsPerPage","filteredOptions","pagedOptions","searchText","updatePagedOptions","keydownEvent","which","optionSelected","clearValue","pageChanged","begin","page","end","getCellValues","options","rowData","requestParams","searchString","getCellPossibleValues","PossibleValues","currentCell","popUpLabel","column","DownloadAttachmentModalComponent","getAttachments","getPlanAttachments","plan","BenefitType","TypeAttachments","PlanUniqueAttchID","PlanAttachments","BenefitCode","FinalizeSubmitSignModalComponent","signatureNEmpty","panelWidth","clearSignature","submitSignature","proxyData","signatureTrigger","closeSignature","clickSign","FinalizeSubmitedModalComponent","modalText","BenefitSubmitModalText","okClicked","proxy","RejectAllBenefitsModalComponent","rejectionText","Step3RejectionText","showDeclineType","BNDeclineComboBoxName","selectedDecline","declineList","declineClicked","UpdateBenefitsModalComponent","Primary","Secondary","primaryInput","secondaryInput","primaryRelationship","secondaryRelationship","totalCount","selected","selectedItem","SelectedValue","showAtt","SelectedOption","CodeSettingIsAttachmentsAllowed","showBen","CodeSettingIsBeneficiaryShown","showBenFree","CodeSettingIsBenficiaryFreeText","showDep","CodeSettingIsDependentsShown","showNote","CodeSettingIsDeclineNotesRequired","MaxDependentCount","MinDependentCount","getDependents","proxyID","dependents","Name","DependentRequestID","Disabled","notReachMinCount","updateCount","IsSelected","primaryChanged","filteredDependents","showPrimaryInput","showSecondaryInput","secondaryChanged","proceedClicked","NameP","RelationshipP","NameS","RelationshipS","Dependents","draggedFile","deleteUnsavedAttachment","ViewReportHistoryModalComponent","approvalService","getGrid","getWindowHistory","gridData","showAttachment","updateFilteredDocuments","viewAttachment","BenefitUserWindowID","getFileAttachmentList","attachmentList","gridDataFilter","sortDashboardRows","predicate","generateReport","userWindowID","saveWindowAuditReportData","isAdmin","userData","cloneDeep","forkJoin","EditDependentModalComponent","newBornSSN","numDaysBetween","ssnNotRequireOverride","btmText","DependentBtmText","NewBorn30SSNNotRequire","docsRequired","DependentRequiresDocs","originalData","savingDependent","notes","EmplCountry","ssnMask","attachedFiles","savedFiles","hRDPKeyID","dependent","getRelationship","keyID","HRDPKeyID","isAddressValidationEnabled","relationshipList","getUserFields","checkSSN","FieldVPColumnName","addAttachment","d1","d2","getTime","getDependentFields","fields","groupedFields","FieldDataType","FieldValue","dateParts","setHours","check30Days","fieldsToBind","getFieldOptions","DependentFieldData","dependentFieldData","DependentInformation","DependentField","prototype","getSavedAttachments","isLoading","FieldID","fieldOptions","postData","changedKeys","areDatesEqual","toISOString","isSubmitting","submitDependents","userID","dependentRequestID","saveAttachments","promises","attachment","saveFileAttachment","complete","approveClicked","gettingFilesData","dependentRequestAction","sendFileAttachmentRawDataToVP","date2","updatePhone","updateSSN","LinkAnnotationService","BookmarkViewService","MagnificationService","ThumbnailViewService","ToolbarService","NavigationService","SignatureFieldSettings","AnnotationService","TextSearchService","TextSelectionService","PrintService","FormDesignerService","FormFieldsService","EditExpenseModalComponent","sharedModalService","service","pdfResource","editNow","mileageRateLabel","milesLabel","showTaxCodeOnMileage","ShowTaxCodeOnMileage","transDateDaysLimit","isTransDateValid","requireExpenseCodingForApproversOnly","RequireExpenseCodingForApproversOnly","exDisableLineRequireFields","ExDisableLineRequireFields","switchDropdown","SwitchJobToStandardSearchableDropdown","exEnabledEMCo","EXEnabledEMCo","exEnabledGLCo","EXEnabledGLCo","exEnabledJCCo","EXEnabledJCCo","exEnabledSMCo","EXEnabledSMCo","exSubmitIndividualExpenseItem","ExSubmitIndividualExpenseItem","markAttachmentRequireBaseOnThreshold","MarkAttachmentRequireBaseOnThreshold","requireAttachmentBasedOnMileage","RequireAttachmentBasedOnMileage","preventSubmitNonCreditCard","PreventSubmitNonCreditCard","showReviewer","saveInProgress","bindNewTaxCode","disableWhileSaving","isOutOfBalance","ExpenseTransID","UnreconciledAmount","UM","ReimburseOrMileage","CustomerName","matchCreditCard","reimbursementList","taxTypeList","TaxType","TaxTypeDisplay","cleanBoard","currentPRCo","DatabaseValue","Amount","TransDate","TransDateDisplay","LimitReimbursementOnSubmit","showPending","showSaved","itemDetails","Equip","equipTempName","Job","jobTempName","Material","materialTempName","SMWorkOrder","smWorkOrderTempName","WO","woTempName","ExpenseDate","DefaultBlankDate","isPR","lookupValues","lookupLoaded","itemDetailsCheck","lineTypeList","lineTypeListCopy","oriLineTypeList","ExpenseLineType","LineChargeType","clearField","getMileageList","getUM","getFieldsByLineItem","getCatg","getCreditCardList","getAttachment","typeSearch","customerNameSearch","getCustomerNames","Key","customerList","reviewerNameSearch","lookupValueSearch","getlookupURL","lookupURL","preLoadLookup","setLookUps","lookupColumnName","selectFirstLookup","searchReviewer","creditList","displayValue","TransDescription","TransAmount","unlinkCreditCard","unlinkItem","mileageRateDisplay","rateExist","UnitCost","getCompanySetting","expenseSettingsByPRCo","showTaxAmount","ShowTaxAmount","aPCo","APCo","TaxCode","getTaxCode","getTaxCodes","taxCodeList","EffectiveRate","TaxCodeDisplay","TaxAmount","calculateTaxAmount","calculatMileage","Units","MileTotal","calculateCanTaxAmount","saveItem","tempRate","amountChange","getCustomerNamesSearch","blurSave","calculatTotal","saveTrigger","rorMUpdate","CustomerCount","OurFirmCount","transDate","restrictedTransDate","subtract","IsExpenseAdmin","saveDetail","ReceiptDescription","typeFields","form","valid","SubmittedByUserKeyID","Vendor","Note","AttendeeName","JCCo","Phase","GLCo","GLAcct","SMCo","EMCo","JCCType","PO","POItem","SL","SLItem","WOItem","CostCode","EMCType","CompType","Component","INCo","Loc","Scope","POItemLine","SMCostType","attachmentUpload","submitItem","reviewerArray","equipTemp","jobTemp","materialTemp","smWorkOrderTemp","woTemp","typeChanged","fieldProperties","ColumnName","Visible","Required","Req","FieldLabel","IsCombo","loadValues","ItemType","getPOFields","groupFields","columnName","selectFirst","isSuper","preload","gettingLookupValues","tempPOCo","POCo","encodeURIComponent","SMScope","fieldChanged","checkCount","newValues","oldPOFields","oldField","fieldFound","newField","bindPOValues","phaseTemp","phaseTempName","CurUnitCost","stopCalculate","CurUnits","TotalCost","ECM","CurECM","TaxBasis","TaxAmt","TotalTax","fieldsName","populateFields","savedData","equipTempname","willSave","restrictJCCO","getLookups","umList","pendingTrigger","savedTrigger","creditCardAction","transAction","TransVendor","getLineAttachments","selectedAttachment","tempExten","AttachmentFileName","attachmentChange","extension","showViewer","ej2_instances","currentAttachID","AttachmentID","pdfviewer","unload","getPdfData","FileAttachmentID","toolbar","showToolbarItem","documentPath","downloadFileName","preLoad","ID","ItemID","disableButton","ExpenseAttachmentID","AttachmentFileData","checkAttachmentInfo","attachTF","FileName","comboFocused","selectedPayApp","checkForJCCType","getFieldValuesByPOItem","Equipment","canSave","jccTypeId","isInJCCType","switchEditImage","disableSaveImage","enableEditImage","getAttachmentList","getImageData","deleteSavedAttachment","removeAttachment","getRawAttachmentData","uploadImage","imageSrc","imageCropped","croppedImage","applyRotateLeft","canvasRotation","flipAfterRotate","applyRotateRight","flippedH","flipH","flippedV","flipV","restartJcrop","cancelCrop","allowCropping","saveEdit","grabURI","getLargeLookupValues","tempName","saveAndSubmitClicked","earnCodeChanged","taxTypeChange","umChange","AddressConfirmationModalComponent","useSuggestedAddress","keepBadAddress","cancel","suggestedAddress","badAddress","UpdateDependentAddressModalComponent","employeeservice","hasSelected","updateDependent","listItem","Address","checkIfAnySelected","isSelected","RegisterTrainingPastClassesAttachmentModalComponent","employeeTrainingService","classInfo","TrainingClassID","RemoveClassModalComponent","TrainingBulkUpdateModalComponent","confirmClicked","employeeData","trainData","ViewDetailModalComponent","trainingAttachmentsGetList","ItemKeyID","SkillOrTraining","hideGrade","ActualEquipmentModalComponent","equipmentNotUsed","sortByOptions","title","isDescending","sortByValue","currentSort","updateFilter","setFiltered","filteredEquipments","equipments","equipment","filters","notUsedOnly","sortBy","setTableSorting","setPage","shownEquipments","tens","useSelected","selectedValue","_","AddFieldTicketDayComponent","templateChanged","addValue","insertTemplateData","PostDateCrewLayoutDetailID","CrewTemplateID","FieldIdentifier","templateDates","every","CrewTemplateDataID","crewTemplateDataID","deleteValue","deleteTemplateData","DeleteOnboardEmployeeModalComponent","deleteClick","deleteOnboarding","closeClick","DeleteResetOnboardTaskModalComponent","resetClicked","deleteTask","task","OnboardTaskID","pageData","I9GenModalComponent","getList","fromDate","toDate","i9GenList","i9List","HRRMKeyID","errorResponse","genClicked","employeeList","i9Gen","onSelectAll","employeeUpdate","onClearAll","InitializedAttachModalComponent","NoteDetailActionModalComponent","getNote","applicantNotesGet","noteList","editNote","editing","applicantNotesAddEdit","NoteText","ReqApplicantNoteID","newNote","updateTimeout","lastActivityTime","removeNote","remove","removeNoteCancel","removeNoteConfirm","applicantNotesRemove","saveText","viewMode","OnboardInitModalComponent","deleteMode","taskDeleted","Gender","Race","RaceEthnic","autoRef","hrefCB","HRCo","CompanyName","hrRef","futureDate","expectHRRef","disableAttachmentUploadOnboarding","DisableAttachmentUploadOnboarding","oNInitHirestoPayroll","ONInitHirestoPayroll","autoAssignPREmpToHRRef","AutoAssignPREmpToHRRef","PREmployeeDisable","IsRehire","PREmployee","employeeHRREFInfo","PREmp","overtimeScheduleList","Description","personalInfoData","AnticipHireDate","hireDate","getHRCo","getPRCo","getACA","getRaceCodes","getTimeRevGroup","HRRef","checkMaxLength","hrRefDisable","raceList","getRehireValues","hrcoUpdate","getEmploymentStatus","prCompanies","PRCoNameMask","pRCoChanged","PositionCode","getPosition","PRGroup","PRDept","InsCode","LocalCode","OccupCat","getDropDownValues","craftChanged","getClass","hireDateChange","getHRCO","expectHRCo","hrCompanies","acaCode1","acaCode2","getACACode","ComboType","getPRGroup","getCompanyGroups","pRGroups","getInsurance","getInsCodes","insuranceCodeList","isExist","timeRevList","employmentStatusList","getLocalCode","localCodeList","getCraft","crafts","classes","getPRDept","departments","getEarnCode","earnCodes","getOccupation","getOccupationCategories","occupationCat","getPositionCodes","positionCode","finishedLeave","autoRefChange","initialize","raceEthnic","initializeEmployee","Wage","timesheetRevGroup","CodeSeries1","CodeSeries2","EmploymentStatus","OvertimeSchedule","InitializedHRRef","ReturnMessage","processed","processOnboardingForms","instanceIDs","templateIDs","filetypes","OnboardChecklistInstanceID","OnboardBulletinID","IncludeW4","IncludeI9","IncludeIdentification","ApplicantOnboardID","IncludeDirectDeposit","IncludeEmergencyContacts","errorMessage","getRehireDetailsByHRRef","reHireInfo","ExpectedSalary","StdInsCode","StdCraft","StdClass","OnboardingInvitationModalComponent","showCheckSSN","ONCheckSSNOnInvite","getOnboardingEmployees","noHireCheck","getAllDefaultsList","defaultsGetAllList","profile","processes","filteredProcesses","unusedProcesses","OnboardTaskIsDefault","UseTask","addProcess","taskToAdd","firstName","lastName","usedProccesses","OnboardTaskDefID","onboardTaskDefIDString","action","removeTask","updateFormdata","profileList","ReviewDDModalComponent","getDirectDeposit","getOnboardDirectDeposits","accountList","OnboardDirectDepositID","Attachments","ReviewECModalComponent","country","getContact","getOnboardEmergencyContacts","contactList","expendRow","Expended","ReviewI9ModalComponent","new2023","i9Section3Require","I9Section3Require","requireFirstWorkdateOnI9","RequireFirstWorkdateOnI9","isRehire","S3SignatureDate","monthDateFormat","S2SignatureDate","formData2","ListBDocumentTitle","ListBIssuingAuthority","ListBDocumentNumber","ListAExpirationDateStr","ListAExpirationDateStr2","ListAExpirationDateStr3","ListBExpirationDateStr","ListCExpirationDateStr","S2EmployeeFirstDayStr","S2SignatureDateStr","S3RehireDateStr","S3ExpirationDateStr","S3SignatureDateStr","S2SignatureTypeSign","S3SignatureTypeSign","S2SignatureBinary","S3SignatureBinary","ListBExpirationDate","ListCDocumentTitle","ListCIssuingAuthority","ListCDocumentNumber","ListCExpirationDate","documentTitleAList12","documentTitleAList3","documentTitleAList4","documentTitleListOri","documentTitleBList","documentTitleCList12","documentTitleCList34","getI9ByOnboardID","oNGetI9ByOnboardIDStep2","IsPreparerUsedYN","S1BirthDate","S1AlienExpiration","S1SignatureDate","PreparerSignatureDate","sign","signEmployeesubmitSignImg","signPreorTransubmitSignImg","PreparerList","onboardI9GetSupA","PreparerLastName","PreparerFirstName","PreparerMiddleInitial","MiddleInitial","PreparerAddress","PreparerCity","PreparerState","PreparerZip","ZipCode","PreparerSignature","seq","Seq","S2EmpLastName","S1LastName","S2EmpFirstName","S1FirstName","S2EmpMiddleName","S1MiddleInitial","S2EmpCitizenStatus","S1CitizenStatus","q4NA","documentTitleAList","documentTitleCList","ListAExpirationDate","ListAExpirationDate2","ListAExpirationDate3","S2EmployeeFirstDay","S3ExpirationDate","S3RehireDate","sign2","signEmporAuthS2submitSignImg","signEmporAuthS3submitSignImg","ListAExpirationDateinvalid","ListAExpirationDateinvalid2","ListAExpirationDateinvalid3","ListBExpirationDateinvalid","ListCExpirationDateinvalid","checkDate","todayDate","saveI9","validateCheck","checkSigned","I9Form","S2BusinessAddressInvalid","signEmporAuthS2NotEmpty","signEmporAuthS3NotEmpty","signEmporAuthS2typeSign","signEmporAuthS2rawImgData","signaturePadS2","signEmporAuthS3rawImgData","signaturePadS3","updateI9ByOnboardIDPart2","checkAddress","parmName","regex","signEmporAuthS3RedBorder","signEmporAuthS2RedBorder","updateSZip","S1Zip","updatePZip","updateS2Zip","S2Zip","ReviewIdenModalComponent","companyName","CareerJobCompanyName","getApplicantRaceCodes","selectedSex","selectedVeteran","Veteran","selectedDisability","Disability","GenderIdentity","GenderIdentity_OtherDesc","Veteran_Disabled","Veteran_AFServiceMedal","Veteran_ActiveDutyWartime","Veteran_DischargeDate","getDashboard","selectedRace","ReviewOnboardingModalComponent","employeeInfoServcie","fieldService","httpClient","onAdmin","gender","TasksCompleted","getTasks","existingHire","existingMsg","getInsuranceCode","raceEthnicity","getTasksByOnboardID","tasks","TaskCompletedDisplay","OnboardTaskDateCompleted","OnboardTaskName","downloadDocument","downloadChecklist","getDBAttachmentList","removeFileAttachment","val3","moduleID","recordGUID","attachmentFileData","attachmentFileName","recordID","innerCounterChange","confirmDeleteTask","confirmDelete","sendReminder","toggleInitialize","initMode","initializeBirdDog","effectiveHireDateStr","hRCoForInitialization","pRCo","pRGroup","wage","craft","classID","pRDept","earnCode","insuranceCode","hRRef","systemID","onInitializeBirdDogRecord","NewHRRef","ReviewW4ModalComponent","IsAddressValidated","currentYear","IsExempt","SignDate","showNewForm","getRouteData","fillW4","getInfoByOnboardID","getW4Info","fillW4URL","alreadySubmitted","DateSubmitted","switchLanguage","FormLanguage","step","w4Info","IsDiffLastName","DateFirstEmployment","SignatureBinary","SignatureDate","isExemptUpdated","MultiJobs2020","QualChildAmount","OtherDependentAmount","DependentAmt2020","OtherIncome2020","Deductions2020","AdditionalAmount","isAddressInvalid","insertUpdatew4","dirty","step3Calculate","saveW4","W4Form","updateW4ByOnboardIDPart2","EmployerNameAddress","EIN","saveFillW4","SSN","SignDateStr","validateAddress","scrollTo","IsValid","openAddressValidationModal","SuggestedAddressString","OriginalAddressString","SuggestedAddress","address","originalAddress","suggestedAddressComponents","userChoice","PostalCode","routeToTask","bsModalRef","prefillJP","PrefillPerviousJobPhase","tcClockIOIgnoreJobPhase","TCClockIOIgnoreJobPhase","getJobs","jobs","JobDisplayName","LastUsedJCJMKeyID","getPhases","JobDescription","jobChanged","setJob","phases","getPhasesByJCJMKeyID","LastUsedJCJPKeyID","PhaseDescription","PhaseGroup","clockInClicked","hide","customMsg","CustomVerbiageClockOutSign","clockOutClicked","ReadOnlyPdfViewerComponent","bdatePickerOptions","getExpenseModel","showExpenseCategory","ExShowExpenseCategory","expensePostingType","userKeyID","getExpenseReceipts","expenseData","openEditExpenseReceipt","allowInfoChange","showPaperlessCarrier","requirePersonalInfo","PaperlessPersonalInfoRequire","HRPortalName","EmployeeCountry","optOutSMS","showPayStub","showW2","showC1095","ElectronicPaystubConsent","W2DocumentConsent","C1095DocumentConsent","ElectronicPaystubVerbiage","ConsentPaystubsVerbiage","W2DocumentVerbiage","ConsentOtherDocsVerbiage","C1095DocumentVerbiage","ConsentC1095DocsVerbiage","userFields","FieldVPViewName","PendingValue","CellPhoneOrig","CellPhone","CellPending","CellPhoneFieldUpdateMode","FieldUpdateMode","CellLabel","EmailOrig","EmailPending","EmailFieldUpdateMode","EmailLabel","CellCarrierOrig","CellCarrier","CellCarrierPending","CellCarrierFieldUpdateMode","CellCarrierLabel","carrierMissingMsg","getComboItems","personalInfoLoaded","validatePhone","stringReplace","maskLength","origVal","inValidPhone","fieldID","getComboItemsByFieldID","cellCarriers","emptyCarrierList","updateInfo","confirmSettings","udCellPhoneCarrier","personalInfoUpdate","JSON","stringify","firstRadio","secondRadio","thirdRadio","updateCellPhone","queryParams","NgSelectModule","NgbModule","NgxSignaturepadModule","QuillModule","PaginationModule","NgxCurrencyModule","ImageCropperModule","TimepickerModule","PdfViewerModule","DragDropModule","AddAttachmentChecklistTemplateModalComponent","AddAttachmentModalComponent","CancelHolidayModalComponent","ChecklistItemClickSignModalComponent","EditLongPromptModalComponent","FloatingModalComponent","InitializeModalComponent","NoteModalComponent","ReviewCashoutRequestModalComponent","ReviewTimeoffRequestModalComponent","SubmitChecklistSignModalComponent","ViewCompanyHolidayModalComponent","ViewEditReviewerModalComponent","ViewGroupTimeoffModalComponent","LookupModalComponent","ExcelExportComponent","ViewAttachmentComponent","TextEditModalComponent","ViewImageModalComponent","CompleteTripModalComponent","CloseOutModalComponent","TextDisplayModalComponent","ListViewModalComponent","ContactListModalComponent","NewServiceItemModalComponent","ServiceListModalComponent","NewWorkOrderModalComponent","EditScheduledDateModalComponent","AttachmentDetailsModalComponent","DropdownSelectModalComponent","AcknowledgeModalComponent","NumberInputModalComponent","SearchSelectModalComponent","WebixDatatablecomponent","ViewExpenseAttachmentModalComponent","formName","export","formTitle","lookupService","rowOrderValue","filterValue","reverseSortOrder","retrievingLookups","columnHeaders","lookupRows","filteredRows","pageRows","selectedRow","paginationData","maxItemsPerPage","maxPageCountDisplay","totalItemCount","setLookupCategory","getLookupList","availableLookups","LoadSeq","selectedLookupCategory","Lookup","lookupParams","lookup","getLookup","updatePageRows","closeLookupModal","orderTableByValue","orderValue","filterLookupTable","rowContainsSubstring","selectRow","triggerLookup","selectedPage","LookupModalService","performanceService","dueDate","setDate","disableSelfReview","selectedManTemplate","getTemplate","getEmpl","selectedEmpTemplate","getEmplByChecklistTemplateID","emplData","filterEmplList","selectAll","selectEmployee","errorCount","filterList","initializeClicked","emplString","initializing","userKeyIDString","dateDueStr","employeeChecklistTemplateID","managerChecklistTemplateID","initializePerformanceInstance","getReviewerList","getAttendees","reviewerAddList","checkExisting","exist","getReviewersByInstance","PerformanceInstanceID","DateSubmittedDisplay","addNewReviewer","reviewerAdd","unsubmitReviewer","unsubmitReview","PerformanceReviewerID","unsubmit","reviewerDelete","reportGatewayService","getVistaAttachment","attachmentId","rid","rsid","IsError","FileData","Error","features","itemID","AttachmentCaption","TempAttachmentCaption","captionChanged","updateOnboardTaskComplete","fileUpload","css","checkCaption","uploadAttachment","currentFile","errMsg","attachmentType","fileAttachmentUpdateCaption","active","isSendToVista","fileDescription","recordKeyID","fileAttachmentID","fileAttachmentType","addBillAttachment","attachmentDetail","allowMultipleAttachments","img","saveAndCloseModal","confirmed","onConfirm","confirmButtonText","cancelButtonText","onSave","dropdownItems","bindValue","bindLabel","confirmationButtonText","actionClicked","styles","checklistTextHeader","saveAndClose","inputValue","inputLabelText","saveButtonText","search","searchFunction","searchFunctionAsync","searchAsync","clearSearchField","cancelAndCloseModal","clearButtonText","signed","labelText","buttonText","modifiedText","editText","saveModal","modalHeader","refreshClicked","logoutClicked","matchFound","matchFoundCount","individualFilter","searchEmployees","getEmployees","isEmployeeGroup","fullName","alertGroupAdded","FullName","UserGroupName","employeeSearch","employeeLabel","addByIndividual","tempPRCo","tempEmployee","SqlOver","userGroupAddSingleUser","closed","receiptAttachments","receiptDetails","receiptItemsDetails","imagePath","actionID","actionType","triggerDelete","details","AttachmentTypeID","attachmentDescription","RawDescription","triggerDeleteAttachment","resetTriggerDeleteAttachment","deleteAttachmentAndCloseModal","uploadClicked","typeList","attachmentCount","selectedTrip","ScopeData","SMTripID","ScopeDataDisplay","WorkOrder","SMWorkOrderID","ScheduledDateDisplay","Display","TripDescription","Index","getPayType","selectedScope","selectedPayType","SMWorkOrderScopeID","currentWorkOrderScopeData","getSettingsBySMCo","getCommonLookups","lookupList","LookupType","Code","payTypeExist","DefaultPayType","CodeDescription","Company","lookupReady","sMWorkOrderScopeID","sMPayType","sMTripID","emailDistribution","emailToList","emailCCList","fullEmailList","signedOffSelected","fullEmailListFiltered","emailRegexCheck","testRegex","RegExp","emailInvalid","checkEmail","selectedEmail","emailExist","addToEmailList","removeEmail","completeClicked","disableEmailOnComplete","HQContactID","tempEmail","extraEmailList","stopCompleteTrip","loadAttachData","closeReturnTripRequired","collectPayment","bypassAttach","SMHideAttachmentOnComplete","currentTrip","isCollectSignature","SMEnablePaymentCollection","getWorkOrderScopes","scopeDetails","SMHideReturnTrip","TripCloseSetting","RequiredTripNotes","SMDaysFromTripClosedToShowWorkOrder","IsClose","closeRequireUpdate","closeReturnTripReason","closeNotes","previewCompleteTrip","tempScopes","tempUnique","UniqueAttchID","checkAll","allCheck","closeCount","updateCheck","hideAttachmentChange","continueClicked","closeOutMissCompleteForm","closeOutMissingCallType","tempClose","tempCloseInt","tempCloseExcludeForInvoice","missingCallType","scope","SMCallTypeRequire","scopeDetail","CallType","alertCall","closeList","justComplete","getFormsPerScopeMulti","missingRequireForm","CompleteRequired","IsMissingRequiredFields","alertForm","completeTrip","sMWorkOrderID","revisitRequired","revisitReason","revisitNotes","justSendEmail","signOffList","datepickerOptions","TripName","ScheduledDate","ScheduledTime","meridiem","Active","addServiceItemAndClose","serviceItemInsertUpdate","ServiceSite","ServiceItem","ItemDescription","Manufacturer","Model","YearManufactured","Location","SMTypeID","SerialNumber","ServiceItemSummary","SMRequireSiteOnNewWO","AllowManualWorkOrderNumber","SMServiceSiteSuperLookup","centerList","divisionList","technicianList","tech","IsLoggedInUser","technician","currentSMCo","getCustomers","getCenters","getSite","getCommonLookup","siteList$","siteListInput$","getSitesByCustomer","customer","searchFilter","Technician","UserFullName","technicianChanged","serviceCenter","serviceSite","siteContact","siteContactPhone","selectedSiteName","customerListBack","Customer","nameCheck","resetLookup","checkNumber","workOrderInvalid","workOrder","customerChanged","siteList","siteChanged","DefaultSiteContact","DefaultSitePhone","DefaultServiceCenter","SMServiceSiteID","SMCustomerID","site","getServiceCenters","DOMParser","parseFromString","Divisions","temp4","DivisionList","Division","ServiceCenter","serviceCenterChanged","division","createNewWorkOrderClicked","sMCo","sMCustomerID","sMServiceSiteID","workOrderDescription","requestedBy","requestedByPhone","contactName","contactPhone","leadTechnician","sMWorkOrderNotes","includeUnscheduled","isUnscheduled","sMCallType","callType","workOrderInsertUpdate","sanitizer","onEdit","ServiceSiteNotes","SMEditServiceSiteNote","SMAllowServiceItemEdit","WOorSI","getWorkOrderHistory","getServiceItemDetails","serviceList","DescriptionHTML","filterServiceItem","serviceItemWOHistory","woHistoryList","woHistory","CompletedDate","CompletedDateDisplay","TripNotes","TripNotesHTML","editNotes","saveNotes","updateSiteNotes","routeToServiceDetail","toDrillDown","filteredServiceList","createServiceItem","DaysAndHoursPipe","daysAndHours","accrualRate","leaveCode","AccrualRate","hrTimeOffMessage","HRMesasageForTimeOff","disableProjected","VCDisableProjected","displayDate","stdWorkdayHours","Languages","totalAccruedFromDateLastUsed","dateDiff","cashHours","payPeriod","defaultFridayHours","groupDates","dates","currentDay","nextDay","tomorrow","threeDays","getDay","addToRequests","requestString","dateString","leaveCodeDesc","calculateHours","requests","DateString","RequestString","Hours","requestType","customFridayMode","newBalance","leaveCodeID","projectedInitial","hideInitRemainHourModal","timeOffService","yearList","selectedYear","getHoliday","getHolidaysByUserKeyID","holidayList","HolidayDateString","Day","ctx_r6","ctx_r8","minMode","add","grid","monthChange","isOpen","updateData","activatedRoute","titleService","renderer","securityPinMessage","SecurityPinMessage","logoHQCo","LogoHQCo","isResetPassword","setTitle","setStyle","queryParams$","markAsPristine","backToUA","employeeDetails","employeeParams","Token","token","ManualToken","manualToken","company","navigation$","isFromPasswordModal","hasUnsavedChanges","isPasswordChanged","getEmployeeDetails","setLogoUrl","isIE","detectIE","newPassword","resetPassword","securityPIN","manualResetPassword","verificationPIN","navigateToLogin","returnUrl","co","hash","msie","trident","rv","edge","arePasswordsFilled","EmployeeId","CompanyId","HttpHeaders","AccountService","login","loginData","actionModel","windowsLogin","requestPasswordReset","employeeNum","inputPin","createAccount","accountData","checkReturnUrl","getCompanyNumFromUrl","coString","namedLogin","username","password","getVistaTidEnabled","requestObject","URLSearchParams","oldPassword","getJobsAccessToken","getAccountLogoutRedirect","AdminService","getErrorLogs","exportErrorLog","getConfigCat","getLoginUrl","getAllEmailTemplates","getAttachmentTypes","getUSStates","getVersionNumber","getCustomerId","getAllPortalSettings","getPortalSettingUpdateLogs","savePortalSettings","configName","configValue","settingName","settingValue","portalSettingsPageData","getVersionHistory","sendUsageDataTask","refreshPortalSettings","refreshSynonyms","refreshDynamicViews","purgeVCMSessions","checkExistRDL","uploadCustomRDL","deleteCustomRDL","builderCustomRDLAction","deleteList","updateConfigInfo","helperText","isAdvanced","moduleSubID","defaultValue","regularExpression","birdDogTalentUserInsert","deleteTempFilesAction","clearCoLogoCache","getBulletinType","bulletinGroupType","getAllBulletinType","getBulletinsManage","deleteBulletin","bulletinID","getDBAttachment","BulletinThumbFileAttachmentID","recordGuid","onboardingUser","addEditBulletin","bulletinAttachDocumentFlagValue","bulletinHeadline","bulletinBody","bulletinExpiresString","bulletinThumbnailText","bulletinThumbFileAttachmentID","bulletinMode","bulletinTypeID","bulletinDirectURL","bulletinStartDateStr","embedAttachmentInPage","bulletinIgnoreDateString","bulletinSignatureText","bulletinIsPinned","bulletinIsSecure","isFillablePDF","hasSecondStep","hasSecondReviewStep","isStateForm","state","prefillPersonalData","disabledRequiredFields","getBulletinGroup","setBulletinGroup","removeBulletinGroup","userGroupBulletinTypeID","saveDBAttachment","userGroupName","fliterInactive","sQLQueryOverride","memberType","isIncluded","groupValue","removeBulletinType","setBulletinType","bulletinName","getBulletinTrackResponses","pREHKeyID","bulletinAttachToVista","PREHKeyID","bulletinResponseID","includeInactive","getBulletinsGetIndex","isAdd","jcjm","getCodes","getScheduledJobs","getScheduledJob","jobID","getScheduledJobHistory","addOrUpdateScheduledJob","job","removeUserDefinedJob","executeJobNow","sendSMSUserGrouop","sMSSubject","messageType","includeOptOut","scheduledSendDateStr","scheduleTimeStr","getMailLog","getMailQueueProcessSources","getHangFireEmailStatus","sendEmailQueueHourly","deleteMailQueueItem","mailQueueID","sendTestEmail","mailTo","forwardEmail","getTrainingCompany","getClassesToManage","hRCo","showTemplates","trainingClassID","getChecklistTemplate","checklistTemplateCatgID","getRequireCourseSetting","addGroupToClass","trainingClassId","removeGroupFromClass","hasCompletedChecklist","addAttendeeToClass","attendeeUserKeyID","getGroups","removeAttendee","trainingClassAttendeeID","addCodeToClass","hRCMKeyID","removeCode","createEditClass","classDateTimeStr","classTitle","isClassOpenRegister","classInstructorUserKeyID","maxAttendeeCount","classEndDateTimeStr","checklistTemplateID","isClassTemplate","templateTrainingClassID","expirationDateStr","finalizeClass","isFinalized","getGroupByClass","getCodesByClass","getAttendeesByClass","attendeeSign","isPresent","signatureLong","signatureLat","attendeeMarkAllPresent","deleteClass","getHolidayGroupSet","getHolidayCodeAssign","holidayGroupID","getHolidayList","selectedCountry","getUserGroupList","addUserGroup","addHolidayGroupName","holidayGroupName","updateHolidayGroupName","removeUserGroup","userGroup","holidayCodeAssignID","HolidayCodeAssignID","deleteGroup","holidayGroup","HolidayGroupID","addHoliday","holidayData","holidayID","holidayDateStr","holidayName","holidayDescription","isPartialDay","deleteHoliday","holiday","HolidayID","getHolidayByGroupID","getPRGroups","getEmployeesByPRCoAndPRGroup","getVistaVersion","getEmailTemplates","emailTemplateID","evaluateEmailTemplateVerbiage","onboardID","templateBody","templateSubject","sendEmail","templateTo","getAvailableFields","getTrackingTypes","getUpdateModes","fieldId","getFields","addField","fieldName","viewName","updateField","updateMode","trackingType","fieldOverride","isRequiredForBenefits","fieldRequiredAttachmentOnChange","removeField","moveField","direction","getCMList","pRPCKeyID","getOptOutDetails","docType","filterType","prepareOptOutDoc","part","companyId","groupId","showOnlyOptOutPeriods","getPaystubCount","payPeriodId","scheduleGet","scheduleRemove","payStubNotifierID","scheduleAdd","sendSMS","cMRef","isSentFromAutoNotifier","getProfileCompanies","getHRCompany","getBenefitGroupMembers","hRBGKeyID","showIndividualsOrGroups","addBenefitGroupMember","hideResults","getBenefitGroups","getPRCoByHRCo","getEmployeesByHRCo","removeBenefitGroupMember","benefitGroupmemberID","clearBenefitGroupMembers","previewBenefitGroupMembers","getTimecardCompanies","source","getAllocationJobs","getAllocations","getBatchesFrom","getBatchesTo","getSafetyNetItems","hQBCKeyID","restoreSafetyNetItem","getFailedUserAttempts","startDate","endDate","getIPForEmployee","getActiveSessions","getAllActiveSessions","insertUpdateAllocation","allocationID","jCCo","deleteAllocation","pendingChanges","processFieldUpdate","fieldUpdateId","actionValue","newValue","adminNotes","personalAttachAction","docSubmissionID","personalAttachUpdate","descriptions","AttachmentType","getW4Detail","exemptUpdateID","w4AdminUpdate","HPR","ct","getDirectDepositUpdate","processDirectDepositUpdate","directDepositUpdateID","actionCode","note","preHkeyID","attachment1","attachment2","attachment3","attachment4","attachmentFileName1","attachmentFileName2","attachmentFileName3","attachmentFileName4","attachmentDescription1","attachmentDescription2","attachmentDescription3","attachmentDescription4","removeEmployeeUserGroup","userGroupMembersAddUpdate","getUserGroupMembers","getUserGroupMembersRefreshAll","addUserGroupMember","removeUserGroupMember","userGroupMemberID","clearUserGroupMembers","getDynamicEmailFields","addEditEmailTemplates","templateName","isStandard","IsStandard","TemplateTo","templateCC","TemplateCC","templateBCC","TemplateBCC","jCDMKeyID","sendAsSystem","deleteEmailTemplates","getLeaveRequestSummary","dateFromString","dateToString","onlyIsPendingForFilter","getRequestsByMonth","monthStr","setScheduleChecked","leaveRequestID","udScheduleChecked","leaveRequestUpdate","leaveRequestId","actionToPerform","getEmployeesByAuthToken","getApproverListByPREHKeyID","getHRGroupAdmins","addHRGroupAdmin","userId","removeHRGroupAdmin","updateHRGroupAdmin","notifyDaily","notifyRealTime","approve","vacation","isTimecardDashAdmin","isTimecardMoveAdmin","isVacationDashAdmin","isBulletinAdmin","isSecurityAdmin","isTrainingAdmin","isBenefitsAdmin","isVacationCalendar","isExpenseAdmin","isTrainingClassAdmin","isHRDocumentAdmin","isPRAdmin","permissionItemsGet","dataType","permissionItemID","permissionAssignmentAdd","permissionAssignmentsClear","permissionItemIDString","permissionAssignmentDelete","permissionAssignID","permissionAssignmentsGet","permissionAssignmentsEffective","deleteDBAttachment","processFaceQueue","getProvisionedLicenseCounts","getActiveLicenseCounts","getCompaniesForUserAccess","getPRGroupsByCompanyId","getEmployeeGroups","linkVPID","unlinkVPID","unlinkTID","tid","getUsers","getReviewerGroups","setBulkHours","getCounts","clearUserGridSettings","sendWelcomeEmail","sendWelcomeEmailAll","sendMobileInvite","getUserGroups","bulkApplyPOLicenseType","bulkCheckBox","unlockNamedLogin","getOpenAdminTrans","deleteTransactions","transIDString","deleteTrans","importID","uploadTrans","expenseTransIDToRemove","getImportTrans","getApprovalHistoryByCreditCard","expenseTransID","getReportManage","repostInstanceID","getReportCatList","updateBulletinReport","reportInstanceID","reportInstanceName","reportServerItemID","sendXML","showParametersOnReport","deleteBulletinReport","getUserAccessPageData","ApprovalService","getSupportRequests","supportDepartmentID","getHRList","updateRequest","supportRequestID","requestStatus","assignedToUserKeyID","submittedByUserKeyID","isUrgent","getRequestByID","getSupportNotes","addSupportNote","supportNote","isNotify","getAssestsByEmployee","getAttachmentsByRequestID","actionNotes","benefitUserWindowID","hRUserKeyID","getBenefitsDashboardFilterValues","addlFilterName","getBenefitsDashboard","benefitGroup","windowTypeID","initializeUserWindow","windowStartDateString","windowEndDateString","requestedEffectiveDateStr","sendEnrollmentReminder","benefitUserWindowIDString","benefitCodeAudit","checkBenefitSummaryReport","startDateStr","endDateStr","getPendingBenefitsRequests","benefitRequestAction","isApproved","benefitRequestID","effectiveDateString","getPendingDependentRequests","approveVacation","rejectVacation","getServerBasedDate","getRejectReasons","getTimecardApprovalJobs","approvalStatus","isManager","getTimecardSummary","filterResults","getUnapprovedJobTimecardLines","approveTimecard","requestData","rejectTimecard","getPOPendingItemsToReview","pOPendingUpdateStatus","wFProcessDetailKeyIDs","reviewerComments","getPOPendingGetAttachments","headerUniqueAttchID","itemUniqueAttchID","getVPAttachmentPDF","getVCMAttachment","contentTypeName","docID","ChecklistService","getItemGroups","toggleTemplateActive","isActive","addUpdateTemplate","checklistTemplateName","reportRDLFileName","workflowInclPM","workflowInclJobRev","workflowInclInvRev","workflowInclUserGroupID","workflowInclTimecardManager","enableWorkflow","adminGroupID","disableSubmission","rdlData","attachDocumentFlagValue","workflowUsersCanFinalize","copyChecklistTemplate","origChecklistTemplateID","newChecklistTemplateName","getLookupDataTypes","getTemplateInfo","getTemplateInfoFromInstance","getHeaderFieldsByTemplateID","insertUpdateHeaderFields","checklistHeaderFieldID","headerFieldName","headerFieldLabel","fieldType","fieldIsRequired","isRestrictedAccess","addItemGroups","itemGroupName","itemGroupSeq","itemGroupPct","editItemGroups","moveChecklistGroup","submitChecklistOrder","deleteItemGroup","getBranches","getChecklistHistory","selectedBranch","saveMultiChecklists","isonboard","downloadMultiChecklists","filenameList","zipName","checklistRevID","reviewerSource","fromEmail","mailFrom","queueType","notificationMode","sMSTo","signatureDataStr","pdfFileData","pdfFileName","getChecklistInstanceDetails","getHeaderFields","getChoicesByHeaderFieldID","updateHeaderFieldValue","fieldValue","submitChecklist","pdfData","deleteChecklistItem","templateCategoryID","createNewChecklist","sendChecklistsToVista","createdBy","GetLookupChoices","updateLookupChoices","checklistHeaderChoiceID","choiceShortName","choiceLongName","choiceIsActive","isValueNotUnique","deleteLookupChoices","moveSeqLookupChoices","updateLookup","checklistLookupName","checklistLookupSQLOverride","checklistLookupIsActive","evaluateLookup","checklistInstanceItemID","itemComments","itemIsCorrected","correctedComments","typeID","itemResponseDisplay","getChoicesByTemplateItemID","getChecklistInstancePDF","CrewTimecardService","getAllLayouts","getBulkEmployeeList","getCellPossibleValuesByEmployee","prehKeyID","getCrewClockInStatus","crewTemplateID","getEmplLockStatus","getJobsByAuthToken","getLayout","crewLayoutID","getLookupValues","crewLayoutDetailID","getPayPeriodDetails","isCrewOrStandard","getPayPeriodsByTemplate","getCrews","pRGRoup","pRCRKeyID","getCrewTimecardColumns","timecardGroupID","getLineTypesByTemplate","laborOnly","getPREHKeyIDByEmployee","getQuestions","TimecardGroupID","getRequiredColumns","getTemplateDays","getTemplatesByPRPCKeyID","getTimecardColumns","isJobApproval","payPdStatus","cloneCrewTimecard","cloneFromTemplateID","cloneToTemplateID","cloneFromPRPCKeyID","cloneToPRPCKeyID","isCloneHours","cloneType","restrictSubmitted","createLineFromClocks","employeeString","createAsSubmitted","groupTimeEntry","fieldIdentifier","submitCrewTimecard","submittedOnString","submitCrewTimecardEmployee","questionRow","actionString","submitSignatureStr","submitNoIssues","submitIssuesNotes","unsubmitCrewTimecard","unsubmitData","getPRCoPRGroup","isTimecard","addCrewMember","addEditCrew","crew","crewDescription","deleteCrewMember","pRCWKeyID","PRCWKeyID","updateLayoutDetails","stickyColumnCount","stickyJobApprovalCount","updatelayout","layoutUpdateModel","getLayoutColumns","deleteLayout","getTemplates","insertUpdateTemplateHeader","templateIsActive","templateCanBeEdited","templateIsShared","deleteTemplateHeader","getTemplateEmployees","getCrewMemberMulti","crewIDs","snapshot","kioskLogin","redirectToLogin","loginURL","history","replaceState","pushState","companyLoginChoices","CompanyLoginChoices","requirePasswordClockIO","RequirePasswordClockIO","tCClockIOIgnoreJobPhase","requireSign","jobInput$","lockPage","lastFullClockIn","lastFullClockOut","lastClockIn","totalHours","unlockPass","setClockStatusResponse","PMMode","loadingAccess","tokenResponse","accessToken","statusResponse","cancelClockIO","changePhase","changePhaseNow","cancelChangePhase","confirmChangePhase","clockInTime","fromGroupClock","kioskPass","postClockActionAnon","actionMode","clockResponse","showBanner","resultClockAction","resetGetStatus","unlockForm","unlockClockInPage","pageUnlocked","loadPhase","searchPhases","job$","getJobsForClockIn","lastUsedJCJMKeyID","employeeResults","employeeName","getClockHistory","historyResponse","reversedResponse","timeFormat","updateHoursColumnValue","startTime","stopTime","elapsedHours","parseFloat","getPhasesForClockIn","lastUsedJCJPKeyID","LastUsedJob","LastUsedPhase","lastAction","clockText","clockInOutPage","clientWidth","clearTimeout","redirectTimeout","loadingClockStatus","clockActionPerformed","clockIn","clockActionSuccess","searchJobs","disableSubmitSign","EmployeeService","getEmergencyContactList","getECEmployees","getECRelationship","getStateLookup","updateEmergencyContact","hRECKeyID","contact","relationship","homePhone","workPhone","cellPhone","city","zip","deleteEmergencyContact","getEarningsType","getDocuments","selectedDocTypes","docTypes","sectiontoLoad","parameters","expenseMileageRateID","mileageRate","rateDescription","taxType","customerName","catgGet","prCo","receiptIDString","headerDescription","proxyUserKeyID","expenseHeaderID","lineChargeType","pOLineType","fromApproval","attachmentCaption","expenseCatgID","expenseCatgName","matchedExpenseReceiptID","transAmount","pO","pOItem","pOItemLine","keepOriginal","expenseAttachmentID","personalInfoAttachmentSubmit","docCount","onboarding","attachmentTypeID","saveEmployeePhotoConsentReport","submissionGuid","updateUserWindow","isWindowRequestApproved","isPersonalInfoFinished","isDependentUpdateFinished","isBenefitReviewCompleted","isWindowConfirmed","requesterNotes","approverNotes","cancelWindow","fromURL","isRemove","attachmentsJson","fileNamesJson","getW4","countryCode","getFilingStatus","useConfigSetting","w4Update","dLCode","fileStatus","regExempts","miscAmt","miscFactor","manualFileAttachment","manualFileName","IsExempt2020","multiJobs2020","otherIncome2020","dependentAmt2020","deductions2020","qualChildAmount","otherDependentAmount","getDirectDepositInfo","submitDirectDepositUpdate","routing1","routing2","routing3","routing4","account1","account2","account3","account4","accountType1","accountType2","accountType3","accountType4","acccount1Unit","account1Unit","account2Unit","account3Unit","account4Unit","account1Amt","account2Amt","account3Amt","account4Amt","checkImage1","checkImage2","checkImage3","checkImage4","checkImageName1","checkImageName2","checkImageName3","checkImageName4","account1Updated","account2Updated","account3Updated","account4Updated","account2KeyID","account3KeyID","account4KeyID","getDepartments","submitSupportRequest","requestDescription","facilityLocation","requestEmailHTML","emailAddress","submitAttachment","attachmentData","getRequestsByID","getAssign","cancelDependentRequest","selectedHRCo","getCareerPaths","getCareerPathMapping","selectedCareerID","careerPathUpdate","careerPathID","careerPathName","getEmpCareerPath","employeeCurrentPosition","empCareerPathUpdate","careerPathMapID","hRPCKeyID","actionStr","getEmployeeTrainingPath","careerPathDelete","descriptionList","getProxyEmployees","getPendingLines","getSubmittedHeaders","deleteReceiptItem","expenseReceiptID","deleteExpenseReceiptBulk","receiptIDs","exportExpenseReport","copyExpenseLine","copyFromReceiptID","bulkEditItems","expenseReceiptIDString","receiptItemIDString","phase","gLCo","gLAcct","sMWorkOrder","eMCo","jCCType","sL","sLItem","wO","wOItem","equip","costCode","eMCType","compType","iNCo","loc","material","sMCostType","itemType","getCurrentWindow","getWindowTypes","includeOpenWindow","getBenefitGroupAttachments","getBenefitsGrid","benefitType","getDependentsByBenefitCode","hRBCKeyID","getBenefitDependentsByRequestID","submitBenefitRequest","benefitOption","declineNotes","fixedAmt","fixedPct","cancelBenefitRequest","benefitDependentRequest","dependentType","dependentNameFreeText","dependentRelFreeText","getBenefitRequestsByUserWindowID","showApproved","sendBenSign","benefitSignatureStr","optionType","getTrainingHistoryPost","skillOrTraining","itemKeyID","categoryString","showOnlyMostRecent","saveTrainingGrid","includeExpired","includeAttachment","triggerMail","downloadTrainingGrid","hRTrainingKeyID","showClassDescription","trainingUpdate","dateTakenStr","dateExpiresStr","instructorName","grade","oSHA","mSHA","firstAid","cPR","workRelated","attachmentName","trainingAttachmentDelete","trainingDeleteItem","getUserGridSettings","gridLocation","setUserGridSettings","setUserVendor","expenseAPVMKeyID","getFileAttachmentBinary","clearBatchStatus","statusNotes","paySeq","receiptIDList","mthStr","aPVMKeyID","reimburseOrMileage","attendeeName","customerCount","ourFirmCount","uM","unitCost","taxCode","taxAmount","amount","getExpenseDashboard","transType","statusLabel","employeeID","minAmount","maxAmount","reviewerSeq","copiedReceiptItemID","getExpenseReceiptLines","getExpenseReceiptItemByID","addReceiptLineNotes","getPOLookup","upDepartments","departmentID","departmentName","assigneeSecurityGroup","updateWindowTypes","windowShortName","windowDisplayName","windowDefaultDurationDays","windowTypeIsActive","windowAttachmentReq","windowNotesReq","getAttachmentsBySubmissionID","secondStepSubmit","bulletinFileData","clearAndResubmitStateForm","jobsAccessToken","fromClockDashboard","updateHRUser","saveParameter","parameter","parameterNew","deleteBulletinResponse","unlockPassword","EmployeeTrainingService","getRegisteredClasses","getPastRegisteredClasses","getICSFile","classDateTime","classLocation","instructorFullName","endDateTime","getAvailableClasses","registerClass","DailyReportsService","getJobList","getFileURL","pMDLID","jCFTKeyID","managePage","saveFileZip","pmdlKeyIDList","jCFTKeyIDList","pageMode","outputFileName","jcftKeyIDList","saveFilePdf","downloadCompileZIPFile","zipFileName","generatedFileName","downloadCompilePDFFile","pdfFilename","getProjectResultList","startDatestr","endDatestr","showOnlyTickets","getProjectHeader","pMDLKeyID","datestr","dailyReportDelete","getPO","getFieldsInformation","displayMode","getUserLookup","pMDDKeyID","getWeather","isforecast","includeData","uniqueAttchID","database","addVPAttachment","setProjectDetails","logType","pMFirmeKeyID","pMContactKeyID","eMEMKeyID","pMPFKeyID","hQMTKeyID","worked","workDescription","arriveTimestr","departTimestr","numberOfEmployees","visitor","quantity","delTicket","supervisor","userFieldName","userFieldValue","apprentices","journeyman","eMFreeText","mTFreeText","udDefaultName","udDefaultValue","getFieldTicketDetails","getFieldTicketSetting","getContactNameEmployee","pMFirmKeyID","getCTTemplateByJCFTKeyID","jCFTId","getCustomerPO","getJCFieldTicket","deleteProjectDetail","editLocation","locationDescription","setLocation","getFirmName","getEmployeeList","updateGlobeEmployeeList","cloneProject","cloneToPMDLKeyID","cloneFromPMDLKeyID","getHGCloneFromTickets","jCJMKeyIDString","cloneFromDateString","getDailyReportsCustomText","getRequireDigitalSignature","getDistribution","pMIMKeyID","submitProject","sendDailyReports","PMDLID","JCFTKeyID","getProjectDetails","turnOnMaxWidth","getVCMttachmentData","setProjectHeader","weather","wind","tempHigh","tempLow","udRainfall","workDescriptionShort","getContactName","getMaterial","locationKeyID","getEquipment","getTabs","getSignaturesByJCFTKeyID","getEmployeesByPRCoPRGroup","getBulkAddFieldsByJCFTKeyID","submitSavedTimecard","getMaterialItemByTicket","getMaterialCost","getMaterialPhasesByJob","section","addEditMaterialItem","materialItemID","costType","materialDescription","unitPrice","jCType","iNLocation","isMaterialInList","removeMaterialItem","getINLocations","getProgressPhasesByJob","getProgressItemsByJCFTKeyID","addProgressItem","updateProgressItem","progressItemID","actualUnits","removeProgressItem","deleteTicket","processMaterialByJCFTKeyID","processProgressByJCFTKeyID","unsubmitTicket","submitTicket","signatureImage","signaturePrintName","signatureLatitude","signatureLongitude","signature2Image","signature2PrintName","approveTicket","setJCFieldTicket","ticketDescription","orderedBy","ownerJobNo","customerPO","phone","FieldService","getContracts","hQCo","getContractByjCJMKeyID","getBills","contract","getHuddleTypes","addEditHuddleType","huddleTypeID","huddleTypeName","getHuddlesToSchedule","removeHuddleType","addEditHuddle","huddleDateStr","huddleLocation","ledByUserKeyID","huddleID","releventFromStr","releventToStr","isTemplateMeeting","huddleName","isPublished","startTimeStr","initializeTemplateMeeting","templateHuddleID","getHuddles","dateFromStr","dateToStr","templateMode","branchID","workTypeID","phaseTypeID","getWorkTypes","getPhaseTypes","getTalkingPoints","deleteHuddle","getPointsByHuddle","addEditAttendee","attendeeSignature","coachUserKeyID","huddleAttendeeID","attendeeSignatureDateStr","includeSigData","copyAttendees","fromHuddleID","toHuddleID","removePointFromHuddle","huddleItemID","addPointToHuddle","talkingPointID","deleteTalkingPoint","addEditTalkingPoint","talkingPointTitle","talkingPointBody","relatedTask","addEditWorkType","workTypeName","sortSeq","deleteWorkType","addEditPhaseType","phaseTypeName","deletePhaseType","getCostTypes","getPhaseByContract","getAttachmentsDetail","jBINKeyID","updateAttachmentOrder","fromBillAttachmentID","toBillAttachmentID","newSequence","billType","copyAttachment","addBulkAttendees","renameAttachment","renamedfile","excludeIncludeAttachment","billAttachmentID","isExclude","initializeAttachments","begMthString","endMthString","begDateString","endDateString","sortOrder","compileAndSavePDFData","billNumber","billMonthString","inclJCDetail","showArchitect","showOwner","breakDetail","restrictByBillNumber","compileAndSaveZIPData","getPOVendors","pOCo","getPOItemByAPULKeyID","apULKeyID","getJCPhaseDesc","jcco","apco","getMaterialInfo","rQCo","getInvoiceOptions","aRCo","getInvoiceGrid","groupByField","filterString","getInvoiceNotes","invoiceKeyID","getInvoiceDetails","addInvoiceNote","dateContactedString","summary","editInvoiceNote","noteKeyID","getPOCompanies","getPORequisitionGrid","poRejectRQLines","rQRLKeyIDString","getPOShippingInfo","poReqItemUpdate","rQRLKeyID","uC","eCM","totalCost","poProcessPOFromRQLines","rQRHKeyID","receiving","userPONumber","shipAddress","shipAddress2","shipCity","shipState","shipZip","attentionTo","begPO","getPOHistory","queryString","getPOMOHistory","getPOReqHistory","getAllPendingPOHeader","getPendingPOWorkflow","pOPPKeyID","sourceView","getPOLookups","getPOLookupsForTypeahead","processPOPending","pOPPKeyIDs","closePO","pOHDKeyID","getVPAttachmentList","deleteVPAttachment","updateNotes","poItem","po","poCo","isHeaderNotes","getPOVendorsQuicklist","getPOUDFieldOptions","getPendingPOItems","pOPIKeyID","getPORemainingBudget","getTaxCodeInfo","resetPOWorkflow","getPendingPOFields","insertUpdatePendingPOHeader","submitPOPending","deletePendingPOItem","getGLDefault","getVendorAddlAddresses","apvmKeyID","insertUpdatePendingPOItem","deletePendingPOHeader","getShippingLocations","poco","getCompanyAddress","getPOVendorsQuickList","getPONumber","pODescription","pONotes","pODateString","pOAmount","uDFieldData","recordType","getPendingPOHeader","proccessQuickPOBatch","pOHBKeyID","copyPO","runHuddleReportBG","branch","selectedType","getPOList","getItemsByPO","getPOItemLines","pOITKeyID","submitPOReceipt","receipt","POHDKeyID","receiptDateString","receiverNumber","batchMonthStr","finalizePOReceipt","batchID","mthString","getPOItemLineDetail","pOItemLineKeyID","pOReceivingDistribution","newUnits","getProgressApprovalGrid","setProgressUpdateItem","jCPPKeyID","completedThisBatch","completedTotalPct","subLocation","getProgressHistory","getProgressLoad","actualDateStr","testForDuplicates","setProgressUpdateItemMulti","getProgressCancel","getProgressFinalize","getPORestrictionSetting","getPOReqHeader","getPOReqItems","getPOReqFields","pOReqLineType","insertUpdatePOReqHeader","requestDateString","headerNotes","requestor","maskReturn","pOProcessMOFromRQLines","deletePOReq","insertUpdatePOReqItem","getJobsForPO","processPMPO","pMCo","project","ApplicantService","getStagesByProfileID","onboardProfileID","getReqColumns","reqForm","getRecruiterList","getApplicantsByJobReq","exportJobReqFull","reqStageID","district","getApplicantSearchReportFull","appStage","beginDate","getStages","getReqDetails","reqApplyToken","reqSpecQuesAnswerGet","getPersonalInfoForDate","updateDispReason","dispReason","address1","address2","cell","contactSource","contactSourceNotes","hireDateStr","midName","suffix","hRRMKeyID","birthdayStr","maritalStatus","countryOther","isManagerEdit","reservedHRRef","applicantHistoryGet","reqApplicantID","getApplicantPrevReqs","applicantChangeStage","reqApplicantIDString","setDateHired","getAssignedRecruiters","getReqGrid","recruiterUserKeyIDString","reqCopyMove","isCopy","moveToReqID","onboardIDArray","applicantRatingGet","applicantRatingAddEdit","ratingValue","reqApplicantRatingID","ratingStage","applicantRatingRemove","setVeteranReview","isRecommended","applicantToOnboard","deleteApplicant","sendBulkEmail","ccEmail","bccEmail","includeICS","icsStartDate","icsEndDate","getReqTemplate","reqTemplateID","reqTemplateDelete","reqTemplateAddEdit","getNextReqNum","getStates","removeRecruiter","reqRecruiterID","addEditRequisition","positionTitle","positionDesc","positionRequirements","positionInstructions","positionNotes","openingCount","reqStatus","veteranRevUserKeyID","veteranRev2UserKeyID","salaryInterval","eEOCategory","anticipCloseDateStr","reqNum","unpostDateStr","onboardLocationID","payRangeLow","payRangeHigh","addRecruiter","recruiterUserKeyID","reqSpecQuesDelete","reqSpecQuesID","reqSpecQuesAddEdit","questionText","getRecruiters","reqAction","reqApplyTokenGet","HiringService","profilesGetForInvite","getProcessData","getHiredData","getBirdDogOnboardToExclude","fromDateStr","toDateStr","sendI9Update","maxNumberOfAttachments","reservedHRCo","insertOnboardTasks","onboardTaskDefID","updateArchiveByOnboardID","noteText","reqApplicantNoteID","ListADocumentTitle","ListAIssuingAuthority","ListADocumentNumber","ListADocumentTitle2","ListAIssuingAuthority2","ListADocumentNumber2","ListADocumentTitle3","ListAIssuingAuthority3","ListADocumentNumber3","S2SignatureTitle","S2SignatureFirstName","S2SignatureLastName","S2BusinessName","S2BusinessAddress","S2BusinessCity","S2BusinessState","S2AdditionalInfo","S3LastName","S3FirstName","S3MiddleInitial","S3DocumentTitle","S3DocumentNumber","S3SignatureName","S2AltDocExamProcedure","S3AltDocExamProcedure","S3AdditionalInfo","checklistInstance","effectiveHireDateString","insState","codeSeries1","codeSeries2","employmentStatus","localCode","overtimeSchedule","pREmployee","occupCat","employerNameAddress","officeCode","eIN","dateFirstEmploymentStr","includeW4","includeI9","includeIden","applicantOnboardID","includeDD","includeEC","onboardTaskID","unsubmitOnboardTasks","beginOnboardingProcess","onboardingPIN","ignoreLogout","updateExpectedHireDate","onboardId","updateExpectedHRRef","clearOnboardingID","locationGet","updateSelfInfoByOnboardID","veteran","disability","genderIdentity","genderIdentity_OtherDesc","veteran_Disabled","veteran_AFServiceMedal","veteran_ActiveDutyWartime","veteran_DischargeDate","saveOnboardEmergencyContact","emContactID","saveOnboardDirectDeposit","onboardDirectDepositID","routingID","bankAcct","pct","acctType","deleteOnboardDirectDeposit","deleteOnboardEmergencyContact","getProfiles","profileType","insertUpdatei9","s1LastName","s1FirstName","s1MiddleInitial","s1OtherLastName","S1OtherLastName","s1Address","S1Address","s1Apt","S1Apt","s1City","S1City","s1State","S1State","s1Zip","s1BirthDateStr","S1BirthDateStr","s1SSN","S1SSN","s1EmployeeEmail","S1EmployeeEmail","s1EmployeePhone","S1EmployeePhone","s1CitizenStatus","s1AlienUSCISNumberQ3","S1AlienUSCISNumberQ3","s1AlienExpirationStr","S1AlienExpirationStr","s1AlienUSCISNumberQ4","S1AlienUSCISNumberQ4","s1FormI94Admission","S1FormI94Admission","s1ForeignPassportNumber","S1ForeignPassportNumber","s1IssuanceCountry","S1IssuanceCountry","s1SignatureBinary","S1SignatureBinary","s1SignatureDateStr","S1SignatureDateStr","isPreparerUsed","IsPreparerUsed","preparerSignatureBinary","PreparerSignatureBinary","preparerSignatureDateStr","PreparerSignatureDateStr","preparerLastName","preparerFirstName","preparerAddress","preparerCity","preparerState","preparerZip","FirstNameMiddleInitial","Latitude","Longitude","TypeSign","TotalAllowance","getLoginStatus","reqSpecQuesAnswerAddEdit","reqSpecAnswerID","answerText","deleteOnboardByID","submitOnboardTasks","changeOnboardProfile","newOnboardProfileID","downloadTaskRDL","onboardingID","view","rawData","addressLine1","addressLine2","allowancesandDeductionConfirmation","amount1","amount2","amount3","amountType1","amountType2","amountType3","businessUnit","confirmationofStateResidency","countryofResidence","countyWithholding","dateExported","dateofBirth","directDeposit","emergencyContact","emergencyContactHomePhoneNumber","emergencyContactMobilePhoneNumber","emergencyContactRelationship","emergencyContactWorkPhoneNumber","employeeCity","employeeEmailAddress","employeeNumber","federalAddlAllowances","federalAllowances","federalExemption","federalFilingStatus","federalPerjuryConfirmation","homePhoneNumber","i9Assistance","institution1","institution2","institution3","locationName","locationNumber","maidenName","middleName","mobilePhoneNumber","nameSuffix","preferredName","primaryState","reasonableAccommodations","route1","route2","route3","socialSecurityNumber","stateExemptionTotal","stateWithholding","stateWithholdingPercentage","zipCode","onboardI9SupAInsertUpdate","objData","onboardI9SupADelete","getTagsByOnboard","tagsManage","isManage","addTagsByOnboard","tagID","deleteTagsByOnboard","addUpdateProfile","onboardProfileName","onboardProfileIsDefault","isApplyOnline","onboardChecklistTemplateID","includeIdentification","includeDirectDeposit","includeEmergencyContacts","defaultsInsertUpdate","onboardTaskIsRequired","onboardTaskIsDefault","reqStageDelete","reqStageAddEdit","reqStageDescription","reqStageSeq","isStageActive","locationAddEdit","onboardLocationName","locationUserGroupAdd","locationGetUserGroups","locationUserGroupUpdate","accessType","onboardLocationUserGroupID","locationUserGroupDelete","locationDelete","deleteProfile","updateAssignedStages","assignedReqStageIDString","tagsAddEdit","newDistrict","tagsDelete","jobTargetGetCompany","jobTargetJobEdit","jobString","getJobTargetSSOLink","jobCreate","setJobTargetID","jobTargetID","stopJobTargetPost","getJobTargetJobDetails","startEverifySession","getJobReqSearchExternal","getLocationFilter","getReqFilterChoices","getReqDetailsByIdAndAuthToken","setJobTargetAttributes","jtochash","jtocprof","getBulletins","sectionToLoad","getLastLogonDate","fromFieldKiosk","getCurrentStatus","setHotlistItem","isItemAdded","sendAcknowledge","bulletinFileName","sentBulletinSign","signatureStr","getAPCount","getPOReviewCount","getExpenseApprovalCount","updateAPCount","currentCount","updateEXCount","consentPaystubs","consentW2T4","consentACA1095","getManagerGrid","flattenPDF","getPdfFile","_error","OfficeDataService","_handler","OfficeService","getFormMetadata","tableName","getFormData","orderby","keyid","rowsPerPage","pageNumber","insertUpdateData","deleteRow","insertAttachment","origFileName","attachData","updateAttachmentMetadata","getAttachmentData","getFormItemGroups","getFormItemFields","getFormReports","getStaticLookups","getVaInquiries","getVaInquiryData","queryName","paramValues","getVaInquiryLookup","dependentData","getVaInquiryParameters","updateFormState","groups","getExcelFile","columnInfo","columns","rejectResponse","pendoTrack","PerformanceService","getMyHistory","pRCoForFilter","hidePreviousReview","createPerformanceReview","performanceInstanceID","confirmInstance","getPerformanceInfo","getLookupMaxChoice","completeReview","getAnalytics","templateFilter","getAdminGrid","createdDateStartStr","createdDateEndStr","statusFilter","editPerformanceInstance","purgePerformanceInstance","performanceReviewerID","reviewerUserKeyID","sendReminderEmail","performanceInstanceIDString","isScheduled","updateMgrReviewer","ReportGatewayService","getLookupData","reportID","paramName","paramData","getReports","moduleShortName","loadReport","Params","ReportID","PorOrLan","fileType","ReportName","setParamCache","rptParams","reportTrack","reportName","reportParams","SmDataService","SmSharedService","ClockDateDisplay","getSignature","signatures","scopesString","getSignatures","SignatureImage","dateSignedString","modifyNewRow","ScheduledEndDate","ScheduledEndDateDisplay","TripDetails","TripDetailsHtml","UDFieldData","SMWorkOrderUDPivot","DataType","IsLinkControl","udDisplay","BillableHours","HasBilledMatlCount","HasPOCount","LaborHours","TotalItems","BudgetLaborHours","WorkOrderScopes","ScopeDescription","SummaryLaborHours","SummaryBillableHours","SummaryUnits","POLineCount","SummaryTotalItems","MaterialItemCount","IsLumpSum","singleVal","SummaryHasBilledMatl","SummaryHasPO","PriorityColor","tempColor","fontColor","FullAddress","Boolean","getScopePurchaseOrders","closeOut","completedList","Labor","Misc","Inventory","totalAmount","taxCharge","PODate","PODateDisplay","PriceTotal","closeDetailsList","LumpSumAmt","TotalWOTaxAmount","totalTripCharge","totalTaxCharge","parse","getSignerContacts","signDisList","signOffListRaw","Organization","AlwaysEmail","currentScopeSettings","WorkCompletedCCEmailList","Title","loadTrip","clockOut","routeToManage","allShow","scopeNoData","serviceDetailsFromGrid","serviceDetailsFromDetails","signList","signCount","closeOutTotalList","taskShowComplete","numberOfCalls","manageTripNoteUpdate","timeStampFromModal","tripNote","TripNotesVisibilty","serviceWorker","controller","postMessage","shouldOfflineSync","tripNotes","WorkOrderDescription","tripDescription","installDatabase","storeOfflineSyncTrip","updateTripNotes","tempOldTripNotes","saveResult","keyRangeValue","IDBKeyRange","only","cursor","openCursor","curData","tempData","update","SmService","defaultAssignmentsGet","defaultAssignmentGetChoices","assignType","defaultAssignmentAddEdit","checklistDefaultAssignID","assignValue","completeRequired","defaultAssignmentRemove","getTechnicians","getWorkOrderTrips","extendURL","syncAll","getWorkCompleted","getFormTemplateOptions","getFormsPerScope","getScopeTasks","workOrderScopeInsertUpdate","sMWorkScope","priority","serviceItem","sMScopeNotes","getEQSIMA","getRevCode","insertUpdateSMWorkCompleted","dateStr","lineType","nonBillable","pRHoursWorked","pRBillableHours","pRPayType","pRLaborCode","revCode","eQUnits","standardItem","breakHours","costQty","iNLMKeyID","materical","isNewItem","tempType","NewMiscStandardItem","NewINMaterial","NewEMEMKeyID","deleteSMWorkCompleted","updateTripStatus","tripStatus","createNewForm","deleteForm","scopeChecklistInstanceID","updateScopeTask","sMScopeTaskID","completed","enableOfflineFS","pPOInsert","pORoughAmount","requestDateStr","hQContactID","scopes","unique","emailList","sMCO","ccEmailList","trip","techName","sMServiceItemID","siteNotes","queryStrArr","itemDescription","manufacturer","model","yearManufactured","sMTypeID","serialNumber","serviceItemSummary","QRCodeID","getServiceItemParts","saveTripSignatureList","sMScopesString","invoiceProcess","sMScopeExcludeList","paymentRef","tripInsertUpdate","scheduledDateStr","isWODashboard","sMScopeString","updateVPAttachment","getServiceItemIDByQRCode","qrCodeID","getServiceWorkOrders","getTripsByWorkOrder","getTripSignatures","TimeOffService","getExistingDates","showApprovedOnly","startDateString","getDefaultWorkHours","getRequestHistory","cancelLeaveRequest","getLeaveCodes","insertCashOutRequest","pREndDate","getLeaveReason","getApproverByPREHKeyID","timeoffAutoVP","recordKeyIDList","insertLeaveRequest","dateStrings","submittedNotes","leaveCodeId","reqType","reasonCode","downloadICSMulti","icsList","AutoCompleteEmailTCBComponent","suggestions","dropDownList","emailName","displayName","selectedIndex","checkKeyDown","keyCode","addToInput","selectedTags","addToSelectedTags","selectedEmailChange","modelChange","newItem","removeTag","disabled","outputs","AutoCompleteEmailComponent","CrewTimecardDataService","CrewTimecardManagerService","CrewTimecardGridComponent","crewTimecardGridService","bsModalService","timeParserService","crewTimecardDataService","crewTimecardManagerService","ngbmodalService","root","tableSort","tableReverse","isReadOnlyGridTime","IsReadOnlyGridTime","defaultUsageToLaborHours","customizeWebix","windowResize","getDataService","getRowProperties","rowPropertyNames","employeeChanged","timecardLoaded","unsavedChanges","rowDeleted","initRowCounts","EnableCrews","filterByEmployeeMultiple","filterByEmployee","updateFilters","filterGridRows","loadTimecard","crewTimecardID","initValues","usageMode","getEmployeeLockStatus","getSharedColumnInfo","dataTable","destructor","amountEarnCodes","amountPayTypes","bulkEmployeeList","cacheByColumnValue","columnInfoByEmployee","columnOptions","dependentQueue","employeeListBound","employeeLockStatus","employeesToExclude","lastRequestedEmployeeDefault","loadingValues","lookupValuesCache","nextEditor","unfilteredEmployeeList","largestSortID","amountBasedEarnCodesSetting","amountBasedPayTypesSetting","getTimecardData","getCrewTimecardData","alertType","alertMsg","checkRawData","err","getTimecardApprovalGrid","jobApprovalFilteredMode","JobApprovalFilteredMode","jobFilter","callbackFunction","getDailyTotals","getEmployeesList","employeeDropdownList","TimecardData","employeeDropdownSort","multiselectEmployeesList","multiSelectEmployees","IsTimeWorkedEnabled","timeWorked","setEmployeeList","employeeFound","setEmployee","refreshEmployeeList","webix","delay","usedEmployees","eachRow","rowID","rowValues","currentEmployee","unfilteredEmployee","loadDataTable","filteredData","filterByType","filteredColumns","filteredRowProperties","rows","typeValue","colLineType","LineType","tempDailyTime","getApprovalDailyTotals","dailyTimeByEmployee","responseItem","containsObject","locale","PostDateDisplay","PostDate","itemsByEmployee","itemKey","itemsByDay","HoursPerDay","isFiltered","rawGridData","getGridData","rawRows","calculateTimecardTotals","firstRowCopy","approvalRowProperties","rowProperty","selectedFilters","filterLabels","ColumnLabel","filterKey","filterLabel","unescape","selectedFilter","valueFound","filterValueIndex","columnRules","metadataName","dropdownSort","isInteger","ValidationDataType","isNumber","rowKey","rowVal","rowKeysToIgnore","newRowID","addEditors","unfilteredRows","columnExists","sortValue","PendingStatus","IsReadOnly","approvedRows","rejectedRows","leftSplit","getDataTableSplit","subViewGrid","initSubViewGrid","height","max","isSubmitted","initWebixGrid","StickyColumnCount","StickyJobApprovalCount","templateFormula","earnCodeColNum","autoheight","autowidth","footer","math","ui","subview","resizeColumn","editable","rules","scheme","$change","sumHours","rcheckbox","common","config","checked","checkValue","tooltip","IsLocked","trg","approveRow","copyRow","jobApprovalApproveItemClicked","jobApprovalRejectItemClicked","jobApprovalUndoItemClicked","splitBtnClicked","initRows","applyTableReadOnly","attachWebixEvents","attachWebixKeyboardOverrides","resize","callbackType","earnCodeIndex","columnPropertyNames","payTypeIndex","keyParts","payType","datafilter","summFixedColumn","extend","master","node","num","expenses","mapCells","columnId","row_id","valueCopy","exclude","SMPayType","firstChild","innerHTML","summColumn","isEarnCodeColumn","isPayTypeColumn","loopGridColumnIndex","loopGridColumn","editor","ApprovalVisibilityModeID","DataCollection","tempOptions","visible","suggest","onBeforeShow","define","dataFeed","valueObject","$$","getRequestParams","load","lastUsedList","fitMaster","InputLength","relative","uncheckValue","emp","IsApproved","IsSubmitted","DTREmpEquReadOnlyOverride","checkbox","columnValueParts","PayType","i18n","priceFormat","attachEvent","eventInfo","beforeEditStart","afterEditStart","beforeEditStop","afterEditStop","onCheck","onHeaderClick","onSubViewCreate","timecardSaving","ctrlKey","addTimecardRow","shiftKey","tabPressed","getEditor","lastEditedCell","editNext","getPopup","getBody","getSelectedId","getFirstId","setValue","last","getLastId","newRow","getNextId","editCell","first","getPrevId","previousEmployee","rowCount","isEmployeeRow","inArray","unsubmittedRows","unapprovedRows","addCellCss","totalSubmittedRows","setReadOnly","typeExists","earnPayExists","applyLineTypeCSS","applyAmountCSS","nextCol","nextRow","readOnlyGrid","resolvedColumnName","getColumnIndex","isNewRow","isAmountRow","IsRowAggregate","$parent","isCellReferringToRowProperty","getColumnByName","columnMap","valuePropertyName","rowLineType","lastRequestedRow","bindPossibleValues","getValue","serialize","valueChanged","editStop","popup","colPrefix","startColName","stopColName","valuePropertyNames","usageColumnName","removeCellCss","headerModified","rebindingEmployee","isTypeUsed","employeeDependentColumns","DependentColumns","isCellReadOnly","dependentColumns","IsAutoSelectFirstValue","equipmentAutoSelectRebind","getEmployeeColumnInfo","bindDefaultValues","optionItem","getColumnConfig","DailyTime","columnCollection","getRow","cellsToDelete","columnMetadata","getColumnPropertyValue","cellIDString","errors","deleteTimecardRow","getRowID","approveCrewTimecard","approveAllRows","keyIDs","deleteZeroHourItem","getRowIDs","timecardApprovalSubmit","gridRows","currentUnapproved","rowValue","clearAll","applyApprovalReadOnlyCSS","resumeJobApprovalAction","pendingAction","jobApprovalApproveItem","pendingItem","jobApprovalRejectItem","jobApprovalUndoItem","actionPerformedCallback","downloadJobApproval","keyIDCollection","pRTBKeyIDString","pREndDateString","PREndDate","saveCompilePDFData","compileResponse","downloadResponse","jobApprovalApproveAll","allKeyIDs","addRowCss","jobApprovalRejectAll","oldStatus","removeRowCss","jobApprovalFinalize","finalizeCallback","timecardApprovalFinalize","getProgressEntryRoute","Timecard","Item","JCCoJobCombined","crewsList","getCrewsList","openCopyRowModal","isDependent","colKey","shift","columnValuesString","ColumnValues","Form","fieldTicketJCCo","Mode","possibleValues","PopUpLabel","escapeHtml","callcount","rebindCurrent","addrow","employeeColumnInfo","currentEmployeeColumns","getColumnsByPRCoGroup","lockedEmployees","rowPropArr","propName","propValue","getRowValue","isCombo","valuePropPrefix","columnValuesList","propsToRequest","propNameIndex","propNameAdjusted","columnValues","columnObj","oblumnObjIndex","Id","ignoreAddingRow","addingRow","firstRow","newVal","newLabel","prevVal","NewLineTypeID","DefaultValue","DefaultLabel","addRows","rowsToAdd","cellReadOnly","newValID","newValLabel","dependentKey","dependentCol","savedValues","currentRow","currentItem","listValue","valueObj","savedValueIds","processingRow","isStopTime","isBreakHours","stateValue","addDays","isEndTimeGreaterThanStartTime","dayInHours","validateRows","postDateRowProp","startDateValueProp","stopDateValueProp","propertyName","missingEmployee","invalidRows","missingPhase","removePhase","missingDate","invalidDate","invalidTime","missingRequired","missingHours","missingRevCode","missingEquipPhase","isUsageUnitValueGroup","combinations","eachColumn","AllowZeroHourCrewLine","jobPhaseExists","timeValid","timeValue","isBefore","StartDateMoment","isAfter","EndDateMoment","cellValue","columnInfoByType","combination","PropertyName","objKey","objContainsObject","emptyValues","obj2","matchKey","isEqual","saveCrewTimecard","finishCrewTimecardSave","submitData","fieldToChange","changedData","getChangedData","timecardRows","uniqueRowId","updatedData","keyId","updatedValue","resolvedPropName","columnKey","totalsByEmployee","earnCodesToExclude","payTypesToExclude","EarnCodesToExcludeTimeValidation","PayTypesToExcludeTimeValidation","totals","timecardHours","otherHours","Earncode","getOtherTotals","elem","getDailyOtherHours","TotalHoursWorkedOnOtherCards","setTimecardTotalsByEmployee","getGridDates","toDateObj","DisplayDate","tempEmployeeList","isReadOnly","valIndex","parsedRowVal","CraftDisplay","ClassDisplay","EarnCodeDisplay","PRDeptDisplay","EmployeeDisplayName","getBulkAddColumns","bulkAddColumns","bulkAddDates","DateValue","bulkAddDate","DateDisplay","columnDisplayValues","ColumnDisplay","BulkAddColumns","BulkAddDates","bulkAdd","newRowData","bindBulkDefaults","getDefaultsForEmplList","isValueProperty","employeeDefaults","rowCopy","tempArray","bulkAddCTRows","addedRows","propertyNames","RemoveEmployeeNumberFromDropdown","ShowLastFirstFormat","valueA","valueB","valueSort","employeeA","employeeB","getColumnsForDR","unsafe","input","onresize","CrewTimecardGridService","pREHKeyIDString","employeeId","rowId","keyIDString","timecardId","fromJobApproval","jcftKeyID","rejectReason","rejectNotes","modifiedData","columnMapKeyArr","namesToExclude","columnsForDR","lastID","udSortUsed","showEquipment","DTRShowEquipment","allowZeroLine","changedRowsByRowId","gridRowId","oldColumnCollection","getColumnCollectionByRowValues","oldValue","keyIds","rowPropertyName","columnPropertyName","parentObj","collection","getCollectionItemByProperty","timecardData","dailyTime","_this","adjustTimecardData","populateRowPropertyNames","populateColumnPropertyNames","populateValuePropertyNames","populateColumnMap","getFirstObjectWithName","addColumnsForRows","addRemainingColumnGroups","populateRows","loopColumnIndex","loopColumn","rowIDs","rowObj","mapPropertyValuesToCollections","propertyKey","propertyValue","childIndex","child","populatePropertiesArray","valuesCollection","valuePropertyValue","propertiesArr","stopPropertyName","onlyPropertyName","columnParent","remainingColumnPropertyNames","columnValueCounts","valuePropertyNameIndex","columnIndex","subColumnValues","subColumnDisplayValues","subColumnValueCounts","getColumnValuesCount","PRColumnsToIgnore","rowsToSkip","approvalU","approvalA","approvalR","colWidth","adjust","rowPropertyNameIndex","multiDayTicketMode","DTRMultiDayMode","totalHeader","CrewTotalsHeaderOverride","preqPostDates","columnMapKeyIndex","columnMapKey","widthOverride","shiftIndex","canvas","createElement","getContext","measureText","approximateSpace","widthRatio","ceil","colspan","equipmentDefaultEarnCode","equipmentDefaultShift","valueToUse","dataValueParts","dataValue","DataValue","HeaderLabel","approveTemplate","bulkEmployeeTemplate","deleteTemplate","IsAuthFMGridTime","JobApprovalSplitButton","splitTemplate","deleteZeroTemplate","IsDelete","rowContainer","remainingRowPropertyNames","sharedRowProperties","copyingRowProps","propertyValues","ColumnCollection","EmployeeLabel","equipmentEmployee","containerKey","containerVal","columnValueKey","numVal","rowCollection","rowIndex","newSharedRowProperties","newPropertyValues","rowToAdd","foundItem","itemIndex","firstRowParent","remainingColumnNamesArr","childColumnName","subColumnCollection","columnValuesCount","childColumnIndex","childColumn","firstObjWithName","childObj","FileUploadComponent","personalInfoUpload","currentFiles","fileHR","processFileName","attNewFile","OutputFileChange","editedFilename","attachDelete","uploadText","forwardRef","NG_VALIDATORS","NG_VALUE_ACCESSOR","KeypressEventsComponent","onKeyDown","capOn","getModifierState","onValueChange","onChange","changeIN","change","blurIN","blur","writeValue","registerOnChange","fn","registerOnTouched","onTouched","validate","control","required","useExisting","LoginFooterComponent","CalendarView","addMonths","addWeeks","endOfDay","endOfMonth","endOfWeek","isSameDay","startOfDay","startOfMonth","startOfWeek","subDays","subMonths","subWeeks","addPeriod","period","week","startOfPeriod","subPeriod","endOfPeriod","MultipleDateSelectorComponent","Month","dateOrViewChanged","refreshSelectableDate","excludeDays","disableWeekendTimeOff","ngOnChanges","changes","firstSelectableDate","tempDates","selectedDate","selection","selectedDateChange","refreshView","minDate","maxDate","dateIsValid","increment","activeDayIsOpen","changeDate","viewDate","decrement","prevBtnDisabled","nextBtnDisabled","beforeMonthViewRender","renderEvent","isSame","meta","IsPartialRequest","cssClass","Category","dayClicked","selectedDateTime","eventDateIndex","findIndex","existingEvent","selectedDateIndex","newTimeOffClass","date1","calculateTimeOff","TextFieldSettings","HRIMPdfViewerComponent","pdfService","enableFormFields","getPdfViewerControl","viewer","instances","documentLoaded","storeOriginalFieldStyles","handleFormFieldStyling","documentStartDownload","args","pdfViewer","enableFormFieldsValidation","documentEndDownload","documentStartPrint","documentEndPrint","doStylingCondition","fixSyncFusionBackgroundColorLogic","updateDateFieldInputTypesToUseDateInput","useNormalStylesOnAllFields","setPDFData","allowAnnotationEditTool","enableDownload","enablePrint","hideCommentUndoRedo","getPDFData","blobResult","saveAsBlob","base64data","readAsync","blob","Promise","reject","invokePdfDownload","download","validatePdfFields","allRequiredFields","retrieveFormFields","requiredFieldsWithNoValue","getRequiredFieldsWithNoValue","existingFields","requiredFields","formFields","hasValue","PdfFieldType","RadioButton","applyFieldStyles","backgroundColor","isChecked","NamesOfRequiredFieldsWithNoValue","Set","radioGroups","radioButton","originalGetSignatureBackgroundFn","formDesigner","getSignatureBackground","formFieldCollection","pdfFieldStyles","assign","getFieldStyles","originalFieldStyles","dateFields","isMultiline","HtmlInputType","updatedStyles","borderColor","formDesignerModule","getFormField","regexHexWithAlpha","backgroundColorMatch","_fullBgColorStr","bgNoAlpha","alignment","color","font","fontFamily","fontSize","fontStyle","opacity","rotateAngle","signatureIndicatorSettings","thickness","visibility","zIndex","newStyles","fieldStyles","formFieldAnnotationType","Signature","updateFormField","restoreOriginalFieldStyles","pdfDirtyState","firstChange","pdfUrl","alertCreated","downloadURL","URL","createObjectURL","viewerPrefix","viewerUrl","bypassSecurityTrustResourceUrl","QuillNamespace","RichTextEditorComponent","DirectionAttribute","Quill","import","register","AlignClass","BackgroundClass","ColorClass","DirectionClass","FontClass","SizeClass","AlignStyle","BackgroundStyle","ColorStyle","DirectionStyle","FontStyle","SizeStyle","checkRichLength","richText","maxTextLength","richTooLong","focusEditor","focus","SearchDropDownComponent","inputFocused","callCount","ignoreUpdate","searchValues","searchTextChange","vchange","searchTextChanged","displayKey","modelKey","inputStillFocused","clearValues","fieldFocused","focused","placeholder","warningMsg","ServiceManagerFilterComponent","itemMetadata","itemInput$","items$","onTypeAheadSelect","$item","idProperty","$itemMetadata","limit","clearFilter","isDropDown","loadGrid","monthData","newDateArray","selectedData","xaxis","yaxis","loadingStatus","webixUpdate","webixGridData","webixDataList","SubmittedbyFullName","tempAdd","FromDateDisplay","LeaveDescription","ToDateDisplay","PlannedHours","dateKey","RequestStatus","DefaultWorkHours","ApprovalString","tempFoYr","tempFoMth","tempToYr","tempToMth","getNewDates","stopDate","dateArray","rotate","currentDate","orderByColumn","tempselectedDate","monthOn","TimeWorkedService","getDailyTime","getWeeks","insertUpdateTime","dateWorkedString","startTimeString","stopTimeString","deleteTime","TimeWorkedComponent","timeWorkedForm","timeWorkedService","ngbModal","allowApproverTimeWorkedEdit","TCAllowApproverTimeWorkedEdit","GPSClockInEnabled","isTimecardAdmin","GPSClockInFaultTolerance","initTimeWorked","timeWorkedInitialized","clockStatusesMap","initDailyTime","timecardTotalsByEmployee","timecardTotalsReady","timeWorkedSubTotals","dailyTimeData","dailyTimeLoaded","setTemplate","templateDate","isApprover","IsApprover","calculateSubtotals","subTotals","Subtotal","Difference","sequence","dayNumber","timeEntry","StartTime","StopTime","showBreakHours","BreakHours","daysOfWeek","timecardTotal","otherTotal","jQuery","isEmptyObject","DayNumber","TimecardTotal","OtherTotal","DifferenceAbs","Text","closeTimeWorkedAlert","timeWorkedAlert","dayChanged","readOnly","weekChanged","weeks","USCountryMode","weekKey","WeekBeginDate","startDateDisplay","endDateDisplay","WeekEndDate","StartDate","EndDate","defaultBreakHours","DefaultBreakHours","ShowBreakHours","selectedWeek","DayOfWeek","groupDailyTime","dayOfWeek","dayMoment","originalTimeWorked","addSequence","updateHasTime","hasTime","saveTimeWorked","timeChanged","timeWorkedValid","intervalValid","startMinutes","stopMinutes","currentSequence","sequenceIndex","currStartTime","StopTIme","currStopTime","verifyTimeWorked","validEmployees","invalidErrors","unbalancedErrors","containsDate","employeeSubtotals","Success","getTimeWorkedDetails","timeWorkedSequence","CheckBoxYNDirective","elementRef","propagateChange","trueValue","falseValue","setProperty","setDisabledState","isDisabled","CustomAutofocusDirective","setAttribute","outline","DateTwentyFourHoursDirective","formatTime","tempVal","isTimeValid","valueChange","mask","returnValue","charAt","ElasticDirective","onInput","scrollHeight","FilereadDirective","read","filenameChange","filedataChange","binaryString","String","fromCharCode","filereadChange","btoa","readAsArrayBuffer","NavigableDirective","disableLeftRight","up","right","down","startInput","activeElement","destinationInput","parentNode","tdIndex","cellIndex","previousElementSibling","nextElementSibling","firstVisibleInput","descendants","getElementsByTagName","descendant","offsetWidth","PercentNumberDirective","_elementRef","calculatePercent","actual","PhoneFormatDirective","portalSettingService","validatePhoneNumber","maskPosition","maskCharacter","SelectAllOnClickDirective","onFocus","hasSelectedAll","selectionStart","selectionEnd","onBlur","SsnFormatDirective","validateSSN","maskedEntry","inputChar","TimeValidateDirective","isTimeEmpty","isTimeValidChange","oldTimeStr","is24","USZipFormatDirective","validateZipCode","selectedCountryCode","hideUnits","roundValue","daysAndHourss","days","pure","SecurityContext","DOMPurify","DOMSafePipe","sanitizedContent","sanitize","HTML","bypassSecurityTrustUrl","bypassSecurityTrustHtml","ExcludeFromPipe","inputArray","filterCriteria","filtered","OrderByAlphanumPipe","order","nonNullEntries","nullEntries","partition","trimStart","localeCompare","numeric","orderBy","OrderByWithParsingPipe","sortedItems","parsedDate","partition2","CalendarModule","DateAdapter","adapterFactory","CollapseModule","useFactory","DefaultUrlSerializer","environment","production","enableProdMode","registerLicense","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[335]}